Разделы презентаций


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

Содержание

3 Основы программирования на языке Паскаль 71Например, 'А', либо в виде соответствующих кодов по таблице ASCII, причем в последнем случае перед

Слайды и текст этой презентации

Слайд 1Информатика и программирование
Лебедева Т.Ф.
КЕМЕРОВСКИЙ ИНСТИТУТ (филиал)
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТОРГОВО-ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ
КАФЕДРА

ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Информатика и программированиеЛебедева Т.Ф.КЕМЕРОВСКИЙ ИНСТИТУТ (филиал)РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТОРГОВО-ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ И ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

Слайд 2 3 Основы программирования на языке Паскаль

71
Например, 'А', либо в

виде соответствующих кодов по таблице ASCII, причем в последнем случае перед кодом ставится знак «#», например #65 (этот код соответствует символу А латинское);
строки символов - записываются в апострофах, например 'ABCD';
конструкторы множеств [3,6,8] ;
«нулевой» адрес - nil
Примечания. 1. В программировании принято при записи вещественных чисел вместо запятой для разделения целой и дробной частей числа использовать точку.
2. Обычно при записи в программе или выполнении операций ввода-вывода вещественные числа записывают в так называемом формате с фиксированной точкой, указывая в начале целую часть числа, а затем, после точки, дробную, например: 0.5, -3.85 . Но иногда бывает удобно задавать числа в формате с плавающей точкой, т.е. в виде мантиссы и порядка. При этом мантиссу записывают перед порядком и отделяют от него строчной или прописной латинской буквой «е»,
например: запись 1.5е-10 соответствует значению 1,5 х 10 ^ (-10), а запись 0.5Е23 соответствует значению 0,5x10^23.
3 Основы программирования на языке Паскаль          71Например,

Слайд 3 3 Основы программирования на языке Паскаль

73
типизированные константы

представляют собой переменные, объявленные в разделе Const , которым присвоены начальные значения, например:
Const k : integer = 10;
a : array[1..4] of real=(2.5, -7.96, 7.54, 32.89);
Переменные. Переменные - поименованные объекты программы, которые могут изменяться в процессе выполнения программы.
Их объявление также выполняют в разделе описаний программы, причем при этом указывается не только идентификатор переменной, но и ее тип. Обращение к переменным также осуществляют по идентификатору.
Тип переменной определяет возможный набор значений данной переменной, размер ее внутреннего представления и множество операций, которые могут выполняться над переменной.
На рисунке показана классификация типов
3 Основы программирования на языке Паскаль

Слайд 4Простые
Стандартные
Действительный
(вещественный)
Целый
Символьный
Логический
Нестандартные
(переменные)
Перечисляемый
Ограниченный
структурные
Массив
Запись
Множество
Типы данных
Файл
3 Основы программирования на языке Паскаль

74
Классификация типов переменных
ПростыеСтандартныеДействительный(вещественный)ЦелыйСимвольныйЛогическийНестандартные (переменные)ПеречисляемыйОграниченныйструктурныеМассивЗаписьМножествоТипы данныхФайл3 Основы программирования на языке Паскаль

Слайд 5 3 Основы программирования на языке Паскаль

75

Простые (скалярные) типы описывают упорядоченные наборы значений. Они делятся на порядковые и вещественные.
Группа порядковых типов объединяет типы переменных, набор значений которых конечен, группа вещественных типов - типы с условно бесконечным набором значений.
Порядковые типы переменных делятся на стандартные, перечисляемые и диапазоны. Стандартно заданы следующие типы:
целые типы (представлены в табл. 1);
булевский тип Boolean включает только два значения - false (0) и true (1), но в памяти значения данного типа занимают целый байт. Логический тип данных часто называют булевым по имени английского математика Д. Буля, создателя математической логики. В языке Паскаль имеются две логические константы TRUE и FALSE. Логическая переменная принимает одно из этих значений и имеет тип Boolean. Для сравнения данных предусмотрены следующие операции отношений: <, <=, =, <>, >, >=. А также существуют специфичные для этого типа логические операции OR - или; AND - и; NOT - не. При проверке некоторых условий результат операции может быть истинным или ложным. Например, 3>5 ложь.
символьный тип Char Значениями данного типа является множество всех символов по таблице ASCII : русская или латинская большая или маленькая буква, цифра, знак препинания, специальный знак (например, "+", "-", "*", "/", "", "=" и др.) или пробел " ". Каждый из символов имеет уникальный номер от 0 до 255, т. е. внутренний код, который возвращает функция ORD. Символьная константа или символьная переменная - любой символ языка, заключённый в апострофы. Например,
Var Simvol : char;
Нестандартные порядковые типы необходимо описывать при объявлении переменных: перечисляемый и диапазон.

