Скачать презентацию Составные части программы Структура программы на языке Паскаль Скачать презентацию Составные части программы Структура программы на языке Паскаль

Организация ветвлений.pptx

  • Количество слайдов: 21

Составные части программы Структура программы на языке Паскаль в общем виде: PROGRAM имя; LABEL Составные части программы Структура программы на языке Паскаль в общем виде: PROGRAM имя; LABEL раздел меток; CONST раздел констант; TYPE раздел типов; VAR раздел переменных; PROCEDURE раздел процедур; FUNCTION раздел функций; BEGIN оператор 1; оператор 2; . . . оператор n 1; оператор n; END. …

Данные целого типа Над данными целого типа можно выполнять следующие арифметические операции, которые дают Данные целого типа Над данными целого типа можно выполнять следующие арифметические операции, которые дают целый результат: + (сложение), (вычитание), * (умножение), DIV деление с отбрасыванием дробной части (получение целого частного при делении целого данного на целое), MOD остаток от деления целых чисел, т. е. при делении целого данного на целое. Например, пусть , A, B переменные целого типа, принимающие значения: A=25, B=2 Тогда допустимы следующие операции: A DIV B (результат 12) A MOD B (результат 1) Операция MOD часто используется для определения, делится ли целое число X без остатка на 2, т. е. является X четным числом. С помощью операции X MOD 2 вычисляется остаток. Если он равен нулю, то число X четное, а если имеется остаток, то нечетное. Точно так же можно определить, кратно ли какое то число трем, четырем и т. д.

В тригонометрических функциях синуса и косинуса аргумент может быть задан только в радианной мере. В тригонометрических функциях синуса и косинуса аргумент может быть задан только в радианной мере. Если аргумент X дан в градусах, то для перевода его в радианы используется формула Xπ/180. В ПАСКАЛЕ нет операции возведения в степень. При необходимости ее использования применяют стандартные функции. Например, заменяют выражением ax=EXP(x*LN(a)); где EXP и LN стандартные функции (экспонента и логарифм).

Функции преобразования типа предназначены для преобра зования типов величин, например символа в целое число Функции преобразования типа предназначены для преобра зования типов величин, например символа в целое число и т. д. К ним относятся следующие: — СНR(Х) — преобразование ASCII кода в символ; — НIGН(Х) — получение максимального значения величи ны. X; — LOW(X) — получение минимальной величины X; — ORD(X) — преобразование любого порядкового типа в це лый тип; — ROUND(X) — округление вещественного числа до ближай шего целого; — TRUNC(X) — получение целой части вещественного числа, результат целочисленный. Функции для величин порядкового типа позволяют выпол нить ряд действий над величинами порядкового типа. К ним от носятся следующие: — ODD(X) —проверка величины X на нечетность. Аргументом функции является величина типа LONGINT (удлинен ный), результат равен. TRUE, если аргумент нечетный, и FALSE — если четный; — PRED(X)— определение предыдущего значения величины X в списке значений типа. Если элемента не существует, то возникает прерывание; — SUCC(X)— определение последующего значения величины X в списке значений типа. Если элемента не существует, воз никает прерывание.

Операции отношения предназначены для сравнения двух величин. Приоритет действий при вычислении выражений начинается с Операции отношения предназначены для сравнения двух величин. Приоритет действий при вычислении выражений начинается с определения переменных и констант, входящих в это выраже ние. Дальнейшие действия выполняются в соответствии со следующими приоритетами: — вычисления в круглых скобках; — вычисления значений функций; — операции — @, not, — операции типа *, div, mod, and; — операции типа сложения +, , or, xor; — операции отношения =, <>, <, >, <=, >=, in.

ПРОСТЫЕ ОПЕРАТОРЫ Операторы языка описывают некоторые алгоритмические действия, которые необходимо выполнить над данными. Следующие ПРОСТЫЕ ОПЕРАТОРЫ Операторы языка описывают некоторые алгоритмические действия, которые необходимо выполнить над данными. Следующие друг за другом операторы программы разделяются точкой с запятой. Все операторы языка Паскаль подразделяются на три группы: — простые; — ввода вывода; — структурированные. Простыми являются операторы, которые не содержат в себе других операторов. К ним относятся: — оператор присваивания; — оператор безусловного перехода GOTO; — пустой оператор; — обращение к процедуре;

Оператор безусловного перехода GOTO. Применяется в тех случаях, когда после выполнения некоторого оператора надо Оператор безусловного перехода GOTO. Применяется в тех случаях, когда после выполнения некоторого оператора надо выполнить не следующий по порядку, а какой либо другой, отмеченный меткой оператор. Формат оператора: GOTO <метка>; Метки, используемые в Turbo Pascal, могут быть двух типов: целым числом в пределах от 0 до 9999 и обычным идентификатором. Все используемые метки должны быть перечислены в разделе объявления меток, начинающимся зарезервированным словом LABEL (Например, LABEL 1, 2, Metka; ). Одной меткой можно пометить только один оператор. Метка от помеченного оператора отделяется двоеточием. Пустой оператор. Не содержит никаких символов и не выполняет никаких действий. Он может быть расположен в любом месте программы, где синтаксис языка допускает наличие оператора. Чаще всего пустой оператор используется для организации выхода из середины программы или составного оператора. Оператор вызова процедуры. Служит для активизации предварительно

Простейший ввод и вывод данных Для выполнения программы при различных значениях переменных предназначен оператор Простейший ввод и вывод данных Для выполнения программы при различных значениях переменных предназначен оператор ввода READ. Как только во время выполнения программы встречается оператор READ, машина останавливается и ожидает ввода числовых значений. Когда числовые значения введены, процесс выполнения программы продолжается. Оператор ввода имеет вид READ ( где значения. ! ) переменные, которые последовательно получают вводимые

Допускается использование оператора ввода без параметров READLN, осуществляющего переход на новую строку при вводе Допускается использование оператора ввода без параметров READLN, осуществляющего переход на новую строку при вводе данных. Дополнительно к этому имеется оператор ввода READLN ( ) который сначала вводит значения , а затем осуществляет переход на новую строку. Этот один оператор равносилен использованию двух предыдущих операторов. Для вывода данных из памяти ЭВМ на экран дисплея предназначен оператор вывода WRITE. Форма записи оператора WRITE ( ) где являются в простом случае либо переменными, либо строкой символов, заключенных в апострофы. WRITE (‘Введите переменные x и y’);

Оператор вывода без параметров WRITELN осуществляет переход на новую строку экрана дисплея. Последующий оператор Оператор вывода без параметров WRITELN осуществляет переход на новую строку экрана дисплея. Последующий оператор вывода с параметрами будет выводить данные на новую строку экрана. Оператор вывода без параметров часто используется для пропуска пустых строк. Оператор вывода WRITELN ( ) осуществляет сначала вывод на экран дисплея значений , а затем – переход на новую строку

Условный оператор используется для выполнения одного из двух возможных вариантов программы. Формат записи оператор Условный оператор используется для выполнения одного из двух возможных вариантов программы. Формат записи оператор ветвления: if <логическое_условие > если <логическое_условие then оператор_1 >верно else оператор_2; то выполняется оператор_1 иначе оператор_2; Перед else точка с запятой не ставится!

Условие неполное Условие полное Вход Да Нет условие Оператор 2 Оператор 1 Выход Да Условие неполное Условие полное Вход Да Нет условие Оператор 2 Оператор 1 Выход Да Нет Оператор Выход

Действия условного оператора можно расширить путем использования составного оператора: IF логическое выражение BEGIN оператор_1; Действия условного оператора можно расширить путем использования составного оператора: IF логическое выражение BEGIN оператор_1; оператор_2; . . . оператор_n-1; оператор_n END ELSE BEGIN оператор_1; оператор_2; . . . оператор_n-1; оператор_n END THEN

