шапка1 copy

Презентация:



Advertisements
Похожие презентации
ОДНОМЕРНЫЕ МАССИВЫ. РАБОТА С ЭЛЕМЕНТАМИ СТРУКТУРИРОВАННЫЕ ТИПЫ ДАННЫХ.
Advertisements

Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Массивы Материалы к урокам по программированию. МАССИВ это УПОРЯДОЧЕННАЯ последовательность данных ОДНОГО ТИПА. Массивы относятся к структурированным.
turbo.exe основной файл среды Любой язык обладает алфавитом, синтаксисом и семантикой. В алфавит входит набор символов, использующихся в языке с помощью.
Подпрограммы 1.Принцип модульности 2.Область действия переменных 3.Параметры подпрограмм 4.Модули.
Файловый тип данных Turbo Pascal Операции для работы с файлами 11 класс.
Строки в Pascal
Программирование на Pascal. Темы Повторение. Составные логические условия Повторение. Составные логические условия Повторение. Составные логические условия.
2012 ВВЕДЕНИЕ В ОСНОВЫ ПРОГРАММИРОВАНИЯ «Я только с теми, кто стеная, ищет истину» Блез Паскаль ( ) PASCAL 1.
Организация повторений в Паскале. Найди ошибки: Program new Uses crt; Var a, b, c integer Begin clrscr Readln(a,b); C:=a*a+b*b Wreteln(c); End.
Алгоритмическая структура цикл Алгоритм циклической структуры - это алгоритм, в котором происходит многократное повторение одного и того же участка программы.
Массивы Вариант 1 Program upr1; Var s,a:real; I: integer; Begin S:=0; For I:=1 to 10 do Begin Writeln (введите очередное число'); Readln(a); S: =s+a; End;
Структурные типы данных 1.Массивы 2.Строки 3.Записи 4.Множества 5.Файлы.
Символьные и строковые переменные. Общие понятия Для того чтобы ЭВМ могла обрабатывать тексты, она должна уметь оперировать не только с числами, но и.
Основные этапы решения задач на компьютере. Первый этап – постановка задачи. На этом этапе участвует человек, хорошо представляющий предметную область.
Глава 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ Оператор присваивания Простой и составной операторы Условный оператор Оператор множественного выбора Оператор цикла с предусловием.
1 Программирование на языке Паскаль Циклы. 2 Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов.
Операторы цикла с условием 9 класс Раздел: Основы алгоритмизации и программирование на языке Pascal.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Процедуры и функции Вербицкая Ольга Владимировна, Заозерная школа 16.
Транксрипт:

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

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

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

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

Раздел 1. Знакомство с Pascal5 часов Тема 1 Интегрированная среда разработки программ на языке Pascal. Основы языка. Типы данных. Процедуры ввода и вывода. 1 час Тема 2Модули и подпрограммы.2 часа Тема 3Графический модуль.2 часа Раздел 2. Основные алгоритмические конструкции7 часов Тема 4Оператор ветвления.2 часа Тема 5Оператор повтора.2 часа Тема 6Символьный тип данных.2 часа Тема 7Графика. Анимация.1 час Раздел 3. Структурированные типы8 часов Тема 8Массивы.2 часа Тема 9Строки.1 час Тема 10Работа с файлами.2 часа Тема 11Множества и записи.2 часа Резерв 1 час 20 часов Рабочая программа КПК (Turbo Pascal) 5

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

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

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

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

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

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

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

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

Конечный набор возможных значений Выход за пределы диапазона приводит к ошибке Синтаксис: Var : ;. Целый и вещественный типы данных 14 Тип Диапазон значений byte 0…255 shortint 128…127 word 0…65535 integer 32768…32767 longint … Тип Диапазон десятичного порядка real 39…+38 single 45…+45 double 324…+308 extended 4932…+4932 comp 263+1…263 1 Резервирует место в памяти компьютера под переменные: a, x, y.

Арифметические операции: Sqr, +,, *, / Стандартные функции: Нельзя использовать с целыми типами Работа функций используется в операторе вывода. div вычисляет целую часть от частного, дробная откидывается. 10 div 3=3; 2 div 3=0; mod вычисляет остаток, полученный при делении. 11 mod 5 = 1; 14 mod 5 = 4; Операции с целыми переменными 15

Стандартные функции: Pi, Sqrt, Sin, Cos, Abs, Exp, Ln. вещественный вещественный: Frac, Int ; вещественный целый: Round, Trunc. вычисление дробной части числа Frac (5.67)=0.67 вычисление целой части числа Int (5.67)=5.0E+00 округление вещественного числа до ближайшего целого Round (5.67)=6 отбрасывание дробной части числа Trunc (5.67)=5 Арифметические операции: Sqr, +, -, *, / Операции с вещественными переменными 16

Модуль расширяет возможности программ путём введения дополнительных операторов, стандартных процедур и функций. Пример включения стандартных модулей: uses crt, dos, graph, printer. Очистка текстового экрана. Ожидание нажатия на клавишу. Подключённый модуль с именем CRT. МОДУЛЬ 1 Набор ресурсов 1 МОДУЛЬ N Набор ресурсов N … Модули: Системные Собственные Program My ; UsesМодуль1 ; Модуль2 ; ________________________ ________________________ Подключение дополнительных модулей 17

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

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

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

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

ЗначениеВыражениеРезультат 5671 Write(I,I); (вывод на экран содержимого ячейки I два раза) Write(I:6); (выводит значение I в крайние правые позиции полей шириной равной 6) Write(I+I:3); (cодержимое I удваивается, и результат выводится c 3 позиции) 624 7,154Е+2 Write(I:6:1); (6 задаёт количество позиций под всё число, включая фиксированную точку; 1 задаёт количество позиций под дробную часть числа) Write(Сумма=); (текст обрамляется апострофами) Сумма = Форматы вывода 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). 80 пикс. 25 пикс. Система координат в текстовом режиме Вывод в произвольное место экрана 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– белый

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

