Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Решение задач на ЭВМ. Программирование на языке Pascal. Учебное пособие
.pdf
На символ влево, вправо, на строку вверх,
вниз
, ,
На страницу вверх и на страницу вниз, соответственно
Page Up,
Page Down
В начало и в конец строки, соответственно
Home,
End
На первую и на последнюю строку окна, соответственно
Ctrl+Home,
Ctrl+End
В начало текста и в конец текста соответственно
Ctrl+PgUp,
Ctrl+PgDn
Удалить символ над курсором и слева от
него, соответственно
Delete,
Backspace
Заменить символ, на который указывает
курсор, другим
Insert или
Ctrl+V
Команды перемещения курсора
Команды перемещения курсора позволяют перемещать курсор
в пределах текста. Сочетание клавиш, используемых при редактировании, приведены в таблице 4.1.
Таблица 4.1.
Вставка и удаление символов
Редактор может работать в одном из двух режимов - в режиме
вставки или в режиме замены символов. В режиме вставки каждый
вновь вводимый символ как бы раздвигает текст на экране. Это основной режим работы редактора, в котором курсор имеет вид символа подчёркивания. В режиме замены символ, на который указывает курсор, заменяется на новый, вводимый с клавиатуры. Этот
режим включается клавишей Insert, и курсор приобретает вид пря-
моугольника. Выключается режим замены повторным нажатием
клавиши Insert. Команды вставки и удаления символов и соответ-
ствующие им сочетания клавиш приведены в таблице 4.2.
Таблица 4.2
21

Склеить две соседние стоки, установив
курсор в конце 1-й
Delete
Разрезать строки текста в месте установки курсора
Enter
Стереть всю строку, на которой располагается курсор
Ctrl+Y
Вставить новую строку
Ctrl+N
Команда Undo восстанавливает предыдущее содержимое текущей строки
Alt+BkSp
Команда Redo восстанавливает изменения, удалённые командой Undo
Меню Edit
Операции с блоками
Под блоком понимают выделенный фрагмент текста. Отменя-
ется выделение щелчком мыши по пустому месту поля окна редактора или комбинацией клавиш Ctrl+K+H.
Для копирования, перемещения и удаления выделенных бло-
ков используются соответствующие команды меню Edit: Copy,
Paste, Cut. Команда Copy копирует выделенный блок в промежу-
точный буфер (Clipboard - "карман"). При этом содержимое "кармана" обновляется. Команда Paste копирует блок из "кармана" в
место расположения курсора активного окна. Содержимое кармана
остается без изменений и может использоваться повторно. Команда
Cut удаляет выделенный блок из текста файла и помещает его в
карман. Содержимое кармана можно не только просмотреть, но и
редактировать. Для этого нужно только открыть соответствующее
окно командой Show Clipboard. Команда Clear удаляет выделенный
блок из файла без записи его в карман.
Элементы языка Паскаль
26 букв латинского алфавита
Арабские цифры 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Специальные символы , + . - = * / ;
Знаки логических операций:
= - равно
22

<> - не равно
< - меньше
> - больше
<= - меньше или равно
>= - больше или равно
Слово (имеет определенный смысл). Разделяются слова
пробелами или другими спецсимволами.
Имя переменной – последовательность букв и цифр до 63
символов, которая начинается с буквы.
Комментарий служит для пояснения программы и отдель-
ных ее частей и ограничивается { }.
Правила языка
Использовать буквы латинского алфавита
Выделять в операторные скобки несколько операторов для
одновременного их выполнения
В конце оператора ставить точку с запятой
Смысловые части выделять одинаковым отступлением от
начала строки
Правила записи выражений
Выражения записываются в строчку. Двухэтажные выра-
жения, верхние и нижние индексы не допускаются.
Используются скобки только одного вида – круглые.
В правильно записанном выражении число открывающихся
должно быть равно числу закрывающихся скобок.
Нельзя записывать подряд два знака операций.
Большие и сложные выражения нужно разбивать на не-
сколько простых выражений, а повторяющиеся действия вычислять отдельно.
Основные понятия языка Паскаль
23

Оператор – представляет собой законченную фразу языка и
Тип
Диапазон
Байт
ShortInt – короткое целое со
знаком
-128..127
1
Integer – целое со знаком
-32768..32767
2
LongInt – длинное целое со
знаком
-2147483648..
2147483647
4
Byte – короткое целое без
знака
0..255
1
Word – целое без знака
0.. 65535
2
определяет некоторый вполне законченный этап обработки данных.
Основной оператор – в своем составе не содержит других
операторов (присвоение, оператор перехода, пустой оператор).
Производные операторы – в состав которых входят другие
операторы (составной оператор, оператор выбора, оператор цикла).
Простейшие конструкции языка
Объектами действий в программах являются данные, кото-
рые определяются числовыми, логическими и символьными значениями.
Для сокращения объема программы и возможности исполь-
зования ее при различных значениях данных в записи программ
используются не сами значения, а их имена. Так кА имена могут
принимать множество значений, то вводится понятие типа.
Целый тип
Описывается INTEGER.
В Паскале определены пять типов (диапазонов значений) для
целых чисел. Областью значений каждого из них является подмножество множества целых чисел.
Таблица 4.3
В последней колонке таблицы показано, что числу из каждого диапазона отводится фиксированное количество разрядов в памяти ЭВМ. Это позволяет эффективно использовать память и влиять на скорость вычислений. Все целые типы являются упорядо-
24

