Теория. Линейные программы
Для записи простейшей линейной программы требуются операторы присваивания и ввода-вывода данных.
Оператор присваивания
переменная := выражение;
где переменная - любая переменная Паскаля (объявленная заранее в разделе описания переменных), выражение - соответствующее по типу выражение Паскаля (например, целой переменной не может быть присвоено вещественное или символьное значение).
При выполнении этого оператора сначала вычисляется значение выражения, а затем это значение присваивается переменной.
Пример 1:
a:=1;
b:=a+2;
c:=’пример’
Операторы ввода данных
Read (список_переменныx);
где список_переменныx – перечень вводимых переменных, разделенных запятыми (объявленных заранее в разделе описания переменных).
При выполнении данного оператора пользователь с клавиатуры должен ввести значения указанных переменных. Значения должны соответствовать типам переменных, разделять их при вводе нужно пробелом или клавишей Enter. После выполнения курсор остается на той же строке.
Пример 2:
Read(a);
Read(a,b);
Readln (список_переменныx);
где список_переменныx – список вводимых переменных, разделенных запятыми (объявленных заранее в разделе описания переменных).
Действие оператора аналогично предыдущему, но после выполнения курсор переводится на новую строку.
Операторы вывода данных
Write ('комментарий',список_переменныx);
где комментарий – необязательная текстовая часть, выводится на экран без изменения,список_переменных - перечень переменных, значения которых выводятся на экран. В качестве элемента списка можно использовать переменную или выражение. Вместо переменной или выражения выводится их значение на момент выполнения оператора вывода. После выполнения курсор остается на той же строке.
Пример 3:
Write('a=',a);
Write('сумма чисел ',a, ' и ',b, ' равна', c);
Writeln ('комментарий',список_переменныx);
где комментарий – необязательная текстовая часть, выводится на экран без изменения,список_переменных - перечень переменных, значения которых выводятся на экран.
Действие оператора аналогично предыдущему, но после выполнения курсор переводится на новую строку.
Пример 4:
Writeln(8/10*sqrt(4));
Форматный вывод
При выводе вещественных переменных в Паскале используется запись числа с плавающей точкой (экспоненциальная форма) . К примеру, число 10.5 будет выведено как 1.0500000000Е+0001.
Экспоненциальная фоpма пpедполагает запись числа в виде мантиссы и поpядка. Любое число можно пpедставить в виде:
X=m*10p, где m-мантисса числа, p-поpядок числа.
Например:
-238,5=-2,385 x 10²
|
0,00035=35 x 10^-5
|
В экспоненциальной фоpме записываются: знак мантиссы, мантисса, символ Е, знак поpядка, поpядок в виде целого числа. Пpимеpы записи в экспоненциальной фоpме:
Для того, чтобы увидеть число в более привычном виде можно использовать форматный вывод c фиксированной точкой.
Write (A:N:M) - указывается формат значения переменной. Первое число после знака ":" обозначает количество позиций, выделяемых под всю переменную, а второе - под дробную часть числа. Десятичная точка тоже считается отдельным символом. Если дробная часть числа превышает указанный формат, то число округляется, при нехватке – дополняется нулями до указанного формата. Если целая часть превышает указанное число позиций, то она все равно выводится полностью
Пример 5:
Writeln(x:5:3);
Число
|
Результат выполнения оператора
|
5,3578
|
5.358
|
5,35
|
5.350
|
252, 357
|
252. 357
|
Пример 6: Написать программу для складывания двух чисел.
Program summa;
Var a,b,s:real;
Begin
Writeln('введите первое число'); Readln(a);
Writeln('введите второе число'); Readln(b);
s:=a+b;
Writeln('сумма чисел равна',s:5:2);
Readln;
End.
Пример 7: Дано два числа, найти остаток от деления первого на второе и вывести результат.
Program ostatok;
Var a,b,x:integer;
Begin
Write('введите два числа ');
Readln(a,b);
X:=a mod b;
Writeln('остаток от деления-',x);
Readln;
End. |