Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмизация и программирование раздат матери...docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
41.44 Кб
Скачать

Основные операторы языка Pascal

  1. Ввод исходных данных

Read[ln][(<список_имен _переменных>)];

ln – необязательная часть оператора (сокращение от Line New – новая строка);

структура списка имен переменных точно такая же, как в блоке описания переменных: имена переменных, в которые должна поступить информация с клавиатуры, перечислены через запятую; список может состоять из единственного имени. Значения переменных при вводе с клавиатуры должны быть отделены друг от друга пробелами.

Список имен переменных может быть опущен в единственном случае: оператор Readln располагается непосредственно перед End. в самом конце программы и обеспечивает возможность возврата в программу для исправления ошибок и нового запуска программы на выполнение (возможно, с новыми вариантами исходных данных).

Например,

Readln (a, b, c); - ввод с клавиатуры значений трех переменных;

Readln (x); - ввод с клавиатуры значения переменной х.

  1. Вывод результатов:

а) Write[ln] (‘текст’); - вывод сообщения или поясняющего текста, например:

Writeln (‘Введите три целых числа’); - вывод поясняющего текста;

Writeln (‘Встретился 0’); или Writeln (‘Треугольник существует’); - вывод сообщений.

б) Write[ln] (имя_переменной [, ‘ ‘, имя_переменной_1]…);

например: Writeln (x, ‘ ‘, y, ‘ ‘, z) – вывод значений трех переменных

или

в) Write[ln] (‘имя_переменной =’, имя_переменной, [’ имя_переменной_1= ‘, имя_переменной_1]…); вместо имени переменной внутри апострофов может быть любой текст, поясняющий, какое значение выводится далее,

например, Writeln (‘x = ‘, x, ‘ y = ‘, y, ‘ z = ‘, z) – вывод значений трех переменных или

Writeln (‘Cумма = ‘, S, ‘Произведение = ‘, P, ‘ Разность = ‘, R, ‘ max = ‘, max); - вывод значений четырех переменных.

г) если требуется вывести единственный результат, можно записать оператор вывода так: Write[ln] (имя_переменной); или

Write[ln] (‘ имя_переменной = ‘, имя_переменной); или

Write[ln] (‘ поясняющий текст = ‘, имя_переменной);

например: Writeln (m);

Writeln (min = ‘, min);

Writeln (‘ Сумма цифр = ’, S);

д) Write[ln](имя_переменной:m:n) – форматированный вывод, используемый для вещественных чисел, здесь m – общее количество позиций, включая знак числа, целую и дробную часть, n – количество цифр в дробной части.

. .

3. Присваивание значений переменным

Имя_переменной:= {значение выражение}

Выражение::= {арифметическое_ выражение алгебраическое выражение  логическое выражение}

Конструкция типа { } означает, что эта часть оператора является обязательной, а символ говорит о том, что должно присутствовать что-то одно из перечисленного в фигурных скобках (т.е. - это или).

Если в правой части оператора присваивания находится выражение, то сначала вычисляется его значение, а затем полученный результат записывается в соответствующую переменную.

Примеры записи оператора присваивания:

1) Pi:=3.14159; a:= 90643.4571;

2) B:= 7.34 * 2.923 – (SQRT(9.38521) +SIN (1.00983) * 5.44329)/1.647324

3) X:=A – SQR(B) + 2*C

4) F:= (a>=b) and (d=c) and (b<c)

1) - пример присваивания конкретного значения переменным pi и а;

2) - пример записи оператора присваивания с арифметическим выражением в правой части; арифметическое выражение может состоять из чисел, знаков арифметических операций и, возможно, встроенных функций Pascal; в данном примере использованы две встроенных функции: SQRT – вычисление квадратного корня числа, записанного в скобках и SIN – вычисление синуса угла в радианах;

3) – пример присваивания значения алгебраического выражения; алгебраическое выражение, кроме чисел, знаков операций и наименований встроенных функций, может содержать имена переменных;

4) – присваивание значения логического выражения; логическое выражение состоит из операций отношения (сравнения) и, возможно, логических операций; в результате вычисления значения логического выражения может вырабатываться только два значения: TRUE (Истина) или FALSE (Ложь).

Примеры записи программ с использованием основных операторов, перечисленных выше:

Задача № 1

