Тема:

advertisement
Управления образования города Астаны
Тема:
Обучающий семинар
Программирование на языке Turbo Pascal. Основные
базовые конструкции: линейные алгоритмы.
Подготовили:
учителя информатики
ШЛ №27
Лан Н.Ю.
Дюсенова Ж.А.
Астана, 2014 г.
Дата проведения 08.01.2014 года
Тема занятия: Программирование на языке Turbo Pascal. Основные базовые
конструкции. Линейные алгоритмы.
Презентация, флипчарты, карточки с задачами.
Материал
Создание блока решенных заданий по линейным алгоритмам.
Цель:
Задачи:
Результат
обучения:
Основные
(ключевые)
идеи:
 Расширить знания по составлению программ на языка Паскаль.
 Сформировать умения применять полученные знания для
решения и составления программ на языке программирования
Паскаль
Учителя создадут блок заданий с решениями на линейную базовую
конструкцию.
- Объяснения основ языка программирования Паскаль. Структуры
программы.
- Практическое применение полученных знаний по языку
программирования Паскаль
Ход семинара
Форма проведения Описание
время
ответственный
Разминка:
10 минут
Тренинговое упражнение «Самолетики»
Цель упражнения: создание положительной
атмосферы в группе, а также оно может
служить прекрасным способом узнать
больше друг о друге.
Оборудование: листы цветной бумаги по
числу участников, столько же ручек.
Каждый из участников записывает о себе
какой-нибудь факт на своем листе и делает
самолетики, затем запускает его в классе
другим участникам. Они пишут на
самолетики, который поймали пожелания и
свой факт. Обратно самолетики запускаются
в класс.
В конце выполнения задания каждый
участник получает самолетик на котором
читает записанные факты, а тот кто писал
признается, что это он. Во время выполнения
задания в группе царит оживление и хорошее
настроение
Лан Н.Ю.
Интерактивная
лекция
(объяснение
происходит с
использованием
презентации и
флипчартов)
Язык программирования Паскаль (см.
приложение 1)
15
Лан Н.Ю.
Типы данных (см. приложение 1)
10
Дюсенова Ж.А.
Структура программы. Линейные алгоритмы
(см. приложение 1)
15
Лан Н.Ю.
Деление на
группы:
Участники обучающего семинара делятся на
группы «по цвету самолетиков» (желтый,
красный, зеленый)
3 мин.
Групповая работа.
Рефлексия
Решение заданий на линейную базовую
конструкцию (см. приложение 1). В группе
и на компьютере
Обсуждение результатов выполненных
заданий происходит у интерактивной доски.
Спикер от каждой группы выходит к доске и
объясняет способ решения предложенных
заданий. (Все группы получили одинаковые
задания).
Обсуждение происходит по очереди. 1 пункт
задания и его решение объясняет 1 группа, 2
пункт – 2 группа и т.д. происходит разбор
всех 9 пунктов.
Рефлексия «Светофор».
Напишите на стикере следующие ответы на
вопросы
Семинар мне показался…
Я понял что…
Я бы хотел…
Если Вам было комфортно и все понятно, то
поместите стикер на зеленый сигнал
светофора.
Что-то осталось неясным, поместите на
желтый сигнал светофора. Вы ничего не
поняли, поместите стикер на красный сигнал
светофора.
37 минут
25 минут
5 минута
Лан Н.Ю.
Рекомендации: Продолжить проведение обучающего семинара по теме основные
базовые конструкции: ветвление и циклические алгоритмы.
Приложение 1. Интерактивная лекция №1
ТЕМА №1: РАБОТА В СРЕДЕ TURBO-PASCAL. ТРАНСЛЯТОР. НАБОР ТЕКСТА ПРОГРАММЫ. СПРАВОЧНАЯ СИСТЕМА.
ВЫПОЛНЕНИЕ И ОТЛАДКА ПРОГРАММЫ.
ПРОГРАММНО - ДИДАКТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ: ЭВМ типа IBM. Turbo-Pascal 5.
ЦЕЛИ И ЗАДАЧИ: Знакомство с порядковыми транслятор, компилятор, интерпретатор; со средой Turbo-Pascal; правилами набора и
корректировки текста; с порядком выполнения и отладки программы.
Транслятор, компилятор, интерпретатор.
Программы, написанные на языке программирования, в компьютере должны обязательно проходить процесс преобразования или
трансляции. Осуществляется это с помощью специальных программ (трансляторов).
Транслятор (англ, translator — переводчик) - это программа-переводчик. Она преобразует программу, написанную на одном из языков
высокого уровня, в программу, состоящую из машинных команд.
Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор
существенно различаются.
Компилятор (англ, compiler — составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант
программы на машинном языке, который затем и выполняется (файл с расширением ЕХЕ).
Интерпретатор (англ, interpreter — истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.
После того как программа откомпилирована, ни сама исходная программа, ни компилятор более не нужны. В то же время программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном запуске программы.
Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.
Turbo Pascal ориентирован либо на компиляцию, либо на интерпретацию. Для разработки и тестирования программы можно
воспользоваться интерпретатором, а затем откомпилировать отлаженную программу, чтобы повысить скорость ее выполнения.
Среда Turbo Pascal
Чтобы с большей эффективностью разрабатывать программы, нужно хорошо знать среду Turbo Pascal и уметь в ней работать.
Программы пишутся и отлаживаются в редакторе, который вызывается из файла Тurbo.exe. Тurbo.exe находится в подкаталоге BIN
каталога Pascal.
После загрузки редактора Тurbo.exe можно в рабочем поле набирать программу или корректировать ее с помощью клавиатуры или
пунктов меню. Строка главного меню расположена в верхней части экрана:
Кнопка, закрывающая окно программы.
Стрелка для увеличения размера окна
Турбо-среда предоставляет удобные средства работы с программой: ее хранение, запуск на счет, отладку и т. д. Доступ к этим
средствам осуществляется через главное меню, которое состоит из следующих опций:
Позволяет выполнять все основные операции с файлами (создавать новые, загружать имеющиеся, сохранять
File
созданные и отредактированные файлы и т.п.).
Позволяет выполнять все основные операции редактирования текста (копировать, восстанавливать, удалять
Edit
фрагменты текста, а так же восстанавливать первоначальный вариант редактируемого текста).
Search
Позволяет осуществлять поиск фрагментов текста и при необходимости производить замену найденного
фрагмента новым.
Позволяет запускать программу, находящуюся в рабочей зоне, а также при необходимости пошагово
Run
выполнять данную программу или ее часть.
Позволяет осуществить компиляцию программы, которая находится в рабочей зоне.
Compile
Содержит команды, облегчающие процесс поиска ошибок в программе (Breakpoints —точки остановки, окно
Debug
Tools
Options
Windows
Help
отладки Watch, окно используемых подпрограмм, окно регистров, окно выходных результатов и некоторые
другие).
Позволяет выполнять некоторые программы, не выходя из Среды Турбо Паскаля.
Позволяет установить необходимые для работы параметры компилятора и самой среды.
Позволяет выполнять все основные операции с окнами (открывать, закрывать, перемещать, изменять размер).
Позволяет получить имеющуюся в системе справочную информацию. Необходимое подчиненное меню
активизируется (открывается).
Войти в выбранное меню можно при помощи комбинации клавиш [Alt+клавиша первой буквы имени подчиненного меню], а также
путем последовательной активизации клавиш [F10] и клавиши первой буквы имени подчиненного меню. Выйти из подчиненного
меню можно, нажав клавишу [ESC].
Выход из Турбо-среды осуществляется нажатием Alt—X.
Удобным способом создания новых программ является модификация ранее созданных. Основной формой хранения текста программы
являются файлы — поименованная область внешней памяти. Для этого необходимо научиться записывать программы в файлы, читать из
файлов и т. д. Для этого необходимо пользоваться опциями подменю File:
New
Новый файл
Очищает память редактора и переводит его в режим создания нового файла. Вновь
создаваемому файлу присваивается имя NONAME.PAS, которое можно изменить при
записи файла на диск.
Open
F3 Читать файл
На экране появится окно со списком файлов. В нем можно выбрать необходимый файл,
который загружается в память редактора Турбо-Паскаль и таким образом делает его
доступным для возможных изменений, а также прогона или отладки программы.
Save
F2 Сохранить файл
Переписывает файл из памяти редактора на диск. Файл записывается под своим
именем, однако, если к этому моменту имя файла было NONAME.PAS, среда запросит,
хотите ли Вы его переименовать. Опцию можно вызвать из режима редактирования с
помощью клавиши F2.
Save as
Сохранить с новым
именем
Переименовывает редактируемый файл и записывает его на диск под новым именем.
Save all
Сохранить все в окнах
Записывает содержимое всех окон редактора в соответствующие дисковые файлы.
Change dir
Смена каталога
Позволяет изменить установленный по умолчанию диск и/или каталог.
(см. рис. ниже)
Print/Print
setup...
Печать файла
Позволяет напечатать файл на принтере.
DOS shell
Выход в DOS
Позволяет временно выйти из Турбо-Паскаля без выгрузки его из памяти. После такого
выхода вы получаете доступ ко всем командам операционной системы DOS. Для
возврата в Турбо-Паскаль достаточно ввести команду EXIT, и экран тотчас же окажется
в том состоянии, которое было перед вызовом этой опции.
Exit
Alt-X Выход
Осуществляет выход из Турбо-Паскаля и выгрузку его из памяти. Эту опцию можно
вызвать непосредственно из режима редактирования с помощью комбинации ALT-X.
Набор текста программы
Перед началом набора программ в редакторе Турбо Паскаль необходимо провести установку (или проверку) опций конфигурации
редактора:
 войти в меню Option;
 открыть дополнительное меню Environment;
 проверить установки в окне Preferences:
Для набора текста программы требуется открыть рабочее окно (новое или с уже набранной программой).
Максимальная длина строки редактора составляет 249 символов. Вы получите сигнал, если попытаетесь печатать больше. Однако
компилятор будет обнаруживать только до 126 символов. Ширина окна редактора-77 колонок. Если вы напечатали последнюю 77 колонку, то
введённый Вами ранее текст по мере печати будет сдвигаться влево.
Набирая текст программы, рекомендуется делать отступы, выделяя отдельные операторы или их части. Эти отступы облегчают
чтение текста и поиск ошибок.
Набор каждой строки программы завершается нажатием клавиши Enter.
При наборе текста программы полезно пользоваться следующими «горячими» клавишами:
Ins (Ctrl+V)
Del
BackSpase
Home/ End
PgUp/PgDn (Ctrl+R/C)
Ctrl+PgUp/PgDn
Ctrl+ Home/ End
Left/ Right
Ctrl+ Left/ Right
Ctrl+W/Z
Shift+Left/ Right
Shift +Up/Dn
Ctrl+Y
Alt+ BackSpase
Ctrl+T
Ctrl+Q+Y
Ctrl+N
Ctrl+Ins
Shift+Ins
Shift+ Del
Ctrl+ Del
F5/F6
Alt+ F3
F5
Ctrl-F2
Ctrl+F8
изменение режима «Вставка/Замена»
удаление символа над курсором
удаление символа перед курсором
перенос курсора в начало/конец текущей строки
перенос курсора на предыдущую/следующую страницу файла (программы)
перенос курсора в начало/конец файла
перенос курсора в начало/конец экрана
перенос курсора на один символ влево/вправо
перенос курсора на одно слово влево/вправо
экран сдвигается вверх/вниз по тексту (при этом курсор неподвижен)
выделение символов слева/справа от текущего символа
выделение строк вниз/вверх от текущей строки
удаление текущей строки
восстановление удаленной информации
удаление слова справа от курсора
удаление части строки от курсора до конца строки
вставка строки
копирование выделенного блока в буфер обмена
вставка информации из буфера обмена
перенос выделенного блока в буфер обмена (удаление с сохранением в памяти)
полное удаление выделенного блока
перемещение по открытым окнам с программами
закрытие текущего окна
развернуть окно на весь экран
удаление голубой полосы
удаление красной полосы
Выполнение программы
Турбо-Паскаль позволяет выводить на экран несколько окон с программами одновременно. Выполнять можно программу, которая
находится в активном (текущем) окне. Признак активного окна — двойная рамка вокруг него.
Для выполнения программы надо выйти в меню и в пункте Run выполнить команду Run (или одновременно нажать клавиши Ctrl +
F9), при этом опция
Destination из меню Options/Compiler должна быть Memory. Система сначала запускает транслятор
(интерпретатор), который переводит программу с Паскаля на язык машинных кодов и ищет синтаксические ошибки в программе. Если
ошибки найдены, то программа не будет выполняться, произойдет возврат в редактор. Поверх текста программы появляется красная
строка с сообщением об ошибке. После нажатия Esc окно исчезает, курсор устанавливается в строку с ошибкой. Для получения
информации об ошибке надо нажать Ctrl+F1.
Когда все ошибки исправлены, программа начинает выполняться. Просмотреть результаты работы можно, нажав Alt+F5 (выводится
окно пользователя). Возврат обратно в окно редактора – нажатие любой клавиши.
Прерывание работы «зацикленной» программы - Ctrl +Break.
Отлаженную программу компилируют следующим образом:
 Зайти в меню Compiler;
 Установить в области Destination значение Dick;
 Компиляция без запуска программы - Alt+F9;
 Компиляция с одновременным запуском программы на выполнение - Ctrl + F9.
Работа со справочной системой Турбо-Среды
Если Вы забыли, как точно пишется имя процедуры и какие аргументы ей требуются, то справочная система может Вам помочь. Ее
можно вызвать, нажав клавишу F1. Эта справка является контекстно-зависимой, то есть можно получать информацию о текущем объекте.
Передвигая курсор по тексту справки, выбирая те или иные отмеченные элементы и нажимая затем клавишу Enter, можно получить более
подробную информацию.
Если курсор не находится на зарезервированном слове и транслятор ошибок не обнаружил, то нажатие комбинации клавиш Ctrl+Fl
приводит к выдаче предметного указателя справок (зарезервированных слов, операторов и функций, и т.д.).
Двойное нажатие на Fl приводит к вызову меню доступных справок. Это меню построено по иерархическому принципу. Передвижение по
нему вверх производится клавишами Alt+F1.




В Турбо Паскале имеется возможность переноса текста из справки в редактируемый текст:
выделяем фрагмент справки стрелками, удерживая клавишу Shift;
отмеченный фрагмент комбинацией Ctrl+Ins;
переходим в редактор клавишами Alt+l (номер окна);
копируем фрагмент на место - Shift+Ins.
Справочная система разбита на несколько подразделов, список которых можно увидеть в меню Help:
Contents
вызывает экран содержимого справочника Borland Pascal Help
Index
Topic search
Previous topic
Using help
Files…
Compiler directives
Reserved words
Standart units
Turbo Pascal language
Error message
About…
выводит список ключевых слов, по которым имеется информация в справочной системе
(Shift+F1)
выводит справочную информацию о термине, на котором расположен курсор (Ctrl+F1)
выводит содержимое предыдущего окна информационной помощи (Alt+F1)
выводит справочные сведения о системе контекстной помощи
позволяет подключить к системе Help другие справочные файлы
выводит список директив компилятора
выводит список зарезервированных слов
выводит список стандартных модулей
выводит список основных элементов ТП 7.0
выводит справочную информацию об ошибках
выводит справочную информацию о самом пакете ТП 7.0.
Отладка программы
Турбо-Паскаль может обнаружить ошибки на этапе компиляции и при выполнении программы. В первом случае это синтаксические
ошибки типа пропущенной точки с запятой, скобки или написанного с ошибкой служебного слова. На стадии выполнения
обнаруживаются такие ошибки, как попытка деления на 0 или извлечения квадратного корня из отрицательного числа. Однако вы можете
допустить ошибки, которые Турбо-Паскаль не обнаружит. (Например, если при вычислении y=X2, было написано y:=sqrt(x)).
Каждое из окон, с которыми вы работаете, занимает всю площадь экрана. Часто бывает полезно уменьшить размеры окон и вывести их
на экран одновременно. Изменение размера окна производится мышью. Указатель мыши устанавливаете на правый нижний угол окна,
нажимаете левую клавишу и, не отпуская клавишу, перетаскиваете угол окна в нужное положение. Все окно целиком можно переместить
по экрану, перетаскивая его таким же образом за верхнюю строку. В любой момент вы сможете развернуть окно на весь экран, нажав
клавишу F5, и таким же образом придать ему первоначальный размер. Прокручивать текст в окне можно при помощи полос прокрутки на
правой и нижней стороне окна. Удаляется окно клавишами Alt+F3 или щелчком мыши по кнопке в левом верхнем углу окна.
Перейти из одного окна в другое можно, щелкнув мышью в нужном окне или нажав на клавишу F6.
Для отладки программ Турбо-Паскаль предлагает ряд средств: пошаговый режим выполнения программы (меню Run-Step Over
или клавиша F8), трассировка программы (меню Run-Trace into или клавиша F7). После компиляции программы Турбо-Паскаль
остановится перед началом выполнения программы, а строку BEGIN выделит голубой полосой. Для следующего шага вновь нажмите на
F8/ F7. Каждый раз выполняется очередная строка программы и выделяется строка, которая будет исполняться далее.
Отличие этих режимов в том, что при пошаговом выполнение, подпрограммы выполняются как один оператор, а при трассировке –
подпрограммы так же выполняются по шагам.
В любой момент пошагового выполнения программы вы можете вместо F8/ F7 выбрать Run-Run (клавиши Ctrl+F9) и программа
продолжит выполняться в обычном режиме. Чтобы прервать пошаговый режим (убрать голубую закраску строки), выберите RunProgram reset (клавиши Ctrl-F2).
При пошаговом выполнении программы возникает необходимость следить, как изменяются в процессе выполнения программы
значения тех или иных переменных. Для этого Турбо-Паскаль предлагает окна — окно наблюдений (меню Debug-Watch) и окно
пользователя (меню Debug-Output). Чтобы было удобно работать, лучше измените размеры окон и расположить их все на экране.
В окне наблюдений можно задать имена тех переменных, за изменением которыми требуется проследить (меню Debug-Add watch
или клавиши Ctrl-F7). В диалоговом окне вводится имя переменной, если переменных несколько, процедура повторяется.
При отладке в пошаговом режиме удобно пользоваться точками прерывания (Breakpoints). До этой точки (строки программы)
можно выполнять программу в обычном режиме (через Ctrl-F9), а дальше в пошаговом (через F7). Устанавливаются точки прерывания
нажатием Ctrl+F8, когда курсор стоит на выбранной строке (строка заливается красным цветом). Убираются они так же через Ctrl+F8.
Еще один способ указать Турбо-Паскалю место прерывания выполнения программы — Run-Go to cursor (Иди до курсора). Нужно
установить курсор в нужную строку и нажать F4. Программа будет выполняться до этой строки. Можно комбинировать различные
способы выполнения программы — Ctrl-F9, F7 и F4.
Кроме того, можно использовать для отладки не системные средства, а включают в программу дополнительные операторы Write и
ReadLn. Когда программа будет отлажена, эти дополнительные операторы убирают.
ЗАМЕЧАНИЕ. Прежде чем проводить пошаговую отладку программы или трассировку, необходимо убедиться, что опция
Options/Debugger/Integrated активизирована
1. Основные понятия:
Язык Т. Паскаль разработан в 1968 – 71 гг. Никлаусом Виртом, профессором швейцарского университета.
алфавит Turbo Pascal:
 латинские буквы от A до Z
 арабские цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
 знаки препинания . , : ; ..
 знаки арифметических операций + – * /
 знаки логических операций > < = >= <= <>
 специальные символы ( ) { } [ ] ' := (* *)

основные элементы Паскаля:
Идентификатор – последовательность латинских букв, арабских цифр, знаков подчёркивания. Начинается с латинской буквы. Длина до
127 символов. Используется в качестве имён переменных, меток, программ и подпрограмм. Нельзя в качестве идентификаторов
использовать зарезервированные слова.
Зарезервированные слова – слова, используемые в операторах, названиях операций, функций и т. п. Всего их около 80. Например,
begin, sin, while.
Константы – постоянные величины. Встречаются числовые (например, 2345, -67, 34.77) и текстовые константы (например, 'const',
'константа'). В числовых константах вместо запятой используется точка. В текстовых константах возможно использование кириллицы.
Текстовые константы заключаются в апострофы.
Переменные – это идентификаторы (имена), используемые для обозначения исходных данных и результатов вычислений. Переменные
в ходе выполнения программы могут менять значения (например, A, A1, X21,Z).
Выражение – последовательность переменных и числовых констант, объединённых знаками арифметических (арифметическое
выражение, например, Pi*r+1/2.5, Х/5 + 2.5 0) или арифметических и логических операций (логические выражения, например, Х + 2.5 = 0,
x+1>=12). Выражения всегда записываются в строчку, указывая все арифметические операции, включая знак умножения (например,
математическое выражение
x y
 3 x2  y2
2,5
записывается – (X+Y)/2.5-3*Sqrt(X*X-Y*Y)). Математическое уравнение y= –3x3 +
0,475x – 45,5 записывается – y:=–3*x*x*x+0.475*x–45.5;)
Комментарии – это пояснения, вставляемые в текст программы. Комментарий - любой текст, заключённый в { } или (* *).
Комментарии не выполняются программой.
Оператор – это инструкция, которую должен выполнить Turbo Pascal. Программа состоит из последовательности операторов.
Операторы. Исполняемые операторы должны заканчиваться – ; Существует несколько типов операторов:
Оператор присваивания – это последовательность из переменной, знака присваивания ( := ) и арифметического выражения. Например,
x:=x+1;
Структурный оператор – это оператор, состоящий из нескольких зарезервированных слов и логических проверок. К ним относятся
операторы циклов и условные операторы.
Нестандартные операторы – это подпрограммы, оформленные стандартным образом и записанные в библиотеки (модули).
Вызываются при указании имени и параметров.
Составной оператор – это группа операторов, заключённая между begin … end;
Begin
Оператор 1; Оператор 2; … Оператор n;
End;
Пустой оператор – оператор Begin End;, не выполняющий никакого действия.
3.
Встроенные стандартные математические функции, используемые в Turbo Pascal.
Используются в арифметических выражениях.
Функция
Abs(x)
Вычисление абсолютного значения x
sqr(x)
Вычисление квадрата x
sqrt(x)
Вычисление квадратного корня из x
sin(x)
Вычисление синуса x
cos(x)
Вычисление косинуса x
arctan(x)
exp(x)
Вычисление арктангенса x
Вычисление экспоненты (числа e=2,71828…) в степени
x
ln(x)
Вычисление натурального логарифма x
log(x)
Вычисление десятичного логарифма x
Pi
4.
Назначение
Тип
аргумента
вещественный
целый
вещественный
целый
вещественный
целый
вещественный
целый
вещественный
целый
вещественный
целый
вещественный
целый
вещественный
целый
вещественный
целый
вещественный
целый
вещественный
целый
вещественный
вещественный
вещественный
вещественный
вещественный
вещественный
вещественный
вещественный
вещественный
вещественный
вещественный
вещественный
вещественный
вещественный
нет
вещественный
Число 
Структура программы:
Раздел описаний
Заголовок программы (необязателен)
Список используемых модулей
Метки
Константы
Типы
Переменные
Процедуры
Функции
Program <имя>;
Uses ...;
Label ...;
Const ...;
Type ...;
Var ...;
Procedure ...;
Function ...;
Begin
Раздел операторов
<Операторы программы>
End.
5. Переменные. Описание переменных.
Все переменные должны быть описаны с указанием типа:
Тип функции
Var a, b : integer ; f, d, c : read ;
Тип переменных указывается после списка переменных через двоеточие (: ).
Числовые переменные можно описать по-разному, в зависимости от вида (целые, вещественные) и значности чисел:
Byte
Word
ShortInt
Integer
Longint
Single
Real
Double
Extended
Целый тип
0…255
0 ... 65535
-128…127
-32768 ...32767
-2147483648 ... 2147483647
Вещественный тип
7-8 значащих цифр
-1.510-45 ... 3.410-48
11-12 значащих цифр -2.910-39 ... 2.910-38
15-16 значащих цифр -5.010-324 ... 1.710-308
19-20 значащих цифр -1.910-4951 ... 1.910-4932
1 байт без знака
2 байт без знака
1 байт со знаком
2 байт со знаком
4байт со знаком
4 байт
6 байт
8 байт
10 байт
6. Простейшие операторы работы в текстовом режиме.
Имеется два режима работы - графический и символьный. При работе в символьном режиме экран содержит 24 строки по 80 символов.
Начало отсчета - левый верхний угол экрана. Возможно использовать различные цвета, задаваемые названием цвета (например, blue, red)
или цифрами от 0 до 15. Цвета от 0 до 7 - основные, следующие весемь цветов - аналогичны предыдущим, но с большей интенсивностью
(яркостью):
Номер-Цвет
Константа модуля Crt
Номер-Цвет
Константа модуля Crt
0 – чёрный
Black
8 – темно-серый
DarkGray
1 – синий
Blue
9 – светло-синий
LightBlue
2 – зелёный
Green
10 – светло-зелёный
LightGreen
3 – морской волны
Cyan
11 – светлый морской волны
LightCyan
4 – красный
Red
12 – светло-красный
LightRed
5 – фиолетовый
Magenta
13 – светло-фиолетовый
LightMagenta
6 – коричневый
Brown
14 – жёлтый
Yellow
7 – светло-серый
LightGray
15 – белый
White

Нестандартный оператор очистки экрана:
Clrscr;
Оператор требует подключения (Uses crt;) модуля crt, например:
Uses crt;
Begin
Clrscr; … End.

Нестандартный оператор перемещения текстового курсора в заданный символ x строки y: gotoxy(x,y);

Нестандартные оператор изменения фона экрана (цвет фона):
Textbackground(...);
Чтобы очистился весь экран, после оператора textbackground должен следовать оператор clrscr. В противном случае фон меняется только под
текущей строкой.

Нестандартные оператор изменения цвета переднего плана (цвет букв):
Textcolor(...);
Например,
Uses crt;
Begin
Textbackground (yellow); clrscr; … Textcolor(blue); … End.
7. Операторы ВВОДА данных в переменные с клавиатуры:
Read (<список переменных>);
Readln (<список переменных>);
Операторы являются нестандартными, находятся в модуле Sistem, не требующем специального подключения.
При переходе к выполнению этих операторов программа ожидает ввода данных и нажатия клавиши Enter.
Данные, вводимые в разные переменные, разделяются пробелом. Отличия операторов заключаются в том, что второй оператор после
ввода информации (выполнения оператора) переводит курсор на следующую строку, а первый оператор - нет.
Пример записи оператора - Readln(k,t,e);
Оператор Readln; без списка переменных используется для задержки информации на экране до нажатия на клавишу Enter и ставится в
конце программы.
8. Операторы ВЫВОДА текстовой информации на экран :
Write(<список переменных, констант и арифметических выражений>);
Writeln(<список переменных, констант и арифметических выражений>);
Операторы являются нестандартными, находятся в модуле Sistem, не требующем специального подключения.
Например, Write(2+У, Х);Writeln (‘A=’, а);Write(а, с);
Отличия операторов заключаются в том, что второй оператор после вывода информации переводит курсор на следующую строку, а
первый оператор - нет.
Переменные типа Real рекомендуется выводить в форматированном виде.
Форматированный вывод - вывод информации с указанием размерности, т.е. после переменной через двоеточие указывается количество
символов под все число, а затем, для вещественных переменных, снова через двоеточие число десятичных знаков.
Например: Write(а:5:2,с:6:3); - под а отводится 5 символов, включая точку, знак числа и два десятичных знака величины числа. Знак «+»
перед числом при выводе будет опущен. Если в а находится число 2,5678, то выведется на экран: _2.56
9. Оператор ожидания нажатия на клавишу.
Readkey;
Используется для задержки изображения на экране до нажатия на клавишу (Enter). Можно ставить в конце программы, перед end.
10. Целочисленные арифметические операции:
Операция
Назначение
Пример записи
Тип используемых
переменных
Тип результата
div
Вычисление частного при делении a на b
C:=a div b;
целый
целый
mod
Вычисление остатка от деления a на b
D:=a mod b;
целый
целый
Например, Y := 25 div 3; (переменной Y присваивается 8), Y := - 25 div 4; (переменной Y присваивается -6),
Y := 13 mod 3; (переменной Y присваивается 1), Y := 13 mod 4; (переменной У присваивается 1).
10. Функции, преобразования числовых переменных:
Функция
trunc(x)
int(x)
Назначение
Нахождение целой части x (дробная часть числа отбрасывается)
Округление вещественного числа x по направлению к нулю
round(x)
Округление x в сторону ближайшего целого по математическим
правилам
Frac(x)
Вычисление дробной части числа Х
Тип аргумента
Тип функции
вещественный
целый
целый
вещественный
вещественный
вещественный целый
целый
целый
вещественный
вещественный
Примеры:
Y := trunc(13.999); (переменной Y присваивается 13), Y := trunc(13.111); (переменной Y присваивается 13),
Y := round(3.145); (переменной Y присваивается 3), Y := round(23.5); (переменной Y присваивается 24), Y := round(-12.5); (переменной Y
присваивается -13).
Y := int(2.7) (переменной Y присваивается 2), Y := int(-32.3) (переменной Y присваивается -32).
11. Получение случайных чисел.
 Random – получение (генерация) случайных чисел в диапазоне от 0 до 1. Например, Y := random; (переменной Y присваивается
значение равное числу из промежутка от 0 до 1, возможно 0.45678).
 Random(X) - Получение случайных целых чисел в диапазоне от 0 до (Х-1). Аргумент Х - целое. Например, Y :=Random(39);
(переменной Y присваивается значение равное числу из промежутка от 0 до 38).
 Randomize - Формирование базы случайных чисел, на основе временного таймера ПК. Обеспечивает генерацию неповторяющихся
последовательностей случайных чисел. Используется, чтобы получать разные случайные числа при каждом запуске программы.
Должен стоять в программе до первого использования функции Random.
Генерация случайных чисел (А)
Что требуется получить
Дано
Оператор
Результат (А)
Любое число от 0 до 90
Аргумент - 91
Любое число от 0 до 90,
А : = Random(91);
например 62.
Двухзначные
целые Числа от 10 до 99, всего: 99- А : = Random(90)+10;
Любое число от 10 до 99,
положительные числа
10+1=90 (числа).
например 12.
Двухзначные целые
Числа 10, 12, 14, … до 98, А : = Random(45)*2+10;
Получаются число от 0 до 44,
положительные четные числа
всего чисел
умножаются
на
2
и
(98-10)/2+1=88/2+1=45.
увеличиваются на 10.
Например, 56
Числа в заданном промежутке N - начало промежутка, M - А : = Random
Сгенерируем случайное число
с заданным шагом.
конец промежутка, шаг - К.
в промежутке от 0 до (N – M)
(((N–M) div K)+1)*К+N;
div k. Умножаем на К и
прибавляем N.
Примеры заданий, предлагаемые для решения участникам семинара:
№
№
1.
2.
3.
4.
Задания для участников семинара
Объявите переменные, необходимых для
вычисления значения функции y=x2.
Объявите переменные, необходимые для
вычисления площади кольца.
Запишите на языке Паскаль
Y=-2,7x3+0,23x2-1,4
Написать программу вывода значений переменных
a,b,c. Значение каждой переменной – на отдельной
строке и начинается с имени переменной, затем
знак =, затем значение.
Объявите переменные и напишите программу для
вычисления стоимости покупки нескольких
тетрадей и карандашей.
Решение
Var x:real, y:real;
Var r1,r2,s:real;
Y:=-2.7*x*x*x+0.23*x*x-1.4
Uses crt;
Var a,b,c:integer;
Begin
A:=5; b:=6; c:=7;
Writeln(‘a=’,a); Writeln(‘b=’,b); Writeln(‘c=’,c);
Readkey; end.
Uses crt;
Var koltet, sttet, kolkar,stkar,obst:integer;
Begin
Writeln(‘Введите колтетрадей’);
5.
6.
7.
8.
9.
Readln(koltet); … obst:=koltet*sttet+kolkar*stkar; writeln(‘obst=’, obst);
Readkey; end.
Написать программу вычисления величины дохода
Uses crt;
по вкладу. Процентная ставка (в процентах
Var sum,srok,stavka,dohod:real;
годовых) и время хранения (в днях) задаются во
Begin
время работы программы.
Readln(sum);
Readln(stavka);
Readln(srok);
Dohod:=((sum*(stavka/100))/36)*srok;
Sum:=sum+dohod;
Writeln(sum:9:2,’руб’);
Readkey; end.
Написать программу вычисления величины Uses crt;
стоимости поездки на дачу. Расстояние, расход Var …
бензина на 100 км. и цена бензина может Begin Clrscr;
задаваться
с
клавиатуры
или
задаваться Writeln(’ … ’); Readln( … ); …
случайными числами.
Readkey; end.
Найти остаток от деления и округленный результат Uses crt;
деления двух целых чисел, заданных с клавиатуры
Var a,b,c,d:integer;
Begin Clrscr;
Writeln(‘Введите два целых числа’); Readln(a,b);
с:= a div b; d:= a mod b;
Writeln(‘округленный результат - ’, c ); Writeln(‘остаток от деления - ’,d);
Readln; end.
Преобразовать вещественное число в денежный Uses crt;
формат. Пример, 24.5 – 24 тенге 50 тиын
Var a: real; b,c: integer;
Begin Clrscr;
Writeln(‘Введите вещественное число’); Readln(a);
b:= trunc(a); c:= round((a-b)*100);
Writeln;
Writeln(b:4,' тенге', c:6,’тиын’);
Readkey; end.
Сгенерировать случайные числа:
Uses crt;
1) целое в интервале от 0 до 67;
Var a…
2) целое двухзначное;
Begin Clrscr;
3) вещественное с двумя целыми знаками;
Randomize;
4) целое из ряда 60, 70, 80, 90, …, 150;
a:=random(68-); Writeln(‘1 -’, a);
5) вещественное из ряда -1.5, -1.3, -1.1, …, 0.7, 0.9.
a:=random(90)+10; Writeln(‘2 -’, a);
a:=random; b:=b*100; Writeln(‘3 -’, b);
a:=random(10)*10+60; Writeln(‘4 -’, a);
a:=random(round((0.9-(-1.5))/0.2+1))*0.2-1.5;
… Readkey; end.
Управления образования города Астаны
Обучающий семинар
Тема: Программирование на языке Turbo Pascal. Основные
базовые конструкции: разветвляющиеся алгоритмы.
Подготовила:
учитель информатики
ШЛ №27
Лан Н.Ю.
Астана, 2014 г.
Дата проведения: 16.01.2014 год
Тема занятия:
Материал
Цель:
Задачи:
Результат
обучения:
Основные
(ключевые)
идеи:
Форма
проведения
Разминка:
Интерактивная
лекция
Разминка,
деление на
группы
Групповая
Программирование на языке Turbo Pascal. Основные базовые
конструкции. Разветвляющиеся алгоритмы.
Презентация, карточки с задачами.
Создание блока решенных задач по теме разветвляющиеся
алгоритмы.
 Расширить знания по составлению программ на языка Паскаль.
 Сформировать умения применять полученные знания, для
