Файл: программирование на паскале2.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.04.2025

Просмотров: 1349

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Министерство образования и науки российской федерации

Начальный курс программирования на основе алгоритмического языка Паскаль

Введение

Часть. Основы программирования на Паскале

1.1. Структура простейшей Паскаль-программы

1.2. Данные и операции над ними

1.2.1. Свойства ячейки памяти. Переменные и константы

1.2.2. Типы данных

1.2.3. Правила записи констант

1.2.4. Описание переменных и именованных констант в Паскале

1.2.5. Выражения

1.3. Операторы преобразования данных

1.3.1. Оператор присваивания

1.3.2. Понятие ввода и вывода

1.3.3. Оператор вывода

1.3.4. Оператор ввода

1.4. Разработка простейших программ

1.4.1. Понятие о качестве программы и основные технологические принципы разработки программ

1.4.2. Алгоритм и способы его записи.

1.4.3. Изображение алгоритмов в виде блок-схем

1.4.4. Базовые структуры алгоритмов и их кодирование на Паскале

1. Следование

2. Ветвление (развилка)

If условие then

If условие then

3. Цикл

1.4.5. Примеры разработки программ

1.5. Массивы

1.5.1. Понятие массива. Основные правила работы с массивами в Паскале

1.5.2. Примеры программ с массивами

1.614. Структура паскаль-программы

Часть.Подпрограммы

2.1. Общие сведения о подпрограммах

2.2. Процедуры в Паскале

2.2.1.Описание процедур

2.2.2. Обращение к процедуре

2.3. Функции Паскаля

2.3.1. Описание функций

2.3.2. Обращение к функции

2.4. Глобальные и локальные имена

2.5. Использование подпрограммы в качестве параметра другой подпрограммы

2.6. Модули

2.6.1. Общие сведения

2.6.2. Структура модуля

2.6.3. Использование модулей

2.6.4. Модули как средство программирования

Часть. Обработка символьной информации и документов сложной структуры

3.1. Обработка символьной информации

3.1.1. Символьный тип

3.1.2.Строковые типы

3.1.3. Подпрограммы, работающие со строками

Функции

Процедуры

3.2. Тип запись

3.3. Файлы

3.3.1. Общие понятия

3.3.2. Файлы в Турбо Паскале

3.3.3. Текстовые файлы

Пример 1

Пример 2

3.3.4. Типизированные файлы

3.3.5. Нетипизированные файлы

Часть IV. Работа с динамическими массивами

Приложение 1. Краткая инструкция по работе в среде Turbo (Borland) Pascal.

Режимы компиляции программы, использующей модули

Приложение 2. Краткая инструкция по работе в режиме консольного приложения средыDelphi. Создание консольного приложения

Сохранение консольного приложения.

Отладка программы

Контрольные вопросы

Заключение

Библиографические ссылки

Содержание

Часть IV. Работа с динамическими массивами 98

1.2. Данные и операции над ними

1.2.1. Свойства ячейки памяти. Переменные и константы

Компьютерные программы, для написания которых предназна­чен алгоритмический язык Паскаль, обрабатывают данные, которые хранятся в оперативной памяти компьютера. Каждое элемен­тарное данное имеет некоторый смысл (например, число или символ) и занимает один или несколько байтов памяти3. Эту область памяти часто называютячейкой памяти. Для того, чтобы ячейки памяти можно было различать и использовать их в программе, каждой ячейке дается имя. Таким образом, ячейка памяти характеризуется своимименемисодержимым(т. е. данным, которое в ней хранится). Кроме того, ячейка имеетадрес(адресом ячейки считается адрес младшего из занимаемых ею байтов). В программе имена ячеек участвуют как имена переменных, т. е. переменные программы - это, по существу, ячейки памяти. При написании программ считают, что ячейка памяти обладает следующими свойствами:

  1. Информация в ячейке памяти хранится всё время выполнения программы.

  2. При записи нового содержимого в ячейку предыдущее содержимое не сохраняется. Запись содержимого в ячейку называется присваиванием.Оператор присваивания описан в п.1.3.1.

  3. При считывании содержимое ячейки не изменяется.

  4. Если в ячейку на протяжении программы не было ничего записано, то ее содержимое считается неопределенным. Отметим, что это свойство не всегда выполняется в реализациях алгоритмических языков (например, все переменные в 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.