3 Основы программирования на языке Паскаль

Слайд 63 Основы программирования на языке Паскаль

76 Таблица

1 – Целые типы данных
3 Основы программирования на языке Паскаль

Слайд 7 3 Основы программирования на языке Паскаль

78
Перечисляемый

тип формируется из значений, определенных программистом
при объявлении типа. Перечень значений задают, через запятую в круглых скобках, например:
Var D : (Mon, The, Wed, Thu, Fr, Set, Sun); ...{переменная D может принимать только указанные значения}
Примечание. Во внутреннем представлении значения перечисляемого типа кодируются целыми числами, начиная с нуля. Tак, идентификатору Моn будет соответствовать О, The – 1 и т. д.
Объявляя переменную перечисляемого типа, можно сначала определить новый тип, а затем уже переменную этого типа, например:
Туре Day=(Mon, The, Wed, Thu, Fr, Set, Sun); {объявление нового типа}
Var D: Day;.., {объявление переменной данного типа}
Тип переменной диапазон определяется как диапазон значений некоторого уже определенного ранее или стандартного порядкового типа. При его описании также можно использовать конструкцию объявления типа, например:
Туре Data=1..31; {диапазон одного из целых типов}
Var DataN : Data;..,
или, не описывая тип отдельно, ту же переменную можно объявить следующим образом:
Var DataN :1..31; letter : ‘A’ .. ‘K’ ;
3 Основы программирования на языке Паскаль

Слайд 8 3 Основы программирования на языке Паскаль

79
Вещественные типы используют

для представления чисел, содержащих дробную часть. Во внутреннем представлении мантисса и порядок вещественных чисел хранятся раздельно, причем количество разрядов под мантиссу и порядок регламентируются типом числа. Соответственно обработка вещественных чисел в компьютерах выполняется с некоторой конечной точностью, которая зависит от количества двоичных разрядов, отведенных для размещения мантиссы.
Количество разрядов для записи порядка числа определяет диапазон чисел, для представления которых можно использовать разрядную сетку данного типа. В табл. 2 приведены характеристики вещественных типов Turbo Pascal.

3 Основы программирования на языке Паскаль

Слайд 9Простые типы (стандартные)

Таблица 2 - Вещественные

типы данных Real, Single, Double

тип

диапазон значений требования к памяти
в байтах

Real ± 2.9*10-39 – ± 1.7*1038 6
Single ± 1.5*10-45 – ± 3.4*1038 4
Double ± 5.0*10-324 – ± 1.7*10308 8


3 Основы программирования на языке Паскаль 80

Простые типы (стандартные)   Таблица 2 -  Вещественные типы данных Real, Single, Doubleтип

Слайд 10 3 Основы программирования на языке Паскаль

81

Компьютер, по умолчанию, представляет действительные числа в виде чисел с плавающей точкой. Такое представление чисел не очень нравится пользователям. Поэтому мы будем “заставлять” компьютер выдавать действительные числа в более привычном варианте следующим образом:
R:m:n, где R – действительное число, m – количество позиций, отводимых для всего числа, n – количество позиций, отводимых для дробной части.
Например, если мы хотим вывести на экран число Chislo с фиксированной точкой, причем знаем, что для вывода этого числа достаточно 7 мест, а вывод дробной части ограничим сотыми, то мы запишем вывод так:
Write (Chislo:7:2);

3 Основы программирования на языке Паскаль

Слайд 11 3 Основы программирования на языке Паскаль

82
Строковый тип

(string)
Значением строковой величины является строка переменной длины до 255 символов (быть может пустая). Строковая константа или строковая переменная представляет собой произвольную последовательность символов, заключенную в апострофы. Например,
Var Stroka : string[20];

3 Основы программирования на языке Паскаль

Слайд 12 3 Основы программирования на языке Паскаль

83
Пример программы с описаниями данных

различных типов:
Program TipDann;
Uses Crt
Var
Chislo1 : Integer;
Chislo2 : Real;
Simvol : Char;
Stroka : String;
Logika : Boolean;
Begin
ClrScr;
Chislo1 : =12;
Chislo2 : =Chislo1*2;
Chislo2 : =Chislo2/5;
Simvol : =‘d’;
Stroka : =‘Строчка’;
Logika : = Chislo1> Chislo2;
WriteLn (‘Вывод значений:’);
WriteLn (‘Значение переменной Chislo1 : ’,Chislo1);
WriteLn (‘Значение переменной Chislo2 : ’,Chislo2:5:2);
WriteLn (‘Значение переменной Simvol : ’,Simvol);
WriteLn (‘Значение переменной Stroka : ’,Stroka);
WriteLn (‘Значение переменной Logika : ’,Logika);
End.
3 Основы программирования на языке Паскаль         83Пример программы