решения и составления программ на языке программирования
Паскаль. Рационально применять операторы условного и
безусловного переходов.
Учителя создадут блок задач с решениями на разветвляющую
базовую конструкцию.
- Объяснение основ составления программ на разветвляющиеся
алгоритмы. Рациональное применение операторов условного и
безусловного переходов.
- Практическое применение полученных знаний при составлении
разветвляющихся алгоритмов на языке программирования Паскаль.
Описание
Время
5 минут
Тренинговое упражнение «ЗНАКОМСТВО»
Начните, пожалуйста, ходить по комнате и здороваться с каждым за
руку. При этом вы говорите простые слова: «Привет!», и называете
свое имя, как бы представляясь. «Как твои дела?» Говорите только
эти простые слова и больше ничего. Но в этой игре есть одно простое
правило: здороваясь с кем-то из участников, вы можете освободить
руку только после того, как другой рукой вы начнете здороваться
еще с кем-то. Иными словами, вы должны непрерывно быть в
контакте с кем-либо из группы.
Язык программирования Паскаль:
45 минут
Ветвление.
Операторы условного и безусловного перехода. Составления и
разбор нескольких задач с использованием операторов условного и
безусловного переходов (см. Приложение 1)
Игра животные Игра «КОРОВЫ, СОБАКИ, КОШКИ»
10 минут
Ведущий. Пожалуйста, встаньте широким кругом. Я подойду
к каждому из вас и шепотом скажу на ушко название какого-нибудь
животного. Запомните его хорошенько, так как потом вам надо будет
стать этим животным. Никому не проговоритесь о том, что я вам
нашептала. По очереди шепчите участникам на ухо: «Ты будешь
коровой», «Ты будешь собакой», «Ты будешь кошкой». Теперь
закройте глаза. Забудьте на время человеческий язык. Через минуту я
попрошу вас «заговорить» так, как «говорит» ваше животное. Вам
надо, не открывая глаз, объединиться в группы со всеми теми
животными, которые «говорят» так же, как вы. Вы можете ходить по
комнате и, услышав свое животное, двигаться ему навстречу. Затем,
взявшись за руки, вы идете уже вдвоем и вместе издаете звук этого
животного, чтобы найти других участников, «говорящих» на вашем
языке. Готовы? Все закрыли глаза? Навострите ушки и слушайте
звуки, издаваемые коровой, собакой и кошкой... Начали!
Садитесь пожалуйста по группам.
Решение задач на разветвляющуюся базовую конструкцию. Каждая 30
команда решает указанные задачи (см. Приложении 1) и проверят их
работа.
Рефлексия
на компьютерах. Затем составленные программы оформляются на
кластере.
Защита кластера группами осуществляется в виде движущихся
групп, команды двигаются по часовой стрелки, при этом спикер
остается на месте объясняя решение задач пришедшим группам.
Для объяснения материала спикеру дается 8 минут
Рефлексия «Оцени себя».
Участникам семинара даются стикеры, в которых нужно написать
фразы, характеризующие свою работу на семинаре по трем
направлениям.
Мне на семинаре было
1. интересно
2. скучно
3.безразлично
Чтобы я хотел бы еще узнать
Я на семинаре
1. работал
2. отдыхал
3.помогал другим
24
6 минута
Итог
1. понял материал
2. узнал больше, чем знал
3. не понял
Стакеры прикрепляются на дерево рефлексии
Рекомендации: Продолжить обучающий семинар, в котором рассмотреть решения
задач на циклические алгоритмы
Приложение 1.
Интерактивная лекция №2
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ TURBO-PASCAL. ПРОРЯДКОВЫЕ ТИПЫ ДАННЫХ. ВЕТВЛЕНИЕ. ОПЕРАТОРЫ
УСЛОВНОГО И БЕЗУСЛОВНОГО ПЕРЕХОДА. СОСТАВЛЕНИЕ ПРОГРАММ С ИСПОЛЬЗОВАНИЕ
ВЕТВЛЕНИЯ И ПЕРЕХОДОВ.
ЦЕЛИ И ЗАДАЧИ: Знакомство с порядковыми типами данных и основными операторами ветвления языка Turbo-Pascal. Выработка
навыков работы в Turbo-Pascal. Решение практических задач с использованием операторов ветвления.
1. Порядковые типы переменных (дополнительные сведения)
Кроме числовых переменных возможно использование символьных, логических и простых типов переменных, определяемых
программистом, перечисляемых и интервальных (тип – диапазон).
Символьные переменные описываются как CHAR и представляют собой тип данных, предназначенный для хранения одного символа
(буква, знак, код). Переменная типа CHAR занимает один байт.
Логические переменные (тип Boolean) – это переменные, которые могут принимать только два значения истина - true (1) или ложь - false
(0). Используются такие переменные для хранения результатов логических вычислений. Для булевых переменных разрешены только
операции сравнения:
Логическая операция
Наименование
=
Равно
<>
Неравно
And
Логическое И (логическое умножение, конъюнкция)
Or
Логическое ИЛИ (логическое сложение, дизъюнкция)
Xor
Логическое исключающее ИЛИ (результат тогда 1, когда на входе все нули)
Not
Логическое НЕ
Тип переменной
Символьные переменные
Логический тип
Условный оператор (выбор одного из двух направлений)
В разветвляющихся вычислительных процессах отдельные этапы вычислений выполняются не всегда в одном и том же порядке, а в
зависимости от некоторых условий выбираются для исполнения различные их последовательности.
2.
if <условие> then <оператор 1> [ else <оператор 2> ];
если
тогда
иначе
Условие – логическое выражение, которое может быть истинным или ложным.
оператор 1, оператор 2 – какой либо оператор, в том числе и составной оператор, т.е. несколько операторов, объединенных операторными
скобками begin end.
Часть конструкции, заключенная в квадратные скобки может отсутствовать.
Принцип работы оператора:
 проверяется условие
 если условие истинно (верно), то выполняется оператор 1
 если условие ложно (неверно), то выполняется оператор 2
 если else <оператор 2> отсутствует, то, при ложности условия, выполняется следующий за if оператор.
