ИНФОРМАТИКА
Понятие алгоритма. Свойства алгоритма. Структура простейшей программы на Паскале. Вывод текста на экран.
Алгоритм – конечная последовательность действий, ведущая к определенному результату.
Свойства алгоритма:
- Дискретность (состоит из определенных шагов)
- Понятность (должен включать только команды, известные исполнителю)
- Определенность
- Конечность
- Массовость
- Корректность
Простейшая программа:
Program qq;
Begin [начало программы];
End.
Вывод текста на экран:
Program qq;
Begin
Write (‘2+’);
Writeln (2=?’);
Write (‘Ответ=4’);
End.
Переменные. Типы переменных. Объявление переменных в Паскале. Оператор присваивания.
Переменная – величина, имеющая имя, тип и значение.
Типы переменных: integer (целая), real (вещественная), double (двойной точности), char (символьный тип), string (строковый тип)
Объявления переменных: var a,b,c: integer;
Присваивание: а:=5
Блок-схема линейного алгоритма. Ввод значений с клавиатуры в Паскале. Ввод значений двух переменных.
Блок-схема:
Блок «начало» ->
Блок «ввод» ->
Блок «процесс»->
Блок «вывод» ->
Блок «конец» ->
Ввод значения с клавиатуры: read (a,b);
Оператор вывода в Паскале. Сложение двух чисел.
Вывод: write (a);
Writeln (a); - запись с переносом на след. Строку
Writeln (‘Значение=’, c);
Сложение двух чисел: простая программа на сложение
Арифметические операции в Паскале. Приоритет операций. Вывод целых чисел.
Арифметические операции в Паскале.
1. Операции с дробными числами (обычные, как в математике).
- вычитание; + сложение; * умножение; / деление.
2. Операции с целыми числами.
- вычитание; + сложение; * умножение;
Деление представлено двумя операциями:
div - целая часть от деления, mod - остаток.
23 div 3 = 7 23 mod 3 = 2
9 div 4 = 2 9 mod 4 = 1
35 div 10 = 3 35 mod 10 = 5
3. Приоритет арифметических операций: вначале - умножение и деление (/, div, mod). Затем - сложение и вычитание. Порядок выполнения действий - слева направо. В выражениях могут быть скобки, при этом вначале производятся вычисления в скобках.
Вывод вещественных чисел в Паскале.
В pascal вещественное число представляется определённым образом, а именно с помощью десятичного признака и указания степени. Давайте создадим новую программу и в ней пропишем три переменных вещественного типа, где две переменных будем считывать с клавиатуры, и третей переменной присвоим произведение двух вещественных чисел считанных с клавиатуры:
Program Real_Num;
Uses crt;
var num1, num2, res: Real;
Begin
Clrscr;
write('Введите два вещественных числа через пробел - ');
Readln(num1, num2);
res:= num1 + num2;
write('Сумма двух вещественных чисел - ', res);
Readln;
End.
Теперь выполним нашу программу и попробуем ввести два вещественных числа, например - 2.3212 5.2313 - и не стоит забывать что числа нужно вводить с точкой, а не с запятой.
И после получим результат - 1.21428935600000E+001. До знака плюс идёт десятичный признак, а после степень. Но такая запись нам не удобна. Для изменения вида в pascal используется специальная запись:
Program Real_Num;
Uses crt;
var num1, num2, res: Real;
Begin
Clrscr;
write('Введите два вещественных числа через пробел - ');
Readln(num1, num2);
res:= num1 * num2;
write('Произведение двух вещественных чисел - ', res:4:4);
Readln;
End.
В выводе переменной с произведением мы внесли некоторые изменения, а именно - после переменной res поставили двоеточие и кол-во знаков до запятой - у нас их четыре, потом поставили ещё двоеточие и кол-во знаков после запятой - у нас их столько же. Вот такая запись используется в pascal. Если знаков до запятой меньше чем мы указали, то при выводе результата он у нас сместиться на недостающее кол-во цифр в право, то есть до видимого результата будут стоять невидимые нули, которые будут сдвигать ответ вправо.
Разветвляющиеся алгоритмы. Блок-схема ветвления на Паскале. Пример программы, реализующей ветвление.
Разветвляющийся алгоритм: if <условие> then begin
(что делать, если условие верно)
end
else begin
(-//-)
end.
Блок-схема: начало
|
ввод a,b
|
max:=a
|
да-----------(b>a?)-----------нет
| |
| |
max:=b |
└----------вывод max------- -┘
Пример программы:
program qq;
var a, b, max: integer;
begin
writeln (‘Введите 2 числа’);
read (a,b);
max:=a;
if b>a then max:=b;
writeln (‘Наибольшее число= ‘, max);
end.