ченными, поэтому к их значениям применимы две специальные
функции Succ(i) и Pred(i), где – I целое, возвращающие следующее
и предшествующее I целое число.
Чаще всего целые числа используются в простых арифметических выражениях и выступают в программах в качестве различных счетчиков и значений индексов. Над ними определены пять
основных операций, результатом которых являются также целые
числа:
+ - сложение;
- - вычитание;
* - умножение;
div – частное от деления;
mod – остаток от деления.
Все пять операций – двухместные (бинарные), т.е. применимы к двум аргументам, но операции сложения и вычитания могут
использоваться и как одноместные (унарные). При изменении знака числа, например, допустима запись
a: = -a.
При делении с точностью до целых получается два результата – частное и остаток. Операция div обозначает целочисленное деление. Знак результата берется по обычным правилам, а полученный остаток игнорируется. Например,
23 div 2 = 11; 4 div 6 = 0; (-8) div3 = - 2; (-8) div (-3) = - 2.
Операция mod дает остаток при делении двух целых чисел.
Например, 23 mod 2 = 1, (-8) mod 3 = -2; 9 mod 3 = 0. Операции *,
div, mod имеют одинаковый более высокий ранг, а операции + и –
также имеют одинаковый, но более низкий ранг.
Целой считается переменная, которая удовлетворяет условию: -32768<=N>=32767.
Если целое число превышает эти значения, то оно воспринимается как вещественное и должно быть описано REAL.
Вещественный тип
Областью значений вещественного типа является подмножество множества всех вещественных чисел. Оно не является упоря-
доченным. Для представления чисел из широкого диапазона, от
25

очень маленьких до очень больших привычное представление с
Тип
Диапазон
Цифр
Байт
Real – стандартный
2.9е-39..1.7е+38
11-12
6
Single – одинарной точности
1.5е-45..3.4е+38
7-8
4
Double – двойной точности
5.0е-324..1.7е+308
15-16
8
Extended – повышенной
точности
3.4е-4932..1.1е+4932
19-20
8
Comp – 64-битное целое
-9.2е+18..9.2е+18
19-20
8
фиксированной запятой не подходит, т.к. любой вещественный тип
в ЭВМ должен иметь ограничение на количество знаков. Если выводятся числа шириной 12 знаков, то, например, число 2 001 000
000 000 367 уже не будет изображено. Поэтому вещественные числа представляются в ЭВМ в форме с плавающей точкой, называемой экспоненциальной. Они имеют цифровую часть (мантиссу) и
порядок, следующий за знаком е. Приведенное выше число примет
вид 2.001е + 15. Ясно, что такая форма представления чисел дает
возможность выполнять операции над вещественными числами
только приближенно. Вообще, нельзя предполагать точное равенство никаких двух чисел с плавающей точкой. Количество цифр в
мантиссе характеризует точность. Чем больше цифр имеет мантисса, тем погрешность меньше.
Погрешность зависит от природы вычислений. Программист
должен организовывать вычисления так, чтобы избегать серьёзных
ошибок.
Свои особенности имеет использование математического сопроцессора: аппаратные ограничения всегда существуют. Дополнительные трудности возникают также при тестировании программ, содержащих операции над вещественными числами. Следует различать синтаксические и логические ошибки и повышать
устойчивость программ.
Таблица 4.4
Стандартный вещественный тип Real используется без мате-
матического сопроцессора, а типы Single, Double, Extended отно-
сятся к расширенному набору вещественных типов и рассчитаны
на работу с сопроцессором, применение которого значительно увеличивает точность расчетов и ускоряет их выполнение. Паскаль да-
26

ет возможность эмулировать работу математического сопроцессора
при его отсутствии программным путем с помощью директив компилятора {$ N, E+}, которые заключаются в фигурные скобки и
имеют отличительный признак $.
Логический тип
Для хранения логических выражений существует тип дан-
ных Boolean (булевский). Это название происходит от имени математика Джорджа Буля. Поскольку логическое выражение может
иметь только два разных значения, то диапазон этого типа состоит
из двух значений: false (0 – ложно) и true (1 – истинно). Слова false
и true – логические константы языка. С помощью трех основных
логических операций not, and, or (не, и, или) строят мощные логические выражения – составные условия. Их старшинство следующее: not, and, or.
При записи условий используются следующие отношения
между величинами: =, <>, <, >, <=, >=, in (принадлежность элемента множеству). В Паскале подвыражение, содержащее отношение,
заключают в круглые скобки.
Символьный тип
Символьный (литерный) тип Char – тип данных, состоящий
из одного символа (буквы, знака, кода). Наиболее широко употребляется набор символов, называемый Американский стандартный
код для обмена информацией (American Standard Code for Information Interchange) и обозначаемый аббревиатурой ASCII. Он содержит две группы символов: изображаемые и управляющие, но
каждому символу соответствует свой код.
Взаимно обратные стандартные функции Chr и Ord воз-
вращают соответственно символ по ASCII- коду и наоборот.
Например: Chr(65) = ‘A’ , Ord (‘A’)= 65.
В Паскале символы чаще всего представляются в одинар-
ных кавычках, но возможно и представление символа его кодом с
помощью функции Chr или префикса #. Например: ‘A’=
Chr(65)=#65.
27