Даны (вводятся с клавиатуры) три числа а, b и c (стороны треугольника). Найти и вывести на экран монитора площадь данного треугольника. Предполагается, что вводятся такие числа, что треугольник с этими значениями сторон существует.

Вычисление площади треугольника будем производить по формуле Герона:

S = , где p = (a + b +c)/2.

Переменные a, b, c, p, S лучше описать, как действительные числа, т.к. деление на 2 и, тем более, извлечение квадратного корня, скорей всего приведут к получению результата, не являющегося целым числом.

Программа будет выглядеть следующим образом:

Program primer;

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));

Writeln (‘Площадь треугольника =’, S);

Readln; End.

Результат решения этой задачи выведется на экран монитора в несколько непривычной для нас форме: целая_часть. дробная_часть Е порядок. С этой формой записи чисел мы будем встречаться при выводе значений переменных, имеющих тип Real, т.е. все действительные числа будут выводиться в экспоненциальной форме. В записи данной формы Е порядок означает, что число, состоящее из целой и дробной части умножается на 10порядок. Например,

3.4512098 Е+04 ≡ 3.4512098 * 10 4 = 34512.098

9.8011456 Е-03 ≡ 9.8011456 * 10-3 = 0.0098011456

5.036790158 Е+00 ≡ 5.036790158 * 100 = 5.036790158

Для того, чтобы решить следующую задачу, нам понадобятся специальные операции языка Pascal для деления целых чисел:

Divделение с получением целой части частного;

Modделение с получением целого остатка;

Например, 123 │17

119 9 результат операции div

4 результат операции mod

Следовательно, можно записать: 123 div 17 = 9; 123 mod 17 = 4.

Задача № 2

С клавиатуры вводится трехзначное целое положительное число. Найти сумму цифр этого числа.

Каким образом из трехзначного целого числа можно выделить отдельные цифры? Воспользуемся для этой цели операциями div и mod:

Рассмотрим трехзначное целое число 734, первая цифра в нем – количество сотен, следовательно, если разделить это число на 100, пользуясь операцией div, то мы должны получить цифру 7. Остатком от деления 734 на 100 будет 34. Если поделить это число на 10 с помощью операции div, то получится количество десятков (вторая цифра исходного числа); третью цифру числа можно выделить, разделив исходное число на 10 с помощью операции mod:

_734 │100 _ 34 │10 _ 734 │10

700 7 результат операции div 30 3 70 73

34 результат операции mod 4 _ 34

30

результат операции mod → 4

Теперь можно написать программу. В программе будут использоваться переменные: Х – исходное трехзначное целое положительное число,

а – первая цифра этого числа,

b - вторая цифра исходного числа,

с – третья цифра, S – сумма цифр;

тип у всех переменных – целый.

Program summa;

Var x, a, b, c, S : Integer;

Begin

Writeln (‘Введите трехзначное целое >0’);

Readln (x);

a:= x div 100;

b:= x mod 100 div 10;

c:= x mod 10; S:= a + b + c;

Writeln (‘Сумма цифр=’, S);

Readln; End.

Задача № 3 (для самостоятельного решения)

Дан (вводится с клавиатуры) радиус круга R. Вычислить и вывести на экран длину окружности и площадь круга. Переменной Pi (число π) присвоить значение 3.1459. Формулы для вычисления длины окружности и площади круга: C = 2*π*R S = π*R2.

Задача № 4 (для самостоятельного решения)

Дано (вводится с клавиатуры): курс евро и сумма денег в рублях, которую надо перевести в евро. Осуществить перевод и вывести на экран результат перевода.

Задача № 5 (для самостоятельного решения)

Некий господин получил наследство в сумме 1 млн $. Определить, на сколько лет ему хватит данной суммы денег, если он планирует тратить по 8000$ в месяц. Результат расчета вывести на экран.

Выводы: Программа, реализующая линейный алгоритм, состоит из четырех основных частей:

1) описания переменных;

2) ввода исходных данных с клавиатуры (как в задачах №№ 1 – 4) или присваивания исходных значений переменным (задача № 5);

3) вычислений и 4) вывода результата.

Г рафически (с помощью элементов блок-схемы) это можно изобразить следующим образом:

В задаче № 5 вместо ввода исходных данных используется присваивание.

Раздаточный материал по теме:

Алгоритмизация и программирование.

Система программирования TurboPascal 7.0

Основные операторы

универсального языка программирования Pascal

составитель: преподаватель информатики Дерягина В.В.