'

PASCAL

Понравилась презентация – покажи это...





Слайд 0

2010 ВВЕДЕНИЕ В ОСНОВЫ ПРОГРАММИРОВАНИЯ «Я только с теми, кто стеная, ищет истину» Блез Паскаль (1623-1662) PASCAL


Слайд 1

Цели курса: систематизация знаний по основным разделам курса; знакомство с полиграфическими, методическими материалами Образовательного центра «Школьный университет»; обмен опытом между преподавателями. Концепция курса: знакомство с тематическим курсом «Основы алгоритмизации и программирования на языке Pascal»; поэтапное изучение всех разделов данного курса с практическим закреплением теоретической части курса; использование раздаточного материала, выполнение практических работ, тестов. ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ PASCAL 2


Слайд 2

Учебно-методическое пособие (курс 70 часов) Электронный практикум Программы, методические рекомендации: цели и задачи изучения курса; - рабочие программы; - тематический план; - содержание. Контрольно-измерительный пакет: набор контрольных работ; - ведомости оценок. Учебный материал На диске учителя Методический материал Методический комплект 3 Глава 1. Алгоритмизация Глава 2. Знакомство с Pascal Глава 3. Основные алгоритмические конструкции Глава 4. Структурированные типы данных Лекция 1. Курс «Основы алгоритмизации и программирование на языке Pascal» — новый подход


Слайд 3

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


Слайд 4

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


Слайд 5

Первый этап. Постановка задачи. Второй этап. Математическое или информационное моделирование. Третий этап. Алгоритмизация задачи. Четвёртый этап. Программирование. Пятый этап. Ввод программы и исходных данных в ЭВМ. Шестой этап. Тестирование и отладка программы. Седьмой этап. Исполнение отлаженной программы и анализ результатов. Свойства алгоритма: Понятность. Дискретность. Определённость. Результативность. Массовость. Основные этапы решения задач на ЭВМ 6 Обзор урока ЭП : Урок 4 «Независимое расследование, или Что же такое алгоритм».


Слайд 6

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


Слайд 7

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


Слайд 8

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


Слайд 9

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


Слайд 10

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


Слайд 11

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


Слайд 12

Тип данных — это характеристика идентификатора, определяющая множество значений, которые он может принимать (целые или дробные числа, строки и т. д.). Простые Структурированные Логические (boolean) Символьные (char) Перечисляемые Интервальные Строковый (string) Регулярный (array) Комбинированный (record) Множественный (set) byte, shortint, integer, word, longint real, single, double, extended, comp Файловый (file) Простые типы: одна переменная — одно значение. Структурированные типы: одна переменная — несколько значений. Типы данных 13 Целые Вещественные


Слайд 13

Конечный набор возможных значений Выход за пределы диапазона приводит к ошибке Синтаксис: Var <имя переменной>:<тип переменной>; . Целый и вещественный типы данных 14 Тип Диапазон десятичного порядка real ?39…+38 single ?45…+45 double ?324…+308 extended ?4932…+4932 comp ?263+1…263 ?1 Резервирует место в памяти компьютера под переменные: a, x, y.


Слайд 14

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


Слайд 15

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


Слайд 16

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


Слайд 17

Ввод информации с клавиатуры обеспечивает процедура ввода: Read или ReadLn. Синтаксис: Read (N1, N2, … Nn); Где N1, N2, … Nn — переменные (целые, вещественные, строковые). Read(Ln)— курсор устанавливается на следующую строку. После ввода значения, необходи-мо нажать клавишу Enter. Если переменных в операторе указано несколько, то они вводятся через пробел, либо через нажатия клавиши Enter. В переменную Х и А заносится значение, введённое с клавиатуры. Запрос данных с клавиатуры 18


Слайд 18

Через функцию ReadKey для чтения первого байта из очереди нажатий на клавишу. Через процедуру ввода Read(Ln) 3. Через оператор присваивания :=. Тип переменной должен совпадать с типом вводимых значений для этой переменной. Ввод данных с клавиатуры в текстовом режиме: Ввод данных 19 Ввод данных с клавиатуры непосредственно в программе:


