- •Введение
- •Глава 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. Описание функции
- •Задание
1.2 Три основных действия
1.2.1 Последовательность
В предыдущем параграфе, давая определение новым понятиям, которые мы будем использовать в дальнейшем, было отмечено, что действие является одним из важнейших понятий. Действительно, в процессе жизни мы совершаем различные действия, более того, сама жизнь, все явления, которые происходят вокруг нас - все это действия. Действия, которые мы совершаем, самые различные и, казалось бы, они не поддаются ни классификации, ни простому перечислению. Однако если абстрагироваться от деталей, то оказывается все разнообразие можно свести к трем основным видам действий. Во-первых, это последовательность - все имеет начало и через определенные этапы (после прохождения определенных этапов) конец. Во-вторых, это выбор - из двух или более возможностей выбирается только одна. В-третьих, это повторение - выполнение аналогичных действий несколько раз.
Чтобы выполнить какое-либо пусть самое маленькое дело, как правило, надо произвести ряд последовательных действий.
Вспомним, как Учитель философии обучает уже знакомого нам Журдена, персонажа пьесы Мольера «Мещанин во дворянстве», произношению звука У:
Учитель философии: Чтобы произнести звук У, нужно приблизить верхние зубы к нижним, не стискивая их, однако ж, а губы вытянуть и тоже сблизить, но так, чтобы они не были плотно сжаты: У.
Чтобы произнести простой звук У, надо проделать несколько действий. Более того, читая приведенный отрывок, Вы сначала прочли первое слово, затем второе, третье и так далее.
Проснулись ли Вы утром, пришли ли в школу, сделали ли домашнее задание или отдохнули с друзьями – в каждом из этих дел Вы обязательно произвели ряд действий в определенной последовательности.
Последовательность действий: Для того, чтобы произвести действие А, необходимо выполнить последовательно поддействия А1, А2, …,Аn.
Это можно представить в виде блок-схемы следующим образом:
рис 1.1
Второй, часто используемый вид представления последовательности действий в виде блок схемы, следующий:
рис 1.2
Пунктирная линия, обрамляющая поддействия А1, А2, А3,..., Аn, указывает на то, что эти поддействия необходимо выполнить для произведения основного действия.
П
риведем
еще одно представление последовательности
действий:
А1; А2; А3;... ; Аn
В данном случае знак ";" равносилен стрелкам на рисунке 1.2 и означает "следование". Запомните этот знак. В дальнейшем при написании программ на языке Pascal мы будем использовать его именно в этом смысле.
Задание
Приведите пример последовательных действий.
Опишите словесно последовательность действий
1.2.2 Выбор
В
ы
вошли в класс и сели за определенную
парту. Во время перемены кто-то решил
побегать на улице, а кто-то решил сходить
в школьную столовую. Если Вы собираетесь
на улицу, то одеваетесь, исходя из
погодных условий. С кем-то Вы дружите,
а с кем-то нет. После окончания школы Вы
будете решать, какую специальность
выбрать. Любой человек в процессе своей
жизни постоянно стоит перед выбором.
Что он выберет? Это зависит от определенных
условий. Иногда мы это даже не осознаем.
Попробуйте ответить на вопрос: Почему,
поднимаясь по лестнице, я наступил на
первую ступеньку правой ногой?
В отличие от последовательности для получения результата можно выбрать только одну из альтернатив. Например: Вы не можете сидеть сразу за несколькими партами одновременно. Обратимся снова к уроку, который проводил Учитель философии с Журденом:
Учитель философии: Конечно. Вы хотите написать ей стихи?
Г-н Журден: Нет, нет, только не стихи.
Учитель философии: Вы предпочитаете прозу?
Г-н Журден: Нет, я не хочу ни прозы, ни стихов.
Учитель философии: Так нельзя: или то, или другое.
Г-н Журден: Почему?
Учитель философии: По той причине, сударь, что мы можем излагать свои мысли не иначе, как прозой или стихами.
Г-н Журден: Не иначе, как прозой или стихами?
Учитель философии: Не иначе, сударь. Все, что не проза, то стихи, а что не стихи, то проза.
Выбор: Для того, чтобы произвести действие А, необходимо выполнить либо поддействие А1, либо поддействие А2, …, либо поддействие Аn.
В виде блок-схемы это можно представить следующим образом:
Рис 1.3.
Исторически сложилось, что различают три основных вида действий выбора в зависимости от условий:
а) Выбор из двух действий при выполнении или невыполнении начального условия. Например: Если идет дождь, то сижу дома, иначе - гуляю на улице. Здесь "идет дождь" - условие, от результата которого зависят мои действия. Если условие выполняется, то говорят, что условие ИСТИННО и выполняется поддействие "сижу дома". Если условие не выполняется, то говорят, что условие ЛОЖНО и выполняется поддействие "гуляю на улице". Графически это можно представить следующим образом:
Рис 1.4
Если при невыполнении исходного условия мы ничего не делаем, то приходим ко второму виду выбора.
б) Выполнение одного действия при выполнении исходного условия.
Например: Если у меня есть деньги на мороженое, то покупаю его, иначе - не покупаю его. В этом случае, поддействие "не покупаю его" равносильно (эквивалентно) поддействию "ничего не делать". Поэтому вторую половинку обычно опускают, то есть не пишут.
Графически это можно представить следующим образом:
Рис 1.5
Как видим, второй вид выбора является частным случаем первого вида выбора. Однако, количество вариантов выбора не всегда один или два. Например: Если температура воздуха выше 30 СО, мы говорим - жарко, если в пределах от 30 СО до 15 СО - тепло, если от 15 СО до 5 СО - прохладно, а если ниже 5 СО, то говорим, что холодно. В этом случае мы имеем дело с выбором третьего вида.
в) Выбор из многих возможностей.
В отличие от первых двух видов выбора в данном случае выбор того или иного поддействия производится по некоторому признаку (значению) ключа. В приведенном выше примере ключем является значение температуры. Итак, основное действие - дать характеристику температуре. Графически это можно представить следующим образом:
Рис 1.6
Результатом будет какое-то одно из определений: или жарко, или тепло, или прохладно, или холодно.
Задание
Приведите пример выбора из многих условий.
Приведите пример выбора с одной альтернативой.
Приведите пример выбора из двух условий.
