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

Решение задач на ЭВМ. Программирование на языке Pascal. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
На символ влево, вправо, на строку вверх, вниз
, ,  
На страницу вверх и на страницу вниз, соот­ветственно
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 Infor­mation 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]