Слайд 13 3 Основы программирования на языке Паскаль

84
Выражения
Все вычисления

и другие преобразования данных в программе записываются в виде выражений. Обычно выражение включает несколько операций, которые выполняются в порядке их приоритетности. Различают:
арифметические операции: + (сложение), - (вычитание), * (умножение), / (деление вещественное) - эти операции применяют к вещественным и целым числам, результат - также число;
div (деление целочисленное), mod (остаток целочисленного деления) - эти операции применяют к целым числам, результат - также целое число;
операции отношения: > (больше), < (меньше), = (равно),<> (не равно), >= (не меньше), <= (не больше) - эти операции применяют к числам, символам, символьным строкам и некоторым другим типам данных, результат - значение логического типа;
3  Основы программирования на языке Паскаль

Слайд 14 3 Основы программирования на языке Паскаль

85

логические операции: and (и), or (или), хог (исключающее или), not (не) - эти операции выполняют с логическими переменными и константами, результат - значение логического типа;
поразрядные операции: and (и), or (или), хог (исключающее или), not
shr (сдвиг вправо), shl (сдвиг влево) - эти операции выполняют с целыми числами, результат - целое число;
строковая операция: + (сцепление строк) - выполняется над символами и строками, результат - строка;
операции над множествами: + (объединение), - (дополнение), * (пересечение), результат - множество; in (определение принадлежности элемента множеству), результат ~ значение логического типа ;
операция над указателями: @ (определение адреса программного объекта), результат - адрес
3 Основы программирования на языке Паскаль

Слайд 153 Основы программирования на языке Паскаль

86 Таблица 3 – Приоритеты операций
3 Основы программирования на языке Паскаль

Слайд 16 3 Основы программирования на языке Паскаль

87
Для изменения порядка

выполнения операций в выражении используют круглые скобки. В выражениях также допускается использование стандартных и определенных программистом функций. Им присваивается высший приоритет.
Арифметические выражения
Арифметические выражения формируются из констант, переменных, функций, знаков операций и круглых скобок.
Запись выражений, содержащих арифметические операции, выполняется «в строку», порядок выполнения операций определяется скобками. Особенно внимательно следует программировать выражения, включающие операции различных приоритетов. Например:
1) запись а+Ь/с предполагает, что вначале выполняется операция деления,
а затем сложения;
2) запись (a+b)/c*d предполагает, что сумма а+Ь делится на с, а затем умножается (!) на d.
При программировании арифметических выражений также следует учитывать
правила выполнения операций, перечисленные ниже.
1. Операции «целочисленное деление» и «определение остатка от деления» применимы только к операндам целых типов, например: 6 div 4 =1, а
6 mod 4 = 2. Если в операции участвуют переменные, то они должны быть
объявлены как целые.
3 Основы программирования на языке Паскаль

Слайд 17 3 Основы программирования на языке Паскаль

88
Для получения

при делении целых значений результата с точностью до дробной части необходимо использовать операцию вещественного деления: 6/4=1.5.
2. При выполнении арифметических операций над числами различных
типов выполняется неявное преобразование типов:
а) если один операнд целого типа, а другой - вещественного, то переменная целого типа преобразуется к вещественному типу; результат операции - значение вещественного типа;
б) если в качестве операндов использованы вещественные или целые переменные различных типов, то их значения преобразуются к типу с наибольшей разрядной сеткой; результат операции того же типа. Так, если в выражении есть переменные integer и longint, то значения будут преобразованы в тип longint и того же типа будет полученный результат.
Порядок выполнения операций при вычислении арифметических выражений можно регулировать при помощи скобок по обычным правилам. Там, где скобки отсутствуют, ЭВМ выполняет операции в следующем порядке:
вычисляет значение всех функций, определенных программистом и стандартных функций;
выполняет слева направо все операции умножения и деления;
выполняет слева направо все операции сложения и вычитания.
3  Основы программирования на языке Паскаль

Слайд 18 3 Основы программирования на языке Паскаль

89
I Арифметические

