
- •Введение
- •Глава 1. Структурное программирование
- •1.1 Основные определения
- •1.2 Три основных действия
- •1.2.1 Последовательность
- •1.2.2 Выбор
- •1.2.3 Цикл
- •1.3. Структурный подход к решению задач
- •Задание
- •1.4. Организация хранения и обработки данных
- •1.4.1 Записи и списки
- •Задание
- •1.4.2 Очередь
- •Задание
- •1.4.3 Стек
- •Задание
- •1.5 Структурное программирование.
- •2. Программирование на языке паскаль
- •2.1. Краткая история эвм и языки программирования
- •Задание
- •2.2. Интегрированная среда borland pascal
- •2.2.1. Краткая характеристика. Запуск программы
- •2.1.2. Основы работы в редакторе Открытие нового окна
- •Завершение работы со средой
- •Задание
- •«Горячие» клавиши интегрированной среды
- •2.3. Структура программы
- •2.3.1.Основные положения
- •2.3.2. Понятие идентификатора
- •2.3.3. Первая программа
- •2.3.4. Описание подпрограммы (процедуры).
- •2.3.4. Строковый тип данных
- •2.3.5. Процедуры ввода и вывода данных
- •Задание
- •2.4. Программа калькулятор.
- •2.4.1. Тип целые и вещественный.
- •2.4.2. Переменные вещественного типа
- •Задание
- •2.5. Улучшенный калькулятор
- •2.5.1. Операторы выбора
- •Булевские (логические) операции
- •Операции отношения
- •Оператор if … then
- •Оператор case
- •2.5.2. Основные отличия применения операторов выбора. Перечисляемый тип. Интервальный тип.
- •Задание
- •2.6. Улучшенный каЛьКулятор (продолжение)
- •2.6.1. Оператор цикла с постусловием (проверка на ноль)
- •2.6.2. Оператор цикла с предусловием
- •2.6.3. Оператор цикла со счетчиком (параметром)
- •Задание
- •2.7. Переменные типа массив
- •2.7.1. Виды массивов
- •2.7.2.Описание массива
- •2.7.3.Нахождение максимального элемента в массиве
- •Задание
- •2.7.4. Строковая переменная (продолжение)
- •Задание
- •2.7.5. Строковая переменная как массив
- •Мама мыла раму
- •Задание
- •2.7.6. Описание функции
- •Задание
2.3.2. Понятие идентификатора
Для выбора определенного объекта или группы объектов, мы должны каким-то образом его идентифицировать (определить). Для этого и служат имена, которые человек дает всему, что его окружает и даже тому, чего не существует. Представьте себе, чтобы было, если бы не было имен?
Как отмечалось в предыдущем разделе Идентификаторы – это имена меток, констант, переменных, процедур, функций и других объектов.
Однако в программировании идентификатор это не совсем «просто» имя и чтобы в дальнейшем нам не попадать в трудное положение разберемся вот с чем:
Если мы говорим
« У имеет значение 4.5»
на самом деле при написании программы имеем в виду
« У – это имя места памяти, где в данный момент хранится значение числа имеющего имя четыре и пять десятых»
В этом смысле поучительно, как Белый рыцарь (персонаж книги Л. Кэролла «Алиса в Зазеркалье») объясняет разницу между: Песней, тем, как называется песня, именем песни, тем, как называется имя песни.
В нашем случае: значение числа является 4.5, число называется четыре и пять десятых, именем числа служит некоторый адрес физической памяти, имя называется У.
Очень часто путаница между тем, что содержится, и тем, где содержится, возникает из-за того, что в обоих случаях мы используем одно и тоже имя. Например
У:=У+1
У в левой части определяет, где содержится значение (ссылка), а в правой части оно означает само значение, которое необходимо для проведения вычислений.
Опишем словами это действие:
К значению числа, которое хранится в области физической памяти под именем У прибавить единицу, а число полученное в результате этого действия поместить в область физической памяти, которая носит имя У.
В дальнейшем, говоря, что переменной присваивается некоторое значение, мы будем подразумевать, все выше изложенное, а знак присвоить обозначать как “:= “.
Взаимосвязь между именем, ссылкой и значением представлена на рисунке
(рис)
И так при написании программ мы будем оперировать с объектами данных, которым сопоставим определенные имена.
Правила имен. Идентификатор (имя) должно быть значимым, то есть имя должно характеризовать переменную, константу и т.п. Наличие «безликих» идентификаторов, в программировании, является признаком плохого тона.
2.3.3. Первая программа
Говоря о структурированном подходе к написанию программ, было отмечено, что ее структура должна быть именно такой, как мы ее понимаем и как хотели бы объяснить ее другим людям. Пока мы не будем писать определенную программу для выполнения конкретных действий, а рассмотрим наиболее общий подход к написанию таких программ.
Когда мы рассматривали описание алгоритма приготовления чая, то на первом уровне детализации нами было выделено три основных действия: подготовить материал, приготовить чай, окончить работу. При рассмотрении компьютерных систем обработки данных было показано, что имеется три основных действия, общих для всех, при решении любой задачи:
Ввод исходных данных;
Обработка этих данных;
Вывод результатов работы по обработке данных.
Для обозначения этих трех действий определим три идентификатора – Init (сокращение от Initializition - инициализация), Work (работа), Exi(сокращение от Exit - выход) соответственно. Их имена могут быть и другие, но вспомните, что говорилось об именах идентификаторов.
Наша первая программ примет следующий вид:
Program Primer_2;
begin
Init; {операция ввода данных}
Work; {операция обработки данных}
Exi; {операция вывода результатов}
end.
Попробуем запустить написанную нами программу на выполнение.
Запуск программ на выполнение, компилирование программ. Для создания исполняемого модуля и одновременного запуска программы на исполнение надо:
Нажать клавишу F10;
Стрелками управления курсора активизировать в линии главного меню опцию “Run”;
Нажать клавишу “ENTER” или “ ”;
Стрелками управления курсора активизировать опцию меню “Run”;
Нажать клавишу “ENTER”.
Второй способ создания исполняемого модуля и одновременного запуска программы на исполнение – нажатие комбинаций клавиш "Ctrl+F9".
Ошибки выполнения. Как только вы попытаетесь запустить эту программу на выполнение, программа компилятора выдаст сообщение об ошибке. В нашем случае это будет следующее сообщение:
Error 3: Unknown identifier. ( Неизвестный идентификатор)
Такое сообщение будет появляться в том случае, если вы забыли описать какой либо идентификатор.
Действительно, присвоив произвольные имена трем действиям, мы не поставили в известность компилятор, что они означают.