Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АТПбпз-16 (2 семестр) Информатика.rtf
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

III. Операторы Паскаля

  1. Операторы присваивания, ввода и вывода.

Отдельные инструкции, входящие в программу, в языке программирования Паскаль принято называть операторами.

В результате выполнения оператора присваивания переменной присваивается значение некоторого выражения. Примеры операторов присваивания:

a:=0

b:=c

x1:=(-b+sqrt(b)-4*a*c)/(2*a*sqr(b))

x:=x+1

Для ввода данных и вывода результатов используются операторы ввода и вывода . Например, они могут выглядеть так:

read (x) - после ввода значений курсор остаётся в той же строке;

readln (x1, y, x2) – после ввода значений курсор переходит на новую строку;

write (x) – после вывода значения курсор остаётся в той же строке;

writeln (z, y, a, z2) – после вывода курсор переходит на новую строку.

Пример1 Написать программу вычисления пощади и периметра прямоугольника со сторонами a и b.

  • Введём обозначения: S – площадь прямоугольника;

P – периметр прямоугольника.

  • Б

    • Листинг программы:

    Program Prim2;

    Var a, b, P, S: real;

    Begin

    write (‘Введите значения a, b,’);

    read (a, b);

    P:=(a+b+c)/2;

    S:=a*b;

    write (‘s=’,s, ‘ ‘:5,’P=’,P);

    End.

    лок-схема:

2. Условный оператор

Если мы хотим, чтобы переменной max присвоилось наибольшее из значений переменных x1 и x2, то надо сравнить значения x1 и x2 и в зависимости от результата сравнения выполнить либо оператор max:=x1, либо max:=x2. Действия такого рода задаются условным оператором:

if B then P1 else P2,

где В -условие, Р1 и Р2 - операторы. Если условие В удовлетворяется, то выполняется Р1, иначе выполняется Р2.

В качестве условий используются отношения. Отношения представляют собой записи равенств и неравенств. Примеры отношений:

a=b; a1<2; a2>x; a<=0; y>= k; a<>c.

Для решения задачи о присваивании переменной max наибольшего из значений x1 и x2 достаточно выполнить оператор

if x1>x2 then max:=x1 else max:=x2

Пример2 Написать программу, определяющую можно ли по введенных величинам сторон a, b, c построить треугольник.

  • Б лок-схема:

3. Операторы циклов

Многократно повторяемые действия могут быть заданы оператором цикла. В языке Паскаль различают две группы циклов:

1 группа: циклы с известным числом повторений. К ней относится цикл с параметром;

2 группа: циклы с неизвестным числом повторений. К ней относятся: а) цикл с предварительным условием, б) цикл с последующим условием.

Таким образом, в Паскале три вида циклов.

3.1 Оператор цикла с параметром

Данный оператор служит для организации цикла с известным числом повторений. Общий вид записи оператора:

F or i:=A to B do S;

где i - параметр цикла (не может быть величиной действительного типа), A и В – начальное и конечное значение параметра цикла, S - операторы (тело цикла). Предполагается, что в выражения А и В не входит переменная i и что выполнение оператора S не приводит к изменению значений параметра цикла i и тех переменных, которые входят в А и В. Такой оператор цикла заставляет переменную i последовательно принимать значения А, А+1, А+2, ..., В. Для каждого из этих значений выполняется оператор S. Шаг изменения параметра цикла +1 при ключевом слове TO и –1 при DOWNTO.

Пример 3.Найти сумму S=1+22 +32+…+n2

  • Б

    • Проверка для n=4

    1 цикл

    2 цикл

    3 цикл

    4 цикл

    n=4

    S=0

    I=1<4

    S=0+12=1

    S=1

    2<4

    S=1+22=5

    S=5

    3<4

    S=5+32=14

    S=14

    4=4

    S=14+42=30

    5>4

    S=30

    лок-схема:

Пример 4 Найти сумму всех целых чисел от –50 до 200, которые кратны 5 и 8 одновременно. Вывести эти числа на экран.

  • Б

    • Листинг программы:

    Program Chisla;

    Var i, S: integer;

    Begin S:=0;

    for i:=-50 to 200 do

    If (i mod 5=0) and (i mod 8=0 )

    Then begin S:=S+i;

    Write(i, ‘ ‘:5);

    end;

    Writeln;

    Writeln (‘S =’,S);

    end.

    лок-схема:

  • Протокол работы программы:

–40 0 40 80 120 160 200

S=560