Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

417-Информатика 1 Муравьев

.pdf
Скачиваний:
18
Добавлен:
11.05.2015
Размер:
1.04 Mб
Скачать

41

При выборе команды "Найти" ("Find") или при нажатии Ctrl-Q-F на экране отобразится окно диалога "Find".

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

Команда "Replace" в отличие от команды "Find" не только находит заданную строку, но и заменяет ее на другую.

5.8.Другие команды

Спомощью команды "Восстановить строку" ("Restore line") в меню "Edit" можно легко восстановить в первоначальное состояние последнюю редактируемую строку. Горячей клавишей для ее вызова будет Ctrl-Q-L. Следует помнить, что действие этой команды распространяется только на текущую строку.

Клавишу Esc всегда можно использовать для быстрого возврата из главного меню в окно редактирования. Клавиша Alt-X поможет быстро завершить работу в IDE и вернуться в DOS.

5.9.Создание программы

Если после запуска компилятора на экране не отображено стандартное окно редактора, то для создания нового файла следует выполнить команду "New" меню "File", либо нажать Alt-F-N. Далее ввести исходный текст программы. Для сохранения исходного текста следует использовать команду "Сохранить" ("Save") меню "File". При нажатии F2 ("горячая" клавиша команды "Save") на экране отображается окно, где требуется ввести имя сохраняемого файла и затем нажать Enter. Новый файл с заданным именем будет сформирован в текущем каталоге. Если не вводить новое имя, то файлу по умолчанию присваивается стандартное имя NONAME00.PAS. Если нужно записать файл в другой каталог, тогда нужно ввести полное имя с указанием пути. С помощью команды "Сохранить как.." ("Save as..") можно сохранить один и тот же файл под разными именами. Использование команды "Сохранить все" ("Save all") позволит сохранить все файлы, открытые в разных окнах.

После того как программа написана и занесена на диск, можно перейти к этапу компиляции. Чтобы откомпилировать программу, необходимо нажать Alt-F9, либо перейти к опции "Компилировать" ("Compile") главного меню и выполнить команду "Compile". Далее на экране появится окно "Компиляция" ("Compiling"), которое содержит вспомогательную информацию о ходе выполнения компиляции.

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

42

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

Команда "Назначение" ("Destination") меню "Compile" поможет определить, где хранить выполнимый EXE файл: в памяти (memory) или на диске (disk). Далее нужно сохранить файл с помощью клавиши F2 и перейти к выполнению программы.

Чтобы выполнить программу, следует нажать Ctrl-F9 или перейти к опции "Выполнить" ("Run") главного меню и вызвать команду "Run". Перед стартом автоматически проверяется, проводилась ли компиляция программы и, если ее не было, тогда программа компилируется, а затем выполняется. Во время работы привычное изображение IDE уступает место стандартному экрану DOS, содержимое которого аналогично тому, что было на экране перед запуском компилятора. После окончания работы программы управление передается обратно в IDE.

5.10. Просмотр результатов

Чтобы просмотреть результаты программы, следует воспользоваться командой "Вывод" ("Output") меню "Window". На экране появится новое активное окно с соответствующим порядковым номером. Оно будет содержать копию текущего экрана DOS, включая вместе результаты работы и текст любых командных строк DOS.

Для полноэкранного просмотра достаточно раскрыть окно "Output" на весь экран. Дополнительно ту же возможность представляет специальная команда "Экран пользователя" ("User screen") меню Window" (горячая клавиша Alt-F5). Для возврата из "User screen" достаточно нажать любую клавишу.

5.11. Повторное обращение к программе

С помощью команды "Открыть" ("Open") меню "File" (горячая клавиша - F3) можно загрузить в окно редактора текст любой программы из имеющихся на диске. Во время выполнения команды на экране появится список всех файлов, имеющих расширение.PAS в текущем каталоге.

5.12. Помощь

Если во время работы возникают какие либо затруднения, то в любой момент можно обратиться к системе контексно-зависимой помощи. На экране при этом появится окно "Help", где можно найти ответ на любой

43

вопрос. Для стандартного входа в окно "Help" предусмотрена “горячая” клавиша F1. Выбор команды "Содержание" ("Contens") приведет к отображению таблицы основных тем.

С помощью команды "Выход в DOS" ("DOS shell") меню "File" можно временно выйти в DOS, выполнить там любые действия и после ввода команды EXIT вернуться опять в IDE.

ГЛАВА 6. АЛГОРИТМЫ РЕШЕНИЯ ЗАДАЧИ

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

Блок-схема программы состоит из набора простых схем алгоритмов:

НАЧАЛО

 

Определяет начало

 

 

программы

 

 

 

 

Простой линейный оператор,

 

 

