Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика часть 1.pdf
Скачиваний:
16
Добавлен:
02.05.2015
Размер:
489.96 Кб
Скачать

Занятие 2

Работа с файлами

Как уже говорилось, сразу после запуска Турбо Паскаля среда автоматически переходит в режим редактирования текста, в котором можно подготовить новую программу или исправить существующую.

Основной формой хранения текстов программ вне среды являются файлы. После завершения работы с Турбо Паскалем можно сохранить текст новой программы в дисковом файле с тем, чтобы использовать его в следующий раз. Для обмена данными между дисковыми файлами и редактором среды предназначены клавиши F2 (запись в файл) и F3 (чтение из файла) .Если Вы создаете новую программу, то среда еще не знает имя того файла, в который Вы захотите поместить текст этой программы, и поэтому она присваивает тексту стандартное имя NONAMEOO.PAS (NO NAME - нет имени). Для сохранения текста программы в файле нужно нажать на клавишу F2. В этот момент среда проверит имя и, если это - стандартное имя NONAME, спросит, нужно ли его изменять: на экране появится небольшое окно запроса с надписью в верхней части:

Save file as (Сохранить в файле с именем)

Ниже надписи располагается поле для ввода имени файла, в котором можно написать любое имя и нажать клавишу «Enter», текст будет сохранен в файле. Если в имени файла опущено расширение, среда присвоит файлу стандартное расширение .PAS.

Если завершена работа с Турбо Паскалем (командой Alt—X), но не сохранен текст программы на диске, на экране появится окно с запросом:

NONAMEOO.PAS has been modified.

Save?

(Файл NONAMEOO.PAS был изменен. Сохранить?)

В ответ следует нажать Y (Yes - да), если необходимо сохранить текст в файле, или N (No - нет), если сохранять текст не нужно.

Прогон и отладка программы

После подготовки текста программы можно попытаться исполнить ее, т.е. откомпилировать программу, связать ее (если необходимо) с библиотекой стандартных процедур и функций, загрузить в оперативную память и передать ей управление. Вся эта последовательность действий называется прогоном программы и реализуется командой Ctrl—F9.

Если в программе нет синтаксических ошибок, то все действия выполняются последовательно одно за другим, при этом на экране сообщается о количестве строк откомпилированной программы и объеме доступной оперативной памяти. Перед передачей управления загруженной программе среда очищает экран (точнее, выводит на экран окно прогона программы), а после завершения работы программы вновь берет управление компьютером на себя и восстанавливает на экране окно редактора.

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

Если ошибка возникла на этапе работы программы, простое указание того места, где она обнаружена, может не дать нужной

5

информации, так как ошибка может явиться следствием

среда вычислит и покажет значение этого выражения или

неправильной подготовки данных. Например, если ошибка

переменной.

 

возникла при извлечении корня из отрицательного числа, будет

 

Справочная служба Турбо Паскаля

указан оператор, в котором осуществлялась сама операция

 

извлечения корня хотя ясно, что первопричину ошибки следует

 

 

искать где-то раньше, там, где соответствующей переменной

Органической составной частью среды Турбо Паскаль является

присваивается отрицательное значение. В таких ситуациях,

встроенная справочная служба. Если Вы достаточно хорошо

обычно прибегают к пошаговому исполнению программы с

владеете английским языком, у Вас не будет проблем при работе с

помощью команд, связанных с клавишами F4, F7 и F8. Пока еще

Турбо Паскалем: в затруднительной ситуации достаточно нажать

не накоплен достаточный опыт отладки, можно пользоваться

клавишу F1 и на экране высветится необходимая справка. Эта

одной клавишей F7, после нажатия на которую среда осуществит

справка зависит от текущего состояния среды (такую справочную

компиляцию, компоновку (связь с библиотекой стандартных

службу называют контекстно-зависимой). Например, если нажать

процедур и функций) и загрузку программы, а затем остановит

