Оператор вывода информации
Оператор вывода данных: write (x) или write (x, y, z).
Операторы ввода и вывода данных открывают возможность для многократного использования одной и той же программы для вычислений с различными исходными данными.
Приведем, в качестве примера, последовательность операторов, предназначенную для ввода трех чисел и вывода их суммы:
read (a, b, c);
x : = a+b+c;
write (x);
После записи операторов ставится символ « ; ».
В языке Паскаль дополнительно включены операторы ввода и выводы readln и writeln, которые выполняются так же, как и read или write, с той лишь разницей, что после его выполнения происходит переход на новую строку.
С программой будет легче работать, если каждое вводимое значение будет вначале поясняться с помощью текста, выводимого на экран оператором writeln, например:
writeln (‘введите параметр: а=’);
read (a);
Обратите внимание на то, что в операторе writeln для вывода поясняющего текста используют знак ‘ (штрих)
При записи программы на языке Паскаль различают переменные типа real (действительные числа) и типа integer (целые числа). Переменные типа integer могут принимать лишь целые значения, а переменные типа real могут принимать как целые, так и действительные значения. Числа в Паскале тоже разделяются на целые, или имеющие тип integer, и действительные, или имеющие тип real: если в записи числа используется точка, то оно действительное, в противном случае – целое. Причина выделения переменных и чисел типа integer связана со спецификой проведения вычислений с целыми числами (арифметические операции над целыми числами производятся абсолютно точно, и результатами этих операций снова являются целые числа).
Для описания переменных используют служебное слово var (от английского слова variable – переменная). Например:
var x : real;
z, t : integer;
Рассмотрим для примера текст программы для вычисления площади треугольника, по трем сторонам a, b, c (предполагается, что числа, вводимые в качестве исходных данных соответствуют отрезкам, из которых может быть составлен треугольник).
Program ploshad;
var a, b, c, p, s : real;
begin writeln (‘введите стороны треугольника’);
readln (a, b, c);
p := (a + b + c) / 2;
s := sqrt (p*(p-a)*(p-b)*(p-c));
write (s)
end.
Разберем на этом примере структуру программы на языке Паскаль.
Первая строка является заголовком программы. В заголовке указывают служебное слово program, после которого на английском языке пишется имя программы. В данном случае имя программы - это слово ploshad .
Следующая после заголовка строка относится ко второму разделу программы - разделу описания переменных. Здесь указывается, сколько переменных используется в программе, какие имена у этих переменных, и данные какого типа будут храниться в этих переменных. Следует обратить внимание на то, что не все сочетания букв и букв с цифрами могут использоваться в качестве имени переменной. В частности нельзя использовать служебные слова языка Паскаль, такие как program, var и ряд других, приведенных частично далее по тексту и полностью описанных в специальной литературе по языку программирования Паскаль.
После описания переменных идет так называемое тело программы, где указывается последовательность действий, которые должны быть выполнены. Тело программы заключается между двумя служебными словами begin и end.
Приведенный пример также иллюстрирует правила применения точки с запятой в тексте программы. В общем случае каждый оператор должен оканчиваться точкой с запятой. Имеется только несколько исключений из этого правила. Например, за служебным словом begin никогда не ставится точка с запятой, так же как она никогда не ставится перед служебным словом end.
Другой пример – программа вычисления гипотенузы и площади треугольника по двум заданным катетам.
Program treygolnik ;
var a, b, c, s : real;
begin
writeln(‘введите катеты треугольника:’);
readln (a,b);
c:= sqrt(a*a+b*b);
s:= a*b/2;
writeln(‘гипотенуза:’);
write(c);
writeln(‘площадь’);
write(s);
end.
Условный оператор
Условный оператор (оператор условного перехода) содержит слова if (если) then (тогда) и обеспечивает изменение естественного порядка выполнения программы при выполнении некоторого условия. Общая форма оператора
If условие then оператор
Условие представляет собой запись, состоящую из двух выражений, соединенных знаками отношения: равно, больше, меньше и т.д.
Действие условного оператора заключается в проверке указанного условия. Если оно выполняется, то выполняется и оператор, указанный за словом then. Если условие не выполняется, то оператор, указанный за словом then также выполняться не будет.
Условный оператор в языке Паскаль допускает вид
If условие then оператор else оператор
Например, если мы хотим переменной max присвоить наибольшее из двух значений х1 и х2, то достаточно выполнить условный оператор вида
If x1 > x2 then max := x1 else max := x2
Оператор, стоящий после else может быть любым, оператор, стоящий между then и else, не может быть условным.
Слова begin и end по своему функциональному назначению аналогичны соответственно открывающей и закрывающей скобам. Поэтому такую конструкцию еще называют – операторные скобки. Операторные скобки могут встречаться в программе неоднократно: они не только обозначают начало и окончание всех действий в программе, но и могут объединять отдельные группы выполняемых операторов. Так, если после then или else стоит не один оператор, а несколько, их обязательно берут в операторные скобки вида
begin оператор; оператор; оператор end
Вот, например, как будет выглядеть программа вычисления корней квадратного уравнения
Program korni;
Var a, b, c, x1, x2, d : real;
begin writeln(‘введите коэффициенты уравнения a, b,c:’);
readln (a, b, c);
d := b*b – 4*a*c;
if d < 0 then write (‘действительных корней нет’) else
begin
d := sqrt (d);
x1 := (-b + d) / (2*a);
x2 := (-b - d) / (2*a);
writeln (‘x1 = ’, x1, ‘x2 = ’, x2)
end
end.
Оператор цикла
Один из самых удобных и распространенных операторов в программировании - это оператор цикла, который организует многократное выполнение некоторых участков программы. Такие операторы есть во всех языках программирования.
Оператор цикла на языке Паскаль имеет вид
for i := A to B do S
где i – переменная типа integer, называемая параметром цикла, А и В числа типа integer, S – некоторый оператор (тело цикла).
Предполагается, что параметр цикла i изменяется на единицу.
Если после do стоит не один, а несколько операторов, то они также берутся в операторные скобки вида begin …… end.
Рассмотрим программу, которая будет печатать таблицу перевода температуры из градусов по шкале Цельсия (С0) в градусы по шкале Фаренгейта (F0) для значений от 15С0 до 30С0 с шагом 1С0 (F0 = 1,8C0 + 32).
program tablica;
var c: integer;
f: real;
begin writeln ('гр Цельсия гр Фаренгейта');
for c:=15 to 30 do
begin f:=1.8*c+32;
writeln (c,' ', f)
end
end.
Программирование алгоритмов циклической структуры
с использованием одномерных массивов
Массивом называется упорядоченная последовательность величин, обозначаемая одним именем. Упорядоченность заключается в том, что элементы массива располагаются в последовательных ячейках памяти.
Название, тип элементов и длина массива фиксируются в описании переменных
var а : array [1..20] of real
Слово array в переводе с английского – массив. Элементами массива а будет упорядоченный наборы из 20 элементов, имеющих тип real; диапазон изменения значения индекса в квадратных скобках от 1 до 20.
Переменные a[1], a[2], … a[20] – это переменные типа real, с которыми можно обращаться как с обычными переменными этого типа.
Рассмотрим пример: пусть a[1], a[2], … a[20] – количество осадков, выпадавшее в течение 20 лет. Надо вычислить среднее количество осадков. Возможный вариант программы имеет вид:
Program osadki;
var a : array [1..20] of real; i : integer; s : real;
begin s := 0;
for i := 1 to 20 do
begin
read (a [ i ]); s := s + a [ i ]
end;
s := s/20; writeln (‘среднее значение’, s)
end.
4. ПРИМЕРЫ ЗАДАНИЙ
Работа в электронных таблицах
1. Используя табличный процессор Excel решить графически двумя способами уравнение
Решение лежит в интервале x от - 4 до 4.
2. Используя табличный процессор Excel решить графически систему уравнений
Решение находится в интервале изменения x от 1 до 10.
3. Решить графически неравенство
4. Одноклеточная амеба каждые 3 часа делится на две клетки. Используя табличный процессор Excel составить таблицу, которая бы показывала: сколько клеток будет через 3, 6, 9, 12 … 24 часа. Построить точечную диаграмму роста числа клеток.
5. Построить в Excel зависимость тормозного пути автомобиля, начинающего торможение на горизонтальном участке шоссе, от начальной скорости
: 10 – 30 м/с. Коэффициент трения скольжения =0,6.6. Построить в Excel зависимость мощности выделяемой в алюминиевой проволоке диаметром 0.2 мм при подключении ее к источнику напряжения 24 В, от длины проволоки l. Удельное сопротивление алюминия равно 2.7*10-8 Ом*м.