определяющий какое либо

 

 

действие, например вычисление

 

 

значения переменной, печать,

 

 

рисование линий

 

 

и т.д. В прямоугольнике

 

 

указывается действие.

Условие

Да

 

Оператор выбора в

 

 

зависимости от условия

Нет

 

осуществляет развилку.

 

“Да”, если условие

 

 

выполняется, “Нет” - если

 

 

условие не выпоняется.

44

Печать или вывод на экран значений переменных

Определяет конец программы

Конец

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

Операторы структурного программирования похожи на операторы блок-схемы, добавлен оператор повтора (цикла). Операторы структурного программирования рисуются последовательно.

S1

Простые операторы определяют

 

простое действие и расположены

 

линейно

S2

S3

 

F

Да

Оператор ветвления

Нет

S1

S2

В зависимости от того выполняется ли условие F, происходит выполнение оператора s1 или s2

45

i=1..50

S

Оператор S циклически выполняется при значениях i от 0 до 50.

ГЛАВА 7. ЯЗЫК T U R B O - P A S C A L

7.1. Лексемы языка TURBO-PASCAL

Программа на языке TURBO-PASCAL формируется из букв, цифр и специальных символов.

Буквы:

A B C D E F G H I J K L M N O P Q R S T U W X Y Z a b c d e f g h i j k l m n o p q r s t u w x y z и пробел

Десятичные цифры: 0 1 2 3 4 5 6 7 8 9 Шестнадцатеричные цифры: 0 1 2 3 4 5 6 7 8 9 A B C D E F

Специальные символы: + - * / = < > [ ] . , ( ) : ; ^ @ { } $ #

Комбинации спецсимволов образуют составные символы:

<> <= >= := .. {* *} (. .)

7.2. Идентификаторы

Неделимые последовательности символов алфавита образуют слова (идентификаторы), которые используются для именования констант, переменных, типов, процедур, функций, модулей, программ и полей в записях. Длина идентификатора может быть любой, но значимы только первые 63 символа. Идентификатор может начинаться с буквы или символа подчеркивания и не должен содержать пробелов. После первого символа допускаются буквы, цифры и знак подчеркивания. При написании идентификаторов допускаются как строчные, так и прописные буквы. В работе с записями и в объектно-ориентированном программировании

46

(ООП) допускается использование уточненных идентификаторов, в которых отдельные части идентификатора разделяются точкой. Примеры написания идентификаторов:

Таблица 5

Правильно

Неправильно

Name

My Name

WorkPhone1

1WorkPhone

HousePhone

House-Phone

KP.Tyiop

44RT

Trime.First.RT

Trime;RT

Идентификаторы разделяются на зарезервированные слова, стандартные идентификаторы и идентификаторы пользователя.

Зарезервированные слова составляют основу языка TURBO PASCAL и имеют строго фиксированное написание. К ним относятся следующие

идентификаторы:

 

 

 

and

end

nil

shr

asm

file

not

string

array

for

object

then

begin

function

of

to

case

goto

or

type

const

if

packed

unit

constructor

implementation

procedure

until

destructor

in

program

uses

div

inline

record

var

do

interface

repeat

while

downto

label

set

with

else

mod

shl

xor

Стандартные идентификаторы используются для именования процедур, функций, типов, директив и т.д., входящих в TURBO-PASCAL, например:

absolute

external

forward

near

assembler

far

interrupt

private

virtual

 

Идентификаторы пользователя определяются программистом и носят произвольный характер, но для удобства чтения и отладки обычно придерживаются стандартных имен, например: Sort Money1 Money_in Delta_1 Delta_2 Summa.

47

7.3. Понятие типа данных

Любая программа обрабатывает какие-либо данные. В практике встречаются самые разные типы: целые и дробные числа, символы, строки, массивы, множества и др. В языке TURBO-PASCAL под типом понимается множество значений, которое может принимать переменная, и совокупность действий, которые можно выполнять с этими значениями. Например, имеется тип byte, к нему относятся все целые числа в диапазоне 0..255. Элементы этого типа могут участвовать в операциях сложения, вычитания, умножения, деления.

Для описания каждого типа данных в PASCAL существует свой стандартный идентификатор: для целых - integer, для дробных - real, для строк - string и т.д. Пользователь может образовывать собственные типы данных и давать им произвольные имена. Для определения нестандартных типов используется зарезервированное слово TYPE, за которым следует имя типа и список его значений.

Например:

TYPE Name_Ident=(Dog,Cat,Fox,Miller,Sparrow);

Имеется 6 групп типов: скалярные, строковые, структурированные, процедурные, объектные типы и указатели.

7.4. Константы и переменные

