ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 03.12.2024
Просмотров: 1397
Скачиваний: 2
стр. 37
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
начало начало
смотрю TV |
тело цикла |
|||
да |
меньше |
нет |
да |
нет |
условие |
||||
полуночи? |
||||
конец |
конец |
В общем случае схема циклического алгоритма с условием будет выглядеть так:
Пока условие повторять действие.
При составлении циклических алгоритмов важно думать о том, чтобы цикл был конечным. Ситуация, при которой выполнение цикла никогда не заканчивается, называется
зацикливанием.
Разветвляющийся алгоритм
Во многих случаях требуется, чтобы при одних условиях выполнялась одна последовательность действий, а при других – другая.
Если пошел дождь, то надо открыть зонт. Если прозвенел будильник, то надо вставать. Если встречу Сашу, то скажу ему …
Если встречу Сашу, то скажу ему …, иначе зайду к нему сам.
Разветвляющийся алгоритм - алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.
начало |
начало |
да |
нет |
да |
нет |
встречу? |
встречу? |
||
скажу |
скажу |
зайду сам |
|
конец |
конец |
Эти предложения начинаются с проверки какого-либо условия: пошел дождь, прозвенел
стр. 38
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
будильник, встретил Сашу… Далее в зависимости мы либо вылиняем какое-либо действие, либо не выполняем его (или выполняем какое-то другое действие).
Компьютер тоже в зависимости от какого-либо условия может выполнять или не выполнять те или иные действия. Алгоритм, в котором используется условие, получил название разветвляющегося, так как в зависимости от значения условия выбираются те или иные действия.
В общем случае схема разветвляющегося алгоритма будет выглядеть так: «если условие, то
действие 1, иначе действие 2» (Если встречу Сашу, то скажу ему …, иначе зайду к нему сам.). Так же можно использовать неполную форму: «если условие, то действие» (Если встречу Сашу, то скажу ему …). В этом случае не предусматривается действий на случай невыполнения условия.
начало |
начало |
да |
нет |
да |
нет |
условие |
условие |
||
команда |
команда 1 |
команда 2 |
|
конец |
конец |
||
Условие – это высказывание которое может быть либо истинно, либо ложно.
Еще раз обратим внимание, что существует две формы ветвления – неполная (когда присутствует только одна ветвь, т.е. в зависимости от истинности условия либо выполняется, либо не выполняется действие) и полная (когда присутствуют две ветви, т.е. в зависимости от истинности условия выполняется либо одно, либо другое действие).
Вспомогательный алгоритм
Вспомогательный алгоритм – алгоритм, который можно использовать в других алгоритмах, указав только его имя.
Вспомогательный алгоритм, записанный на языке программирования, называется подпрограммой. При создании средних по размеру программ используется структурное программирование, идея которого заключается в том, что структура программы должна отражать структуру решаемой задачи, чтобы алгоритм решения был ясно виден из исходного текста. Программа разбивается на множество подпрограмм, каждая из которых выполняет какое-то действие, предусмотренное исходным заданием.
Комбинируя подпрограммы, удается сформировать итоговый алгоритм используя блоки кода (подпрограммы), имеющих определенную смысловую нагрузку. Обращаться к этим подпрограммам можно по их имени. Очень важная характеристика подпрограмм - это возможность их повторного использования.
Рассмотрим пример с графическим исполнителем ГРИС. Пусть требуется составить алгоритм рисования четырехзначного числа 1919.
Можно составить один длинный алгоритм, по которому исполнитель шаг за шагом нарисует эти цифры. Но ведь цифры 1 и 9 повторяются по два раза. Алгоритм можно
стр. 39
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
сократить используя вспомогательный алгоритм.
Получится более короткий и понятный алгоритм:
Алгоритм Число «1919» начало сделай ЕДИНИЦА прыжок
сделай ДЕВЯТЬ прыжок сделай ЕДИНИЦА прыжок сделай ДЕВЯТЬ конец
Где ЕДИНИЦА и ДЕВЯТЬ вспомогательные алгоритмы:
Алгоритм ЕДИНИЦА |
Алгоритм ДЕВЯТЬ |
начало |
начало |
поворот |
шаг |
шаг |
поворот |
шаг |
шаг |
шаг |
шаг |
шаг |
шаг |
поворот |
шаг |
поворот |
поворот |
прыжок |
шаг |
прыжок |
поворот |
прыжок |
шаг |
прыжок |
шаг |
поворот |
поворот |
конец |
шаг |
поворот |
|
поворот |
|
поворот |
|
прыжок |
|
прыжок |
|
поворот |
|
конец |
Метод последовательной детализации
Использованный нами подход облегчает программирование сложных задач. Задача разбивается на более простые подзадачи. Решение каждой оформляется в виде вспомогательного алгоритма, а основной алгоритм организует связку между ними.
Метод программирования, при котором сначала пишется основная программа, в ней записываются обращения к пока еще не составленным подпрограммам, а потом описываются эти подпрограммы, называется методом последовательной (пошаговой) детализации.
стр. 40
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Причем количество шагов детализации может быть гораздо большим, чем в нашем примере, поскольку сами подпрограммы могут содержать внутри себя обращения к другим подпрограммам.
Сборочный метод
Возможен и другой подход к построению сложных программ: первоначально составляется множество подпрограмм, которые могут понадобиться при решении задачи, а затем пишется основная программа, содержащая обращения к ним. Подпрограммы могут быть объединены в библиотеку подпрограмм и сохранены в долговременной памяти компьютера. Такую библиотеку можно постепенно пополнять новыми подпрограммами.
Например, если для управления графическим исполнителем создать библиотеку процедур рисования всех букв и цифр, то программа получения любого текста будет состоять из команд обращения к библиотечным процедурам.
Описанный метод называется сборочным программированием.
Часто в литературе по программированию используется такая терминология: метод последовательной детализации называют программированием сверху вниз, а сборочный метод — программированием снизу вверх.
стр. 41
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Билет № 8
1. Величины: константы, переменные, типы величин. Присваивание, ввод и вывод величин. Линейные алгоритмы работы с величинами.
Вам уже известно, что всякий алгоритм составляется для конкретного исполнителя. Сейчас в качестве исполнителя мы будем рассматривать компьютер, оснащенный системой программирования на определенном языке.
Компьютер-исполнитель работает с определенными данными по определенной программе. Программа – это алгоритм записанный на каком-либо языке программирования. Данные – это множество величин.
Компьютер работает с информацией, хранящейся в его памяти. Отдельный информационный объект (число, символ, строка, таблица и пр.) называется величиной.
Величины в программировании, как и в математике, делятся на переменные и константы. Значение константы остается неизменной в течении всей программы, значение переменной величины может изменятся.
У каждой переменной есть имя, тип и текущее значение. Имена переменных называют идентификаторами (от глагола «идентифицировать», что значит «обозначать», «символизировать»). В качестве имен переменных могут быть буквы, цифры и другие знаки. Причем может быть не одна буква, а несколько. Примеры идентификаторов: a, b5, x, y, x2, summa, bukva10...
ПЕРЕМЕННАЯ
ИМЯ |
ТИП |
ЗНАЧЕНИЕ |
||
Существуют три основных типа величин, с которыми работает компьютер: числовой, символьный и логический. Тип данных характеризует внутреннее представление, множество допустимых значений для этих данных, а также совокупность операций над ними. В зависимости от типа переменной в памяти компьютера будет выделена определенная область.
a |
b |
c |
120 |
2486 |
|
17,456 |
Наглядно переменную можно представить как коробочку, в которую можно положить на хранение что-либо. Имя переменной – это надпись на коробочке, значение – это то, что хранится в ней в данный момент, а тип переменной говорит о том, что допустимо класть в эту коробочку.