- •Министерство образования и науки российской федерации
- •Начальный курс программирования на основе алгоритмического языка Паскаль
- •Введение
- •Часть. Основы программирования на Паскале
- •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.1. Структура простейшей Паскаль-программы
Простейшая программа на Паскале состоит из одного файла и имеет следующую структуру (см. рис.1).
programИмя_программы; Varописания переменных begin операторы end.
|
|
programsumma; Vara,b,c:integer;{описание трех целых переменных} begin writeln(‘введитеaиb’); {приглашение к вводу aиb} readln(a.b); {ввод a,b} c=a+b; {вычисление с – суммы} writeln(c);{вывод с} end. |
а) |
|
б) |
Рис.1
а) общая схема простейшей Паскаль-программы;
б) пример программы вычисления суммы двух чисел.
Программа начинается с заголовка (programИмя_программы). Затем идет ключевое слово1Var, после которого даютсяописанияпеременных2программы. Далее между ключевых словbeginиendзаписываетсяоператорыпрограммы; эти слова в паскале играют роль скобок, т. е. объединяют компоненты в единое целое. Обратим внимание, что последнее словоendпрограммы требует после себя точку.
Любая программа состоит изинструкцийязыка.Инструкциимогут быть либоописаниями, либооператорами.Операторы- это исполняемые инструкции; при компиляции они переводятся в одну или несколько машинных команд. Описания- это неисполняемые инструкции языка; они используются компилятором для распределения памяти под данные и определения характера операций, которые могут выполняться с этими данными. Описания характеризуют область значений данных.
Фрагмент Паскаль-программы, начинающийся со слова Var и содержащий описания переменных, называется разделом переменных. Программа может иметь и другие разделы описаний (констант, типов и т. д.); но простейшая программа, приведенная на рис.1,а, также дает возможность решить многие практически важные задачи.
В любое место программы можно включить комментарии - поясняющие фразы, окаймленные фигурными скобками. Комментарии компилятором не обрабатываются и служат только для пояснения текста программы. В Объектном Паскале также допускается использовать как комментарий часть строки программы от символов // до конца строки.
1.2. Данные и операции над ними
1.2.1. Свойства ячейки памяти. Переменные и константы
Компьютерные программы, для написания которых предназначен алгоритмический язык Паскаль, обрабатывают данные, которые хранятся в оперативной памяти компьютера. Каждое элементарное данное имеет некоторый смысл (например, число или символ) и занимает один или несколько байтов памяти3. Эту область памяти часто называютячейкой памяти. Для того, чтобы ячейки памяти можно было различать и использовать их в программе, каждой ячейке дается имя. Таким образом, ячейка памяти характеризуется своимименемисодержимым(т. е. данным, которое в ней хранится). Кроме того, ячейка имеетадрес(адресом ячейки считается адрес младшего из занимаемых ею байтов). В программе имена ячеек участвуют как имена переменных, т. е. переменные программы - это, по существу, ячейки памяти. При написании программ считают, что ячейка памяти обладает следующими свойствами:
Информация в ячейке памяти хранится всё время выполнения программы.
При записи нового содержимого в ячейку предыдущее содержимое не сохраняется. Запись содержимого в ячейку называется присваиванием.Оператор присваивания описан в п.1.3.1.
При считывании содержимое ячейки не изменяется.
Если в ячейку на протяжении программы не было ничего записано, то ее содержимое считается неопределенным. Отметим, что это свойство не всегда выполняется в реализациях алгоритмических языков (например, все переменные в BorlandPascalпри объявлении обнуляются).
Под константойв программировании понимается значение, не изменяющееся в процессе выполнения программы. Константам, также как и переменным, соответствуют ячейки памяти. Можно считать, что эти ячейки защищены от записи. В программе, кроме константобозначенныхилиименованных(т. е. имеющих имя), могут использоваться явные константы, заданные своим значением. Например, можно использовать константу с именемepsilon, предварительно задав ей значение 0.0001, а можно использовать в программе явную константу 0.00014.
В качестве именпеременных и констант, также как в качестве других имен, в языках программирования (в том числе Паскале) используются идентификаторы. Под идентификатором понимается последовательность букв, символов подчеркивания и цифр, начинающаяся с буквы или символа подчеркивания. В Паскале при формировании имен (а также служебных слов) прописные и соответствующие строчные буквы не различаются.