Например, из двух чисел a и b вывести на экран значение
большего числа.
if a > b then writeln (‘большее число a - ’, a)
else writeln (‘большее число b - ’, b);
Внимание! Перед словом else нельзя ставить точку с запятой. Обратите внимание на запись служебных слов и операторов. Каждое
слово else под своим, словом if. Для большей наглядности и «читаемости» текста программы операторы, следующие за словами then и else
можно писать на следующей строке.
Возможная форма оператора:
if <условие> then
<оператор 1>;
Пример использования оператора:
Вычислите значение функции f(x) в зависимости от значения аргумента x.
if x<0 then y=x;
if x=0 then y=0;
if x<0 then y=sqr(x);
Вложенные операторы if
Возможно использовать в качестве оператор1 или оператор2 других условных операторов:
if <условие1> then if <условие2> then <оператор1> else <оператор2>;
Вложенность операторов if неограниченна.
3. Ветвление на несколько направлений (оператор – переключатель, или оператор выбора или оператор варианта):
Позволяет выбрать из любого числа возможностей.
case <переменная или выражение> of
<список значений выбора1>:<оператор1>;
<список значений выбора2>:<оператор2>;
...................................
<список значений выбора N>:<оператор N>;
[else <оператор>]
end;
Переменная может быть любого порядкового типа, кроме longint (word, boolean, integer, char… или перечисляемый тип).
(см.приложение 1, СТРУКТУРА ТИПОВ ДАННЫХ)
Список значений выбора - это значения, которые могут принимать переменная или выражение, перечисленные через запятую или,
если значения принадлежат какому-либо интервалу, с использованием лексемы " . . " (1..7 или 'а' ..'м')
Оператор - любой оператор, в том числе составной.
Принцип работы оператора:
 Значение переменной или выражения сравнивается с предложенными списками значений
 Если найдено нужное значение, выполняется соответствующий оператор
 Если нужное значение не найдено в перечисленных списках, выполняется оператор после else
 Если else отсутствует, то, когда нужное значение не найдено, выполняется следующий за case оператор.