ПРИМЕР РАБОТЫ ПРОГРАММЫ 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

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

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

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

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

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

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

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; CloseGraph; END. Закрытие графического режима Инициализация графического режима Рисование линии. Перо переходит из точки (0,0) в точку (639, 479). 639 пикс. 479 пикс. Система координат Инициализация графика 34

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

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

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

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

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

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

Y:=0; Y:=X; Y:=2*X; Объединить в II крупных варианта. x =0 if x

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

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

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

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

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

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

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

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

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

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

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

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

54 Команда random(n) выдаёт случайное целое число из промежутка [0;n1]. Функция random(16) возвращает случайное число из промежутка длиной в 16 значений. В промежутке [9;15] содержится 15–(9–1)=7 значений; значит, нам нужна функция random(7) она вернёт значение из промежутка [0;6]. Чтобы «сдвинуть» этот промежуток до требуемого, достаточно к значению функции прибавить 9 получится random(7)+9. ЗАДАНИЕ 1. Выполните задание урока 11 «И получилась звёздная дорога, или Цикл с параметром» электронного практикума.Выполните задание урока Проверьте себя: «Случайное число из промежутка»Проверьте себя: из урока 11 электронного практикума.

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

56 Используемый материал: 1. Выполните программу вывода на экран в три столбца список чисел от 1 до N, их квадратов и кубов. Число N вводится с клавиатуры. Например, для N = 5 на экране должно быть: Выполните программу вывода строчных букв латинского алфавита в прямом и обратном порядке. Оператор цикла For : For := To Do ; параметр – целый тип (обычно,Integer ); в цикле можно использовать операторные скобки; параметр цикла увеличивается на единицу. ЗАДАНИЕ Для проверки корректности работы программы при различных входных данных проводят её тестирование, которое заключается в подборе самых разнообразных входных данных, чтобы получить все возможные (и невозможные) варианты работы программы и «выловить» неучтённые ошибки.

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

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

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

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

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

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

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

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

65 ПРИМЕР РАБОТЫ ПРОГРАММЫ пароль.exe система_счисления.exe время.exe

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

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

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

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

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

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

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

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

Массив это фиксированное количество значений одного типа. Массив объявляется в разделе Var : A = A[i] := значение; A[2] := 7; Структура одномерного массива: Доступ к массиву осуществляется через индекс: [ ] Индекс строки i Индекс столбца j Значение Индекс Переменная массива (имя массива) Структура двумерного массива: Массивы. Типы пользователя 74 {Имя} : 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] ); Одномерныe массивы 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 Список интервалов для каждой размерности массива.

Ввод с клавиатуры 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

Накопление суммы 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 (ix) 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]

Количество строк равно количеству столбцов а11а12а13а14 а21а22а23а24 а31а32а33а34 а41а42а43а44 а11а12а13а14 а21а22а23а24 а31а32а33а34 а41а42а43а44 Побочная диагональ. Сумма индексов элементов на 1 больше размерности строки/столбца. Главная диагональ i=j Для элементов над главной диагональю ij а11а12а13а14 а21а22а23а24 а31а32а33а34 а41а42а43а44 а11а21а31а41 А12а22а32А42 А13А23а33а43 а14а24а34а44 Исходная Преобразованная 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

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

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

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

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

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

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

Компилятор Turbo Pascal поддерживает три типа файлов: Текстовый определяются типом text, например: : Text; Var f:text; Типизированный для хранения однородной информации, например числовых данных одного типа. Задаются предложением: file of, например: = File Of ; Var F:file of integer; или Type Fl=file of integer; Var F:fl; Нетипизированный для хранения разнородной информации, тип которой может меняться или неизвестен. Определяются типом file, например: = File; Var F2:file; или Type Fl=file; Var F2:fl; Работа с файлами 86

Последовательность действий при работе с файлами: Работа с файлами 87 1.Объявление файловой переменной (ФП), например, текстовой: Var ( : ); 2. Ассоциация ФП с файлом: Assign (, ); 3. Открытие файла для чтения/записи: Reset(Rewrite )( ); открывает файл для чтения (записи). 4. Операции с файлом: Read (,,, …); считывает в переменные, и т. д. по одному элементу с позиции указателя; Write (,,, …); записывает в файл значения переменных, и т. д. по одному элементу с позиции указателя; EoLn(EoF) ( ); возвращает True, если достигнут конец строки (Файла); Append ( ); открывает существующий текстовый файл для добавления данных в конец файла. 5. Закрытие файла: Close ( ).

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

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

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

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

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

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

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

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

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

97 Раздел 3. Структурированные типы8 часов Тема 8Массивы2 часа Тема 9Строки1 час Тема 10Множества и записи2 часа Тема 11Работа с файлами2 часа Контрольный обзор по разделу ТЕСТ Раздел 3

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