Урок 9
Тема: «Среда программирования Pascal».
Тест по теме «Основы алгоритмизации»
Вариант 1
1. Напишите определение понятия алгоритм.
2. Каждому термину, указанному в левой колонке, поставьте в соответствие его определение, приведенное в правой колонке:
а) линейный алгоритм | 1) алгоритм, по которому исполнителю в зависимости от выполнения некоторого условия надо выполнить либо одну, либо другую последовательность команд |
б) блок-схема | 2) алгоритм, по которому исполнителю надо выполнять некоторую последовательность команд несколько раз до тех пор, пока выполняется некоторое условие |
в) алгоритм с повторением | 3) алгоритм, в котором команды следуют строго одна за другой |
г) разветвляющийся алгоритм | 4) алгоритм в виде последовательности специальных графических блоков |
3. Перечислите формы записи алгоритмов.
4. Что такое система команд исполнителя?
5.К какому типу алгоритмов можно отнести следующие стихи:
а) Эй, топтыжка, б) Пока свободою горим,
Топни, топни, Пока сердца для чести живы,
Ножкой о пол Мой друг, отчизне посвятим
Хлопни, хлопни. Души прекрасные порывы.
Ну-ка, ручки протяни,
И не бойся,
И шагни.
6.Выпишите команды, которые являются телом алгоритма:
алг фигура
дано перо в начале координат и поднято
нач
сместиться в точку(2,1)
опустить перо
сместиться на вектор(0,3)
поднять перо
кон
7. Как на блок-схеме может быть представлен алгоритм с повторением?
8. Запишите словесный алгоритм перехода дороги на светофоре.
9. Нарисуйте блок-схему для проверки числа – простое или составное (простое число делится только на себя и на единицу).
10. Напишите определение понятия исполнитель алгоритма.
Вариант 2
1. Напишите определение понятия исполнитель алгоритма.
2. Каждому термину, указанному в левой колонке, поставьте в соответствие его определение, приведенное в правой колонке:
а) словесное описание алгоритма | 1) алгоритм, по которому исполнителю надо выполнять некоторую последовательность команд несколько раз до тех пор, пока выполняется некоторое условие; |
б) разветвляющийся алгоритм | 2) запись алгоритма в виде последовательности операторов (команд) некоторого алгоритмического языка |
в) программа | 3) алгоритм, по которому исполнителю в зависимости от выполнения некоторого условия надо выполнить либо одну, либо другую последовательность команд; |
г) алгоритм с повторениями | 4) запись алгоритма в виде последовательности слов и предложений |
3. Как на блок-схеме может быть представлен алгоритм с ветвлением?
4. Что понимают под командой алгоритма?
5.К какому типу алгоритмов можно отнести следующие стихи:
а) Если ветер в лицо — не гнись, б) Что нам стоит дом построить?
Если будет гроза — крепись. Просто вырыть котлован,
Если радость на сердце — пой, А затем приладить рельсы
Но всегда будь самим собой. И пустить по рельсам кран.
6. Выпишите команды, которые являются телом алгоритма:
алг фигура
дано перо в начале координат и поднято
нач
сместиться на вектор(0,3)
сместиться на вектор(1,0)
поднять перо
кон
7. Перечислите формы записи алгоритмов.
8. Запишите словесный алгоритм перехода дороги на пешеходном переходе.
9. Нарисуйте блок-схему для решения уравнения ах+в=0
10. Напишите определение понятия алгоритм.
III. Теоретическая часть.
Язык программирования.
Для представления алгоритма в виде, понятном компьютеру, служат языки программирования. Сначала разрабатывается алгоритм действий, а потом он записывается на одном из таких языков. В итоге получается текст программы — полное, законченное и детальное описание алгоритма на языке программирования. Затем этот текст программы специальными служебными приложениями, которые называются трансляторами, либо переводится в машинный код (язык нулей и единиц), либо исполняется.
Транслятор — средство для преобразования текстов из одного языка, понятного человеку, в другой язык, «понятный» компьютеру. Трансляторы бывают двух типов — интерпретаторы и компиляторы. Отличие между ними заключается в том, что интерпретатор последовательно анализирует и исполняет каждую строку программы, а компилятор проводит полный анализ написанной программы и формирует уже готовый к исполнению машинный код.
Языки программирования — искусственные языки. От естественных они отличаются ограниченным числом слов, значение которых понятно транслятору, и очень строгими правилами записи команд (операторов).
В языках программирования высокого уровня программа — это перечень действий. Исполнение этих действий определено в самом языке программирования, и их принято называть операторами.
Алфавит языка программирования Турбо Паскаль.
Под алфавитом языка понимают совокупность допустимых символов. В языке Турбо Паскаль используются символы ASCII (американский стандартный код обмена информацией). Можно выделить четыре основные группы символов: символы, используемые в идентификаторах, разделители, специальные символы и неиспользуемые символы.
Идентификатор — это имя любого объекта языка. Он может состоять из латинских букв (a…z), цифр (0…9) и знака подчеркивания и не должен начинаться с цифры. Прописные и строчные буквы в идентификаторах и зарезервированных словах считаются идентичными, они различаются лишь в строковых константах. Длина идентификатора не ограничена, но значимыми являются лишь первые 63 символа.
Разделители используются для отделения друг от друга идентификаторов, чисел и зарезервированных слов. К разделителям относятся, например, пробел и комментарий. В любом месте программы, где разрешается один пробел, их можно вставить любое количество.
Комментарии заключаются либо в фигурные скобки { комментарий 1 }, либо в символы (* комментарий 2 *) и могут занимать любое количество строк.
К специальным знакам относятся знаки пунктуации (. () [] .. : ;), знаки операций и зарезервированные слова. Знаки операций могут быть как символьные (+, -, *, / и т.д.), так и буквенными (mod, div, not). Зарезервированные слова являются служебными и не могут быть переопределены пользователем, т.е. их нельзя использовать как имена пользовательских объектов.
Неиспользуемые символы — это коды ASCII, которые используются только в комментариях и символьных строках, но не в языке. К ним относятся все русские буквы, а также символы %, , ! и т.п.
Структура программы.
Любая программа на Паскале имеет определенную структуру:
program имя_программы;
Uses
Подключение модулей
Const
Раздел описания констант
Label
Раздел описания меток
Type
Раздел описания типов
Var
Раздел описания переменнных
Begin
Тело программы
End.
Начинается программа с заголовка. После заголовка на схеме представлены разделы описания констант, меток, типов, переменных, а также раздел, в котором подключаются используемые модули. Причем Турбо Паскаль вовсе не предписывает порядок в каком порядке должны идти эти разделы. Однако если в одном из разделов объявлен элемент программы, на который имеется ссылка в другом разделе, то описание, на которое имеется ссылка должно предшествовать ссылающему описанию. Например, если в разделе объявления переменных объявляется переменная того типа, который описывается в разделе описания типов, то сначала описывается тип, а затем переменная.
type
IntList = array[1..100] of Integer;
var
mylist : IntList;
Обязательной частью является лишь тело программы, которое начинается словом begin, а заканчивается словом end с точкой. Операторы в Паскале разделяются точкой запятой.
Для запуска среды программирования Turbo Pascal 7.0 дайте команду ПускВсе программыПрограммирование Turbo Pascal 7.0. После запуска на экране появится оболочка:
Среда Турбо Паскаля 7.0 является приложение под DOS, а не под Windows и поэтому экран и приемы работы в этой системе немного отличаются от тех, к которым вы привыкли в Windows, хотя и имеют много общего.
Верхняя строка содержит «меню» возможных режимов работы Турбо Паскаля, нижняя — краткую справку о назначении основных функциональных клавиш. Вся остальная часть экрана принадлежит окну редактора, очерченному двойной рамкой и предназначенному для ввода и коррекции текстов программ. В его верхней строке приводятся имя файла, откуда был прочитан текст программы (новому файлу присваивается имя NONAME00.PAS), два специальных поля, используемых при работе с устройством ввода «мышь» (эти поля выделены квадратными скобками), и цифра 1 — номер окна. В Турбо Паскале можно работать одновременно с несколькими программами (или частями одной крупной программы), каждая из которых может располагаться в отдельном окне редактора. Среда позволяет использовать до 9-ти окон редактора одновременно.
После подготовки текста программы можно попытаться исполнить ее. Для этого дайте команду RunRun или нажмите комбинацию клавиш [Ctrl]+[F9].
Если в программе нет синтаксических ошибок, то все действия выполняются последовательно одно за другим, при этом в небольшом окне сообщается о количестве откомпилированных строк и объеме доступной оперативной памяти.
Если на каком-либо этапе среда обнаружит ошибку, она прекращает дальнейшие действия, восстанавливает окно редактора и помещает курсор на ту строку программы, при компиляции или исполнении которой обнаружена ошибка. При этом в верхней строке редактора появляется диагностическое сообщение о причине ошибки.
Командой [Alt]+[F5] или DebugUser screen Вы в любой момент сможете просмотреть данные, выданные на экран в результате прогона программы.
Для возврата в режим редактирования программы нажмите любую клавишу.
Неотъемлемой составной частью среды Турбо Паскаля является встроенная справочная служба. Эта справка зависит от текущего состояния среды, поэтому справочную службу называют контекстно-чувствительной.
Существуют четыре способа обращения к. справочной службе непосредственно из окна редактора:
[F1] — получение контекстно-зависимой справки;
[Shift]+[F1] — выбор справки из списка доступных справочных сообщений;
[Ctrl]+[F1] — получение справки о нужной стандартной процедуре, функции, о стандартной константе или переменной;
[Alt]+[F1] — получение предыдущей справку.
Для сохранения и открытия программ используется меню File. При сохранении файла для имени файла действует правило 8.3. Попробуйте сохранить вашу программу в файл.
IV. Практическая часть.
В качестве примера рассмотрим программу вычисления площади прямоугольника (блок-схему этого алгоритма мы записывали на прошлом занятии):
program SquareRectangle; {вычисление площади прямоугольника}
uses WinCrt;
var
a, b, s: real;
begin
write(‘Введите высоту: ‘);
readln(a);
write(‘Введите ширину: ‘);
readln(b);
s:=a*b;
writeln(‘Площадь равна: ‘,s:5:2);
end.
Программа начинается со слова program. После служебного слова program записывается имя программы. В нашей программе именем является SquareRectangle. Имя программы записывается на английском языке и задается произвольно автором программы. В конце первой строки, после имени программы стоит ; — точка с запятой. Этот знак указывает на то, что некоторая инструкция закончена и за ней будет записана следующая инструкция. Точка с запятой является обязательным разделительным знаком в языке Паскаль.
Далее идет блок подключения модуля WinCrt (для Borland Pascal for Windows).
В следующем разделе описываются переменные. В программе используются 3 переменные (a, b, s), все они имеют тип real.
Далее в программе следует служебное, зарезервированное, слово begin (начать), которым начинается раздел операторов.
В этом разделе последовательно записываются команды, операторы, которые разделяются ; — точкой с запятой. Они будут выполняться компьютером.
Значения переменных в нашей программе вводятся с клавиатуры. Для ввода ширины и длины используется процедура ввода readln. Подробнее о стандартных процедурах ввода и вывода мы поговорим позднее. Запустим программу и проверим ее работу.
Программа заканчивается служебным словом end, после которого стоит точка. Она является обязательной во всех паскалевских программах. Точка оповещает о конце текста программы.