- •1. Тема: Основы алгоритмизации задач
- •2. Количество учебных часов – 3 часа
- •3. Актуальность темы (мотивация изучения):
- •4. Цели занятия:
- •6. Информационно-дидактический блок Краткая теория Транслятор, компилятор, интерпретатор
- •Тип переменных указывается после списка переменных через двоеточие ( : ). Числовые переменные можно описать по-разному, в зависимости от вида (целые, вещественные) и значности чисел:
- •Порядковые типы переменных (дополнительные сведения)
- •Линейный алгоритм
- •2.1. Словесный алгоритм
- •Графический вид алгоритма
- •2.3. Программа на языке Паскаль:
- •7. Содержание занятия:
- •Задание 1. Вычислите:
- •Задание 2
- •Назначение некоторых кодов ascii
- •8. Рекомендуемая литература: Основная литература
- •Дополнительная литература
6. Информационно-дидактический блок Краткая теория Транслятор, компилятор, интерпретатор
Программы, написанные на языке программирования, в компьютере должны обязательно проходить процесс преобразования или трансляции. Осуществляется это с помщью специальных программ (трансляторов).
Транслятор (англ. translator - переводчик) – это программа-переводчик. Она преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд.
Трансляторы реализуются в виде компиляторов или интерпретаторов. С точки зрения выполнения работы компилятор и интерпретатор существенно различаются.
Компилятор (англ. compiler – составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется (файл с расширением .ЕХЕ).
Интерпретатор (англ. interpreter – истолкователь, устный переводчик) переводит и выполняет программу строка за строкой.
После того как программа откомпилирована, ни сама исходная программа, ни компилятор более не нужны. В то же время программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном запуске программы. Откомпилированные программы работают быстрее, но интерпретируемые проще исправлять и изменять.
Turbo Pascal ориентирован либо на компиляцию, либо на интерпретацию. Для разработки тестирования программы можно воспользоваться интерпретатором, а затем откомпилировать, а затем откомпилировать отлаженную программу, чтобы повысить скорость ее выполнения.
Исторические сведения о языке «Паскаль»
Язык программирования Паскаль получил свое название в честь великого французского математика и физика Блеза Паскаля, который в 1642 году изобрел машину для арифметических операций, так называемое «паскалево колесо». В конце 1968 г. профессор Никлаус Вирт и его сотрудники из швейцарского федерального института технологии в Цюрихе разработали первую версию языка Паскаль. Спустя два года – первый вариант компилятора. В 1971 г. Н.Вирт выпустил описание языка.
Создавая Паскаль Никлаус Вирт преследовал две цели:
во-первых, разработать язык пригодный для обучения программированию как систематической дисциплины;
во-вторых, реализация языка должна быть эффективной и надежной.
Одним из достоинств языка Паскаль является то, что он полностью воплотил в себя идею структурного программирования, суть которой заключается в том, что с помощью нескольких конструкций можно выразить в принципе любые алгоритмы.
Запуск языка «Паскаль»
Запуск интегрированной среды версии компилятора Borland Pascal 7.0, которая работает в защищенной режиме DOS, осуществляется следующим образом:
а) если среда программирования инсталлирована в системе Windows:
Пуск→Программы→ Borland Pascal→ BP(Borland Pascal)
б) если среда программирования не инсталлирована в системе Windows или вы работаете в системе DOS:
Активировать каталог, где находится программа BP.exe. Выделить ее и нажать клавишу Enter.
Интерфейс программы
После загрузки редактора можно в рабочем поле набирать программу или корректировать ее с помощью клавиатуры или пунктов меню. Строка главного меню расположена в верхней части экрана:
К нопка, закрывающая окно программы. Стрелка для увеличения размера окна
Турбо-среда предоставляет удобные средства работы с программой: ее хранение, запуск на счет, отладку и т. д. Доступ к этим средствам осуществляется через главное меню, которое состоит из следующих опций:
File |
Позволяет выполнять все основные операции с файлами (создавать новые, загружать имеющиеся, сохранять созданные и отредактированные файлы и т.п.) |
Edit |
Позволяет выполнять все основные операции редактирования текста (копировать, восстанавливать, удалять фрагменты текста, а так же восстанавливать первоначальный вариант редактируемого текста) |
Search |
Позволяет осуществлять поиск фрагментов текста и при необходимости производить замену найденного фрагмента новым |
Run |
Позволяет запускать программу, находящуюся в рабочей зоне, а также при необходимости пошагово выполнять данную программу или ее часть |
Compile |
Позволяет осуществить компиляцию программы, которая находится в рабочей зоне |
Debug |
Содержит команды, облегчающие процесс поиска ошибок в программе |
Tools |
Позволяет выполнять некоторые программы, не выходя из Среды Турбо Паскаля |
Options |
Позволяет установить необходимые для работы параметры компилятора и самой среды |
Windows |
Позволяет выполнять все основные операции с окнами (открывать, закрывать, перемещать, изменять размер) |
Help |
Позволяет получить имеющуюся в системе справочную информацию. Необходимое подчиненное меню активизируется (открывается) |
Для перехода в верхнее меню нужно нажать клавишу 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 |
Текстовый редактор
Ввод программы в компьютер представляет собой ввод текста в компьютер. При наборе текста программы полезно пользоваться следующими «горячими» клавишами:
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. Система сначала запускает транслятор (интерпретатор), который переводит программу с Паскаля на язык машинных кодов и ищет синтаксические ошибки в программе. Если ошибки найдены, то программа не будет выполняться, произойдет возврат в редактор. Поверх текста программы появляется красная строка с сообщением об ошибке. После нажатия Esc окно исчезает, курсор устанавливается в строку с ошибкой. Для получения информации об ошибке надо нажать Ctrl+F1.
Когда все ошибки исправлены, программа начинает выполняться. Просмотреть результаты работы можно, нажав Alt+F5 (выводится окно пользователя). Возврат обратно в окно редактора – нажатие любой клавиши.
Прерывание работы «зацикленной» программы - Ctrl +Break.
Основные понятия:
алфавит Turbo Pascal:
латинские буквы от A до Z
арабские цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
знаки препинания . , : ; ..
знаки арифметических операций + – * /
знаки логических операций > < = >= <= <>
специальные символы ( ) { } [ ] ' := (* *)
Основные элементы Паскаля:
Идентификатор – последовательность латинских букв, арабских цифр, знаков подчёркивания. Начинается с латинской буквы. Длина до 127 символов. Используется в качестве имён переменных, меток, программ и подпрограмм. Нельзя в качестве идентификаторов использовать зарезервированные слова.
Зарезервированные слова – слова, используемые в операторах, названиях операций, функций и т. п. Всего их около 80. Например, begin, sin, while.
Константы – это величины, которые не могут менять своего значения в процессе выполнения программы.
В качестве констант могут использоваться числа, логические константы, символы и строки символов.
Целые числа записываются со знаком или без него по обычным правилам и могут иметь значение от –2147483648 до +2147483647.
Вещественные числа записываются со знаком или без него с использованием десятичной точки и/или экспоненциальной части. Экспоненциальная часть начинается символом е или Е, за которым могут следовать знаки «+» или «-» и десятичный порядок. Символ е (Е) означает десятичный порядок и смысл «умножить на 10 в степени». Например, запись 3.14Е5 означает 3,14 × 105 ,а запись -17е-2 – это -17× 10-2.
Логическая константа – это либо слово FALSE (ложь) либо слово TRUE (истина).
Символьная константа – это любой символ, заключенный в апострофы:
'z' – символ z;
'ф' – символ ф.
Строковая константа – последовательность символов, заключенная в апострофы. Если в строке нужно указать сам символ апострофа, он удваивается, например:
' Это - строка символов ';
' That''s string'.
Описание констант начинается со служебного слова const. Далее пишется имя, которое мы дали данной величине и после знака равенства пишется конкретное значение данной величины.
Const
<Имя константы>=<значение константы>;
Переменные – это величины, которые могут менять свое значение в процессе выполнения программы или их конкретное значение изначально не определено.
Выражение – последовательность переменных и числовых констант, объединённых знаками арифметических (арифметическое выражение, например, Pi*r+1/2.5, Х/5 + 2.5 0) или арифметических и логических операций (логические выражения, например, Х + 2.5 = 0, x+1>=12). Выражения всегда записываются в строчку, указывая все арифметические операции, включая знак умножения (например, математическое выражение записывается – (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;, не выполняющий никакого действия.
Встроенные стандартные математические функции, используемые в Turbo Pascal.
Используются в арифметических выражениях.
Функция |
Назначение |
Тип аргумента |
Тип функции |
Abs(x) |
Вычисление абсолютного значения x |
вещественный целый |
вещественный целый |
sqr(x) |
Вычисление квадрата x |
вещественный целый |
вещественный целый |
sqrt(x) |
Вычисление квадратного корня из x |
вещественный целый |
вещественный вещественный |
sin(x) |
Вычисление синуса x |
вещественный целый |
вещественный вещественный |
cos(x) |
Вычисление косинуса x |
вещественный целый |
вещественный вещественный |
arctan(x) |
Вычисление арктангенса x |
вещественный целый |
вещественный вещественный |
exp(x) |
Вычисление экспоненты (числа e=2,71828…) в степени x |
вещественный целый |
вещественный вещественный |
ln(x) |
Вычисление натурального логарифма x |
вещественный целый |
вещественный вещественный |
log(x) |
Вычисление десятичного логарифма x |
вещественный целый |
вещественный вещественный |
Pi |
Число |
нет |
вещественный |
Структура программы:
-
Заголовок программы (необязателен)
Program <имя>;
Раздел описаний
Список используемых модулей
Uses ...;
Метки
Label ...;
Константы
Const ...;
Типы
Type ...;
Переменные
Var ...;
Процедуры
Procedure ...;
Функции
Function ...;
Раздел операторов
Begin
<Операторы программы>
End.
Раздел меток (label)
Любой выполняемый оператор может быть снабжен меткой – положительной константой, содержащей не более 4-х цифр. Метка отделяется от оператора двоеточием. Все метки, встречающиеся в программе, должны быть описаны в разделе label. Общий вид:
label l1, l2, l3…;
здесь l1, l2, l3… - метки.
Раздел типов (type)
Если в программе вводится тип, отличный от стандартного, то этот тип описывается в разделе type:
type t1=<вид типа>;
t2=<вид типа>;
. . . . . . .
где t1 и t2 – идентификаторы вводимых типов.
Пример.
Type color=(red, yellow, green, blue);
Здесь описан тип color, задаваемый перечислением значений.
Переменные. Описание переменных
Все переменные должны быть описаны с указанием типа:
Var a, b : integer ;
f, d, c : real ;