Содержание

Слайд 2

Цели курса:
систематизация знаний по основным разделам курса;
знакомство с полиграфическими, методическими материалами Образовательного

Цели курса: систематизация знаний по основным разделам курса; знакомство с полиграфическими, методическими
центра «Школьный университет»;
обмен опытом между преподавателями.

Концепция курса:
знакомство с тематическим курсом «Основы алгоритмизации и программирования на языке Pascal»;
поэтапное изучение всех разделов данного курса с практическим закреплением теоретической части курса;
использование раздаточного материала, выполнение практических работ, тестов.

ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ PASCAL

Слайд 3

Учебно-методическое пособие (курс 70 часов)
Электронный практикум
Программы,
методические рекомендации:
цели и задачи изучения

Учебно-методическое пособие (курс 70 часов) Электронный практикум Программы, методические рекомендации: цели и
курса;
- рабочие программы;
- тематический план;
- содержание.

Контрольно-измерительный пакет:
набор контрольных работ;
- ведомости оценок.

Учебный материал

На диске учителя

Методический материал

Методический комплект
Глава 1. Алгоритмизация
Глава 2. Знакомство с Pascal
Глава 3. Основные алгоритмические конструкции
Глава 4. Структурированные типы данных

Лекция 1.
Курс «Основы алгоритмизации
и программирование
на языке Pascal» — новый подход

Слайд 4

Концепция курса

Установка Borland Pascal
и
Free Pascal

Среда исполнителя Крошка Ру

Алгоритмизация

Программирование

Концепция курса Установка Borland Pascal и Free Pascal Среда исполнителя Крошка Ру
на языке Pascal
Глава 1. Алгоритмизация
Глава 2. Знакомство с Pascal
Глава 3. Основные алгоритмические конструкции
Глава 4. Структурированные типы данных

Лекция 2.
Исполнитель Крошка Ру и алгоритмизация

Лекция 3.
Программное обеспечение: где, как, сколько?

Слайд 5

20 часов

Рабочая программа КПК (Turbo Pascal)

20 часов Рабочая программа КПК (Turbo Pascal)

Слайд 6

Первый этап. Постановка задачи.
Второй этап. Математическое или информационное моделирование.
Третий этап. Алгоритмизация задачи.

Четвёртый

Первый этап. Постановка задачи. Второй этап. Математическое или информационное моделирование. Третий этап.
этап. Программирование.
Пятый этап. Ввод программы и исходных данных в ЭВМ.
Шестой этап. Тестирование и отладка программы.
Седьмой этап. Исполнение отлаженной программы и анализ результатов.

Свойства алгоритма:
Понятность.
Дискретность.
Определённость.
Результативность.
Массовость.

Основные этапы решения задач на ЭВМ

Обзор урока ЭП :
Урок 4 «Независимое расследование, или Что же такое алгоритм».

Слайд 7

Развитие семейств языков

VISUAL BASIC

С++

Object Pascal
Среда Delphi

BASIC

QBASIC

PASCAL

С

VISUAL

PASCAL
Среда Borland Pascal
Среда Free Pascal

Развитие семейств языков VISUAL BASIC С++ Object Pascal Среда Delphi BASIC QBASIC

Слайд 8

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

Начало

Условие

Действие 1

Цикл

Конец

Действие 2

1 этап.
ЛИНЕЙНЫЕ
(самые первые программы).

2 этап. ВЕТВЛЕНИЯ
(для

Подпрограмма Начало Условие Действие 1 Цикл Конец Действие 2 1 этап. ЛИНЕЙНЫЕ
обработки различных вариантов).

3 этап. ЦИКЛЫ
(для выполнения многократных действий).

4 этап. ПОДПРОГРАММЫ
(многие действия выполнялись в различных местах программы).

5 этап. (БИБЛИОТЕКИ) МОДУЛИ
(подпрограммы занимают много места в файле программы и их образовали в отдельные файлы в машинных кодах).
6 этап. ОБЪЕКТЫ
(в программах встречались похожие части , отличающиеся в деталях).
7 этап. КЛАССЫ ОБЪЕКТОВ С ВОЗМОЖНОСТЬЮ НАСЛЕДОВАНИЯ.

нет

да

Действие 1

Эволюция программирования

Слайд 9

1. Отвечает требованиям структурного программирования
Позволяет строить программу из отдельных блоков.
применяются

1. Отвечает требованиям структурного программирования Позволяет строить программу из отдельных блоков. применяются
три управляющие конструкции: следование, выбор, повторение;
структура программы отражает структуру данных;
на первом этапе проводится проектирование программы, а на втором её написание.
2. Строго типизированный язык
Содержит полный набор структурных типов данных, а также развитые средства построения из них новых типов данных.

Основные достоинства языка Pascal

Слайд 10

Интерфейс включает в себя:
многооконный текстовый редактор;
компилятор, компоновщик программ;
отладчик программ;

Интерфейс включает в себя: многооконный текстовый редактор; компилятор, компоновщик программ; отладчик программ;

систему помощи.

Интерфейс среды Pascal

Слайд 11

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

