Содержание

Слайд 2

интерфейс и основные определения;
структура программы;
вывод на экран текстовой информации;

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

СТРУКТУРА КУРСА

Слайд 3

ИНТЕРФЕЙС СРЕДЫ PASCAL

Язык программирования Turbo Pascal 7.0 заключён в
инструментальную

ИНТЕРФЕЙС СРЕДЫ PASCAL Язык программирования Turbo Pascal 7.0 заключён в инструментальную оболочку.
оболочку. Она включает в себя:
многооконный текстовый редактор;
компоновщик программ;
отладчик программ;
систему помощи;
компилятор.

Слайд 4

ИНТЕРФЕЙС СРЕДЫ PASCAL

Список открытых файлов:
Alt + 0
Быстрый доступ к откры-
тым файлам:
Alt +

ИНТЕРФЕЙС СРЕДЫ PASCAL Список открытых файлов: Alt + 0 Быстрый доступ к
<№ окна>

Слайд 5

Зарезервированное слово – это специальное слово, используемое языком программирования для отделения

Зарезервированное слово – это специальное слово, используемое языком программирования для отделения логических
логических областей программы.
Оператор – это команда языка выполняющая какое-либо действие (проверка условия, организация цикла и пр.)
Идентификатор – это имя, свободно избираемое программистом для элементов программы.
Тип данных – это характеристика идентификатора, определяющая множество значений, которые он может принимать (целые или дробные числа, строки символов, логически выражения и пр.).

ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ

Слайд 6

Program Имя_программы;
Uses
раздел подключаемых модулей;
Label
раздел описания меток;
Const
раздел описания констант;
Type
раздел описания

Program Имя_программы; Uses раздел подключаемых модулей; Label раздел описания меток; Const раздел
собственных типов данных;
Var
раздел описания переменных;
Begin
Основное тело программы;
End.

ОБЩАЯ СТРУКТУРА ПРОГРАММЫ

Минимальный код:

Слайд 7

ВЫВОД НА ЭКРАН

Для вывода информации на экран, используются операторы: Write или Writeln.

F9

ВЫВОД НА ЭКРАН Для вывода информации на экран, используются операторы: Write или
– Компиляция + проверка
Ctrl+F9 – Запуск

Отображение результатов
выполнения программы

F9 → Ctrl+F9 – избежание ошибок

Слайд 8

ВЫВОД НА ЭКРАН

Результат применения операторов:
WRITE WRITELN

«Пустой» оператор WRITELN добавляет пустую строку

ВЫВОД НА ЭКРАН Результат применения операторов: WRITE WRITELN «Пустой» оператор WRITELN добавляет пустую строку

Слайд 9

Операторы вывода: Write, WriteLn
«Пустой» оператор WriteLn; вставляет пустую строку.

УПРАЖНЕНИЕ

Hello!
Nice to see you!
Call

Операторы вывода: Write, WriteLn «Пустой» оператор WriteLn; вставляет пустую строку. УПРАЖНЕНИЕ Hello!
me computer.

Выведите информацию на экран так, как показано ниже

Используемый материал:

Слайд 10

ПОДКЛЮЧЕНИЕ ДОПОЛНИТЕЛЬНЫХ МОДУЛЕЙ

МОДУЛЬ 1
Набор ресурсов 1

МОДУЛЬ N
Набор ресурсов N


Дополнительные модули расширяют возможности

ПОДКЛЮЧЕНИЕ ДОПОЛНИТЕЛЬНЫХ МОДУЛЕЙ МОДУЛЬ 1 Набор ресурсов 1 МОДУЛЬ N Набор ресурсов
ваших программ, путём введения дополнительных операторов.
Модули подключаются в разделе Uses.

Очистка текстового экрана

Ожидание нажатия на клавишу

Подключённый модуль
с именем CRT

Модули:
Системные
Собственные

Program My;
Uses Модуль1,
Модуль2 ;
________________________________________________________________________________________________

Слайд 11

ВЫВОД В ПРОИЗВОЛЬНОЕ МЕСТО ЭКРАНА

GotoXY (X, Y : Integer)
Где X, Y –

ВЫВОД В ПРОИЗВОЛЬНОЕ МЕСТО ЭКРАНА GotoXY (X, Y : Integer) Где X,
координата знакоместа на экране.
X может принимать значения от 1 до 80, а Y от 1 до 25.
Например:

Program My_program;
{Подключение модуля}
Uses Crt;
Begin
{Очистка экрана}
ClrScr;
{Вывод данных}
GotoXY(1, 1); write('▒');
GotoXY(80, 1); write('▒');
GotoXY(1, 25); write('▒');
GotoXY(80, 25); write('▒');
{Задержка экрана}
ReadKey;
End.

Программа выводит по углам экрана символ “▒” (код 177).

Слайд 12

ВЫВОД В ЦВЕТЕ

Цвета
Black – чёрный
Blue – синий
Green – зелёный
Cyan – циановый
Red – красный
Magenta – сиреневый
Brown – коричневый
LightGray – светло-серый
DarkGray – тёмно-серый
LightBlue –

ВЫВОД В ЦВЕТЕ Цвета Black – чёрный Blue – синий Green –
голубой
LightGreen – светло-зелёный
LightCyan – светло-циановый
LightRed – розовый
LightMagenta – светло-сиреневый
Yellow – жёлтый
White – белый

TextColor (Color);
Определяет цвет символов.

TextBackground (Color);
Определяет цвет знакоместа.

Program MyProgram;
Uses Crt;
Begin
TextColor(Red);
TextBackGround(Blue);
Write('На дворе ');
TextColor(White);
Write('трава, ');
TextColor(Green);
TextBackGround(Yellow);
Write('на траве ');
TextBackGround(Magenta);
Write('дрова.');
End.

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Слайд 13

РАБОТА С ДАННЫМИ

РАБОТА С ДАННЫМИ

Слайд 14


