ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 21.04.2025
Просмотров: 1349
Скачиваний: 0
СОДЕРЖАНИЕ
Министерство образования и науки российской федерации
Начальный курс программирования на основе алгоритмического языка Паскаль
Часть. Основы программирования на Паскале
1.1. Структура простейшей Паскаль-программы
1.2. Данные и операции над ними
1.2.1. Свойства ячейки памяти. Переменные и константы
1.2.3. Правила записи констант
1.2.4. Описание переменных и именованных констант в Паскале
1.3. Операторы преобразования данных
1.4. Разработка простейших программ
1.4.1. Понятие о качестве программы и основные технологические принципы разработки программ
1.4.2. Алгоритм и способы его записи.
1.4.3. Изображение алгоритмов в виде блок-схем
1.4.4. Базовые структуры алгоритмов и их кодирование на Паскале
1.4.5. Примеры разработки программ
1.5.1. Понятие массива. Основные правила работы с массивами в Паскале
1.5.2. Примеры программ с массивами
1.614. Структура паскаль-программы
2.1. Общие сведения о подпрограммах
2.4. Глобальные и локальные имена
2.5. Использование подпрограммы в качестве параметра другой подпрограммы
2.6.4. Модули как средство программирования
Часть. Обработка символьной информации и документов сложной структуры
3.1. Обработка символьной информации
3.1.3. Подпрограммы, работающие со строками
Часть IV. Работа с динамическими массивами
Приложение 1. Краткая инструкция по работе в среде Turbo (Borland) Pascal.
Режимы компиляции программы, использующей модули
1.2. Данные и операции над ними
1.2.1. Свойства ячейки памяти. Переменные и константы
Компьютерные программы, для написания которых предназначен алгоритмический язык Паскаль, обрабатывают данные, которые хранятся в оперативной памяти компьютера. Каждое элементарное данное имеет некоторый смысл (например, число или символ) и занимает один или несколько байтов памяти3. Эту область памяти часто называютячейкой памяти. Для того, чтобы ячейки памяти можно было различать и использовать их в программе, каждой ячейке дается имя. Таким образом, ячейка памяти характеризуется своимименемисодержимым(т. е. данным, которое в ней хранится). Кроме того, ячейка имеетадрес(адресом ячейки считается адрес младшего из занимаемых ею байтов). В программе имена ячеек участвуют как имена переменных, т. е. переменные программы - это, по существу, ячейки памяти. При написании программ считают, что ячейка памяти обладает следующими свойствами:
Информация в ячейке памяти хранится всё время выполнения программы.
При записи нового содержимого в ячейку предыдущее содержимое не сохраняется. Запись содержимого в ячейку называется присваиванием.Оператор присваивания описан в п.1.3.1.
При считывании содержимое ячейки не изменяется.
Если в ячейку на протяжении программы не было ничего записано, то ее содержимое считается неопределенным. Отметим, что это свойство не всегда выполняется в реализациях алгоритмических языков (например, все переменные в BorlandPascalпри объявлении обнуляются).
Под константойв программировании понимается значение, не изменяющееся в процессе выполнения программы. Константам, также как и переменным, соответствуют ячейки памяти. Можно считать, что эти ячейки защищены от записи. В программе, кроме константобозначенныхилиименованных(т. е. имеющих имя), могут использоваться явные константы, заданные своим значением. Например, можно использовать константу с именемepsilon, предварительно задав ей значение 0.0001, а можно использовать в программе явную константу 0.00014.
В качестве именпеременных и констант, также как в качестве других имен, в языках программирования (в том числе Паскале) используются идентификаторы. Под идентификатором понимается последовательность букв, символов подчеркивания и цифр, начинающаяся с буквы или символа подчеркивания. В Паскале при формировании имен (а также служебных слов) прописные и соответствующие строчные буквы не различаются.
1.2.2. Типы данных
Кроме разделения данных на переменные и константы, существует классификация данных по типу. Описание переменных прежде всего состоит в объявлении их типа. Тип данных характеризует форму их представления в памяти компьютера, и, следовательно, область значений. Каждый тип характеризуется набором выполняемых над данными операций. Традиционно в универсальных языках программирования имеются такие стандартные типы, как целый, вещественный, символьный и логический5.
Существование двух числовых типов (целого и вещественного) связано с двумя возможными формами представления чисел в памяти компьютера.
Данные целого типахранятся в форме представленияс фиксированной точкой. Для нее характерны абсолютная точность представления чисел и выполнения операций над ними, а также ограниченный диапазон значений чисел. Целый тип используется для данных, которые в принципе не могут иметь дробной части (количество людей, машин, и т. д., номера и счетчики).
Тип вещественныйсоответствует форме представления чиселс плавающей точкой, для которой характерны приближенное представление числа с заданным количеством значащих цифр (знаков мантиссы) и большим диапазоном порядка числа, что обеспечивает возможность представления как очень больших, так и очень малых по абсолютной величине чисел.В силу приближенного представления данных вещественного типа сравнение их на равенство является некорректным.
В современных реализациях универсальных языков программирования обычно существует несколько целых и несколько вещественных типов, каждый из которых характеризуется определенным размером отводимой под одно значение памяти и, соответственно, определенным диапазоном значений чисел, а для вещественных типов - и определенной точностью (числом цифр мантиссы).
Данные символьного типапринимают значения на всем множестве допустимых для данного компьютера символов. Каждому символу соответствует двоичный код, все коды символов собраны в специальные стандартные таблицы кодирования. В настоящее время используются таблицыANSI(в которой для хранения одного символьного значения отводится один байт) иUNICODE(код одного символа занимает два байта). Эти таблицы совместимы: первые 256 кодовUNICODEсовпадают с кодамиANSI. Существование двух кодовых таблиц объясняется необходимостью поддержки приемственности программного обеспечения при развитии компьютерной техники: для уже устаревших 16-разрядных компьютеров используется таблицаASCII, первая половина которой совпадает сANSI.
В Паскале для описания данных символьного типа используется ключевое слово char. В версииBorlandPascalиспользуется только система кодирования ANSI. ВObjectPascal, кроме типаchar,имеется типwidechar, поддерживающий кодировкуUNICODE.
Данные логического типа в Паскале описываются с помощью ключевого слова boolean.
Используемые в различных версиях Паскаля целые и вещественные типы представлены в таблицах 1-4.
Таблица 1.
Стандартные целые типы данных Borland Pascal (операционная среда MS DOS)
|
Тип данных |
Размер, байты |
Диапазон значений |
|
byte |
1 |
0...255 |
|
shortint |
1 |
-128...127 |
|
word |
2 |
0...65535 |
|
integer |
2 |
-32768...32767 |
|
longint |
4 |
-2147483648...2147483647 |
Таблица 2.
Стандартные целые типы данных Object Pascal (операционная среда Windows)
|
Тип данных |
Размер, байты |
Диапазон значений |
|
byte |
1 |
0...255 |
|
shortint |
1 |
-128...127 |
|
word |
2 |
0...65535 |
|
smallint |
2 |
-32768...32767 |
|
integer |
2 |
-2147483648...2147483647 |
|
longint |
4 |
-2147483648...2147483647 |
|
longword |
4 |
0…4294967295 |
|
int64 |
8 |
-263…+263-1 |
Таблица 3. Стандартные вещественные типы данных Borland Pascal (операционная среда MS DOS)
|
Тип данных |
Размер, байты |
Диапазон порядка |
Число цифр мантиссы |
|
single |
4 |
-45...+38 |
7…8 |
|
real |
6 |
-39…+38 |
11…12 |
|
double |
8 |
-324...+308 |
15…16 |
|
extended |
10 |
-4951...+4932 |
19…20 |
|
comp6 |
8 |
-263-1…+263-1 |
19…20 |
Таблица 4. Стандартные вещественные типы данных Object Pascal (операционная среда Windows)
|
Тип данных |
Размер, байты |
Диапазон порядка |
Число цифр мантиссы |
|
single |
4 |
-45...+38 |
7…8 |
|
real48 |
6 |
-39…+38 |
11…12 |
|
real |
8 |
-324...+308 |
|
|
double |
8 |
-324...+308 |
15…16 |
|
extended |
10 |
-4951...+4932 |
19…20 |
|
comp7 |
8 |
-263-1…+263-1 |
19…20 |
|
currency8 |
8 |
‑922337203685477.5808…922337203685477.5807 |
19…20 |
Заметим, что помнить эти таблицы совершенно необязательно. Для написания программ первой части пособия нам потребуются всего два числовых типа: вещественный real и целый integer.
Все рассмотренные в этом параграфе типы относятся к стандартным ( т. е. встроенным в язык) типам Паскаля. У пользователя имеется возможность задать собственные, нестандартные типы в разделе TYPEпрограммы – об этом см. §§1.5.2, 1.6.