функции
1) Abs(x), где аргумент и результат являются переменными целого или вещественного типа – вычисляет модуль (абсолютную величину) числа х;
2) cos(x), где аргумент и результат являются переменными вещественного типа – вычисляет косинус х;
3) Sin(x), где аргумент и результат являются переменными вещественного типа – вычисляет синус х;
4) Frac(x), где аргумент и результат являются переменными вещественного типа – выделяет дробную часть числа х;
5) Int(x), где аргумент и результат являются переменными вещественного типа – выделяет целую часть числа х;
6) Pi, где результат является переменной вещественного типа – вычисляет значение
π= 3.4157….
7) Random(x), где аргумент и результат являются переменными целого типа – генерирует случайное число в пределах от 0 до х включительно. Если параметр х не задан, то формируется вещественное число от 0 до 1. Перед использованием данной функции нужно инициализировать генератор случайных чисел при помощи процедуры Randomize (см. ниже);
8) Sqr(x), где аргумент и результат являются переменными целого или вещественного типа – вычисляет x2;
9) Sqrt(x), где аргумент и результат являются переменными целого или вещественного типа – вычисляет √x.
10) ln(x), где где аргумент и результат являются переменными вещественного типа – вычисляет логарифм натуральный х;
11) exp(x), где аргумент и результат являются переменными вещественного типа – вычисляет экспоненту х (ex) ;

3 Основы программирования на языке Паскаль

Слайд 19 3 Основы программирования на языке Паскаль

90
II Функции преобразования типов
1) Chr(x),

где аргумент типа Byte, а результат типа Char– возвращает символ, у которого код в таблице ASCII равен х;
2) Ord(x), где аргумент может быть любого порядкового типа, а результат типа LongInt – возвращает порядковый номер значения х при начале нумерации с нуля;
3) Round(x), где аргумент вещественного типа, результат типа Longint – округляет число х до ближайшего целого;
4) Trunc(x), где аргумент вещественного типа, результат типа Longint – выделяет целую часть числа х.
III Функции для порядковых типов
1) Odd(x), где аргумент типа Longint, а результат логического типа – определяет, является ли число четным (результат false) или нечетным (результат true);
2) Pred(x), где аргумент и результат любого порядкового типа – получает предшествующее значение;
3) Succ(x), где аргумент и результат любого порядкового типа – получает последующее значение;
4) Upcase(x), где аргумент и результат типа Char – преобразует букву латинского алфавита в соответствующую ей заглавную (буква х может быть как строчной, так и заглавной).
3 Основы программирования на языке Паскаль        90II Функции преобразования

Слайд 20 3 Основы программирования на языке Паскаль

91
IV Процедуры для

порядковых типов
1) Dec(x), где аргумент любого порядкового типа – уменьшает значение переменной х на 1;
2) Dec(x,n), где х любого порядкового типа, а n типа LongInt – уменьшает значение переменной х на n;
3) Inc(x), где аргумент любого порядкового типа – увеличивает значение переменной х на 1;
4) Inc(x,n), где х любого порядкового типа, а n типа LongInt – увеличивает значение переменной х на n;
5) Randomize – инициализирует генератор случайных чисел.
Правила применения функций:
чтобы воспользоваться функцией, нужно указать ее в правой части оператора присваивания;
при обращении к функции необходимо в круглых скобках указать ее аргументы;
в разделе описания переменных правильно указывайте типы переменных, которые хотите употребить в качестве аргумента или результата функции;
в одном выражении можно обратиться к нескольким функциям.
Правила применения процедур:
для выполнения процедуры ее надо вызвать в программе в виде оператора;
в разделе описания переменных правильно указывайте тип переменной, которую хотите употребить в качестве аргумента процедуры.

3 Основы программирования на языке Паскаль

Слайд 213 Основы программирования на языке Паскаль

92 Примеры записи формул




3 Основы программирования на языке Паскаль

Слайд 22 3 Основы программирования на языке Паскаль

93
Комментарии к примерам
1)

Из-за отсутствия операции возведения в степень при записи выражений со степенями рекомендуется:
Возведение в целую положительную степень заменяется умножением (пример 2)
Возведение в целую отрицательную степень заменяется делением на произведение сомнохителей (пример 2)
Для четных положительных степеней использовать функцию sqr (примеры 1,3)
Во всех других случаях (xa ) возведение в степень вычисляется как экспонента от показателя степени, умноженного на натуральный логарифм основания (exp(a * ln(x)) (примеры 5,6,8)
2) Отсутствие функций tg, ctg приводит к усложнению выражений (примеры 2,3,4,8). Если аргумент у функции tg или ctg достаточно сложное выражение (примеры 4,8), рекомендуется ввести новую переменную для обозначения аргумента, например:
……………………..
t := cos(exp(1/5*ln(x/y)));
z := sin(t) /cos(t);
………………………………….


