- •Программирование алгоритмов линейной структуры
- •Var Dlina,Shirina,s:real;
- •Var a, b, dop: integer;
- •Программирование алгоритмов разветвляющейся структуры
- •Var yfx:real;
- •Var max,X,y:real;
- •Программирование алгоритмов циклической структуры
- •Var m,n:Longint;
- •Параметр уменьш. На 1
- •Var m,n,a,I:integer; {описание переменных}
- •Var ch:char;
Var Dlina,Shirina,s:real;
Begin
Writeln ('Введите длину прямоугольника');
Readln(Dlina);
Writeln ('Введите ширину прямоугольника');
Readln(Shirina);
S:=Dlina*Shirina;
Writeln ('Площадь прямоугольника с шириной ',Shirina:8:2,' и длиной', Dlina:8:2,'paвнa',S:8:2);
Readln
End.
Кстати, приведенная выше программа реализует алгоритм линейной структуры (алгоритм вычисления площади прямоугольника).
Рассмотрим еще примеры реализации алгоритмов линейной структуры.
Пример.
Алгоритм Квадрат_числа; {заголовок алгоритма}
Переменные X,Y: вещественные числа; {описательный блок}
Начало
Ввод(Х);
Y:=X*X;
Вывод(Y);
Конец.
Запишем программу на языке Паскаль, реализующую данный алгоритм; для вычисления квадрата числа здесь используется стандартная арифметическая функция языка Паскаль — sqr( ):
№ |
Текст программы |
Пояснения |
|
|
Program Scr; |
Заголовок программы |
|
|
Var x,y:real; |
Описание переменных |
|
|
Begin |
Начало тела программы |
|
|
Write ('Введите х -> '); |
Оператор вывода на экран сообщения: Введите х -> |
|
|
Readln (x); |
Оператор считывания введенного пользователем значения и записи его в переменную х |
|
|
Y:=sqr(x); |
Оператор присваивания, в котором происходит вычисление квадрата введенного пользователем числа и записи полученного значения в переменную у. |
|
|
Writeln('y = ',y); |
Вывод на экран результата работы программы, а именно значения, хранящегося в переменной у. |
|
|
End. |
Конец тела программы. |
Обратите внимание на использование здесь операторов ввода\вывода.
Во-первых, в начале программы (строки № 4,5) оператору ввода значения в переменную х (Readln (x);) предшествует оператор вывода на экран приглашающего сообщения (Write ('Введите х -> ');). В результате работы этого оператора вывода во время исполнения программы церед пользователем на экране появится сообщение:
Введите х ->_
Мигающий курсор
Мигающий курсор после сообщения показывает, что машина готова «узнать» ответ пользователя. В месте этого курсора пользователь сможет набрать с клавиатуры число, квадрат которого он хочет рассчитать.
Например:
Введите х -> 1
После того как число набрано и будет нажата клавиша Enter, управление перейдет к следующему оператору (Readln (x);), который прочитает введенное пользователем сообщение и запишет его в переменную х.
Такой способ общения программы с пользователем часто называют режимом диалога, подразумевая здесь диалог машины (программы) и человека (пользователя).
А операторы ввода\вывода используются в том числе для организации такого режима диалога.
Во-вторых, при выводе результата расчета в операторе вывода (Writeln) через запятую перечислено два параметра: (у = ',у), первый из которых стоит в апострофах ('у ='), а второй — без них (у). В чем разница? То, что в параметрах оператора вывода стоит в апострофах, выводится на экран без каких-либо изменений. По сути, это просто строка некоторого сообщения. А второй параметр оператора вывода (без апострофов) выдаст на экран не саму букву у, а значение (в данном случае численное), хранящееся в переменной под именем у. Т.е. на экране появится строка вида:
y=1
Кроме того, напомню, что частичка In в конце оператора ввода\вывода означает, что после выполнения заданного оператором действия курсор будет переведен на следующую (пока пустую) строку экрана.
С учетом всего вышесказанного во время работы программы перед пользователем на экране сформируется следующая последовательность записей (например):
Введите х -> 2
y=4
Эта последовательность строк называется протоколом работы программы.
Рассмотрим еще один пример.
Пример.
Даны переменные А и В. Требуется обменять их значения, т.е. переменная А должна получить значение В, а В — значение А.
Решение:
Исходные данные: А, В. Вспомогательная переменная DOP. Результат: А, В.
Метод решения задачи. В ЭВМ каждая величина хранится в отдельном участке памяти (переменной). Поэтому задача заключается в том, чтобы поменять местами содержимое двух ячеек. Решение задачи распадается на три этапа. Запись этого алгоритма с помощью псевдокода:
Алгоритм Перемещение; {заголовок алгоритма}
Переменные А,В,Dор:целые числа; {описательный блок}
Начало
Ввод (А,В);
Dop:=A;
А:=В;
B:=Dop;
Вывод(А,В);
Конец.
Программная реализация будет иметь вид:
Program OBMEN;
