Программирование линейных алгоритмов (Read Write)
Операторы ввода- вывода (Read Write)
Для них используются операторы:
Оператор ввода | – Read ( ); или Readln ( ); |
Оператор вывода | – Write ( ); или Writeln; Ln – означает, что курсор переведен на следующую строку |
Оператор присваивания - | := |
Writeкурсор остается за последним выведенным символом.
Writeln после вывода данных переводит курсор на первую позицию следующей строки.
Writeln(a, b, c);- выводят значения переменных "a", "b", "c" начиная с текущей позиции курсора.
Вывод значений переменных "a", "b", "c" в трех строках экрана следует написать:
Writeln(a); Writeln(b); Writeln(c);
Оператор Write('Моя первая программа !');выводит на экран указанный текст.
Формат вывода
При выводе данных можно задавать формат вывода.
Для этого после имени переменной ставится знак двоеточие " : "
Пример:
Writeln(a:5:2); - при выводе значения переменной вещественного типа отводится 5 позиций (включая отрицательный знак и точку), из них 2 позиции отводится для вывода цифр в дробной части.
При выводе значения переменной целого типа задается количество позиций для числа (включая отрицательный знак), например: Writeln(i:8);
Пример №1: (площадь прямоугольника произвольных размеров)
Program First;
Var Dlina, Shirina, S: real;
Begin
Writeln (‘введите длину прямоугольника’);
Readln (Dlina);
Writeln (‘введите ширину прямоугольника’);
Readln (Shirina);
S:= Dlina *Shirina;
Writeln (‘площадь прямоугольника с шириной ’,Shirina:8:2,’и длиной <,Dlina:8:2,’равна’,S:8:2);
Readln ;
End.
Пример №2: (квадрат числа)
Program Sqr;
Var x,y: real;
Begin
Write (‘введите x ->’);
Readln (x);
y:=sqr(x);
Writeln (‘y=’,y);
Readln;
End.
Пример №3: (сумма двух чисел)
Program Sum;
Var S,a,b: inteqer;
Begin
Write (‘введите a ->’);
Readln (a);
Write (‘введите b ->’);
Readln (b);
S:=a+b;
Writeln (‘S=’,S);
Readln;
End.
Пример №3: (площадь треугольника по формуле Герона)
Program Sqr;
Const a=3; b=6; c=7;
Var s,p: real;
Begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln (‘s=’, s:4:2);
Readln;
End.
Программирование алгоритмов разветвляющейся структуры (If then else)
:
- правила записи условных операторов па языке Паскаль:
- работу оператора выбора;
- примеры использования условныхоператоров.
Операторы ветвлений
Для них используются операторы:
Условный оператор | If<условие> then <оператор1> else<оператор2> |
Оператор выбора | Case |
Оператор безусловного оператора | GOTO <метка> |
Условные операторы if...then...else
Если необходимо выбрать одно из возможных действий в зависимости от некоторого условия, то применяют условный оператор.
Рассмотрим пример применения условного оператора при вычислении квадратного корня числа. Как известно, для получения действительного значения корня подкоренное выражение должно быть неотрицательным.
В программе, кроме известных вам конструкций, встретится встроенная функция вычисления квадратного корня Sqrt (х).
Наберите эту программу и проверьте действие условия проверки знака подкоренного выражения, задавая отрицательные и положительные значения X.
В некоторых задачах удобно применять вложенные условные операторы типа if ...then... if ...then... else... else или if ...then... else... if ...then ...else.
Пример:
Решить линейное уравнение ax + b = О
1. а ¹0, тогдауравнение имеет решение
2. а=0, то уравнение вырождается(отсутствует член с X). В этом случае при b¹0 решения не существует.
3. а=0, b=0,X может быть любым конечным числом.
Программа имеет вид:
Введите эту программу и проверьте ее работу на конкретных примерах, включая особые случаи (обращения в нуль коэффициентов уравнения).
Пример №1: Ввести два числа с клавиатуры. Найти максимальное из двух чисел.
Var x,y, max: real;
Begin
Writeln (‘Введите x’);
Readln (x);
Writeln (‘Введите y’);
Readln (y);
If x>y
then max:=x
else
max:=y;
Writeln (‘Введены числа x и y’);
Writeln (max);
Readln ;
End.
Пример №3: расчет функции
Program Wetw;
Var y,x: real;
Begin
Writeln (‘x=’);
Readln (x); (ввод x)
If (x>0) and (x<2) then y:=Sqr(cos(x)) else y:=1-sin(sqr(x));
(вычисление значения y)
Writeln (‘y(‘,x:8:2,’)=’,y:8:2); (вывод значения у на экран)
Readln ; (пауза)
End.
Пример №4:
Program Wetw;
Var a,b,x: real;
Begin
Writeln (‘a=’,b=’);
Readln (a,b);
If a>=b then x:=a*b else x:=a+b;
Writeln (‘x(‘,x:8:2,’)=’,x:8:2); (вывод значения x на экран)
Readln ; (пауза)
End.