3 Основы программирования на языке Паскаль

Слайд 23 3 Основы программирования на языке Паскаль

94
Оператор

присваивания
a := b;
С помощью оператора присваивания в программе записываются действия, связанные с изменением значений переменных. При выполнении этого оператора вычисляется выражение b , приведенное в правой части, и его результат заносится в переменную a, имя которой указано слева. Если оператор присваивания записывается в последовательности операторов, то после него ставится точка с запятой.
Например:
а) Var a,b,c:real;
Begin ...
c:=(a*a - sin(b))/(a+25.1); ...
б) Var v: boolean; a: integer; b:real;
Begin a:=8; b:=5.1;
v: =(a>5) and (b> =8); {v получит значение false}...
Для корректного выполнения операции присваивания результат выражения и переменная,записанная в правой части оператора присваивания, должны иметь одинаковые или совместимые типы.
Совместимыми считаются:
• все целые типы;
• все вещественные типы;
• диапазон некоторого базового типа и базовый тип;
• два диапазона одного базового типа;
• символ и строка.
Если тип переменной и выражения несовместимы, то возникает синтаксическая ошибка:
Type mismatch
3 Основы программирования на языке Паскаль

Слайд 24 3 Основы программирования на языке Паскаль

95
При несовпадении

типов правой и левой частей оператора присваивания
для совместимых типов происходит неявное преобразование результата выражения
к типу переменной, указанной в правой части. Например:
Var
s1, s2 : string; {переменные типа string}
k : char {переменные типа char}
I,j : integer {переменные типа integer}
x, y: real; {переменные типа real}
Begin
................
{1} X:=sqrt(y);
{2} x:=sqrt(i);
{3} Y:=sin(j);
{4} i:= cos(x);
{5} X:= trunc(y);
{6} i:= I / j;
{7} S1:=s2 + k;
{8} S2:= s1 + x;
{9} I: = j * round(x);
……….
Какой из этих операторов присваивания вызовет ошибку несоответствия типов?
3 Основы программирования на языке Паскаль

Слайд 25 3 Основы программирования на языке Паскаль

96
Операторы Write и

WriteLn
Мы уже использовали операторы Write и WriteLn, но нам необходимо подробнее остановиться на правилах применения этих операторов.
Write (англ. писать) – оператор, который используется для вывода информации на экран. Оператор WriteLn выполняет то же самое действие, но так как у него есть еще окончание Ln (line - англ. линия, строка), то после вывода на экран нужного сообщения, он дополнительно переводит курсор на следующую строчку.
Общий вид:
Write (список выражений);
WriteLn (список выражений);
Процедуры Write и WriteLn используются не только для вывода результата, но и для вывода различных сообщений или запросов. Это позволяет вести диалог с пользователем, сообщать ему, когда ему нужно ввести значения , когда он получает результат, когда он ошибся и др. Оператор WriteLn можно применить и без параметров. В этом случае напечатается строка, состоящая из пробелов, и курсор будет переведен на другую строку. Это иногда нам нужно для лучшего восприятия ввода данных.
Примеры вывода данных:
Writeln( ‘A=‘;A; ‘B=‘;B; ‘C=‘;C);
Writeln (‘Корнем уравнения является ‘; X);
Writeln(‘Дискриминант=‘, B*B-4*A*C, ‘ Корни-’, X1:6:3, X2:6:3);
3 Основы программирования на языке Паскаль

Слайд 26 3 Основы программирования на языке Паскаль

97

Операторы Read и ReadLn
Вспомним, что основное назначение ЭВМ – сэкономить человеческий труд. Поэтому необходимо обеспечить возможность, однажды написав программу, многократно ее использовать, вводя каждый раз другие данные. Такая гибкость в языке обеспечивается операторами Read и ReadLn. Этими операторами вводится информация с клавиатуры.
Общий вид:
Read(переменная, переменная...)
ReadLn(переменная, переменная...)
При выполнении процедуры Read ожидается ввод перечисленных в скобках значений. Вводимые данные нужно отделить друг от друга пробелами. Присваивание значений идет по очереди.
Например, если вводятся значения 53 и Х, то при выполнении оператора Read(a, b) переменной а будет присвоено число 53, а переменной Х – буква Х. Причем, отметим, чтобы не было аварийной ситуации, нужно правильно определить тип данных в разделе Var; в нашем случае
а:integer; b:char.
Особых различий при чтении и записи в использовании операторов Read и ReadLn нет. После выполнения оператора ReadLn курсор переходит на новую строку и следующий оператор чтения считывает данные с новой строки.
Часто процедуру ReadLn без параметров применяют в конце программы для задержки: до нажатия на клавишу результат выполнения программы остается на экране. Это очень полезно делать для анализа результатов.

3 Основы программирования на языке Паскаль

Слайд 27 3 Основы программирования на языке Паскаль

98 Программирование линейных вычислительных процессов



Блок-схема к примеру 1 Блок-схема к примеру 2

3 Основы программирования на языке Паскаль

Слайд 28 3 Основы программирования на языке Паскаль

100
Программа для примера 1
Program primer_1;
Uses

Crt;
Var
a, b, c, p , s : Real;
Begin
ClrScr; {процедура очистки экрана, входящая в модуль CRT}
write(‘введите через пробел значения сторон треугольника a,b,c,’);
readln(a,b,c );
p : =(a + b + c) / 2;
S : = sqrt ((p * (p – a)*(p – b)*(p – c));
WriteLn (‘Значение площади s = ’,s :8:2, ‘ кв.см.’);
readln; {задержка}
End.

3 Основы программирования на языке Паскаль         100Программа для

Слайд 29 3 Основы программирования на языке Паскаль

99
Программа

для примера 2
Program primer_2;
Uses Crt;
Const k=3.75;
Var
a, b, c, x, t, p, y, z, s : Real;
Begin
ClrScr; {процедура очистки экрана, входящая в модуль CRT}
write(‘введите через пробел значения a, b, c, x’);
readln (a, b, c, x );
t : =a+b; p : = c * x;
y : =(t * t* t - sin (p) / (a – k);
z: =ln (p) – exp (1/3 * ln ((t + k) / a);
S : = y + z;
WriteLn (‘Значение переменной y = ’,y :8:2);
readln; {задержка}
End.

3 Основы программирования на языке Паскаль

Слайд 30 3 Основы программирования на языке Паскаль

100
Программирование разветвляющегося

вычислительного процесса (р.в.п.)
Участок алгоритма, состоящий из блока выбора решения и связанных с ним блоков по направлениям «да» и «нет», будем называть разветвленным (структурой ветвления).
Вычислительный процесс, в котором естественный порядок выполнения действий нарушается в результате проверки некоторого условия и образования двух ветвей дальнейших действий, называется разветвляющимся.
Различают два вида условий – простые и составные.
Простым условием (выражением сравнения) называется выражение, составленное из двух арифметических выражений или двух строковых выражений (иначе их еще называют операндами), связанных одной из операций отношения:
< - меньше, чем...
> - больше, чем...
<= - меньше, чем... или равно
>= - больше, чем... или равно
<> - не равно
= - равно
Например, простыми отношениями являются следующие:
x-y>10; k<=sqr(c)+abs(a+b); 9<>11; ‘мама’<>‘папа’.





3 Основы программирования на языке Паскаль

Слайд 31 3 Основы программирования на языке Паскаль

101
Составные логические

выражения образуются из простых выражений с помощью логических операций not, and, or , xor.
Логические операции, операции отношения и арифметические операции часто встречаются в одном выражении. При этом отношения, стоящие слева и справа от знака логической операции, должны быть заключены в скобки, поскольку логические операции имеют более высокий приоритет. Вообще принят следующий приоритет операций:
not
and, *, /, div, mod
or, +, -
операции отношения.
Примечание. Логическую операцию and еще называют логическим умножением, а логическую операцию or - логическим сложением.
Кроме того, порядок выполнения операций может изменяться скобками. Например, в логическом выражении расставим порядок действий
4 3 2 1
A or B and not (A or B)
Сначала выполняется заключенная в скобки операция or, а затем операции not, and, or. Если подставить вместо переменных А и В значения True и False, то, используя уже рассмотренный порядок действий, получим значение всего выражения равное True.
Определите порядок выполнения операций в выражении ( a + b > c) and (b + c < a)
В смешанных выражениях тип результата определяется типом последней операции
3 Основы программирования на языке Паскаль

Слайд 323 Основы программирования на языке Паскаль

102 Таблица истинности логических операций a, b – переменные логического типа
3 Основы программирования на языке Паскаль

Слайд 33 3 Основы программирования на языке Паскаль

103










В общем

случае полная форма конструкции условного оператора имеет вид:
if <логическое выражение>
then
<оператор 1>
else
<оператор 2>;
Условный оператор работает по следующему алгоритму:
Сначала вычисляется значение логического выражения, расположенного за служебным словом IF.
Если его результат истина, выполняется <оператор 1>, расположенный после слова THEN, а действия после ELSE пропускаются;
если результат ложь, то, наоборот, действия после слова THEN пропускаются, а после ELSE выполняется <оператор 2>.
3 Основы программирования на языке Паскаль

Слайд 34 3 Основы программирования на языке Паскаль

104
Если в

качестве оператора должна выполниться серия операторов, то они заключаются в операторные скобки begin-end. Конструкция Begin ... End называется составным оператором.
if <логическое выражение>
then
begin
оператор 1;
оператор 2;
...
end
else
begin
оператор 1;
оператор 2;
...
end;
Составной оператор - объединение нескольких операторов в одну группу. Группа операторов внутри составного оператора заключается в операторные скобки (begin-end).
begin
<оператор 1>;
<оператор 2>;
end;

3 Основы программирования на языке Паскаль

Слайд 35 3 Основы программирования на языке Паскаль

105
Можно также

использовать и сокращенную (неполную) форму записи условного оператора. Эта форма используется тогда, когда в случае невыполнения условия ничего делать не надо.
Неполная форма условного оператора имеет следующий вид.
if <логическое выражение>
then <оператор> ;
Тогда если выражение, расположенное за служебным словом IF , в результате дает истину, выполняются действия после слова THEN, в противном случае эти действия пропускаются.
Пример 3. Составить программу, которая, если введенное число отрицательное меняет его на противоположное.
Program Chisla;
Var x : integer; {вводимое число}
Begin
writeln(‘Введите число ‘); {вводим целое число} readln(x);
if x<0 then x:=-x;
writeln (x);
readln;
End.
В этом примере использована сокращенная форма оператора IF.
3 Основы программирования на языке Паскаль

Слайд 36 3 Основы программирования на языке Паскаль

106
Пример 4.

Вывести на экран большее из трех данных чисел.
Program Example4;
Var
a, b, c, m : integer; {вводимые числа}
Begin
writeln(‘Введите 3 числа ‘); {вводим два целых числа через пробел}
readln( a, b, c );
М:=а; {выигрываем на том, что не раздумывая назначили большим числом}
if b > M then M : = b;
if c > M then M: = c;.}
writeln (m); {выводим m}
readln;
End.
Пример 5. Предусмотреть исключение всех случаев возникновения неопределенности при вычислении функции по заданной формуле:


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

3 Основы программирования на языке Паскаль

Слайд 37 3 Основы программирования на языке Паскаль

107






Рис.

3. Фрагмент блок-схемы устранения неопределенностей из примера 3
В общем случае неопределенности могут возникнуть при вычислении функций:
при x = 0 , где x – любое выражение

при x < 0
Ln x при x ≤ 0


3 Основы программирования на языке Паскаль

Слайд 38 3 Основы программирования на языке Паскаль

108
Фрагмент программы с

исключением неопределенности (рис.3)
……………………………
IF a*x-b<=0 THEN WriteLn (‘ a*x-b<=0 ‘) ELSE
Begin
IF 2.5*b*x=0 THEN WriteLn (‘2.5*b*x=0 ‘ )
ELSE
Begin
Y: =(ln(a*x-b)+c)/( 2.5*b*x);
WriteLn (‘y=‘; y:8:3);
End;
……………………………
3 Основы программирования на языке Паскаль

Слайд 39 3 Основы программирования на языке Паскаль

109
Вложенные условные

операторы
При решении задач часто приходится рассматривать не два, а большее количество вариантов. Это можно реализовать, используя несколько условных операторов. В этом случае после служебных слов Then и Else записывается новый условный оператор. Рассмотрим пример.
Пример 6. Вычислить значение функции:

у=



3 Основы программирования на языке Паскаль

Слайд 40 3 Основы программирования на языке Паскаль

110
Тогда фрагмент

программы для решения этой задачи будет выглядеть так:
………………………………….
if х>0
then
у := х-12
else
if х=0
then
у := 5
else
у := sqr(x);
3 Основы программирования на языке Паскаль

Слайд 41 3 Основы программирования на языке Паскаль

111
Итак, когда

оператор if появляется внутри другого оператора if, они считаются вложенными.
Такое вложение используется для уменьшения числа необходимых проверок. Этот метод часто обеспечивает большую эффективность, однако одновременно он уменьшает наглядность программы. Не рекомендуется использовать более одного-двух уровней вложения if. За вторым уровнем вложения становится трудно восстановить последовательность проверки условий каждым условным оператором.
Если часть else используется во вложенных if, то каждое else соответствует тому if, которое ему непосредственно предшествует. Таким образом, при определении последовательности выполнения фрагментов нет двусмысленности.
3 Основы программирования на языке Паскаль

Слайд 42 3 Основы программирования на языке Паскаль

112
Оператор выбора

case
Оператор If позволяет программе выполнять переходы на ту или иную ветвь по значению логического условия. Используя несколько операторов If, можно производить ветвление по последовательности условий. В приведенном фрагменте показано, как при помощи ряда операторов If можно преобразовать целое число (в диапазоне 0-9) к его словесному представлению:
if Ziphra = 0
then
write (‘Нуль‘);
if Ziphra = 1
then
write (‘Единица‘);
if Ziphra = 2
then
write (‘Два‘);
и т.д.
3 Основы программирования на языке Паскаль

Слайд 43 3 Основы программирования на языке Паскаль

113
Оператор выбора

позволяет выбрать одно из нескольких возможных продолжений программы. Параметром, по которому осуществляется выбор, служит так называемый ключ выбора (или селектор) – выражение порядкового типа.
Общая форма записи следующая:
case селектор of
<значение1> : <оператор1>;
<значение2> : <оператор2>;
. . . . . . . . . . . . . . . . . . . . . .
<значениеN> : <операторN>
[else <оператор(N+1)>;]
end;.
3 Основы программирования на языке Паскаль

Слайд 44 3 Основы программирования на языке Паскаль

114
Здесь значение1,

значение2,……- константа или список констант того же порядкового типа, что и селектор;
<оператор1>, <оператор2>,……..- операторы, чаще всего составные.
Оператор выбора работает следующим образом. Сначала вычисляется значение выражения-селектора, стоящее после зарезервированного слова case, а затем выполняется оператор (или составной оператор), соответствующий результату вычисления выражения.
Может случиться, что в списке выбора не окажется константы равной вычисленному значению ключа. В этом случае управление передается оператору, стоящему за словом ELSE. Если слово ELSE отсутствует, то управление передается следующему за оператором case оператору.
3 Основы программирования на языке Паскаль

Слайд 45 3 Основы программирования на языке Паскаль

115
Например,
………………………………………………
case NUMBER

mod 2 of
0 : writeln (NUMBER, ‘- число четное‘)
else writeln (NUMBER, ‘- число нечетное‘);
end;
Если один оператор выполняется при нескольких значениях, то их можно перечислить в списке через запятую.
Var MONTH : byte;
……………………………..
case MONTH of
1, 2, 3 : writeln (‘Первый квартал‘);
4, 5, 6 : writeln (‘Второй квартал‘);
7, 8, 9 : writeln (‘Третий квартал‘);
10, 11, 12 : writeln (‘Четвёртый квартал‘);
end;
3 Основы программирования на языке Паскаль

Слайд 46 3 Основы программирования на языке Паскаль

116
Оператором может

являться не только простой оператор, но также составной и пустой операторы.
……………………………………
case CODE of
1 : for i := 1 to 5 do
writeln (‘*******‘);
2 : begin {составной оператор}
x:=sqr(y-1);
writeln (x);
end;
3 : {пустой оператор}
end;
3 Основы программирования на языке Паскаль

Слайд 47 3 Основы программирования на языке Паскаль

117
Если оператор

должен выполняться при нескольких значениях селектора следующих друг за другом, образуя некоторый промежуток, то это можно записать в более сжатой форме, используя диапазон. Например,
var c: char;

……………………..
case c of
‘0’..’9’ : write (‘Это цифра‘);
‘A’..’Z’: write (‘Это прописная буква‘);
……………………..


3 Основы программирования на языке Паскаль

Слайд 48 3 Основы программирования на языке Паскаль

118
Пример Написать

программу преобразования цифр в слова.
Program Number1;
Var
a, b, c : integer;
Begin
writeln(‘Введите цифру ‘);
readln(a);
if (a<0) or (a>9)
then
writeln (‘Это число не является цифрой‘)
else
case a of
0 : writeln (‘ноль‘);
1 : writeln (‘один‘);
2 : writeln (‘два‘);
3 : writeln (‘три‘);
4 : writeln (‘четыре‘);
5 : writeln (‘пять‘);
6 : writeln (‘шесть‘);
7 : writeln (‘семь‘);
8 : writeln (‘восемь‘);
9 : writeln (‘девять‘);
end;
readln;
End.
3 Основы программирования на языке Паскаль

Слайд 49Вопросы?

Вопросы?

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика