Ввод и вывод данных (стандартные устройства)
Содержание
Содержание.. 2
Введение.. 3
Введение.. 3
Основные программы и команды... 4
Расчетная часть. 13
Задание 1. 14
Задание 2. 23
Заключение.. 26
Введение
Часто людям приходится делать что-то, а потом повторять те же действия через промежуток времени. Когда человек первый раз сталкивается с задачей, то обдумывает последовательность действий (алгоритм) для ее решения. Придумав удачный алгоритм, человек его запоминает, и последующее выполнение похожих задач происходит уже «на автомате». Когда мы действуем согласно какой-либо инструкции, то являемся просто исполнителями.
Но компьютер может быть лучшим исполнителем, чем человек, хотя бы за счет высокой скорости выполнения действий. У компьютера тоже есть память, куда можно записать последовательность действий (алгоритм) для решения той или иной задачи? Машина будет следовать хранящимся в нем инструкциям раз за разом и быстро выполнять их.
При этом надо понимать, что запрограммировать компьютер (т.е. записать в него алгоритм) все равно надо. И делает это человек. Человек разрабатывает последовательность действий для решения задачи и записывает их в память машины. Сам по себе компьютер ничего не знает, он просто железо и делает лишь то, что записано в его памяти. Придумывание алгоритма для решения задачи достаточно трудоемкий процесс. Однако выгоды, получаемые от его реализации с помощью компьютера, перекрывают эти затраты.
Основные программы и команды
{ЗАГОЛОВОК ПРОГРАММЫ}
PROGRAM имя программы;
{-------ОПИСАНИЯ ------------}
uses.................
const.................
type.................
var.................
procedure .................
function .................
{-------ОПЕРАЦИИ ------------}
BEGIN
.......................................
.......................................
.......................................
END.
ИМЯ (ИДЕНТИФИКАТОР)
Символы в составе имени объекта:
буквы латинского алфавита: a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z.
арабские цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.
символ подчеркивания: [ _ ].
Малые (строчные) и большие (прописные) буквы не различаются по значению: имена abc и ABC считаются равными. Первым символом может быть только буква или символ _ . Длина имени может быть от 1 до 127 символов. При этом первые 63 символа в различных именах должны обязательно отличаться друг от друга: эта часть имен используется для определения их равенства или неравенства (!).
КОММЕНТАРИИ (ПРИМЕЧАНИЯ)
Любой текст между фигурными скобками {и}. Текст комментария можно расположить в любой части программы.
КОНСТРУКЦИЯ USES (СТАНДАРТНЫЕ МОДУЛИ)
uses имя-модуля-1, имя-модуля-2, имя-модуля-3, ... имя-модуля-n;
Модуль (unit) - это набор стандартных операций и описаний, которые можно использовать, как готовые конструкции.
ОСНОВНЫЕ ВЕЛИЧИНЫ И ТИПЫ ДАННЫХ
ПОСТОЯННЫЕ ВЕЛИЧИНЫ (КОНСТАНТЫ)
ЗНАЧЕНИЯ КОНСТАНТ (ЛИТЕРАЛЫ)
Основные константы | Примеры |
Целая десятичная | 10 +100 -200 |
Вещественная десятичная | 10.0 +100.25 -2.5e+12 |
Шестнадцатиричная | $10 $1A00 $2BC2 |
Символьная (литерная) | ‘A’ ‘1’ #255 |
Строчная | ‘ABC’ ‘Москве - 850 лет’ ‘$ 10 000’ |
Множество | [ 1, 2, 3 ] [ ‘a’, ‘b’, ‘c’ ] [ ‘a’ .. ‘z’ ] |
КОНСТРУКЦИЯ CONST (ОПИСАНИЕ КОНСТАНТ)
constимя-константы = значение; [...]
ТИПЫ ДАННЫХ И ПЕРЕМЕННЫЕ ВЕЛИЧИНЫ
КОНСТРУКЦИЯ TYPE (ОПИСАНИЕ ТИПОВ ДАННЫХ)
type имя-типа = описатель-типа; [...]
КОНСТРУКЦИЯ VAR (ОПИСАНИЕ ПЕРЕМЕННЫХ)
var имя-переменной-1, имя-переменной-2, ... имя-переменной-n: тип; [...]
РЕГУЛЯРНЫЕ ТИПЫ ДАННЫХ
2.2.3.1. ЦЕЛЫЕ ЧИСЛА
Описатель типа | Длина(байт) | Минимальное число | Максимальное число |
Integer | 2 (знак) | -32768 | +32767 |
Shortint | 1 (знак) | -128 | +127 |
Longint | 4 (знак) | -2147483648 | +2147483647 |
Byte | 1 (б/зн.) | ||
Word | 2 (б/зн.) |
2.2.3.2. ЛИТЕРЫ (СИМВОЛЬНЫЕ ВЕЛИЧИНЫ)
Описатель типа | Длина(байт) | Количество значений | Допустимые значения |
Char | литера (символ) |
2.2.3.3. ЛОГИЧЕСКИЕ (БУЛЕВСКИЕ) ВЕЛИЧИНЫ
Описатель типа | Длина(байт) | Количество значений | Допустимые значения |
Boolean | true, false |
2.2.3.4. ТИП ДАННЫХ «ИНТЕРВАЛЫ»
typeимя-типа = минимальное-целое-значение..максимальное-целое-значение;
2.2.3.5. ТИП ДАННЫХ «ПЕРЕЧИСЛЕНИЯ»
type имя-типа = (значение1, значение2, ... значение-n);
ВЕЩЕСТВЕННЫЕ ЧИСЛА
Описатель типа | Длина(байт) | Число значащих цифр | Директива компилятора |
Real | не требуется | ||
Single | {$N+} | ||
Double | {$N+} | ||
Extended | {$N+} | ||
Comp | 19 (цел.число,64-bit) | {$N+} |
ТИПИЗИРОВАННЫЕ КОНСТАНТЫ.
(ПЕРЕМЕННЫЕ ВЕЛИЧИНЫ С НАЧАЛЬНЫМ ЗНАЧЕНИЕМ)
constимя-константы: тип = значение; [...]
ОПЕРАЦИИ
2.3.1. ОПЕРАЦИЯ ПРИСВАИВАНИЯ
имя-переменной : = выражение;
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ
Сложение | Вычитание | умножение | деление | ||||||||
A | b | A + b | a | B | a - b | a | b | a * b | a | b | a / b |
-20 | -10 | -10 | 2.5 | 2.5 | 6.25 | 0.5 |
целочисленное деление | остаток от деления (модуль) | двоичный сдвиг влево | двоичный сдвиг вправо | ||||||||
a | B | a div b | a | b | a mod b | a | b | a shl b | a | b | a shr b |
ЛОГИЧЕСКИЕ ОПЕРАЦИИ
операции булевой алгебры (высший приоритет) | |||||||||||
Not | And | or | xor | ||||||||
A | not a | a | b | a and b | a | b | a or b | a | b | a xor b | |
False | True | false | false | False | false | false | false | false | false | false | |
true | False | false | true | False | false | true | true | false | true | true | |
true | false | False | true | false | true | true | false | true | |||
true | true | true | true | true | true | true | true | false | |||
операции отношения (низший приоритет) | |
a = b | равно |
A <> b | не равно |
a < b | меньше |
A <= b | меньше или равно (не больше) |
a > b | больше |
A >= b | больше или равно (не меньше) |
ВВОД И ВЫВОД ДАННЫХ (СТАНДАРТНЫЕ УСТРОЙСТВА)
Процедура (функция) | Назначение | Пример вызова | Примечания |
read(список-ввода) | ввод данных (клавиатура) | read(a, b, c) | |
Readln(список-ввода) | ввод данных, пропуск маркера конца строки | readln(a, b, c) | |
Write(список-вывода) | вывод данных (экран) | write(‘n = ’,n:10) write(‘n = ‘,n:p:q) | p,q: величины целого типа |
Writeln(списоквывода) | вывод данных, вывод маркера конца строки | writeln(‘?’:s+2) writeln(‘’:spaces) | s,spaces: величины целого типа |
Clrscr | очистить весь экран (окрасить в цвет фона) | clrscr | модуль crt |
Textcolor(цвет) | выбрать цвет символа | textcolor(magenta) | модуль crt |
Textbackground(цвет) | выбрать цвет фона | textbackground(0) | модуль crt |
Window(x1,y1,x2,y2) | окно (x1,y1)-(x2,y2) | window(1,1,40,10) | модуль crt |
Wherex | позиция курсора x - номер колонки | x := wherex | модуль crt |
Wherey | позиция курсора y - номер строки | y := wherey | модуль crt |
Gotoxy(x,y) | установить курсор в положение (x, y); x - колонка [1..80]; y - строка [1..25]; | gotoxy(40,10) gotoxy(50,wherey) | модуль crt |
Определения констант-названий цветов палитры в текстовых режимах (модуль crt)
Номер | Цвет (имя константы) | Номер | Цвет (имя константы) |
Black | DarkGray | ||
Blue | LightBlue | ||
Green | LightGreen | ||
Cyan | LightCyan | ||
Red | LightRed | ||
Magenta | LightMagenta | ||
Brown | Yellow | ||
LightGray | White |