Ветви здесь представлены элементами выбора, разграниченными точкой с запятой, а слово else с последующим оператором могут
отсутствовать. Элемент выбора – это оператор, например составной, снабжённый одной или несколькими константами выбора:
Пример использования оператора:
uses crt;
Написать программу, которая запрашивает
var month : integer;
номер месяца и выводит название времени
begin
года
writeln (‘введите номер месяца от 1 – 12’);
readln (month);
case month of
1,2,12 : writeln(‘зима’);
3,4,5 : writeln(‘весна’);
6,7,8 : writeln(‘лето’);
9,10,11 : writeln(‘осень’);
else writeln (‘ошибка ввода!’);
end;
repeat until keypressed;
end.
5.
Операторы безусловного перехода goto и halt:
goto <метка>
перейти к
halt [<код>]
выход из программы
Оператор безусловного перехода прерывает естественную последовательность выполнения операторов и передает управление
оператору, помеченному меткой.
Метка - это любое целое число от 0 до 9999 или идентификатор
Метки необходимо описывать в разделе описаний перед описанием переменных.
Например, LABEL 1, 2, lab3;
Метки ставятся в программе перед операторами в начале строки, после метки - двоеточие.
Например, 1: repeat until keypressed;
ЗАМЕЧАНИЕ:
 Нельзя входить и выходить из функций и процедур с помощью операторов goto и halt
 Нельзя входить в циклы с помощью операторов goto и halt, но можно досрочно их заканчивать
 Из программы можно выйти оператором halt
