ЯП Паскаль_Л2.ppt
- Количество слайдов: 40
ЯП Паскаль продолжение
Пример 1 Построить блок-схему и составить программу на ЯП Паскаль для следующей задачи: Задача. Вывести на экран наибольшее из двух данных неравных чисел.
Блок-схема Начало а-ма Переменные x, y- целые Ввод x, y да x>y нет
Вывод x Вывод y Конец а-ма
Программа Program dva_chisla; Var x, y: Integer; Begin Writeln(‘Введите 2 числа’); Readln(x, y); if x>y Then Writeln(‘Наибольшее число’, x) Else Writeln(‘Наибольшее число’, y); Readln End.
Пример2 Построить блок-схему и составить программу на ЯП Паскаль для следующей задачи: Задача 2. Из трех данных целых неравных чисел X, Y, Z вывести на экран наибольшее.
Блок-схема Начало а-ма Переменные x, y, z- целые Ввод x, y, z да x>y и x>z нет
Вывод x да Вывод y Конец а-ма у>x и y>z нет Вывод z
Программа Program max 3_1; Var X, Y, Z: Integer; Begin writeln(‘Введите X, Y, Z ’); readln(X, Y, Z); if (X > Y) and (X>Z) then writeln (‘наибольшее х’, x) else if (Y >X) and (Y>Z) then writeln (‘наибольшее y’, y) else writeln (‘наибольшее z’, z); readln end.
Оператор выбора позволяет программировать ветвления по многим направлениям. Этот оператор организует переход на одну из нескольких ветвей в зависимости от значения заданного выражения (селектора выбора).
Формат оператора выбора: case K of A 1 : <оператор 1>; A 2 : <оператор 2>; … AN : <оператор N>; else <оператор N+1> end;
• • Здесь К – выражение-селектор, которое может иметь только простой порядковый тип (целый, символьный, логический). A 1, А 2, … , АN – константы того же типа, что и селектор, выполняющие роль меток ветвей. Исполнение оператора начинается с вычисления выражения К, полученное значение сравнивается с константами (метками) и выполняется соответствующий оператор. Если ни одна из меток не совпала со значением К, то выполняется оператор после слова else.
Пример Составить программу для вывода на экран дня недели по его номеру (1 - понедельник, 2 –вторник, и т. д)
Программа Program dni_nedeli; Var a: Integer; Begin Writeln(‘Введите номер дня недели’); Readln(a); Case a of 1: writeln(‘Понедельник’); 2: writeln(‘Вторник’); 3: writeln(‘Среда’); 4: writeln(‘Четверг’); 5: writeln(‘Пятница’); 6: writeln(‘Суббота’); 7: writeln(‘Воскресенье’) else writeln(‘Неправильный номер!’) end; Readln End.
Операторы цикла Цикл – многократное повторение последовательности действий по некоторому условию. Известны три типа циклических алгоритмических структур: цикл с предусловием, цикл с постусловием цикл с параметром. В Паскале существуют операторы, реализующие все три типа циклов.
Оператор цикла с предусловием Цикл с предусловием ( цикл - пока ) – наиболее универсальная циклическая структура. Реализуется оператором While. Формат оператора: While <логическое выражение> do <тело цикла>
Пока значение логического выражения – true, выполняется тело цикла. Тело цикла может быть простым или составным оператором.
Если в теле цикла содержится более одного оператора, то вся последовательность операторов должна быть заключена в операторные «скобки» begin … end.
Пример Вычислить сумму натуральных чисел S от 1 до N. N вводится с клавиатуры. Для вычисления использовать цикл с предусловием.
Блок-схема Начало а-ма Переменные S, N, i- целые Ввод N S : =0 i: =1
i<=N нет да S : =S + i i: =i + 1 Вывод S Конец а-ма
Программа Program Natur; var S, N, i: integer; Begin readln(N); S: = 0; i: = 1; while i < = N do begin S: = S + i; i: = i + 1 end; writeln(‘Результат суммирования’, S); end.
Цикл с постусловием ( цикл - до ) имеет формат: Repeat <тело цикла> until<логическое выражение>
Пока значение логического выражения – false, выполняется тело цикла. Цикл заканчивается, когда логическое выражение принимает значение true. Тело цикла с постусловием выполняется хотя бы 1 раз. Использования begin и end для ограничения составного тела цикла не требуется.
Пример Вычислить сумму натуральных чисел S от 1 до N. N вводится с клавиатуры. Для вычисления использовать цикл с постусловием.
Блок-схема Начало а-ма Переменные S, N, i- целые Ввод N S : =0 i: =1
S : =S + i i: =i + 1 нет i >N да Вывод S Конец а-ма
Программа Program Natur 1; var S, N, i: integer; Begin readln(N); S: = 0; i: = 1; repeat S: = S + i; i : = i + 1 until i > N; writeln(‘Результат суммирования’, S); end.
Цикл с параметром имеет два варианта записи: For I: = In To Ik Do <тело цикла>; For I: = In Downto Ik Do <тело цикла>;
Здесь I – параметр цикла – простая переменная порядкового типа; In – выражение того же типа, определяющее начальное значение параметра; Ik - выражение того же типа, определяющее конечное значение параметра; <тело цикла> может быть простым или составным оператором.
Цикл повторяется, пока значение параметра лежит в интервале между In и Ik. (In <= Ik) Причем эти выражения вычисляются только 1 раз в начале выполнения цикла.
В первом варианте при каждом повторении цикла значение параметра изменяется на следующее значение в данном типе (для целого типа – увеличивается на 1). Во втором варианте при каждом повторении цикла значение параметра изменяется на предыдущее в данном типе (для целого типа – уменьшается на 1).
Пример Вычислить сумму натуральных чисел S от 1 до N. N вводится с клавиатуры. Для вычисления использовать цикл с параметром.
Блок-схема Начало а-ма Переменные S, N, i- целые Ввод N S : =0
I = 1, N S : =S + i Вывод S Конец а-ма
Программа Program Natur 2; var S, N, i: integer; Begin readln(N); S: = 0; for i: = 1 to N do S: = S + i; writeln(‘Результат суммирования’, S); end.
Задания для самостоятельной работы Чему будет равна переменная S после выполнения следующих действий: А) S: =1; i: =0; While i<=10 do begin S: =S+2*i; i: =i+3; end; B) S: =10; i: =5; Repeat S: =S+2*i; i: =i+3 Until S>20; C) S: =0; For i: =1 to 4 Do S: = S+sqr(i); 1.
Задания для самостоятельной работы 2. Составить две блок-схеме и две программы (по одной на каждый цикл) на языке Паскаль для нахождения Р - произведения N натуральных чисел. Использовать следующие циклы: ГИГ, ГГР – с параметром и предусловием, ГЛГ, ГФЗ – с параметром и постусловием.
Задания для самостоятельной работы Привести примеры языка программирования низкого уровня и высокого уровня. Преимущества ЯП высокого уровня. 4. Что такое «компилируемый ЯП» ? 3.
Домашнее задание Понятие модели. Формализация и моделирование.
ЯП Паскаль_Л2.ppt