Слайд 19

Для задания значения переменной необходимо воспользоваться оператором присваивания := <Переменная>:=<Значение>; В переменную (целочисленную) с именем А заносится значение 3. Синтаксис: Операторы присваивания 20


Слайд 20

«Пустой» оператор WriteLn добавляет пустую строку. Вывод информации на монитор обеспечивает процедура вывода: Write или WriteLn. Синтаксис: Write (N1, N2, … Nn); N1, N2, … Nn — переменные (целые, вещественные, строковые). WriteLn — перемещает курсор на следующую строку. Вывод информации на экран 21


Слайд 21

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


Слайд 22

Синтаксис: GotoXY(X,Y:Integer); X, Y — координата знако-места на экране. 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. Программа выводит по углам экрана символ «-» (ASCII-код 177). Вывод в произвольное место экрана 23


Слайд 23

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


Слайд 24

Синтаксические — несоблюдение правил языка, исправляются на стадии компиляции. Семантические — завися от конкретных значений переменных, возникают на стадии выполнения программы. Логические — ошибки в алгоритме: программа работает так как написана, но не так как требуется. Отладка 25 Обзор материала ЭП : Прогон и отладка Окно просмотра значений переменных компиляция программы: Run-Run; пошаговый режим отладки: F7; задание значений переменных на просмотр: Ctrl+F7.


Слайд 25

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


Слайд 26

1. Выполните программу вычисления над двумя числами x и y, используя различные функции и дополнив вывод результата через функции управления координатами и цветом. 2. Выполните программу нахождения с помощью линейного алгоритма наибольшего из двух заданных А и B. 3. Обзор материала ЭП. «Метод дихотомии». Переменные объявляются в разделе Var. Целый тип называется Integer. Вещественный тип называется Real. Операторы ввода вывода: Read(Ln), Write(Ln) . Синтаксис присвоения переменной значения: <Переменная>:=<Значение>; После каждого оператора ставится знак ; (кроме begin и последнего end). GotoXY(X,Y:Integer)— координата знако-места на экране. TextBackground(Color)— определяет цвет знако-места. TextColor(Color)— определяет цвет символов. ЗАДАНИЕ 27


Слайд 27

Функции Подпрограмма — часть программы, оформленная в виде отдельной синтаксической конструкции и снабжённая именем (самостоятельный программный блок), для решения отдельных задач. Описание процедуры: procedure<имя> (<список формальных параметров>) {раздел выполнения локальных имён} Begin {раздел выполнения операторов} End; Описание функции: function<имя> (<список формальных параметров>): тип; {раздел описания локальных имён} Begin {раздел выполняемых операторов} <Имя функции>:=<значение>; {обязательный параметр} End; Вызов процедуры: <имя >(<список фактических переменных>); Вызов функции: < оператор>:= <имя функции> (<список фактических переменных>); 1. В правой части оператора присваивания. 2. В выражении, стоящем в условии оператора разветвления. 3. В процедуре вывода, как результат работы функции. Описание подпрограмм 28 Процедуры


Слайд 28

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


Слайд 29

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


Слайд 30

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


Слайд 31

Используемый материал: Procedure <имя> <cписок входных переменных> ; Var <cписок выходных переменных >; Function <имя> <список входных переменных: тип> : тип; ЗАДАНИЕ 32 Задание 4 1. Выполните программу, которая вычисляет расстояние между тремя точками с помощью подпрограмм. 2. Проверьте себя: Задания к уроку 8. «И снова уравнение, или Подпрограммы» электронного практикума. Задание 5


Слайд 32

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


Слайд 33

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


Слайд 34

Заливка объектов 35 SetFillStyle (x,y); — устанавливает маску заливки и цвет фона. FloodFill (x,y,z); — устанавливает координаты заливки. графический модуль: Graph; инициализация графики: InitGraph; закрытие графического режима: CloseGraph. Используемый материал: Если указаны координаты внутри фигуры — заливка фигуры. Если указаны координаты вне фигуры — заливка фона.