Логическое выражение: • Простой формой логического выражения является операция отношения: • < меньше, • Логическое выражение: • Простой формой логического выражения является операция отношения: • < меньше, • > больше, • <= меньше или равно, • >= больше или равно, • = равно, • <> не равно. • Сложные формы логических выражений составляются с использованием логических операций: • not логическое отрицание (НЕ), • and логическое умножение (И), • or логическое сложение (ИЛИ), • xor исключающее ИЛИ

Оператор выбора. Оператор выбора (варианта) используется в тех случаях, когда в зависимости от значения Оператор выбора. Оператор выбора (варианта) используется в тех случаях, когда в зависимости от значения какого либо выражения необходимо выполнить один из нескольких последовательных операторов. Оператор выбора относится к сложным и имеет следующую форму записи: CASE выражение OF константа 1: оператор1; константа 2: оператор2; . . . константа. N: оператор. N END Здесь CASE (в случае), OF (из), END (конец) служебные слова. Оператор выбора действует следующим образом. Если значение выражения равно одной из констант, то выполняется соответствующий ей оператор. Затем управление передается за пределы оператора выбора. Если значение выражения не совпадает ни с одной константой, то управление передается за пределы группы. Выражение может быть любым стандартным типом, кроме действительного (REAL). В соответствии с этим и константа не может быть действительного типа. Тип константы должен совпадать с типом выражения.

В операторе выбора в качестве константы допускается использование списка констант, например: CASE S OF В операторе выбора в качестве константы допускается использование списка констант, например: CASE S OF ‘+’, ‘*’, ‘/’ : P: =1; ‘A’, ‘B’ : P: =2; ‘. ’ : P: =3 END Переменная S должна быть объявлена в разделе описаний как символьная. Если значением S будет символ один из знаков ‘+’, ‘*’, ‘/’ , то переменная P получит значение 1. Если значением S будет символ ‘A’ или ‘B’, то Р получит значение 2. Если значение S будет знак точки ‘. ’ , то переменной Р будет присвоено значение 3.

Из двух заданных целых чисел выбрать наибольшее. Программа: Блок-схема: Program Prim; Var x, y, Из двух заданных целых чисел выбрать наибольшее. Программа: Блок-схема: Program Prim; Var x, y, max: integer; Begin Writeln (‘Введите два числа’); Readln (x, y); if x >=y then max: =x else max: =y; Writeln (‘наибольшее = ’, max); End. Начало Ввод (x, y) да нет x>y max: =x max: =y Вывод (max) Конец .

Program Kvart; VAR i: INTEGER; BEGIN WRITELN ('ВВЕДИТЕ НОМЕР КВАРТАЛА); READLN (I); CASE i Program Kvart; VAR i: INTEGER; BEGIN WRITELN ('ВВЕДИТЕ НОМЕР КВАРТАЛА); READLN (I); CASE i OF {начало выбора действия, соответствующего переменной i} 1: WRITELN ('первый квартал'); {значение i =1} 2: WRITELN ('второй квартал'); {значение i =2} 3: WRITELN ('третий квартал'); {значение I =3} 4: WRITELN ('четвертый квартал'); {значение i -4} ELSE WRITELN ('число больше 4') END.

Оператор перехода В языке ПАСКАЛЬ принят естественный порядок выполнения программы: все операторы выполняются последовательно Оператор перехода В языке ПАСКАЛЬ принят естественный порядок выполнения программы: все операторы выполняются последовательно один за одним в том порядке, как они записаны. Однако возникает необходимость нарушения последовательности выполнения операторов. Например необходимо обойти участок программы, а вернутся к нему позже. Для этого предназначен оператор перехода, который имеет следующую форму записи: GOTO метка GOTO 32; 10: A: =2; . . . 32: Y: =X/Z; Здесь после оператора GOTO 32 выполняется оператор с меткой 32.

Отрезок программы, типичный для многих языков программирования: IF A > B THEN GOTO 1 Отрезок программы, типичный для многих языков программирования: IF A > B THEN GOTO 1 ; A : = A B ; GOTO 2 ; 1 : A : = A+ B ; 2 : Y : = A ; Можно заменить такой конструкцией языка ПАСКАЛЬ : IF A > B Y : = A ; THEN A : = A + B ELSE A : = A B ;