Список открытых файлов: Alt + 0. Быстрый доступ к открытым файлам: Alt
<№ окна> .
Просмотр текущего значения переменных: Ctrl + F7 .
Для выполнения программы по строкам: F8 .
Компиляция + проверка: F9 .
Запуск: Ctrl+F9 .

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

Интерфейс среды Pascal

Слайд 12

Объявление идентификаторов

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

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

ОПРЕДЕЛЕНИЕ ТИПА
ДАННЫХ

ИДЕНТИФИКАЦИЯ
ПЕРЕМЕННЫХ

ЗАДАНИЕ
ЗНАЧЕНИЙ

Работа с данными

Объявление идентификаторов Однозначность операций над данными Операции с данными ОПРЕДЕЛЕНИЕ ТИПА ДАННЫХ

Слайд 13

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

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

Простые

Структурированные

Логические (boolean)

Символьные (char)

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

Интервальные

Строковый (string)

Регулярный (array)

Комбинированный (record)

Множественный (set)

byte,
shortint,
integer,
word,
longint

real,
single,
double,
extended,
comp

Файловый (file)

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

Типы данных

Целые

Вещественные

Слайд 14

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

Выход за пределы диапазона приводит к ошибке

Синтаксис:

Var <имя

Конечный набор возможных значений Выход за пределы диапазона приводит к ошибке Синтаксис:
переменной>:<тип переменной>;

.

Целый и вещественный типы данных


Тип


Диапазон десятичного порядка


real


−39…+38


single


−45…+45


double


−324…+308


extended


−4932…+4932


comp


−263+1…263 −1



Резервирует место в памяти
компьютера под переменные: a, x, y.

Слайд 15

Арифметические операции: Sqr ,+, −, *, /
Стандартные функции:

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

Работа

Арифметические операции: Sqr ,+, −, *, / Стандартные функции: Нельзя использовать с
функций используется в операторе вывода.

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

Слайд 16

Стандартные функции: Pi, Sqrt, Sin, Cos, Abs, Exp, Ln.

Арифметические операции: Sqr,

Стандартные функции: Pi, Sqrt, Sin, Cos, Abs, Exp, Ln. Арифметические операции: Sqr,
+, -, *, /

Операции с вещественными переменными

Слайд 17

Модуль расширяет возможности программ путём введения дополнительных операторов, стандартных процедур и функций.
Пример

Модуль расширяет возможности программ путём введения дополнительных операторов, стандартных процедур и функций.
включения стандартных модулей:
uses crt, dos, graph, printer.

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

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

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

Подключение дополнительных модулей

Слайд 18

Ввод информации с клавиатуры обеспечивает процедура ввода:
Read или ReadLn.

Синтаксис:
Read (N1, N2, …

Ввод информации с клавиатуры обеспечивает процедура ввода: Read или ReadLn. Синтаксис: Read
Nn);
Где N1, N2, … Nn — переменные
(целые, вещественные, строковые).
Read(Ln)— курсор устанавливается
на следующую строку.

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

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

Запрос данных с клавиатуры

Слайд 19

Через функцию ReadKey для чтения первого байта из очереди нажатий на клавишу.

Через функцию ReadKey для чтения первого байта из очереди нажатий на клавишу.

Через процедуру ввода Read(Ln)
3. Через оператор присваивания :=.


Тип переменной должен совпадать с типом вводимых значений для этой переменной.

Ввод данных с клавиатуры в текстовом режиме:

Ввод данных

Ввод данных с клавиатуры
непосредственно в программе:

Слайд 20

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

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

В переменную (целочисленную)
с именем

Для задания значения переменной необходимо воспользоваться оператором присваивания := := ; В
А заносится значение 3.

Синтаксис:

Операторы присваивания

Слайд 21

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

Вывод информации на монитор обеспечивает процедура вывода:

«Пустой» оператор WriteLn добавляет пустую строку. Вывод информации на монитор обеспечивает процедура
Write или WriteLn.

Синтаксис:
Write (N1, N2, … Nn);
N1, N2, … Nn — переменные (целые, вещественные, строковые).
WriteLn — перемещает курсор на следующую строку.

Вывод информации на экран

Слайд 22

Форматы вывода

Форматы вывода

Слайд 23

Синтаксис:
GotoXY(X,Y:Integer);
X, Y — координата знако-места на экране.