Слайд 35

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


Слайд 36

Практическое занятие 37 Задание № 1 Задание № 11 Задание № 12 Задание № 14 Задание № 16 Проверьте себя: Задания к уроку 10 «Белокрылые лошадки, или Относительные координаты» электронного практикума. Задание № 4 Задание № 5 2. Выполните задание на выбор урока 10 электронного практикума.


Слайд 37

ТЕСТ Раздел 1 38 2 часа Графический модуль Тема 3 1 час Интегрированная среда разработки программ на языке Pascal. Основы языка. Типы данных. Процедуры ввода и вывода Тема 1 Тема 2 Раздел 1. Знакомство с Pascal 2 часа Модули и подпрограммы 5 часов Контрольный обзор по разделу Проверьте себя: Задание к уроку 6 «Посчитаем, или Типы данных» электронного практикума. Задание № 8 Задание № 5 2. Проверьте себя: Задание к уроку 8 «И снова уравнение, или Подпрограммы» электронного практикума.


Слайд 38

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


Слайд 39

Краткая форма (К. Ф.) : If <условие> then <оператор>; Полная форма (П. Ф.): If <условие> then <оператор_1> else <оператор_2>; If X<0 Then X := 1; If X>5 Then X := X - 1 Else X := X + 1; Например: После слов Then и Else можно использовать только один оператор. Перед словом Else, знак ; отсутствует. 40 Условный оператор If Условный оператор If реализует «ветвление», изменяя порядок выполнения операторов в зависимости от истинности или ложности некоторого условия.


Слайд 40

Y:=0; Y:=X; Y:=2*X; 1. Объединить в II крупных варианта. x<0 x>=0 if x<0 then y:=0 else 2. Разделить II-ой вариант на 2 группы. x<5 x>=5 П. Ф. вложенное условие П. Ф. внешнее условие Пример 1 if x<5 then y:=x else y:=2*x; 41 Вложенная структура условного оператора If


Слайд 41

1 способ 2 способ Надо помнить!!! Условный оператор можно вставить: 1. После слова else; 2. После слова then; Пример 2 Значение а,b,c — целые числа. Определить наибольшее и занести в переменную max. П. Ф. 42 Вложенная структура условного оператора If К. Ф. П. Ф. внешнее условие П.Ф. вложенное условие П.Ф. вложенное условие


Слайд 42

Операции сравнения: > — больше; < — меньше; = — равно; >= — больше или равно; <= — меньше или равно; <> — не равно. Логические операции: not — Не; and — И; or — Или. При использовании логических операций условия заключаются в скобки Мультипликативные операции: div — целая часть от деления; mod — остаток от деления. Вычислить: y = 16,5x + 9x – 12,5x , при x = [-5..-1, 1..5] Проверка условия 43


Слайд 43

Если после слов Then или Else необходимо записать несколько операторов, то их заключают в операторные скобки (составной оператор). Операторные скобки начинаются словом Begin, а заканчиваются словом End. If Z > 0 Then Begin X := 1; Y := -1; WriteLn( ‘Информация принята’ ); End Else WriteLn( ‘Ошибка’ ); Например: 44 Операторные скобки


Слайд 44

Используемый материал: 1. Выполните программу: Определите чётность либо нечётность вводимого числа функцией mod. 2. Выполните программу: Напечатайте фразу: «Мы нашли в лесу _ грибов». Согласуйте окончание слова «гриб» с введённым числом (количество грибов от 1 до 30 вводится с клавиатуры). Формы записи условного оператора: If <условие> Then <оператор>; If <условие> Then <оператор_1> Else <оператор_2>; перед Else знак ; не ставится; операции сравнения: >, <, = , <>, >= , <= ; логические операции: Not, Or, And. 45 ЗАДАНИЕ


Слайд 45

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


Слайд 46

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


Слайд 47

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


Слайд 48