Пример использования оператора. Решение задач
program pt1;
Составить программу проверки знания uses crt;
таблицы умножения.
label 1;
var a,b:integer;x,y,z:integer;t:char;
begin
clrscr;
writeln ('ПРОГРАММА ПРОВЕРКИ ТАБЛИЦЫ УМНОЖЕНИЯ.');
Составить программу подсчета суммы
введенных с клавиатуры чисел.
Признак конца ввода – число 0.
Написать программу, которая
проверяет, является ли четным
введенное с клавиатуры число
writeln ('Выход из программы - Q, продолжение - любая другая клавиша');
randomize;
1: x:= random(10);y:= random(10);
write('
',x,' x ',y,' = ?');
read(z);
if z=x*y then writeln ('правильно!')
else writeln ('неправильно! ');
writeln ('продолжить?(y/n)')t:=readkey;
if (t='N') or (t='n') then halt else goto 1;
end.
program pt1;
uses crt;
label 1;
var x,z:integer;t:char;
begin clrscr;
writeln ('ПРОГРАММА ПОДСЧЕТА СУММЫ ВВЕДЕНЫХ ЧИСЕЛ.');
gotoxy(50,22);writeln ('Выход из программы - число 0');
1: write('Введите число'); read(x);
if х=0 then goto 2 else begin z:=z+x; goto 1;end;
2: writeln('сумма введенных чисел - ',z);
readkey;end.
Uses crt;
Var n:integer;
Begin
Readln(n);
Write(‘число’, n,’-‘);
If n mod 2=0 then writeln(‘четное’)
else writeln(‘нечетное’);
readkey; End.
Задачи на ветвление и выбор (выполняются в группах).
1 группа
1. Составьте программу, проверяющую, что введенное число делится без остатка на 3. (1балл)
2. Напишите программу, которая анализирует человека по возрасту и относит к одной из четырех групп: дошкольник,
ученик, работник, пенсионер. Возраст человека вводится с клавиатуры. (2балла)
3. Составьте программу, реализующую эпизод применения компьютера в книжном магазине. Компьютер запрашивает
стоимость книг и сумму денег, внесенную покупателем. Если сдачи не требуется, печатает на экране «Спасибо». Если
денег внесено больше, то печатает «Возьмите сдачу» и указывает сумму сдачи. Если денег недостаточно, то печатает об
этом сообщение и указывает размер недостающей суммы. (2балла)
4. Вы ввели трехзначное число. Затем ввели любую цифру. Составьте программу, определяющую, есть ли в этом числе
данная цифра. (3балла)
2 группа
1.Напишите программу, анализирующую данные пожарного датчика в помещении, которая выводит сообщение
«Пожароопасная ситуация», если температура в комнате превысила 600. Значение температуры вводится с клавиатуры.
(1балл)
2. Даны круг и квадрат. Составьте программу, определяющую по введенным вами значениям длин стороны квадрата и
радиуса круга, одно из утверждений «Круг вписан в квадрат» или «Квадрат вписан в круг». (2балла)
3.Определить какой символ ввел пользователь: число, латинскую букву или букву на русском языке?
Написать программу преобразования цифр в слова.(2 балла)
4. Вы ввели трехзначное число. Затем ввели любую цифру. Составьте программу, определяющую, есть ли в этом числе
данная цифра. (3балла)
3 группа
1. В ЭВМ поступают результаты соревнований по плаванию для 3-х спортсменов. Составьте программу, которая выбирает
лучший результат и выводит его на экран с сообщением, что это результат победителя заплыва. (1балл) 2) Составьте
программу вычисления суммы цифр введенного с клавиатуры трехзначного натурального числа. Например, для числа 128
сумма цифр 11, для числа 34 сумма цифр 12. (2балла)
2. К финалу конкурса лучшего по профессии «Специалист электронного офиса» были допущены трое: Иванов, Петров,
Сидоров. Соревнования проходили в три тура. Иванов в первом туре набрал M1 баллов, во втором – N1, в третьем – P1.
Петров – соответственно M2, N2, P2. Сидоров – M3, N3, P3. Составьте программу, определяющую, сколько баллов набрал
победитель. (2балла)
3.Составьте программу, которая по введенному вами K – числу грибов печатает фразу «Мы нашли в лесу K грибов», причем
согласовывает окончание слова «гриб» с числом K. Количество грибов может быть любым целым числом: 1, 3, 34, 127 и
т.д. Окончание фразы определяется значением последней цифры. (2балла)
4. Вы ввели трехзначное число. Затем ввели любую цифру. Составьте программу, определяющую, есть ли в этом числе
данная цифра. (3балла)
Управления образования города Астаны
Обучающий семинар
Тема: Программирование на языке Turbo Pascal. Основные
базовые конструкции: циклические алгоритмы
Подготовила:
учитель информатики
ШЛ №27 Дюсенова Ж.А.
Астана, 2014 г.
Дата проведения: 31.01.2014 год
Тема занятия: Программирование на языке Turbo Pascal. Основные базовые
конструкции: циклические алгоритмы.
Флипчарты, карточки с задачами.
Материал
Создание блока решенных задач на циклические алгоритмы.
Цель:
Задачи:
Результат
обучения:
Основные
(ключевые)
идеи:
 Расширить знания по составлению программ на языка Паскаль.
 Сформировать умения применять полученные знания для