Program My_program;
{Подключение модуля}
Uses Crt;
Begin
{Очистка

Синтаксис: GotoXY(X,Y:Integer); X, Y — координата знако-места на экране. Program My_program; {Подключение
экрана}
ClrScr;
{Вывод данных}
GotoXY(1, 1); write('▒');
GotoXY(80, 1); write('▒');
GotoXY(1, 25); write('▒');
GotoXY(80, 25); write('▒');
{Задержка экрана}
ReadKey;
End.

Программа выводит по углам экрана символ «▒» (ASCII-код 177).

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

Слайд 24

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

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

Program MyProgram;
Uses Crt;
Begin
TextColor(Red);
TextBackGround(Blue);
Write('На дворе ');

TextColor(Color); Определяет цвет символов. TextBackground(Color); Определяет цвет знако-места. Program MyProgram; Uses Crt;
TextColor(White);
Write('трава, ');
TextColor(Green);
TextBackGround(Yellow);
Write('на траве ');
TextBackGround(Magenta);
Write('дрова.');
End.

Вывод в цвете

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

Слайд 25

Синтаксические — несоблюдение правил языка, исправляются на стадии компиляции.
Семантические — завися от

Синтаксические — несоблюдение правил языка, исправляются на стадии компиляции. Семантические — завися
конкретных значений переменных, возникают на стадии выполнения программы.
Логические — ошибки в алгоритме: программа работает так как написана, но не так как требуется.

Отладка

Обзор материала ЭП :
Прогон и
отладка

Окно просмотра значений переменных

компиляция программы: Run-Run;
пошаговый режим отладки: F7;
задание значений переменных на просмотр: Ctrl+F7.

Слайд 26

ПРИМЕР РАБОТЫ ПРОГРАММЫ

ПРИМЕР РАБОТЫ ПРОГРАММЫ

Слайд 27

1. Выполните программу вычисления над двумя числами x и y, используя различные

1. Выполните программу вычисления над двумя числами x и y, используя различные
функции и дополнив вывод результата через функции управления координатами и цветом.
2. Выполните программу нахождения с помощью линейного алгоритма наибольшего из двух заданных А и B.
3. Обзор материала ЭП. «Метод дихотомии».

Переменные объявляются в разделе Var.
Целый тип называется Integer.
Вещественный тип называется Real.
Операторы ввода вывода: Read(Ln), Write(Ln) .
Синтаксис присвоения переменной значения: <Переменная>:=<Значение>;
После каждого оператора ставится знак ; (кроме begin и последнего end).
GotoXY(X,Y:Integer)— координата знако-места на экране.
TextBackground(Color)— определяет цвет знако-места.
TextColor(Color)— определяет цвет символов.

ЗАДАНИЕ

Слайд 28

Функции

Подпрограмма — часть программы, оформленная в виде отдельной синтаксической конструкции и снабжённая

Функции Подпрограмма — часть программы, оформленная в виде отдельной синтаксической конструкции и
именем (самостоятельный программный блок), для решения отдельных задач.

Описание процедуры:
procedure<имя> (<список формальных параметров>)
{раздел выполнения локальных имён}
Begin
{раздел выполнения операторов}
End;

Описание функции:
function<имя> (<список формальных параметров>): тип;
{раздел описания локальных имён}
Begin
{раздел выполняемых операторов}
<Имя функции>:=<значение>; {обязательный параметр}
End;

Вызов процедуры:
<имя >(<список фактических переменных>);

Вызов функции:
< оператор>:= <имя функции>
(<список фактических переменных>);

1. В правой части оператора присваивания.
2. В выражении, стоящем в условии оператора разветвления.
3. В процедуре вывода, как результат работы функции.

Описание подпрограмм

Процедуры

Слайд 29

Оперативная память:

Работающая
программа
Данные
Программы
ГЛОБАЛЬНЫЕ
ПЕРЕМЕННЫЕ
Данные
программы
ЛОКАЛЬНЫЕ
ПЕРЕМЕННЫЕ

Работающая
подпрограмма
Глобальные имена действуют в пределах нескольких вложенных блоков.

Оперативная память: Работающая программа Данные Программы ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ Данные программы ЛОКАЛЬНЫЕ ПЕРЕМЕННЫЕ
Локальные имена действуют в пределах одного блока.

Понятие глобальных и локальных переменных

Слайд 30

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

Параметры:
формальные

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

фактические

входные
выходные
входные и выходные

параметрами-значениями
параметрами-переменными
параметрами-константами

Согласованы по:
количеству, месту,
типу и способу передачи

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

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

Для обеспечения такого взаимодействия используются:

Механизм передачи данных

Слайд 31

Параметры-значения — механизм передачи по значению
Используются только для входных параметров.

Механизм передачи

Параметры-значения — механизм передачи по значению Используются только для входных параметров. Механизм
данных

Параметры-константы — механизм по адресу
В ходе выполнения процедуры значение формального параметра изменять нельзя. Параметры-константы экономят память, так как под адрес выделяется всего четыре байта.

Параметры-переменные — механизм передачи по адресу
Используется для выходных параметров, а также входных и выходных параметров.

Слайд 32

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

Procedure <имя> ; Var ;
Function

Используемый материал: Procedure ; Var ; Function : тип; ЗАДАНИЕ Задание 4
<имя> <список входных переменных: тип> : тип;

ЗАДАНИЕ

Задание 4

1. Выполните программу, которая вычисляет расстояние между тремя точками с помощью подпрограмм.
2. Проверьте себя: Задания к уроку 8. «И снова уравнение, или Подпрограммы» электронного практикума.

Задание 5

Слайд 33

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

Для работы с графикой в Pascal необходимы два файла: модуль graph.tpu (находится
в каталоге в \BGI).
драйвер графического адаптера egavga.bgi (находится в каталоге \UNITS).
Чтобы рисовать, надо:
Подключить модуль GRAPH (в разделе Uses).
Инициализировать графику (InitGraph).
Что-нибудь нарисовать.
Закрыть графический режим (CloseGraph).

Графика

Слайд 34

Инициализация графика

Инициализация графика

Слайд 35

Заливка объектов

SetFillStyle (x,y); — устанавливает маску заливки и цвет фона.
FloodFill (x,y,z); —

Заливка объектов SetFillStyle (x,y); — устанавливает маску заливки и цвет фона. FloodFill
устанавливает координаты заливки.

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

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

Если указаны координаты внутри фигуры — заливка фигуры.
Если указаны координаты вне фигуры — заливка фона.

Слайд 36

ПРИМЕР РАБОТЫ ПРОГРАММЫ

ПРИМЕР РАБОТЫ ПРОГРАММЫ

Слайд 37

Практическое занятие

Задание № 1

Задание № 11

Задание № 12

Задание № 14

Практическое занятие Задание № 1 Задание № 11 Задание № 12 Задание

Задание № 16

Проверьте себя: Задания к уроку 10 «Белокрылые лошадки, или
Относительные координаты» электронного практикума.

Задание № 4

Задание № 5

2. Выполните задание на выбор урока 10 электронного практикума.

Слайд 38

ТЕСТ Раздел 1

2 часа

Графический модуль

Тема 3

1 час

Интегрированная среда разработки программ на языке

ТЕСТ Раздел 1 2 часа Графический модуль Тема 3 1 час Интегрированная
Pascal. Основы языка. Типы данных. Процедуры ввода и вывода

Тема 1

Тема 2

Раздел 1. Знакомство с Pascal

2 часа

Модули и подпрограммы

5 часов

Контрольный обзор по разделу

Проверьте себя: Задание к уроку 6 «Посчитаем, или
Типы данных» электронного практикума.

Задание № 8

Задание № 5

2. Проверьте себя: Задание к уроку 8 «И снова уравнение,
или Подпрограммы» электронного практикума.

Слайд 39

В языке Pascal имеются два оператора ветвления:
If (ветвление по условию);

В языке Pascal имеются два оператора ветвления: If (ветвление по условию); Case
Case (ветвление по выбору).
Если число уровней вложения условного оператора If больше двух-трёх, то лучше воспользоваться оператором ветвления по выбору Case.

Операторы ветвления

Слайд 40

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

Полная форма (П. Ф.):
If <условие>

Краткая форма (К. Ф.) : If then ; Полная форма (П. Ф.):
then <оператор_1>
else <оператор_2>;

If X<0 Then X := 1;

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

Например:

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

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

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

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

Слайд 41


Y:=0; Y:=X; Y:=2*X;

1. Объединить в II крупных варианта.
x<0 x>=0
if x<0 then

Y:=0; Y:=X; Y:=2*X; 1. Объединить в II крупных варианта. x =0 if
y:=0 else
2. Разделить II-ой вариант на 2 группы.
x<5 x>=5

П. Ф. вложенное условие

П. Ф. внешнее
условие

Пример 1

if x<5 then y:=x else y:=2*x;

Вложенная структура условного оператора If

Слайд 42


1 способ

2 способ

Надо помнить!!!
Условный оператор можно вставить:
1. После слова else;
2. После слова

1 способ 2 способ Надо помнить!!! Условный оператор можно вставить: 1. После
then;

Пример 2
Значение а,b,c — целые числа. Определить наибольшее и занести в переменную max.

П. Ф.

Вложенная структура условного оператора If

К. Ф.

П. Ф.
внешнее условие

П.Ф.
вложенное условие

П.Ф.
вложенное условие

Слайд 43

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

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

Логические
операции:
not — Не;
and — И;
or — Или.

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

Мультипликативные
операции:
div — целая часть от деления;
mod — остаток от деления.

Вычислить: y = 16,5x + 9x – 12,5x , при x = [-5..-1, 1..5]

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

Слайд 44

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

Если после слов Then или Else необходимо записать несколько операторов, то их
заключают в операторные скобки (составной оператор).
Операторные скобки начинаются словом Begin, а заканчиваются словом End.

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

Например:

Операторные скобки

Слайд 45

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

1. Выполните программу: Определите чётность либо нечётность вводимого числа функцией mod.
2.

Используемый материал: 1. Выполните программу: Определите чётность либо нечётность вводимого числа функцией
Выполните программу: Напечатайте фразу: «Мы нашли в лесу _ грибов».
Согласуйте окончание слова «гриб» с введённым числом (количество грибов от 1 до 30 вводится с клавиатуры).

Формы записи условного оператора:
If <условие> Then <оператор>;
If <условие> Then <оператор_1> Else <оператор_2>;
перед Else знак ; не ставится;
операции сравнения: >, <, = , <>, >= , <= ;
логические операции: Not, Or, And.

ЗАДАНИЕ

Слайд 46

ПРИМЕР РАБОТЫ ПРОГРАММЫ

ПРИМЕР РАБОТЫ ПРОГРАММЫ

Слайд 47

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

Синтаксис:

Case <порядковая_переменная>

Оператор выбора используется для замены конструкций и вложенных условных операторов. Синтаксис: Case
of
<значение_1> : <оператор_1> ;
<значение_2> : <оператор_2> ;
………
<значение_N> : <оператор_N>;
Else <оператор_N+1>;
End;

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

Значение проверяется.

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

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

Слайд 48

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

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

Слайд 49

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


1. Выполните программу «Калькулятор», которая при вводе символа с клавиатуры:

Используемый материал: 1. Выполните программу «Калькулятор», которая при вводе символа с клавиатуры:
«+», «−», «/», «*» выполняет соответствующие действия с двумя числами. Числа и символ операции вводятся с клавиатуры. Дайте анализ работы программы.

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

ЗАДАНИЕ

2. Обзор материала урока 14 «Ти ж мене пидманула, или Оператор выбора» электронного практикума.

Слайд 50

ПРИМЕР РАБОТЫ ПРОГРАММЫ

ПРИМЕР РАБОТЫ ПРОГРАММЫ

Слайд 51

В языке Pascal имеются три оператора цикла:
For (цикл на заданное

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

Циклические операторы

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

Слайд 52

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

Цикл на

For {парам} := {нач_зн} To {кон_зн} Do {оператор} ; Цикл на заданное
заданное число повторений с возрастающим или убывающим
значением параметра.

параметр — порядковый тип;
в цикле можно использовать операторные
скобки;
в теле цикла нельзя менять параметр цикла;
параметр цикла увеличивается на единицу;
начальное значение больше конечного, иначе тело цикла игнорируется;
для уменьшения параметра, to заменяется на downto.

Тело цикла

Замечания:

Цикл с параметром For

Слайд 53

Параметр цикла имеет 2 функции.
FOR <пар_цик>:=S1 to S2 do

Счётчик цикла

Работает по формуле

S1:=S1+1(I:=I+1)

Переменная

Параметр цикла имеет 2 функции. FOR :=S1 to S2 do Счётчик цикла
цикла

Работает по формуле

I:=S1

С шагом 1

Для изменения шага в цикле :
вводят дополнительную переменную, отвечающую за изменение шага в алгоритме;
изменяют значение переменной цикла, при этом учитывая:
целый тип;
конечное значение.

Цикл с параметром For

Слайд 54

Команда random(n) выдаёт случайное целое число из промежутка [0;n−1].
Функция random(16)

Команда random(n) выдаёт случайное целое число из промежутка [0;n−1]. Функция random(16) возвращает
возвращает случайное число из промежутка длиной в 16 значений.
В промежутке [9;15] содержится 15–(9–1)=7 значений; значит, нам нужна функция random(7) — она вернёт значение из промежутка [0;6].
Чтобы «сдвинуть» этот промежуток до требуемого, достаточно к значению функции прибавить 9 — получится random(7)+9.

ЗАДАНИЕ

1. Выполните задание урока 11 «И получилась звёздная дорога, или Цикл с параметром» электронного практикума.

2. Проверьте себя: «Случайное число из промежутка»
из урока 11 электронного практикума.

Слайд 55

Внешний цикл J
Начинает работу.
Выполняется 10 раз.

Внутренний цикл I
Выполняет 10 проходов
за 1 проход

Внешний цикл J Начинает работу. Выполняется 10 раз. Внутренний цикл I Выполняет
внешнего цикла.
Выполняется 100 раз.

Вывод таблицы умножения в столбец.

Все операторы внутреннего цикла должны располагаться в теле внешнего.
Передача управления происходит от внутреннего цикла к внешнему!!!

Вложенная структура циклического оператора For

Слайд 56

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

1. Выполните программу вывода на экран в три столбца список чисел

Используемый материал: 1. Выполните программу вывода на экран в три столбца список
от 1 до N, их квадратов и кубов. Число N вводится с клавиатуры. Например, для N = 5 на экране должно быть:
1 1 1
2 4 8
3 9 27
4 16 64
25 125
2. Выполните программу вывода строчных букв латинского алфавита в прямом и обратном порядке.

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

ЗАДАНИЕ

Для проверки корректности работы программы при различных
входных данных проводят её тестирование, которое заключается
в подборе самых разнообразных входных данных, чтобы получить
все возможные (и невозможные) варианты работы программы и
«выловить» неучтённые ошибки.

Слайд 57

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

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

While {условие} do {оператор}; Цикл While сначала проверяет условие, и только если
истинно, выполняет тело цикла.

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

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

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

Цикл While («ПОКА»)

Слайд 58

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

Цикл работает, пока

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

Попробуй изменить алгоритм.

Можно ли обойтись без переменной F?

Цикл While («ПОКА»)

Слайд 59

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


1. Выполните программу, которая определяет максимальное из введённых чисел с

Используемый материал: 1. Выполните программу, которая определяет максимальное из введённых чисел с
клавиатуры (ввод чисел заканчивается числом 0). Ниже представлен рекомендуемый вид экрана:

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

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

ЗАДАНИЕ

Слайд 60

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

Нет необходимости в цикле Repeat использовать составной оператор,

Repeat {тело_цикла} Until {условие}; Нет необходимости в цикле Repeat использовать составной оператор,
т. к. данная конструкция предусматривает выполне-ние не одного, а нескольких операторов, заключённых между словами Repeat и Until.

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

Цикл Repeat («ДО ТЕХ ПОР»)

Слайд 61

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

Пример программы

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

Цикл Repeat («ДО ТЕХ ПОР»)

Слайд 62

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


1. Выполните программу «Калькулятор» (слайд 50). Применив цикл Repeat, доработайте

Используемый материал: 1. Выполните программу «Калькулятор» (слайд 50). Применив цикл Repeat, доработайте
программу самого калькулятора, где должен производиться запрос на продолжение работы или выхода из программы.

Оператор цикла Repeat:
Repeat <оператор> Until <условие>;
Цикл Repeat сначала выполняет основное тело цикла, а затем проверяет условие, и только если оно истинно, завершает свою работу.

ЗАДАНИЕ

Слайд 63

For

Repeat

While

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

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

Мы практически всегда можем вместо одного вида цикла воспользоваться другим.

Инициализируем начальное значение.
Наращиваем «счётчик цикла».

Анализ работы трёх циклических операторов

Слайд 64

For

Repeat

While

Зацикливание и прерывание циклов

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

For Repeat While Зацикливание и прерывание циклов Для гибкого управления циклическими операторами
— выход из цикла;
• Continue — завершение очередного прохода цикла.

Слайд 65

ПРИМЕР РАБОТЫ ПРОГРАММЫ

ПРИМЕР РАБОТЫ ПРОГРАММЫ

Слайд 66

Символьный тип данных — для хранения одного символа

Один из 256 символов.
Таблицы

Символьный тип данных — для хранения одного символа Один из 256 символов.
ASCII-кодов.

Значения в апострофах.

Буквы расположены подряд по алфавиту
(for).

1. Программа вывода на экран малых и больших букв латинского алфавита.
2. Программа определения числового значения ASCII-кода нажатой клавиши.

n:=#97;

Символьный тип данных (Char)

Слайд 67

Ord(x) — возвращает порядковый номер.
Chr(x) — преобразует целое число (тип Byte) в

Ord(x) — возвращает порядковый номер. Chr(x) — преобразует целое число (тип Byte)
символ ASCII-кода.
Pread(x) — возвращает предыдущее значение.
Succ(x) — возвращает последующее значение.

Операции с символьными переменными

Проверьте себя: Лабораторная работа

Слайд 68

1. Цикл For определяет ширину поля.
2. Для вывода последовательности алфавита — используем

1. Цикл For определяет ширину поля. 2. Для вывода последовательности алфавита —
диапазон.
3. <С> — начало диапазона.
4. Сравниваем <С> c элементом диапазона (IN) и выводим.
5. В <С> загружаем следующий элемент диапазона (INC(C)).
6. Сравниваем , выводим и т.д. до 7. 7. Пункт 5,6,7— в цикле Repeat.

1. Выведите алфавит в столбец. Организуйте запрос на количество колонок (ширина поля алфавита).

Символьный тип данных(Char)

Слайд 69

ПРИМЕР РАБОТЫ ПРОГРАММЫ

ПРИМЕР РАБОТЫ ПРОГРАММЫ

Слайд 70

1. Выполните программу, способную управлять движением объекта на экране (движение паучка).

Символьный

1. Выполните программу, способную управлять движением объекта на экране (движение паучка). Символьный
тип называется Char:
символы заключаются в апострофы;
буквы расположены согласно алфавиту в таблице ASCII-кодов.

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

ЗАДАНИЕ

2. Обзор материала урока 25 «Какой ты за собой оставишь след, или Типизированные константы» электронного практикума.

Слайд 71

Анимация в Pascal

Алгоритм моделирования движения
Устанавливаются начальные значения координат объекта.
В цикле объект

Анимация в Pascal Алгоритм моделирования движения Устанавливаются начальные значения координат объекта. В
стирается.
По формулам изменяются его координаты.
Объект выводится на экран (уже в новом месте).
Алгоритм моделирования движения объекта, изменяющего свою форму
Выводится форма.
Создаётся временная задержка.
Стирается форма.
Изменяются координаты объекта;
Алгоритм повторяется сначала.

Слайд 72

1. Выполните программу по анимации объекта. Движение солнца по небу.

Анимация в Pascal
2.

1. Выполните программу по анимации объекта. Движение солнца по небу. Анимация в
Выполните задание урока 21 «Про маленькую гордую гусеницу, или Покадровая анимация» электронного практикума.

Слайд 73

7 часов

Раздел 2. Основные алгоритмические конструкции

2 часа

Оператор повтора

Тема 5

Тема 7

Тема 6

Тема 4

1

7 часов Раздел 2. Основные алгоритмические конструкции 2 часа Оператор повтора Тема
час

Графика. Анимация

2 часа

Символьный тип данных

2 часа

Оператор ветвления

Контрольный обзор по разделу

ТЕСТ
Раздел 2

Слайд 74

Массив — это фиксированное количество значений одного типа.
Массив объявляется
в разделе Var:

A

Массив — это фиксированное количество значений одного типа. Массив объявляется в разделе
=

0

0

7

9

4

3

2

1

A[i] := значение; A[2] := 7;

Структура одномерного массива:

Доступ к массиву осуществляется через индекс:

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

44

43

42

41

34

33

32

31

24

23

22

21

14

13

12

11

Индекс строки i
Индекс столбца j

Значение

Индекс

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

Структура двумерного массива:

Массивы. Типы пользователя

{Имя} : Array [ {нач_зн} .. {кон_зн} ] of {тип} ;

Слайд 75

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

Var A : Array [1..4] of String;
B :

Примеры объявления массивов: 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] );