Используемый материал: 1. Выполните программу «Калькулятор», которая при вводе символа с клавиатуры: «+», «?», «/», «*» выполняет соответствующие действия с двумя числами. Числа и символ операции вводятся с клавиатуры. Дайте анализ работы программы. Оператор выбора: Case <порядковая_переменная> of <значение_1> : <оператор_1> ; ……… <значение_N> : <оператор_N> ; Else <оператор_N+1> ; End; 49 ЗАДАНИЕ 2. Обзор материала урока 14 «Ти ж мене пидманула, или Оператор выбора» электронного практикума.


Слайд 49

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


Слайд 50

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


Слайд 51

For {парам} := {нач_зн} To {кон_зн} Do {оператор} ; Цикл на заданное число повторений с возрастающим или убывающим значением параметра. параметр — порядковый тип; в цикле можно использовать операторные скобки; в теле цикла нельзя менять параметр цикла; параметр цикла увеличивается на единицу; начальное значение больше конечного, иначе тело цикла игнорируется; для уменьшения параметра, to заменяется на downto. Тело цикла Замечания: 52 Цикл с параметром For


Слайд 52

Параметр цикла имеет 2 функции. FOR <пар_цик>:=S1 to S2 do Счётчик цикла Работает по формуле S1:=S1+1(I:=I+1) Переменная цикла Работает по формуле I:=S1 С шагом 1 Для изменения шага в цикле : вводят дополнительную переменную, отвечающую за изменение шага в алгоритме; изменяют значение переменной цикла, при этом учитывая: целый тип; конечное значение. 53 Цикл с параметром For


Слайд 53

54 Команда 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 электронного практикума.


Слайд 54

Внешний цикл J Начинает работу. Выполняется 10 раз. Внутренний цикл I Выполняет 10 проходов за 1 проход внешнего цикла. Выполняется 100 раз. Вывод таблицы умножения в столбец. Все операторы внутреннего цикла должны располагаться в теле внешнего. Передача управления происходит от внутреннего цикла к внешнему!!! 55 Вложенная структура циклического оператора For


Слайд 55

56 Используемый материал: 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); в цикле можно использовать операторные скобки; параметр цикла увеличивается на единицу. ЗАДАНИЕ Для проверки корректности работы программы при различных входных данных проводят её тестирование, которое заключается в подборе самых разнообразных входных данных, чтобы получить все возможные (и невозможные) варианты работы программы и «выловить» неучтённые ошибки.


Слайд 56

While {условие} do {оператор}; Цикл While сначала проверяет условие, и только если оно истинно, выполняет тело цикла. В теле кода, написанном ниже, цикл не выполнится ни разу: Можно получить бесконечный цикл. Например: x:=1; While x>1 do x:=x-1; x:=1 While x>0 do х:=х+1; 57 Цикл While («ПОКА»)


Слайд 57

Программа вывода на экран суммы чисел от a до b. Цикл работает, пока изменяющаяся переменная f не станет больше значения b. Попробуй изменить алгоритм. Можно ли обойтись без переменной F? 58 Цикл While («ПОКА»)


Слайд 58

59 Используемый материал: 1. Выполните программу, которая определяет максимальное из введённых чисел с клавиатуры (ввод чисел заканчивается числом 0). Ниже представлен рекомендуемый вид экрана: Оператор цикла While: While <условие> do <оператор>; Цикл While сначала проверяет условие, и только если оно истинно, выполняет основное тело цикла. Введите числа. Для завершения ввода введите 0. 89 15 0 Максимальное число 89. ЗАДАНИЕ


Слайд 59

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


Слайд 60

Цикл работает, пока изменяющаяся переменная f не станет больше значения b Пример программы вывода на экран суммы чисел от a до b. 61 Цикл Repeat («ДО ТЕХ ПОР»)


Слайд 61

62 Используемый материал: 1. Выполните программу «Калькулятор» (слайд 50). Применив цикл Repeat, доработайте программу самого калькулятора, где должен производиться запрос на продолжение работы или выхода из программы. Оператор цикла Repeat: Repeat <оператор> Until <условие>; Цикл Repeat сначала выполняет основное тело цикла, а затем проверяет условие, и только если оно истинно, завершает свою работу. ЗАДАНИЕ


Слайд 62