F1 в момент, когда среда обнаружила ошибку в программе, в

прогон перед исполнением первого оператора. Строка программы,

справке будут сообщены дополнительные сведения о причинах

содержащая этот оператор, будет выделена на экране указателем

появления этой ошибки и рекомендации по ее устранению.

(цветом). Теперь каждое новое нажатие на F7 будет вызывать

Существует четыре способа обращения к справочной службе

исполнение всех операций, запрограммированных в текущей

непосредственно из окна редактора:

строке, и смещение указателя к следующей строке программы. В

 

 

подозрительном месте программы можно просмотреть значения

F1

- получение контекстно - зависимой справки

нужных Вам переменных или выражений. Для этого можно

Shift – F1

- выбор справки из списка доступных

действовать следующим образом. Установите курсор в то место

 

справочных сообщений

текущей строки, где написано имя интересующей Вас переменной,

Ctrl – F1

- получение справки о нужной стандартной

и нажмите Ctrl—F4, На экране откроется диалоговое окно,

 

процедуре

состоящее из трех полей. В верхнем поле будет стоять имя

Alt – F1

- получение предыдушей справки

переменной. После этого нажмите на клавишу «Enter», чтобы

При использовании команды Shift—F1 на экране появляется

получить в среднем поле текущее значение этой переменной. Если

перед командой Cfrl—F4 курсор стоял на пустом участке строки

справочное окно, содержащее упорядоченный по алфавиту список

или указывал на другую переменную, верхнее поле также

стандартных процедур, функций, констант и переменных, для

окажется пустым или будет содержать имя этой другой перемен-

которых можно получить справочную информацию. В этот момент

ной. В этом случае следует ввести с помощью клавиатуры

клавишами смещения курсора следует передвинуть указатель в

интересующее Вас имя в верхнем поле и нажать клавишу «Enter».

окне к нужному слову и нажать клавишу «Enter», чтобы получить

Кстати, таким образом можно вводить не только имена

справку.

 

прослеживаемых переменных, но и выражения с их участием -

Эту же справку можно получить и другим способом:

 

напечатать на

экране имя стандартной процедуры (функции,

6

константы, переменной) или подвести курсор к имеющемуся уже в тексте программы стандартному имени и нажать Ctrl—Fl. Среда проанализирует ближайшее окружение курсора, выделит стандартное имя и даст нужную справку.

Доступ к справочной службе возможен и через главное меню Турбо Паскаля. Не торопитесь запоминать или записывать на бумаге этот текст, его можно «вырезать» из справки и перенести в окно редактора. Для этого после вызова нужной справки нажмите клавишу Ait и, не отпуская ее, — клавишу с латинской буквой E- на экране раскроется дополнительное меню Edit. Затем клавишами смещения курсора подведите указатель (светлый прямоугольник) в меню к строчке Copy examples (копировать примеры) и нажмите клавишу «Enter» - текст примера скопируется во внутренний буфер редактора. Для извлечения примера из буфера следует нажать клавишу Esc, чтобы выйти из справочной службы, подвести курсор к свободной строке в окне редактора и дать команды Shift—Ins (копирование содержимого буфера в виде блока в текст программы) и Ctrl—K H (убрать выделение блока цветом).

Занятие 3.

I. Пример программы на Паскале

II. Структура программы

III.Операторы присваивания, ввода, вывода

IV.Таблица трассировки

I.Программа на Паскале, которая вычисляет сумму двух целых чисел и выводит ее на экран.

1Program summa (input,output);

2var a,b,c: integer;

3begin

4read (a,b);

5c:=a+b;

6write (c );

7end.

Замечание. Колонка чисел слева от текста не является частью программы. Числа приведены просто для облегчения ссылок.

II. Любая программа на Паскале строится по правилам языка Паскаль и состоит из нескольких блоков (частей). Структура

программы summa:

 

строка 1

заголовок программы

строка 2

раздел описания переменных

строки 3-7