РАБОТА С ДАННЫМИ
ЗАДАНИЕ ТИПА
ДАННЫХ
ОБЪЯВЛЕНИЕ ИДЕНТИФИ-КАТОРОВ

Однозначность
операций над данными

Идентификация
данных
ЗАДАНИЕ
ЗНАЧЕНИЙ

Операции с
данными

РАБОТА С ДАННЫМИ ЗАДАНИЕ ТИПА ДАННЫХ ОБЪЯВЛЕНИЕ ИДЕНТИФИ-КАТОРОВ Однозначность операций над данными

Слайд 15

ИДЕНТИФИКАТОРЫ

Термин идентификатор применяется к константам, переменным, функ-циям, процедурам, компонентам и другим объектам,

ИДЕНТИФИКАТОРЫ Термин идентификатор применяется к константам, переменным, функ-циям, процедурам, компонентам и другим
определяемым пользователем.

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

Данные { Используются русские символы }
My name { Есть пробел }
2Array { Начинается с цифры }
Var { Совпадает с ключевым словом }

Ошибочные идентификаторы:

Слайд 16

ТИПЫ ДАННЫХ

Тип данных – это характеристика идентификатора, опреде-ляющая множество значений, которые он

ТИПЫ ДАННЫХ Тип данных – это характеристика идентификатора, опреде-ляющая множество значений, которые
может принимать (целые или дробные числа, строки символов, логически вы-ражения и пр.).

Слайд 17

ЦЕЛЫЙ ТИП ДАННЫХ

Конечный набор возможных значений

! Выход за пределы диапазона приводит

ЦЕЛЫЙ ТИП ДАННЫХ Конечный набор возможных значений ! Выход за пределы диапазона приводит к ошибке !
к ошибке !

Слайд 18

ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ

Program Имя_программы;
Uses
раздел подключаемых модулей;
Var
раздел описания переменных;
Begin
Основное тело программы;
End.

Переменная –

ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ Program Имя_программы; Uses раздел подключаемых модулей; Var раздел описания переменных;
это идентификатор, способный хранить какое-либо значение (число, строку и т.п.) и менять его в процессе работы программы.

Зарезервировано место в памяти
компьютера под 3-и переменных

Синтаксис:
Var <имя переменной> : <тип переменной> ;

Слайд 19

Для задания значения переменной, необходимо воспользо-ваться оператором присваивания :=

<Переменная> := <Значение> ;

В

Для задания значения переменной, необходимо воспользо-ваться оператором присваивания := := ; В
переменную (целочисленную)
с именем А заносится значение 3

Синтаксис записи:

ЗАДАНИЕ ЗНАЧЕНИЙ ПЕРЕМЕНЫМ

Слайд 20

В переменную с именем S заносится сумма значений, которые хранятся в переменных

В переменную с именем S заносится сумма значений, которые хранятся в переменных
X и Y

Арифметические операции: + - * /
Стандартные операции:
div | mod | sqr

ОПЕРАЦИИ С ЦЕЛЫМИ ПЕРЕМЕННЫМИ

Значение, хранящееся в переменной с именем S выводится на экран

Нельзя использовать с целыми типами

Слайд 21

УПРАЖНЕНИЕ

Напишите программу, которая выводит на экран результат умножения чисел 15 и 20.
Напишите

УПРАЖНЕНИЕ Напишите программу, которая выводит на экран результат умножения чисел 15 и
программу, которая выводит на экран значение функции , при x=11, y=3

Переменные объявляются в разделе Var
Целый тип называется Integer
Синтаксис присвоения переменной значения:
<Переменная> := <Значение> ;
После каждого оператора ставится знак ; (кроме begin и последнего end)

Используемый материал:

Слайд 22

ВЕЩЕСТВЕННЫЙ ТИП ДАННЫХ

! Выход за пределы диапазона и несоблюдение правил совместимости приводит

ВЕЩЕСТВЕННЫЙ ТИП ДАННЫХ ! Выход за пределы диапазона и несоблюдение правил совместимости
к ошибке !

Вещественный тип

Порядковый тип

Односторонняя совместимость:
Вещественный Целый
Целый Вещественный

Множество значений



Слайд 23

Стандартные операции:
pi | Sqrt | Sin | Cos | Abs |

Стандартные операции: pi | Sqrt | Sin | Cos | Abs |
Exp | Ln
Round | Trunc (вещественный → целый)
Например (X, S – тип Real):

ОПЕРАЦИИ С ВЕЩЕСТВЕННЫМИ ПЕРЕМЕННЫМИ

E – обозначает степень числа.
5.6E-5 = 5.6·10-5

X := pi/3;
S := Sin( X ) * 100;
Write ( Round(S) );

В переменную с именем S заносится отношение значений, которые хранятся в переменных X и Y

Позиция числа и число символов в дробной части числа

Слайд 24

СТРОКОВЫЙ ТИП ДАННЫХ

Строки – упорядоченный
набор символов.
Строки заключены в апострофы.
Строки не

СТРОКОВЫЙ ТИП ДАННЫХ Строки – упорядоченный набор символов. Строки заключены в апострофы.
совместимы с целыми и вещественными типами.

{ Основные операторы для строк }
+ { конкатенация }
Length ( S ); { длина строки }

X := ‘Вася’;
Write( ‘В вашем имени’,
Length(X),
‘букв.’);

Например:

S := X;
X := S;

Слайд 25

УПРАЖНЕНИЕ

Напишите программу, которая выводит на экран результат деления чисел 12.89 и 0.22

УПРАЖНЕНИЕ Напишите программу, которая выводит на экран результат деления чисел 12.89 и
с отображе-нием только трёх значащих цифр после запятой в следующем формате:

Строковый тип называется String
Строки заключаются в опострафы
Конкатенация строк происходит через знак +
В операторе вывода на экран, разные типы отделяются запятой

Используемый материал:

первое число разделить на второе число = результат
Write (X:1:3, ‘ razdelit na ’, y:1:3, ‘ = ’ z:1:3 )

Слайд 26

ВВОД ДАННЫХ С КЛАВИАТУРЫ

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

ВВОД ДАННЫХ С КЛАВИАТУРЫ Для того, чтобы ввести информацию с клавиатуры, необхо-димо
оператором ввода: Read или ReadLn.

Синтаксис:
Read (N1, N2, … Nn);
Где N1, N2, … Nn – переменные
(целые, вещественные, строковые)

После ввода значения, необходи-мо нажать клавишу Enter
Если переменных в операторе указано несколько, то они вводятся через пробел, либо через нажатия клавиши Enter

В переменную Х, заносится значе-ние введенное с клавиатуры

Слайд 27

УПРАЖНЕНИЕ

Используемый материал:

Напишите программу «мини-калькулятор», которая вычисляет сумму двух чисел, введенных с клавиатуры.
Напишите

УПРАЖНЕНИЕ Используемый материал: Напишите программу «мини-калькулятор», которая вычисляет сумму двух чисел, введенных
программу, которая спрашивает как Вас зовут, а после того как Вы напишите свое имя выводит приветствие. Например, если Вы ввели имя Ваня, то программа выведет фразу: Привет, Ваня!!!

Операторы ввода: Read, ReadLn

Слайд 28

ОПЕРАТОРЫ

ОПЕРАТОРЫ

Слайд 29

УСЛОВНЫЙ ОПЕРАТОР

Условный оператор реализует «ветвление», т.е изменяет порядок выполнения операторов в зависимости

УСЛОВНЫЙ ОПЕРАТОР Условный оператор реализует «ветвление», т.е изменяет порядок выполнения операторов в
от истиннос-ти или ложности некоторого условия.

ДА

НЕТ

Проверка условия

Действие 1

Действие 2

Действие 3

Слайд 30

ПРОВЕРКА УСЛОВИЙ

Операции сравнения:
> - больше
< - меньше
= - равно
>= - больше или равно
<= - меньше или равно
<> -

ПРОВЕРКА УСЛОВИЙ Операции сравнения: > - больше = - равно >= -
не равно

Логические операции:
Not - Не
And - И
Or - Или

Например:
Если Мой рост > Роста Пети, То я выше Пети
Если (идёт дождь) Или (идёт снег), То я останусь дома
Если Не ( (идёт дождь) И (ветер) ), То я пойду гулять

При использовании логических операций, условия заключаются в скобки

Слайд 31

СИНТАКСИС ЗАПИСИ УСЛОВНОГО ОПЕРАТОРА

Краткая форма:
If <условие> then <оператор>;

Полная форма:
If <условие> then <оператор_1>

СИНТАКСИС ЗАПИСИ УСЛОВНОГО ОПЕРАТОРА Краткая форма: If then ; Полная форма: If

else <оператор_2> ;

If X<0 Then X := 1;

Например, если в переменной Х значение меньше чем 0, тогда в эту же переменную записывается значение 1:

If X>5 Then X := X - 1
Else X := X + 1;

Например:

После слов Then и Else можно использо-вать только один опе-ратор

Перед словом Else,
знак ; отсутствует

Слайд 32

УПРАЖНЕНИЕ

Формы записи условного оператора:
If <условие> Then <оператор>;
If <условие> Then <оператор_1>

УПРАЖНЕНИЕ Формы записи условного оператора: If Then ; If Then Else ;
Else <оператор_2> ;
Перед Else знак ; не ставится
Операции сравнения: > < = <> >= <=
Логические операции: Not Or And

Используемый материал:

Напишите программу, которая получает на вход сумму в долларах и сумму в евро, а затем выводит на экран в какой валюте сумма больше (1 доллар=28 руб., 1 евро=35 руб.)
Напишите программу, которая получает на вход три числа, а затем выводит на экран максимальное из них.

Слайд 33

ОПЕРАТОРНЫЕ СКОБКИ

Если после слов Then или Else необходимо записать нес-колько операторов, то

ОПЕРАТОРНЫЕ СКОБКИ Если после слов Then или Else необходимо записать нес-колько операторов,
их заключают в операторные скобки (составной оператор).
Операторные скобки начинаются словом Begin, а заканчи-ваются словом End;

If Z > 0 Then Begin
X := 1;
Y := -1;
WriteLn( ‘Информация принята’ );
End
Else
WriteLn( ‘Ошибка’ );

Например:

Слайд 34

ОПЕРАТОР ВЫБОРА CASE

Оператор выбора используется для замены конструкций из вложенных условных операторов.

Синтаксис

ОПЕРАТОР ВЫБОРА CASE Оператор выбора используется для замены конструкций из вложенных условных
записи

Case <порядковая_переменная> of
<значение_1> : <оператор_1> ;
<значение_2> : <оператор_2> ;
………
<значение_N> : <оператор_N>
Else <оператор_N+1> ;
End;

Не обязательная строка

В операторе выбора можно использовать операторные скобки

Слайд 35

Case x of
-128..-1: writeln(‘Отрицательные’);
0: writeln(‘Ноль’);
1..127: writeln(‘Положительные’)
Else WriteLn(‘Выход из диапазона’);
End;

Case

Case x of -128..-1: writeln(‘Отрицательные’); 0: writeln(‘Ноль’); 1..127: writeln(‘Положительные’) Else WriteLn(‘Выход из
Рост ученика of
16..30 : Вы ученик начальных классов ;
31,32,33 : Вы учитесь в классе 5-6 ;
34..50 : Вы старшекласник
Else Вы явно не ученик ;
End;

ОПЕРАТОР ВЫБОРА CASE

Для перечисления значений используется запятая, для выбора диапазона – двоеточие

Слайд 36

УПРАЖНЕНИЕ

Используемый материал:

Оператор выбора:
Case <порядковая_переменная> of
<значение_1> : <оператор_1> ;
………
<значение_N> :

УПРАЖНЕНИЕ Используемый материал: Оператор выбора: Case of : ; ……… : ;
<оператор_N> ;
Else <оператор_N+1> ;
End;

Напишите программу, которая получив число, выводит на экран соответствующий день недели. Например, ввели число 2, программа должна вывести ‘Вторник’.
Если число выходит за пределы 1..7, то должно быть выведено сообщение, что такого дня нет.

Слайд 37

ЦИКЛЫ

Циклическими называются алгоритмы, у которых выпол-нение некоторых операторов осуществляется многократно с одними

ЦИКЛЫ Циклическими называются алгоритмы, у которых выпол-нение некоторых операторов осуществляется многократно с
и теми же модифицированными данными (например, процедура умножения чисел через их много-кратное сложение).

В языке Паскаль имеются три оператора цикла:
For (цикл с параметром или на заданное число повторений)
While (цикл ПОКА)
Repeat (цикл ДО)
Если число повторений известно, то лучше воспользоваться операто-ром цикла с параметром.

Слайд 38

ЦИКЛ С ПАРАМЕТРОМ

For {парам} := {нач_зн} To
{кон_зн} Do
{оператор}

ЦИКЛ С ПАРАМЕТРОМ For {парам} := {нач_зн} To {кон_зн} Do {оператор} ;
;

Цикл на заданное число повторений с возрастающим или убывающим значени-ем параметра

Параметр – целый тип;
В цикле можно использовать операторные
скобки;
В теле цикла нельзя менять параметр цикла;
Параметр цикла увеличивается на единицу;
Начальное значение > конечного, иначе тело цикла игнорируется;
Для уменьшения параметра, за место To,
использовать DownTo.

Тело цикла

Замечания

Слайд 39

Написать программу, которая запрашивает целые числа (a, b), причём a

Написать программу, которая запрашивает целые числа (a, b), причём a ЦИКЛ С
выводит на экран сумму чисел от a до b.

ЦИКЛ С ПАРАМЕТРОМ

Обнуляем
переменную

В S записываем её предыдущее значение и прибавляем к ней значение переменной f

Слайд 40

УПРАЖНЕНИЕ

Используемый материал:

Написать программу, которая 15 раз выводит на экран ваше имя

УПРАЖНЕНИЕ Используемый материал: Написать программу, которая 15 раз выводит на экран ваше
и фамилию (в столбик).
Написать программу, которая выводит на экран таблицу квадратов первых 10 чисел.
Число Квадрат
1 1
2 4
… … … …
Написать программу, которая выводит на экран таблицу Пифагора
1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9
2 2 4 6 8 10 12 14 16 18
… … … … … … … … … …

Оператор цикла For:
For <парам> := <нач_зн> To <кон_зн> Do <оператор> ;
Параметр – целый тип (обычно, Integer);
В цикле можно использовать операторные скобки;
Параметр цикла увеличивается на единицу

Слайд 41

ЦИКЛ WHILE («ПОКА»)

While {условие} do
{оператор};

Цикл While сначала проверяет условие, и только

ЦИКЛ WHILE («ПОКА») While {условие} do {оператор}; Цикл While сначала проверяет условие,
если оно истинно выполняет тело цикла.

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

x:=1;
While x>1 do
x:=x-1;

x:=1
While x>0 do
х:=х+1;

Слайд 42

Программа, вывода на экран суммы чисел от a до b.

ЦИКЛ WHILE («ПОКА»)

Цикл

Программа, вывода на экран суммы чисел от a до b. ЦИКЛ WHILE
работает, пока изменяюща-яся переменная f не станет больше значения b

While not keypressed do begin
Delay(2000);
End;

Слайд 43

УПРАЖНЕНИЕ

Используемый материал:

Оператор цикла While:
While <условие> do <оператор> ;
Цикл While сначала проверяет условие,

УПРАЖНЕНИЕ Используемый материал: Оператор цикла While: While do ; Цикл While сначала
и только если оно истинно выполняет основное тело цикла.

Космонавты решили на луне садить берёзы, причем каждый год увели-чивать число берёз в два раза, в первый год посадили 3 берёзы. Выведите на экран через, сколько лет число берёз превысит 10 000.
Напишите программу, которая определяет максимальное из введенных чисел с клавиатуры (ввод чисел заканчивается числом 0). Ниже представ-лен рекомендуемый вид экрана:

Введите числа. Для завершения ввода введите 0.
89
15
0
Максимальное число 89.

Слайд 44

ЦИКЛ REPEAT («ДО ТЕХ ПОР»)

Repeat
{тело_цикла}
Until {условие};

Нет необходимости в цикле

ЦИКЛ REPEAT («ДО ТЕХ ПОР») Repeat {тело_цикла} Until {условие}; Нет необходимости в
Repeat использовать составной оператор, т.к. данная конструкция предусматривает выполне-ние не одного, а нескольких операторов, заключенных между словами Repeat и Until.

Цикл Repeat сначала выполняет тело цикла, а лишь затем проверяет условие

Слайд 45

ЦИКЛ REPEAT («ДО ТЕХ ПОР»)

Цикл работает, пока изменя-ющаяся пере-менная f не станет

ЦИКЛ REPEAT («ДО ТЕХ ПОР») Цикл работает, пока изменя-ющаяся пере-менная f не
больше значения b

Программа, вывода на экран суммы чисел от a до b.

Слайд 46

СРАВНЕНИЕ ЦИКЛОВ

For

Repeat

While

Выбор модели цикла, зависит лишь от удоб-ства его использования в конкретной

СРАВНЕНИЕ ЦИКЛОВ For Repeat While Выбор модели цикла, зависит лишь от удоб-ства
ситуации.
Мы практически всег-да можем вместо одно-го вида цикла восполь-зоваться другим

Слайд 47

УПРАЖНЕНИЕ

Используемый материал:

Оператор цикла Repeat:
Repeat <тело_цикла> Until <условие>
Цикл Repeat сначала выполняет тело

УПРАЖНЕНИЕ Используемый материал: Оператор цикла Repeat: Repeat Until Цикл Repeat сначала выполняет
цикла, а лишь затем проверяет условие

Вычислите значение функции для x изменяющегося в диапазоне от -4 до 4 включительно с шагом 0,5.

Слайд 48

ПРЕРЫВАНИЕ ЦИКЛОВ

s:=0;
for I := 1 to 100 do begin
if s>100 then

ПРЕРЫВАНИЕ ЦИКЛОВ s:=0; for I := 1 to 100 do begin if
break;
s := s + i;
end;
Writeln (‘минимальное число i, такое, что ( 1+2+..+i )>100 равно ’,i);

Для гибкого управления циклическими операторами используются процедуры:
• Break — выход из цикла;
• Continue — завершение очередного прохода цикла;

Примеры: Найти минимальное число i, для которого сумма чисел от 1 до i больше 100. Как только s (сумма чисел от 1 до i) становиться больше 100 срабатывает оператор break и происходит выход из цикла.

С клавиатуры вводятся 10 чисел и в цикле считается сумма только положительных. Если число отрицательное, то выполняется оператор continue, который начинает следующий проход цикла.

s:=0;
for I := 1 to 10 do begin
Readln (k);
if k<0 then Сontinue;
s := s + k;
end;
Writeln (‘Сумма положительных чисел равна ’,s);

Слайд 49

МАССИВЫ

МАССИВЫ

Слайд 50

МАССИВЫ

Простые типы: одна переменная – одно значение
Структурированные типы: одна переменная – несколько

МАССИВЫ Простые типы: одна переменная – одно значение Структурированные типы: одна переменная
значений

A =

Массив – это фиксированное количество значений одного типа.
Доступ к конкретному значению осуществляется через индекс.

Индекс

Значения

Переменная массива

A[1] := 7;

Структура
массива:

Доступ к массиву:

<Имя массива> [ <Индекс> ]

Слайд 51

МАССИВЫ

Массив объявляется в разделе Var:

{Имя} : Array [ {нач_зн} .. {кон_зн} ]

МАССИВЫ Массив объявляется в разделе Var: {Имя} : Array [ {нач_зн} ..
of {тип} ;

Примеры объявления массивов:

Var A : Array [1..4] of String;
B : Array [0..662] of Real;
С : Array [1..10] of Integer;

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

A[1]:=‘Вася’; A[2]:=‘Петя’;
A[3]:=‘Маша’; A[4]:=‘Олеся’;
Write (A[3]);
For f:=1 to 10 do C[f] := f*2;
For f:=1 to 10 do WriteLn ( C[f] );

Слайд 52

УПРАЖНЕНИЕ

Используемый материал:

Объявления массива:
<Имя> : Array [<нач_зн> … <кон_зн> ] of <тип> ;
Доступ

УПРАЖНЕНИЕ Используемый материал: Объявления массива: : Array [ … ] of ;
к массиву:
<Имя массива> [ <Индекс> ]

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

Введите 1 число: 4
Введите 2 число: 8
Введите 3 число: 9
Введите 4 число: 2
Введите 5 число: 4
Введите 6 число: 5
Введите 7 число: 0
Максимальное число: 9

Слайд 53

ГЕНЕРАТОР СЛУЧАЙНЫХ ЧИСЕЛ (ГСЧ)

Для генерации в про-грамме случайных чи-сел, используют следу-ющие операторы:

Randomize

ГЕНЕРАТОР СЛУЧАЙНЫХ ЧИСЕЛ (ГСЧ) Для генерации в про-грамме случайных чи-сел, используют следу-ющие
– инициализация ГСЧ. Объявляется только в самом начале программы;
Random – генерирует слу-чайное число от 0 до 1 (вещественный тип);
Random (N) – генерирует случайное число от 0 до N-1 (целый тип);

Слайд 54

МНОГОМЕРНЫЕ МАССИВЫ

{Имя} : Array [ {нач_зн} .. {кон_зн} ,
{нач_зн} .. {кон_зн}

МНОГОМЕРНЫЕ МАССИВЫ {Имя} : Array [ {нач_зн} .. {кон_зн} , {нач_зн} ..
,
{и т.д.}
] of {тип} ;

Пример объявления двухмерного массива (матрицы, таблицы) на 4 строки и 6 столбцов:

Var A : Array [1..4,1..6] of Integer;

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

For i:=1 to 4 do
For j:=1 to 6 do
A[i,j] := i+j;

Список интервалов для каждой размер-ности массива

Слайд 55

УПРАЖНЕНИЕ

Напишите программу, которая заполняет двух-мерный массив случайными числами от -10 до 20

УПРАЖНЕНИЕ Напишите программу, которая заполняет двух-мерный массив случайными числами от -10 до
и выводит суммы элементов расположенных по диагонали таблицы.

Используемый материал:

Инициализация ГСЧ: Randomize
Случайное число от 0 до N-1: Random (N)

Слайд 56

РАБОТА
С ФАЙЛАМИ

РАБОТА С ФАЙЛАМИ

Слайд 57

)a@$ku⌂|"Hd9v*9(L*M=БYGRMxduВ █
8e*ВOtCDrTVzHGJ1aBD>@Б\(r8sE} █
:wcJvAmRa'v/.Wai;$`SWI=y2]suB █
?Hq>vF(LmBcV^Adz4P4.6b]o{QkВ8 █
cu<6`8Z':M^1;:8ANwak;,b2-4…u5 █
2]suB?Hq>vF(LmBcAdz4wcP]o{QkВ █
8c8df]e"v,su>+),VAEFБjFV,W$Q- █
y0G1GjN$-eБ|sqZ0`QnВ%\БD%y █ █

РАБОТА С ФАЙЛАМИ

Файл:

Начало

)a@$ku⌂|"Hd9v*9(L*M=БYGRMxduВ █ 8e*ВOtCDrTVzHGJ1aBD>@Б\(r8sE} █ :wcJvAmRa'v/.Wai;$`SWI=y2]suB █ ?Hq>vF(LmBcV^Adz4P4.6b]o{QkВ8 █ cu 2]suB?Hq>vF(LmBcAdz4wcP]o{QkВ █ 8c8df]e"v,su>+),VAEFБjFV,W$Q-
файла

Указа-тель

Переменная

Создание, чтение, запись, закрытие.

█ - признак конца строки
█ - признак конца файла

Слайд 58

РАБОТА С ФАЙЛАМИ

1. Объявление ФП

<Имя> : File of <тип> ;
<Имя> : Text;

Var

РАБОТА С ФАЙЛАМИ 1. Объявление ФП : File of ; : Text;
f: Text;
h: File of Integer;

Последовательность действий, при работе с файлами:
Объявление файловой переменной (ФП);
Ассоциация ФП с файлом;
Открытие файла для чтения/записи;
Операции с файлом;
Закрытие файла (так же разрывается связь между файлом и ФП);

2. Ассоциация ФП с файлом

Assign ( <ФП>, <имя файла> );

Assign (f, ‘c:\my\Data.ghm’)

Слайд 59

РАБОТА С ФАЙЛАМИ

Reset ( <ФП> ); - открывает файл для чтения
Rewrite (

РАБОТА С ФАЙЛАМИ Reset ( ); - открывает файл для чтения Rewrite
<ФП> ); - открывает файл для записи

3. Открытие файла для чтения/записи

Read ( <ФП>, <П1> , <П2> , …); - считывает в переменные <П1>, <П2> и т.д. по одному элементу с позиции указателя.
Write ( <ФП> , <П1> , <П2> , …); - записывает в файл значения переменных <П1>, <П2> и т.д. по одному элементу с позиции указателя.
EoLn ( <ФП>); - возвращает True, если достигнут конец строки.
EoF ( <ФП>); - возвращает True, если достигнут конец файла.

4. Операции с файлом

5. Закрытие файла

Close ( <ФП> );

Слайд 60

РАБОТА С ФАЙЛАМИ

Упростите программу, если известно, что матрица размером 5x5 (используйте цикл

РАБОТА С ФАЙЛАМИ Упростите программу, если известно, что матрица размером 5x5 (используйте цикл For)
For)

Слайд 61

УПРАЖНЕНИЕ

Используемый материал:

Название операторов: Assign, Rewrite, Reset, Write, Read, Close.

Напишите программу «ДОМ-3». В

УПРАЖНЕНИЕ Используемый материал: Название операторов: Assign, Rewrite, Reset, Write, Read, Close. Напишите
первом файле содержаться имена участников в именительном падеже. Во втором, те же самые имена, но в винительном. В третьем – список выражения чувств или какое-то действие (любит, не любит, целует, хочет укусить, обожает, уважает, ненавидит, хочет видеть, обнимает).
Программа должна случайно брать информацию из этих файлов и создавать новый по следующему принципу:
<имя в им. пад> <чувство/действие> <имя в вин. пад>

Ольга любит Сергей
Олег хочет видеть Романа
Катя уважает Настю
И т.д.

Слайд 62

ГРАФИКА

ГРАФИКА

Слайд 63

ГРАФИКА

Для работы с графикой в Pascal необходимы два файла – модуль graph.tpu

ГРАФИКА Для работы с графикой в Pascal необходимы два файла – модуль
и драйвер графического адаптера egavga.bgi. Первый находится в каталоге \UNITS, а второй – в \BGI.
! Драйвер egavga.bgi. Необходим при работе exe файла !
Чтобы рисовать, надо:
подключить модуль GRAPH (в разделе Uses);
инициализировать графику (InitGraph);
что-нибудь нарисовать;
закрыть графический режим (CloseGraph)

Слайд 64

ГРАФИКА

PROGRAM Primer_1;
Uses Graph, crt;
Var Gd,Gm: Integer;
BEGIN
Gd:=0;
InitGraph (Gd,Gm,‘d:\BP\bgi');
Line (0,0,639,479);
ReadKey;

ГРАФИКА PROGRAM Primer_1; Uses Graph, crt; Var Gd,Gm: Integer; BEGIN Gd:=0; InitGraph
CloseGraph;
END.

Закрытие графического режима

Инициализация графического режима

Рисование линии.
Перо переходит из точки (0,0) в точку (639, 479).

Слайд 65

УПРАЖНЕНИЕ

Используемый материал:

Графический модуль: Graph
Инициализация графики: InitGraph
Закрытие графического режима: CloseGraph;

Изобразить в центре экрана

УПРАЖНЕНИЕ Используемый материал: Графический модуль: Graph Инициализация графики: InitGraph Закрытие графического режима:
прямоугольный треугольник
Изобразить в центре экрана прямоугольник с сторонами в
двое меньшими, чем соответствующие стороны экрана

Слайд 66

ГРАФИКА + ЦВЕТ

SetColor(Color: word);
Устанавливает цвет пера

GetColor: word;
Возвращает цвет пера

SetBkColor(color: word);
Устанавливает цвет

ГРАФИКА + ЦВЕТ SetColor(Color: word); Устанавливает цвет пера GetColor: word; Возвращает цвет
фона.

GetBkColor: word;
Возвращает цвет фона.

Цвета
Black – чёрный
Blue – синий
Green – зелёный
Cyan – циановый
Red – красный
Magenta – сиреневый
Brown – коричневый
LightGray – светло-серый
DarkGray – тёмно-серый
LightBlue – голубой
LightGreen – светло-зелёный
LightCyan – светло-циановый
LightRed – розовый
LightMagenta – светло-сиреневый
Yellow – жёлтый
White – белый

Слайд 67

ГРАФИЧЕСКИЕ ПРИМИТИВЫ

Line (x, y);
Чертит линию от текущей координаты пера до координат (x,y).
MoveTo

ГРАФИЧЕСКИЕ ПРИМИТИВЫ Line (x, y); Чертит линию от текущей координаты пера до
(x, y);
Устанавливает перо в координаты (x,y).
PutPixel (x, y, Color);
Рисует точку с координатами (x,y) цветом Color.
GetPixel (x, y): word;
Возвращает цвет точки с координатами (x,y).
Rectangle (x1, y1, x2, y2);
Строит контур прямоугольника.
Circle (x, y, r);
Рисует окружность с центром в (x,y) и радиусом r.
SetLineStyle (Ln, 0, T)
Изменяет параметры контуров. Ln - стиль линии (0..3):
T - толщина линии: 1 = нормальная; 3 = толстая.
FillEllipse (x, y, Xr, Yr);
Рисует закрашенный эллипс с центром в (x,y) и радиусами Xr и Yr.
SetFillStyle (Type, Color);
Устанавливает тип (0..11) и цвет штриховки замкнутых фигур
ClearDevice;
Очищает графический экран закрашивая его в текущий цвет фона

Слайд 68

ГРАФИЧЕСКИЕ ПРИМИТИВЫ

ГРАФИЧЕСКИЕ ПРИМИТИВЫ

Слайд 69

УПРАЖНЕНИЕ

Используемый материал:

Напишите программу, рисующее на экране монитора домик;
Напишите программу, рисующая

УПРАЖНЕНИЕ Используемый материал: Напишите программу, рисующее на экране монитора домик; Напишите программу,
на экране монитора звёздное небо со звёздами случайного радиуса (от 1 до 5 пикс.) и случайным расположением. Цвет тоже случайный (белый, светло-серый, тёмно-серый);

SetColor (Color: word); - Устанавливает цвет рисования
SetBkColor (color: word); - Устанавливает текущий цвет фона.
Line (x, y); - Чертит линию от текущей координаты пера до координат (x,y).
MoveTo (x, y); - Устанавливает перо в координаты (x,y).
PutPixel (x, y, Color); - Рисует точку с координатами (x,y) цветом Color.
Rectangle (x1, y1, x2, y2); - Строит контур прямоугольника из линий текущего цвета.
Circle (x, y, r); - Рисует окружность с центром в (x,y) и радиусом r.
FillEllipse (x, y, Xr, Yr); - Рисует закрашенный эллипс с центром
в (x,y) и радиусами Xr и Yr.

Слайд 70

ГРАФИКА + АНИМАЦИЯ

Пауза в мСек.

ГРАФИКА + АНИМАЦИЯ Пауза в мСек.

Слайд 71

ПОДПРОГРАММЫ

ПОДПРОГРАММЫ

Слайд 72

Program My;

Begin
Подпрограмма 2
Подпрограмма 1
Подпрограмма 2
End.

Подпрограмма 2

[Код подпрог-мы 2]

Функции

Подпрограммы:
пишутся между ключевыми словами

Program My; Begin Подпрограмма 2 Подпрограмма 1 Подпрограмма 2 End. Подпрограмма 2
Begin End;
идентифицируются по именам, которые пишутся по правилам задания идентификаторов;
могут иметь входные и выходные параметры;
полностью повторяют структуру основной программы.

Функция, в отличие от процедуры возвращает результат вызова.

Подпрограмма 1

[Код подпрог-мы 1]

ПОДПРОГРАММЫ

Подпрограммы позволяют выделять повто-ряющуюся часть кода в отдельные фрагмен-ты и вставлять из в нужные места программы.

Процедуры

Write(“Ок”); // процедура с одним параметром
ClrScr; // процедура без параметров
Length (S); // функция с одним параметров
Random; // функция без параметров

Пример системных подпрограмм:

[Код подпрог-мы 2]

[Код подпрог-мы 2]

[Код подпрог-мы 1]

Слайд 73

ПОДПРОГРАММЫ (ППР)

Вложенность подпрограмм

Область доступности переменных

Переменные, описанные в некоторой ППР, известны в

ПОДПРОГРАММЫ (ППР) Вложенность подпрограмм Область доступности переменных Переменные, описанные в некоторой ППР,
пределах её тела, ВКЛЮЧАЯ и все вложенные ППР (переменная описан-ная в ППР1 будет доступна и в ППР3,4).
Имена переменных, описанных в ППР, могут совпадать с именами переменных из других ППР (в каждой из ППР может быть объявлена одинаковая переменная).
Имя переменной, описанное в ППР, экра-нирует одноимённые переменные из ППР, объемлющих данный (если в ППР1 и ППР3 объявлены одинаковые переменные, то в каждой ППР эти переменные будут уникаль-ны).

Переменные программы называются глобальные,
А переменные подпрограмм – локальные.

Слайд 74

ПРОЦЕДУРЫ БЕЗ ПАРАМЕТРОВ

Procedure {имя процедуры};
{Раздел переменных, констант, типов, меток, модулей}
Begin
{Тело

ПРОЦЕДУРЫ БЕЗ ПАРАМЕТРОВ Procedure {имя процедуры}; {Раздел переменных, констант, типов, меток, модулей}
процедуры};
End;

Синтаксис записи:

Пример использования процедуры без параметров:

Слайд 75

ПРОЦЕДУРЫ БЕЗ ПАРАМЕТРОВ

Program My_program;
Uses Crt;
Var A:String;
// Описание процедуры
Procedure My_Procedure;
Var

ПРОЦЕДУРЫ БЕЗ ПАРАМЕТРОВ Program My_program; Uses Crt; Var A:String; // Описание процедуры
A:String;
Begin
A := 'Подпрограмма';
Writeln(A);
End;
Begin
A := 'Тело';
Writeln(A);
My_Procedure; // Вызов процедуры
Writeln(A);
End.

Пример экранирования одноимённых переменных:

Слайд 76

ПРОЦЕДУРЫ С ПАРАМЕТРАМИ

Для того, чтобы подпрограммы были более универсальными, применя-ются специальные механизмы

ПРОЦЕДУРЫ С ПАРАМЕТРАМИ Для того, чтобы подпрограммы были более универсальными, применя-ются специальные
обмена данными между программой и её подпрограммами.

Системные процедуры с параметрами:

SetColor (Red); { Процедура с одним параметром }
Rectangle (0, 0, 639, 479); { Процедура с несколькими параметрами }
InitGraph (Gd,Gm,‘d:\BP\bgi'); { Процедура с несколькими разнотипными }
{ параметрами }

Синтаксис записи процедуры с параметрами

Procedure {Имя} ( {Область входных переменных}
Var
{Область выходных переменных (для каждой переменной свой Var)} );

Переменная_1, Переменная_2, … : Тип;
........................
Переменная_N-1, Переменная_N, … : Тип;

Структура областей:

Любая из областей может отсутствовать

Слайд 77

ПРОЦЕДУРЫ С ПАРАМЕТРАМИ

Procedure Cir;
Begin
SetColor (i);
SetBkColor (b);
Rectangle (0, 0,

ПРОЦЕДУРЫ С ПАРАМЕТРАМИ Procedure Cir; Begin SetColor (i); SetBkColor (b); Rectangle (0,
639, 479);
End;

Процедура рисования окаймляющего экран прямоугольника,
заданного цвета

i:=6; b:=12;
Cir;

Вызов процедуры в программе:

Использование входных параметров

Procedure Cir (i, b:Integer);
Begin
SetColor (i);
SetBkColor (b);
Rectangle (0, 0, 639, 479);
End;

Cir(6, 12);

Вызов процедуры в программе:

Без параметров

С параметрами

Слайд 78

Использование выходных параметров

Процедура преобразования угла из градусной меры в радианную.

PROGRAM EX_26_3;

Использование выходных параметров Процедура преобразования угла из градусной меры в радианную. PROGRAM

VAR x,a: real;
PROCEDURE Rad(alfa: real;
var betta: real); {выходная переменная}
BEGIN
Betta := pi*alfa/180;
END;
BEGIN
Write('Введите угол в градусах: ');
Readln(x);
Rad(x, a); {Вызов процедуры}
Writeln('Ему равен угол в радианах = ',a:6:4);
END.

ПРОЦЕДУРЫ С ПАРАМЕТРАМИ

Слайд 79

УПРАЖНЕНИЕ

Используемый материал:

Procedure {Имя} ( {Область входных переменных}
Var
{Область выходных

УПРАЖНЕНИЕ Используемый материал: Procedure {Имя} ( {Область входных переменных} Var {Область выходных
переменных} );
Структура областей:
Переменная_1, Переменная_2, … : Тип;
........................
Переменная_N-1, Переменная_N, … : Тип;

Напишите процедуру, рисующую треугольник, в следующем формате: Triangle (x1,y1, x2,y2, x3,y3, Color)
Напишите процедуру вычисления площади прямоугольника в следующем формате: SRect (a, b, S) где, S – выходной параметр процедуры.

Слайд 80

ФУНКЦИИ

Function ( {Область входных переменных}
Var
{Область выходных переменных} ):

ФУНКЦИИ Function ( {Область входных переменных} Var {Область выходных переменных} ): {Тип}
{Тип} ;

Procedure S(a,b:real; var s:real);
Begin
s := a+b;
End;

Function Sum (a,b: real): real;
Begin
Sum := a+b;
End;

Оформлять некоторую подпрограмму как функцию целесообразно только в том случае, если ожидается некоторый результат её работы.
Если подпрограмма ориентирована только на выполнение некоторой последовательности действий (вывод на экран, рисование и т.д.), лучше оформить её как процедуру.

Синтаксис записи функции

Оформление процедуры

Оформление функции

S(10, 20, A);
Write (A);

Вызов процедуры

A := S(10, 20);
WriteLN (A);
WriteLN ( S(20, 30) );

Вызов функции

Слайд 81

УПРАЖНЕНИЕ

Используемый материал:

Function {Имя} ( {Область входных переменных}
Var
{Область выходных

УПРАЖНЕНИЕ Используемый материал: Function {Имя} ( {Область входных переменных} Var {Область выходных
переменных} ): {Тип} ;
Структура областей:
Переменная_1, Переменная_2, … : Тип;
........................
Переменная_N-1, Переменная_N, … : Тип;

Напишите функцию вычисления площади прямоугольника в следующем формате: SRect (a, b)

Слайд 82

МОДУЛИ

МОДУЛИ

Слайд 83

МОДУЛИ

Модуль (UNIT) - самостоятельная программная единица, ресурсы (процедуры и функции) которой могут

МОДУЛИ Модуль (UNIT) - самостоятельная программная единица, ресурсы (процедуры и функции) которой
быть использованы другими программами.

Модули подключаются к программе через раздел USES

Слайд 84

МОДУЛИ. СТРУКТУРА

Модуль состоит из следующих частей:
Заголовок модуля.
Интерфейсная часть. (описания видимых объектов)
Реализационная часть.

МОДУЛИ. СТРУКТУРА Модуль состоит из следующих частей: Заголовок модуля. Интерфейсная часть. (описания
(описания скрытых объектов)
Инициализационная часть (не обязательна).

Unit {Имя модуля};
Interface
{ Раздел глобальных переменных, констант, типов}
{ модулей }
{ Список заголовков процедур и функций }
Implementation
{ Раздел локальных переменных, констант, типов}
{ Реализация процедур и функций }
Begin
{Часть инициализации }
End.

! Имя заголовка модуля должно совпадать с именем файла модуля !

Слайд 85

МОДУЛИ

Unit My_Unit;
Interface
Var ms: Array [1..100, 1..10] of Real; { Глобальный

МОДУЛИ Unit My_Unit; Interface Var ms: Array [1..100, 1..10] of Real; {
массив }
Function Cub(x:integer):Integer; { Функция Cub = x^3 }
Function ext4(x:integer):Integer; { Функция ext4 = x^4 }
Implementation
Function Cub(x:integer):Integer; { Реализация функции Cub }
Begin
Cub := x*x*x;
End;
Function Ext4(x:integer):Integer; { Реализация функции ext4 }
Begin
Ext4 := x*x*x*x;
End;
End.

Пример модуля:

Имя файла: PASCAL.pptx
Количество просмотров: 292
Количество скачиваний: 0