решения и составления программ на циклическую базовую
конструкцию.
Учителя создадут блок задач с решениями на циклическую базовую
конструкцию.
- Объяснения основ составления программ на циклическую базовую
конструкцию.
- Практическое применение полученных знаний при составлении
циклических алгоритмов на языке Паскаль.
Ход семинара
Форма
проведения
Описание
время
Разминка:
Тренинг"Снежный ком".
10 минут
Цель игры: знакомство и запоминание имен всех участников игры.
Правила: участники по кругу называют свои имена следующим
образом: 1-ый участник называет своё имя и придумывает на первую
букву своего имени слово, характеризующее его (например, Лена ласковая); 2-ой участник говорит имя и характеристику первого и
называет свои - имя и характеристику; 3-ий называет имена и
характеристики 1-го и 2-го и называет свои и т.д.
Интерактивная
лекция
Деление на
группы
Групповая
работа.
Язык программирования Паскаль:
50 минут
Циклы. Цикл с параметром, «ДО», «ПОКА».
Составления и разбор нескольких задач с использованием операторов
циклов (см. Приложение 1)
10 минут
«МОЛЕКУЛЫ»
- Представим себе, что все мы атомы. Атомы - (гудят) и
хаотично двигаются. Число атомов в молекуле может быть разное,
оно определяется тем, какое число я назову. Мы все сейчас начнем
быстро двигаться, и я буду говорить, например, три. И тогда атомы
должны объединиться в молекулы по три атома в каждый. Молекулы
- молчат
После выполнения упражнения спросить:
- Как вы себя чувствуете?
Таким образом разбить участников семинара на 3 группы
Решение задач на циклическую базовую конструкцию (см.
Приложение 1). Каждая группа получает по 1 задачи, для решения и
составления программы. Программа оформляется на кластеры и
проверяется на компьютере.
25 минут
Групповая
работа.
Рефлексия:
Каждая группа оформляет и объясняет решение задачи на
интерактивной доске. Для объяснения и представления решения
задачи спикеру дается 7 минут.
Семинар мне показался…
Мне бы хотелось…
Рекомендации:
1) Продолжить обучающий семинар, в режиме on-line.
2) Рассмотреть темы: работу с файлами, массивы, процедуры и функции.
21 минута
4
Приложение №1
Интерактивная лекция №3
ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ TURBO-PASCAL. ОРГАНИЗАЦИЯ ЦИКЛОВ. ОПЕРАТОРЫ ЦИКЛОВ. СОСТАВЛЕНИЕ
ПРОГРАММ С ИСПОЛЬЗОВАНИЕ ОПЕРАТОРОВ ЦИКЛА.
ПРОГРАММНО - ДИДАКТИЧЕСКОЕ ОБЕСПЕЧЕНИЕ: ЭВМ типа IBM. Turbo-Pascal 5.
ЦЕЛИ И ЗАДАЧИ: Знакомство с операторами цикла языка Turbo-Pascal. Выработка навыков работы в Turbo-Pascal. Решение
практических задач с использованием операторов цикла.
1. Цикл
Цикл – команда исполнителю повторить многократно указанную последовательность команд алгоритмического языка или, другими
словами, многократно повторяющаяся часть программы.
Существует три разновидности оператора цикла.
2. Оператор цикла с параметром.
Используется, когда известно, сколько раз выполняется циклическая часть программы.
for <параметр цикла>:=<начало> to/downto <конец> do <оператор>;
для
до
делать
параметр цикла - числовая переменная типа integer
начало, конец - арифметическое выражение
to - используется когда начало меньше конца
downto - используется когда начало больше конца
оператор - тело цикла, любой оператор, в том числе и составной
Принцип работы:

Параметру присваивается значение начало

Выполняется оператор - тело цикла.

Затем параметр сравнивается с концом.

Если параметр больше/меньше конца, то начинает работать следующий оператор за оператором цикла, в противном случае к
параметру прибавляется/отнимается единица.

Снова выполняется оператор.

Так продолжается пока параметр не станет больше/меньше конца.
3.
Цикл с предварительным условием
пока
while <условие> do <оператор>;
делать
условие - логическое выражение
оператор - любой оператор, в том числе и составной.
Принцип работы:

Проверяется истинность условия

Если условие истинно выполняется оператор

Цикл работает, пока условие не станет ложным.
4.
Цикл с последующим условием
repeat <операторы> until <условие>
повторять
до тех пор пока
условие - логическое выражение
операторы - любое количество любых операторов, в том числе и составной.
Принцип работы:

Выполняются все операторы между repeat и until

Проверяется ложность условия

Цикл работает, пока условие не станет истинным.
5. Особенности и отличия операторов цикла
 Вход в цикл возможен только через его начало
 Переменные оператора должны быть определены до входа в цикл
 Необходимо предусмотреть выход из цикла, чтобы он не повторялся бесконечно.
 Оператор while repeat может ни разу не выполнится
 оператор repeat обязательно выполниться хотя бы раз