Все данные в программе интерпретируются как константы или переменные. Константы не изменяют своего значения до завершения работы программы и описываются зарезервированным словом CONST, за которым идет список имен констант, каждому из которых с помощью символа "=" присваивается значение.

CONST My_stature=185; Kol_dney=31; N1=25;

Значение констант можно задавать выражением, при этом нужно помнить, что данные в выражении должны быть определены ранее, например:

CONST Min=5;

Sum_1=10+Min; Sum_2=60+Min*5;

48

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

CONST

M_1 :word=10;

Str_2:string="ALFA";

Delt :integer=234;

Temp :real=45.55;

Переменные в отличие от констант могут неограниченное число раз менять свое значение. Для их описания служит зарезервированное слово VAR, за которым следует список идентификаторов и через двоеточие указывается тип. Каждая группа переменных отделена от другой точкой с запятой.

VAR

a1,a2,a3,a4

:integer;

st1,st2

:string;

z1,z2,y1,rr

:real;

Каждый элемент данных, используемых в программе, должен быть описан в разделах CONST или VAR. Исключение составляют данные, задаваемые непосредственно значением:

SUM:=x+344; ( 344 - элемент данных, заданный значением )

Если в программе используются нестандартные типы, то описание их в разделе TYPE всегда предшествует разделу VAR.

Вещественные (дробные) числа можно задавать в стандартном виде, например 34.585, а также в так называемом экспоненциальном виде. Число 34.585 к примеру в экспоненциальном виде записывается как 3.458e01 или 345.85e-01 или 34.585e0 , где после символа e указывается показатель степени числа 10, умноженного на число, стоящее перед символом e.

7.5. Выражения и операции

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

49

простейшем случае выражение может состоять из одной переменной, константы или значения. Операции разделяются по типу на арифметические, отношения, логические (Булевские), операция @, строковые. Выражения соответственно называются арифметические, отношения, булевскими, строковыми и т.д. в зависимости от того, какого типа операнды и операции в них используются.

Арифметические операции выполняют арифметические действия в выражениях над значениями операндов целочисленных и вещественных типов. Арифметические операции приведены в таблице 5. Обратите особое внимание на типы операндов и результата. Например, операндами и результатом операции div могут быть только целые числа, использование вещественных чисел будет приводить к ошибке на этапе компиляции. В результате деления 38 div 5 будет целое число 7 (т.е. целая часть 7.6).

 

 

 

Таблица 6

Операция

Действие

Типы

Тип результата

 

 

 

операндов

 

 

Бинарные

Сложение

Целый

Целый

 

+

 

 

Вычитание

Вещественный

Вещественный

 

-

Целый

Целый

 

 

Умножение

Вещественный

Вещественный

 

*

Целый

Целый

 

 

Деление

Вещественный

Вещественный

 

/

Целый

Вещественный

 

 

Целочисленное

Вещественный

Вещественный

 

div

Целый

Целый

 

 

Деление

 

 

 

mod

Остаток от деления

Целый

Целый

 

and

Арифметич. И

Целый

Целый

 

shl

Сдвиг влево

Целый

Целый

 

shr

Сдвиг вправо

Целый

Целый

 

or

Арифметич. ИЛИ

Целый

Целый

 

xhor

Исключающая

Целый

Целый

 

Унарные

дизьюнкция

 

 

 

Сохранение

Целый

Целый

 

+

 

 

знака

Вещественный

Вещественный

 

-

Отрицание знака

Целый

Целый

 

 

Арифметич.

Вещественный

Вещественный

 

not

Целый

Целый

 

 

отрицание

 

 

 

50

7.6. Операции отношения

Булевский (логический) тип имеет только два значения: TRUE (истина) или FALSE (ложь) и определяется обычно выполнением какихлибо условий. Булевский тип имеет зарезервированное слово BOOLEAN и переменные описываются в блоке описания переменных в виде:

VAR

l1,l2,l3 :boolean;

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

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

 

 

 

Таблица 7

Операция

Действие

Выражение

Результат

 

=

Равно

A=B

True,если A равно B

 

<>

Не равно

A<>B

False,если A не равно B

 

True,если A не равно B

 

>

Больше

A>B

False,если A равно B

 

True,если A больше B

 

 

 

 

False,если A меньше или

 

<

Меньше

A<B

равно B

 

True,если A меньше B

 

 

 

 

False,если A больше или

 

>=

Больше или

A>=B

равно B

 

True,если A больше или

 

 

равно

 

равно B

 

<=

 

A<=B

False,если A меньше B

 

Меньше или

True,если A меньше или

 

 

 

равно B

 

in

равно

A in B

False,если A больше B

 

 

True, если A находится в

 

 

Принадлежность

 

списке B