Одномерныe массивы

Слайд 76

{Имя} : 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;

Многомерные массивы

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

Слайд 77

Ввод с клавиатуры
For i:=1 To N Do
Read(A[i])

Ввод случайным образом
For i:=1 To n

Ввод с клавиатуры For i:=1 To N Do Read(A[i]) Ввод случайным образом
Do
A[i]:=Random(m);

Ввод и вывод в одномерных массивах:

Ввод по формуле
For i:=1 To n Do
A[i]:=Sin(i);

Вывод на экран:
For i:=1 To N Do
Write(A[i]:3);

Ввод и вывод в многомерных массивах:

Ввод с клавиатуры
For i:=1 To n Do
For j:=1 To n Do
Read(A[i,j]);

Вывод на экран
For i:=1 To n Do
Begin
For j:=I To n Do
Write (A[i,j]);
WriteLn;
End;

Организация ввода вывода данных в массивах

Слайд 78

Накопление суммы
s:=0;
For i:=1 To n Do
s:=s+a[i];
p:=1;
For i:=1 To n Do
p:=p*a[i];

Нахождение

Накопление суммы s:=0; For i:=1 To n Do s:=s+a[i]; p:=1; For i:=1
min (max) элемента и его порядковый номер
min:=a[i];
For i:=2 To n Do
if min>a[i] Then Begin min:=a[i]; minn:=i; End;

Перестановка элементов
n:=a[i];
a[i]:=a[i+1];
a[i+1]:=n;

Удаление элемента
x-номер удаляемого
элемента
For i:=1 To n Do
If (i<>x) Then
Writeln(a[i]:3);
или
FOR I:=x To n-1 Do
a[i]:=a[i+1];

Сортировка элементов
For i:=1 To n-1 Do
If a[i+1] Begin
stek:=a[i];
a[i]:=a[i+1];
a[i+1]:=stek;
i:=0;
End;

Учитывай ранг
Сдвиги меняют ранг.

Возврат на начало массива

Стандартные алгоритмы над элементами массива

Накопление произведения

Слайд 79

Количество строк равно количеству столбцов

Побочная диагональ.
Сумма индексов элементов на 1 больше размерности

Количество строк равно количеству столбцов Побочная диагональ. Сумма индексов элементов на 1
строки/столбца.

Главная диагональ i=j

Для элементов над главной диагональю i

Для элементов под главной диагональю i>j

Исходная

Преобразованная

For i:=1 to 5 do
For j:=i+1 to 5 do
Begin
N:=a [i,j];
A [i,j:=a[j,i];
A [j,i:=n;
End;

Квадратные матрицы

Слайд 80

Для генерации в программе случайных чисел используют генератор случайных чисел (ГСЧ ) —

Для генерации в программе случайных чисел используют генератор случайных чисел (ГСЧ )
функция random

Randomize — инициализация ГСЧ. Объявляется только в самом начале программы. Различают два вида random:
с целым параметром random(n) — возвращает целое случайное число из промежутка [0;n-1];
без параметра random — возвращает вещественное случайное число из промежутка[0;1].

Генератор случайных чисел (ГСЧ)

Для получения целого случайного числа из произвольного промежутка [a;b] используется формула: a+random(b-a+1).

Слайд 81

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

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

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

1. Выполните программу, которая заполняет двухмерный массив случайными числами от −10 до 20 и сортирует значения массива по возрастанию.

ЗАДАНИЕ

2. Выполните упражнение урока 25 «Какой ты за собой оставишь след, или Типизированные константы» электронного практикума.

Слайд 82

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

S := X;
X := S;

Строковый тип данных (String)

Строки

Строки — упорядоченный набор символов. S := X; X := S; Строковый
заключены в апострофы.

Строки не совместимы с целыми и вещественными типами.

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

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

Например:

Слайд 83

Delete — удаление символа из строки.
Insert — вставка строки в строку.

Delete — удаление символа из строки. Insert — вставка строки в строку.

Copy — выделение подстроки.
Concant — выполнение сцепления строк.
Pos — обнаружение первого появления в строке подстроки.
UpCasae — преобразование строчной букву в прописную.
Str — преобразование числового значения величины в строку.
Val — преобразование значения строки в величину целочисленного или вещественного типа.

Операции со строковыми переменными

Проверьте себя: Лабораторная работа

Слайд 84

Строковый тип называется String
строковая переменная может содержать не более 255 символов;

Строковый тип называется String строковая переменная может содержать не более 255 символов;

если заранее известно, что длина строковой переменной не будет превышать некоторого значения n, то её объявляют как string[n].

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


ЗАДАНИЕ

4. Обзор программ урока 27 « Шоу бегущих строк, или Этюды
об одном типе данных» электронного практикума.

1. Выполните программу вывода слова наоборот и подсчитайте количество слов в строке.
2. Создайте самостоятельно программу с использованием процедуры Str .
3. Создайте самостоятельно программу с использованием процедуры Val.

Слайд 85

ПРИМЕР РАБОТЫ ПРОГРАММЫ

ПРИМЕР РАБОТЫ ПРОГРАММЫ

Слайд 86

Компилятор Turbo Pascal поддерживает три типа файлов:

Работа с файлами

Компилятор Turbo Pascal поддерживает три типа файлов: Работа с файлами

Слайд 87

Последовательность действий при работе с файлами:

Работа с файлами

Последовательность действий при работе с файлами: Работа с файлами

Слайд 88

Для организации работы техстовыми с файлами используют процедуры:
Assign, Rewrite, Reset, Write, Read,

Для организации работы техстовыми с файлами используют процедуры: Assign, Rewrite, Reset, Write,
Close.

1. Создайте программу, которая считывала бы информацию с трёх исходных файлов, обрабатывала её и выдавала записи в результирующий файл по следующему принципу:
<имя в им.пад> <чувство/действие> <имя в вин. пад>;

ЗАДАНИЕ

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

Слайд 89

Множество — неупорядоченная совокупность неповторяющихся элементов одного типа, имеющих общее имя.

Множество — неупорядоченная совокупность неповторяющихся элементов одного типа, имеющих общее имя. =

<имя типа > = SET OF <базовый тип>

Множества

VAR
M:set of char; st:string;
BEGIN
M:=[’a’..’z’,’0’..’9’];

Синтаксис:

Например:

Слайд 90

Правила записи элементов множества


Квадратные скобки.

Любой скалярный тип, кроме типа real, word.

[1,2,3,4]
[‘a’..’z’]

Символьные

Правила записи элементов множества Квадратные скобки. Любой скалярный тип, кроме типа real,
данные заключаются в апострофы.

Можно указывать диапазон.

Число элементов
не должно превышать 255
символьных.

Множества

Слайд 91


Операции над множествами

А

B

А

B

А

B

Объединение множеств (А+В)

Пересечение множеств (А*В)

Разность множеств (А−В)

Множества

Операции над множествами А B А B А B Объединение множеств (А+В)

Слайд 92

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


1. Выполните программу: Из множества целых чисел 1...20 выделитe множество

Используемый материал: 1. Выполните программу: Из множества целых чисел 1...20 выделитe множество
чисел, делящихся на 6, на 2 и на 3 без остатка. Выведите содержимое этих множеств на экран.
2. Выполните программу: Введите строку символов, состоящую из латинских букв, цифр, пробелов. Осуществите проверку правильности введённых символов.

TYPE <имя типа > = SET OF
<элемент 1,…,элемент n>
VAR <идентификатор >:<имя типа>;

ЗАДАНИЕ

Слайд 93

Запись — это набор элементов разнородного типа. Элементы (поля) определяются именем. Доступ

Запись — это набор элементов разнородного типа. Элементы (поля) определяются именем. Доступ
к конкретному полю происходит через обращение имени записи и имени поля.

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

Записи

TYPE
< имя_записи> = record
<имя_поля>: <тип_данных>;
…..;
<имя_поля>: <тип_данных>;
end;
VAR
<имя_переменной>:< имя_записи>;

Доступ

<имя_записи>. <имя_поля>

Слайд 94


type
persona= record
name:string[20];{фамилия}
sex:boolean; {пол}
bd: date; {дата рожд.}
sb:real;

type persona= record name:string[20];{фамилия} sex:boolean; {пол} bd: date; {дата рожд.} sb:real; {средний
{средний балл}
end;
var
student: persona;

Записи

Пример: p e r s o n a

type
date= record
day:string[20]; {день}
month:real; {месяц}
year:byte; {год}
end;

Запись — это набор элементов (полей) разнородного типа.

I Тип записи
Тип — date

II Тип записи
Тип — tovar

student.name:=‘Иванов’;
student.sex:=‘м’;
student.bd.day:=23;
student.bd.month:=‘апрель’;

student — переменная записи типа — persona;

Обращение к полю через комплексное имя

Слайд 95

Доступ к конкретному полю происходит через обращение имени записи и имени поля.

Имя

Доступ к конкретному полю происходит через обращение имени записи и имени поля.
записи. Имя поля

Записи

With
(оператор присоединения)

With student do
begin
name:=‘Иванов’;
sex:=‘м’;
bd.day:=23;
bd.month:=‘апрель’;
end;

student.name:=‘Иванов’;
student.sex:=‘м’;
student.bd.day:=23;
student.bd.month:=‘апрель’;

Существуют два вида обращения:

Слайд 96

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


1. Выполните задание урока 28 «Живут студенты весело, или Записи»

Используемый материал: 1. Выполните задание урока 28 «Живут студенты весело, или Записи»
электронного практикума.

ЗАДАНИЕ

Type
< имя_записи> = record
<имя_поля>: <тип_данных>
. . . .;
<имя_поля>: <тип_данных>;
end;
Var
<имя_переменной>:< имя_записи>;

Слайд 97

Контрольный обзор по разделу

Контрольный обзор по разделу
Имя файла: PASCAL.pptx
Количество просмотров: 220
Количество скачиваний: 0