Объяснения решения следующих задач.
1) Проверить, является ли целое число простым.
Uses crt;
Var n{введенное число},i:integer;
Begin
Readln(n);
For i:=2 to n-1 do
If n mod i =0 then begin writeln(n,’не простое’);readkey; halt;end;
writeln (n, ‘простое’);
readkey;
end.
2) Написать программу, которая выводит на экран табл. Uses crt;
умножения, например на 7.
Var m,n,p:integer;
Begin
For i:=1 to 10 do
Writeln(7,’*’,I:2,’=’,7*I:2);
Readkey; end.
Рекуррентные последовательности
Последовательность рекуррентная, если любой член
последовательности, начиная с некоторого, выражается
через предшествующие члены. При этом способе
задания последовательности указывают ее первый член
(или несколько начальных членов) и формулу,
позволяющую
определить
любой
член
последовательности по известным предшествующим
членам.
Пример: Числа Фибоначи.
а1=1, а2=1, аn+2=an+an+1
Имеем
a3=a1+a2=1+1=2;
a4=a2+a3=1+2=3;
a5=a3+a4=2+3=5;
a6=a4+a5=3+5=8;
a7=a5+a6=5+8=13;
a8=a6+a7=8+13=21; ...
В итоге получаем последовательность 1, 1, 2, 3, 5, 8, 13,
21, 34, ... Каждый ее член, кроме первых двух, равен
сумме двух предшествующих ему членов.
Пример программы вывода 50 первых членов
последовательности Фибоначи:
Задачи для решения в группах
Var an,anp1, anp2,i: integer;
begin
An:=1;
Anp1:=1;
Write ('1, 1');
For i:=3 to 50 do
begin
Anp2:=an+anp1;
Write(', ',anp2);
An:=anp1; Anp1:=anp2;
End;
End.
Download