Операций над значениями литерного типа, которые давали
бы значения этого же типа, нет. Символы можно сравнивать друг с
другом или присваивать. При сравнении считается, что символы
равны, если равны их ASCII- коды; и один символ больше другого,
если его код больше. Например: ‘a’ > ’A’ , потому что 97 > 65.
Функции Succ и Pred подходят и для последовательного перебора
символов. Каждый символ можно рассматривать как элемент множества Set of Char и, следовательно, применять к нему операцию in.
Строковый тип
Значение строкового типа String – последовательность сим-
волов. Количество символов в строке от 0 до 255. Строка, как и
символ, заключается в одинарные кавычки. К отдельным символам
строки, совместимым по типу со значением Char, можно обращать-
ся по номеру (индексу) данного символа в строке. Для определения
данных строкового типа используется идентификатор String, за ко-
торым следует заключенное в квадратные скобки значение максимально допустимой длины строки данного типа. Если это значение
не указывается, то длина строки по умолчанию считается равной
255 байт, а при попытке записи в переменную строку больше сим-
волов, чем было объявлено в описании, «лишняя» часть отсекается.
Строковые данные используются в программах и в качестве констант. Перед использованием строки нужно инициализировать пу-
стыми или определенными значениями. Пустая строка обозначается двумя одинарными кавычками подряд.
Над строковыми данными допустимы операции сцепления
и отношения. Операция сцепления (+) применяется для сцепления
нескольких строк в одну и имеет более высокий приоритет, чем
операции отношения. Результат выполнения операций отношения
всегда имеет булевский тип. Для обработки строковых данных в
Паскале существует целая библиотека стандартных процедур и
функций.
Контрольные вопросы для самоконтроля при изучении
1. Как активизировать интегрированную среду программирова-
ния BP 7.0?
28

2. Как активизировать окно редактора среды ВР?
3. Поясните назначение и содержание верхней строки экрана сре-
ды ВР.
4. Поясните назначение и содержание нижней строки экрана сре-
ды ВР.
5. Перечислите пункты главного меню среды ВР.
6. Перечислите опции пункта меню File среды ВР.
7. Перечислите опции пункта меню Edit среды ВР.
8. Перечислите пункты меню Window среды ВР.
9. В чем отличие режимов вставки и замены символов? Как они
организуются?
10. Какими способами переместить курсор на одну позицию, не-
сколько позиций, в начало и конец строки экрана (или файла)?
11. Перечислите команды удаления и вставки строк, отдельных
символов, слов.
12. Как выделить блок символов и как убрать выделение? В каких
случаях это используется?
13. Как осуществить поиск/замену символов по образцу?
14. Как исполнить созданную программу?
15. Перечислите методы переключения между окнами редактора и
пользователя.
16. Для чего осуществляется компиляция программы?
17. Перечислите способы переключения между открытыми окнами
редактора.
18. Как осуществить выход из среды ВР 7.0?
19. Что включает в себя алфавит Borland Pascal 7.0?
20. Перечислите операции, производимые в Borland Pascal 7.0?
21. Что понимается под идентификаторами в Borland Pascal 7.0 и
каковы требования к ним?
22. Какие типы данных используются в Borland Pascal 7.0?
23. Охарактеризуйте целые типы данных в Borland Pascal 7.0?
24. Охарактеризуйте вещественные типы данных в Borland Pascal
7.0?
25. Дать понятие логического, символьного и строкового типа дан-
ных в ВР.
29

4.2. Основные стандартные функции языка Паскаль
Функция Назначение
Тип результата
1 2 3
Abs(X)
абсолютное значение аргумента
x – | x |
совпадает
с типом Х
Arctan(X)
арктангенс аргумента x – arctq x
вещественный
Cos(X)
косинус аргумента x – cos x
вещественный
Sin(X)
синус аргумента x – sin x
вещественный
Exp(X)
экспоненциальная функция аргумента x – ex
вещественный
Ln(X)
натуральный логарифм – ln x
вещественный
Frac(X)
дробная часть числа - целая часть отбрасывается
вещественный
Int(X)
целая часть числа - дробная часть отбрасывается
вещественный
В Паскале имеется системная библиотека математических
процедур и функций, которые ещё называют стандартными или
встроенными. Применяя их в выражениях или для конструирования новых функций, необходимо следить за типами аргументов и
возвращаемых значений. Выполняя действия с любыми числами,
следует помнить основные математические правила:
нельзя делить на нуль;
не существует квадратный корень из отрицательно-
го числа;
не существует логарифм числа, которое меньше
или равно по отношению к нулю.
Наиболее часто используемые основные стандартные
функции языка Паскаль приведены в таблице 4.5.
Таблица 4.5
30
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
