
- •Введение
- •Глава 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.4. Описание подпрограммы (процедуры).
Для описания действий, которые будут выполнять наши операции, воспользуемся понятием процедуры.
Мы уже говорили, что любая задача может быть, и, как правило, должна быть сведена к решению более простых задач. Более того, любая задача может являться подзадачей более общей задачи. Например, задача «приготовление чая». Мы разбили ее на три независимых подзадачи. Но задача «приготовление чая» сама, может, является подзадачей «приготовление завтрака (обеда или ужина)». Используя этот подход, определим понятие процедуры как некоторую подпрограмму, которая описывает действия для выполнения (решения) подзадачи основной задачи (программы).
Процедура (подпрограмма) – программа, реализующая поддействие.
Структура процедуры на языке Pascal имеет следующий вид
Procedure Имя(список формальных параметров);
{блок описания локальных меток,
констант,
типов,
переменных,
процедур,
функций}
begin
{тело процедуры}
end;
Обратите внимание на то, что структура программы и процедуры очень похожи между собой. Описание процедуры начинается с зарезервированного слова Procedure, после которого, через пробел указывается идентификатор процедуры (имя), с в формальными параметрами которые заключены в круглые скобки и с точкой с запятой в конце.
Затем идет блок описания локальных меток, констант, типов, переменных, процедур, функций. Все о чем говорилось для аналогичного блока при описании программы, относится и к этому блоку, стой лишь разницей, что данные, описанные в этом блоке, являются локальными, то есть их действие ограничено рамками данной процедуры.
Далее после зарезервированного слова begin помещается текст операторов процедуры. Текст процедуры заканчивается словом end, после которого стоит точка с запятой. Не точка, а точка с запятой. Обращение к процедуре из тела программы осуществляется указанием идентификатора (имени) данной процедуры с передачей ей, если это необходимо, фактических параметров.
С учетом сказанного наша программа приобретет следующий вид
Program Primer_2;
Procedure init;
begin
end;
Procedure Work;
begin
end;
Procedure Exi;
begin
end;
begin
Init; {операция ввода данных}
Work; {операция обработки данных}
Exi; {операция вывода результатов}
end.
Запустим нашу программу на выполнение. Используйте для этого опции главного меню или комбинацию горячих клавиш. На первый взгляд ничего не произошло, но на самом деле, компилятор создал исполняемый файл, запустил его на исполнение после чего, исполняемый файл, выполнив действия, которые мы поручили программе, и остановился. Таким образом, мы написали полностью работоспособную программу. Она, конечно, пока ничего не делает, но самое главное это то, что в дальнейшем, модифицируя эту программу, мы всегда будем иметь работоспособную программу.
Базируясь на структурном подходе к построению и написанию программ, в дальнейшем мы будем использовать именно эту структуру программы как основную.
2.3.4. Строковый тип данных
Как уже отмечалось, для того чтобы ввести данные в программу необходимо определить тип этих данных (для определения объема памяти выделяемую для хранения этих данных) и имя (идентификатор) под которым программа будет хранить эти данные. Допустим, нам надо ввести с клавиатуры некоторую строку, а затем вывести ее на экран компьютера.
строка – последовательность символов из некоторого алфавита включающая и знаки пробела.
Для того, что бы выделить место в памяти для хранения данных типа строка надо: во-первых, дать имя месту памяти, где будем хранить это значение, во-вторых, указать тип "Строка". Как мы говорили ранее, желательно давать величинам значимые имена. Поэтому, в качестве имени возьмем имя "Stroka". Если нам заранее неизвестно какую строку символов мы введем, мы должны описать ее как переменную величину.
var
Stroka:String;
Переменная типа "строка" выделяет в памяти место для хранения до 255 символов. То есть при вводе строки ее длина может иметь от 0 до 255 символов. Общая память, выделяемая программой, составит 256 байт.
Если строка символов, используемая программой постоянна и не изменяется в процессе работы, то ее можно объявить как постоянную величину, например:
const
Stroka='Stroka';
В данном случае имя постоянной величины является "Stroka" и значение ее тоже 'Stroka'. Как различить их? Значение строковой величины всегда помещается в одинарные кавычки ( ' ), а имя величины пишутся без кавычек.