For Repeat While Выбор модели цикла, зависит лишь от удобства его использования в конкретной ситуации. Мы практически всегда можем вместо одного вида цикла воспользоваться другим. Инициализируем начальное значение. Наращиваем «счётчик цикла». 63 Анализ работы трёх циклических операторов


Слайд 63

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


Слайд 64

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


Слайд 65

Символьный тип данных — для хранения одного символа Один из 256 символов. Таблицы ASCII-кодов. Значения в апострофах. Буквы расположены подряд по алфавиту (for). 1. Программа вывода на экран малых и больших букв латинского алфавита. 2. Программа определения числового значения ASCII-кода нажатой клавиши. n:=#97; 66 Символьный тип данных (Char)


Слайд 66

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


Слайд 67

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


Слайд 68

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


Слайд 69

1. Выполните программу, способную управлять движением объекта на экране (движение паучка). Символьный тип называется Char: символы заключаются в апострофы; буквы расположены согласно алфавиту в таблице ASCII-кодов. Используемый материал: 70 ЗАДАНИЕ 2. Обзор материала урока 25 «Какой ты за собой оставишь след, или Типизированные константы» электронного практикума.


Слайд 70

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


Слайд 71

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


Слайд 72

7 часов Раздел 2. Основные алгоритмические конструкции 2 часа Оператор повтора Тема 5 Тема 7 Тема 6 Тема 4 1 час Графика. Анимация 2 часа Символьный тип данных 2 часа Оператор ветвления 73 Контрольный обзор по разделу ТЕСТ Раздел 2


Слайд 73

Массив — это фиксированное количество значений одного типа. Массив объявляется в разделе 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 Значение Индекс Переменная массива (имя массива) Структура двумерного массива: Массивы. Типы пользователя 74 {Имя} : Array [ {нач_зн} .. {кон_зн} ] of {тип} ;


Слайд 74

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


Слайд 75

{Имя} : 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; Многомерные массивы 76 Список интервалов для каждой размерности массива.


Слайд 76

Ввод с клавиатуры For i:=1 To N Do Read(A[i]) Ввод случайным образом For i:=1 To n 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; Организация ввода вывода данных в массивах 77


Слайд 77

Накопление суммы s:=0; For i:=1 To n Do s:=s+a[i]; p:=1; For i:=1 To n Do p:=p*a[i]; Нахождение 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]<a[i] Then Begin stek:=a[i]; a[i]:=a[i+1]; a[i+1]:=stek; i:=0; End; Учитывай ранг Сдвиги меняют ранг. Возврат на начало массива Стандартные алгоритмы над элементами массива 78 Накопление произведения


Слайд 78

Количество строк равно количеству столбцов Побочная диагональ. Сумма индексов элементов на 1 больше размерности строки/столбца. Главная диагональ i=j Для элементов над главной диагональю i<j Для элементов под главной диагональю 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; Квадратные матрицы 79


Слайд 79

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


Слайд 80

Используемый материал: Объявления массива: <Имя> : Array [<нач_зн> … <кон_зн>] of <тип>; Доступ к массиву: <Имя массива> [<Индекс>] ; 1. Выполните программу, которая заполняет двухмерный массив случайными числами от ?10 до 20 и сортирует значения массива по возрастанию. ЗАДАНИЕ 81 2. Выполните упражнение урока 25 «Какой ты за собой оставишь след, или Типизированные константы» электронного практикума.


Слайд 81

Строки — упорядоченный набор символов. S := X; X := S; 82 Строковый тип данных (String) Строки заключены в апострофы. Строки не совместимы с целыми и вещественными типами. { Основные операторы для строк } + { конкатенация } Length ( S ); { длина строки } X := ‘Вася’; Write( ‘В вашем имени’, Length(X), ‘букв.’); Например:


Слайд 82

Delete — удаление символа из строки. Insert — вставка строки в строку. Copy — выделение подстроки. Concant — выполнение сцепления строк. Pos — обнаружение первого появления в строке подстроки. UpCasae — преобразование строчной букву в прописную. Str — преобразование числового значения величины в строку. Val — преобразование значения строки в величину целочисленного или вещественного типа. 83 Операции со строковыми переменными Проверьте себя: Лабораторная работа