раздел описания операторов

Заголовок программы сообщает, что имя программы summa. Это имя используется для ее идентификации.

Раздел описания переменных всегда начинается со слова var и описывает элементы внутренних данных, требующиеся в ходе выполнения программы. Чтобы компьютер выполнил вычисления, информацию необходимо поместить в память компьютера. Для этой цели отводятся специальные ячейки памяти, которым в разделе описания переменных даются имена. В данном случае таких элементов три; их имена a, b, c. Хранимые значения обычно изменяются в ходе выполнения программы, в силу чего эти элементы данных называются переменными. Переменную можно сравнить с классной доской: ее значение можно”читать” столько раз, сколько пожелаешь, ее можно стереть и на том же месте написать другое значение. Повторная запись приводит к тому, что прежнее значение теряется.

Явное именование переменных в начале программы называется описанием переменных, отсюда и название части программы. Все переменные в программе должны быть описаны.

7

Слово integer (целочисленный) в конце строки 2 сопоставляет тип данных переменным a,b,c. При сопоставлении типа данных элементам данных подразумевается, что

1.Значение, которое имеет элемент данных, должен находиться внутри определенного диапазона значений;

2.Операции, которые могут выполняться с элементами данных, могут относиться только к определенному набору операций.

Для типа integer диапазон значений – это диапазон целых чисел, представимых в процессоре от –32768 до +32767. Что же касается операций, то их набор для целочисленных значений в стандартном Паскале включает сложение (+), вычитание (-), умножение (*), деление (div), деление по модулю (остаток от деления на цело) (mod).

II. Раздел операторов содержит команды, которые описывают процесс, подлежайший выполнению. Каждая команда называется оператором, и весь процесс описывается последовательностью операторов, начинающихся словом begin («начало») и заканчиввающихся словом end («конец»). Выполняя операторы один за другим, процессор производит требующиеся вычисления.

В начале каждого процесса переменным должны быть присвоены конкретные значения. Это можно сделать при помощи операторов ввода и присваивания.

Оператор в строке 4 read (a,b) называется оператором ввода (чтения). Общий вид оператора : read (а1,а2,...,аn), где а1,а2,...,аn - имена переменных, которым последовательно присваиваются вводимые с клавиатуры значения.

Выполнение оператора read происходит следующим образом:

программа приостанавливает работу и ждет ввода значений переменных. Если в операторе указано две и более переменных, то набирать их значения на клавиатуре необходимо через пробел и затем заканчивать ввод нажатием клавиши Enter, либо после набора каждого значения нажимать клавишу Enter.

введенные значения присваиваются переменным в том порядке, в каком они были указаны в операторе.

Оператор в строке 5 c:=a+b называется оператором присваивания. Общий вид оператора: V:=A, где V - имя переменной, := -знак присваивания, А – выражение (типы переменной и выражения должны совпадать!). В общем случае выражение представляет собой совокупность переменных и других объектов, соединенных знаками операций. В слуае арифметического выражения операции выполняются в соответствии со старшинством слева направо, аналогично математике. Если необходимо изменить естественный порядок вычислений, используются скобки.

Выполнение оператора присваивания:

вычисляется значение выражения А.

вычисленное значение записывается в переменную V (при этом старое значение переменной затирается).

Оператор в строке 6 write (c ) называется оператором вывода

(записи). Общий вид оператора: write (а1,а2,...,аn), где а1,а2,...,аn - имена переменных, строки символов, выражения.

Выполнение оператора write заключается в выводе на экран указанных в операторе значений переменных, строк символов, значения выражений вычисляются и также выводятся на экран.

IV. Отображение (на бумаге или на экране) того, что происходит при выполнении каждой строки из раздела операторов, называется трассировкой программы.

Трассировку программы удобно выполнять в таблице трассировки. Структура таблицы:

в первой колонке записываются номера строк, соответствующие операторам, и именно в том порядке , в каком они ыполняются;

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

8