Слайд 83

Строковый тип называется String строковая переменная может содержать не более 255 символов; если заранее известно, что длина строковой переменной не будет превышать некоторого значения n, то её объявляют как string[n]. Используемый материал: ЗАДАНИЕ 84 4. Обзор программ урока 27 « Шоу бегущих строк, или Этюды об одном типе данных» электронного практикума. 1. Выполните программу вывода слова наоборот и подсчитайте количество слов в строке. 2. Создайте самостоятельно программу с использованием процедуры Str . 3. Создайте самостоятельно программу с использованием процедуры Val.


Слайд 84

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


Слайд 85

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


Слайд 86

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


Слайд 87

Для организации работы техстовыми с файлами используют процедуры: Assign, Rewrite, Reset, Write, Read, Close. 1. Создайте программу, которая считывала бы информацию с трёх исходных файлов, обрабатывала её и выдавала записи в результирующий файл по следующему принципу: <имя в им.пад> <чувство/действие> <имя в вин. пад>; ЗАДАНИЕ 88 Используемый материал:


Слайд 88

Множество — неупорядоченная совокупность неповторяющихся элементов одного типа, имеющих общее имя. <имя типа > = SET OF <базовый тип> Множества 89 VAR M:set of char; st:string; BEGIN M:=[’a’..’z’,’0’..’9’]; Синтаксис: Например:


Слайд 89

Правила записи элементов множества Квадратные скобки. Любой скалярный тип, кроме типа real, word. [1,2,3,4] [‘a’..’z’] Символьные данные заключаются в апострофы. Можно указывать диапазон. Число элементов не должно превышать 255 символьных. Множества 90


Слайд 90

Операции над множествами А B А B А B Объединение множеств (А+В) Пересечение множеств (А*В) Разность множеств (А?В) Множества 91


Слайд 91

Используемый материал: 1. Выполните программу: Из множества целых чисел 1...20 выделитe множество чисел, делящихся на 6, на 2 и на 3 без остатка. Выведите содержимое этих множеств на экран. 2. Выполните программу: Введите строку символов, состоящую из латинских букв, цифр, пробелов. Осуществите проверку правильности введённых символов. TYPE <имя типа > = SET OF <элемент 1,…,элемент n> VAR <идентификатор >:<имя типа>; ЗАДАНИЕ 92


Слайд 92

Запись — это набор элементов разнородного типа. Элементы (поля) определяются именем. Доступ к конкретному полю происходит через обращение имени записи и имени поля. Синтаксис записи Записи 93 TYPE < имя_записи> = record <имя_поля>: <тип_данных>; …..; <имя_поля>: <тип_данных>; end; VAR <имя_переменной>:< имя_записи>; Доступ <имя_записи>. <имя_поля>


Слайд 93

type persona= record name:string[20];{фамилия} sex:boolean; {пол} bd: date; {дата рожд.} sb:real; {средний балл} end; var student: persona; Записи 94 Пример: 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; Обращение к полю через комплексное имя


Слайд 94

Доступ к конкретному полю происходит через обращение имени записи и имени поля. Имя записи. Имя поля Записи 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:=‘апрель’; Существуют два вида обращения:


Слайд 95

Используемый материал: 1. Выполните задание урока 28 «Живут студенты весело, или Записи» электронного практикума. ЗАДАНИЕ 96 Type < имя_записи> = record <имя_поля>: <тип_данных> . . . .; <имя_поля>: <тип_данных>; end; Var <имя_переменной>:< имя_записи>;


Слайд 96

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


Слайд 97

Разработка проекта 98 Задание 1 к уроку 29 «Заметка на память, или Типизированные файлы» электронного практикума. Урок 30 «Графический редактор, или Работа с текстовыми файлами» электронного практикума.   Откройте любую программу с рисунком и организуйте чтение картинки из файла. Для разработки проекта выберите один из вариантов:


×

HTML:





Ссылка: