Главная » Просмотр файлов » Информатика и программирование - Основы информатики

Информатика и программирование - Основы информатики (926517), страница 19

Файл №926517 Информатика и программирование - Основы информатики (Информатика и программирование - Основы информатики) 19 страницаИнформатика и программирование - Основы информатики (926517) страница 192018-01-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 19)

3. q = x1x2.

4. Вывести p, q.

Конец. □

В приведенной записи алгоритма ни в одном из предписаний нет указания на то, к какому следующему предписанию надо перейти. Предполагается, что в случае отсутствия специальных указаний предписания алгоритма выполняются в порядке их следования. Такое выполнение предписаний в алгоритме называется естественным ходом выполнения алгоритма, а сам алгоритм называется линейным.

Пример 9.41. Составим алгоритм определения максимального числа из трех чисел: z = max (a, b, c).

Решение задачи на ЭВМ можно получить, действуя следующим образом. Сначала найдем наибольшее из двух чисел, например, сравнив между собой a и b. Предположим, что исполнитель может выполнить операцию сравнения «больше». Найденное наибольшее число "запомним" в качестве значения переменной z. Далее сравним значение переменной z с оставшимся числом c. Если с больше z, то присвоим z новое значение – значение с, в противном случае, значение z останется прежним. В результате переменная z будет равна наибольшему из a, b, c и будет являться искомым результатом.

Изложенные рассуждения можно представить в виде следующей словесной записи алгоритма:

Начало.

1. Ввести a, b, c.

2. Если a > b, то z := a,

иначе z := b.

3. Если c > z, то z := c.

4. Вывести z

Конец.

Ход выполнения алгоритма зависит от результатов проверки условий а > b и c > z. Если для введенных значений a, b действительно a > b, то выполняется операция z := a; если нет, то выполняется z := b. Таким образом, в зависимости от результата проверки условия a > b требуется выполнить различные действия. В алгоритме на этом шаге предусмотрены оба возможных направления дальнейших вычислений. При проверке условия c > z операция z := c может выполняться, если действительно c > z, или не выполняться, в противном случае. □

Вычислительный процесс, который в зависимости от выполнения некоторых условий реализуется по одному из нескольких возможных, заранее предусмотренных направлений, называется разветвляющимся. Каждое отдельное направление называется ветвью вычислений. Выбор той или иной ветви осуществляется при выполнении алгоритма в результате проверки этих условий и определяется свойствами исходных данных и промежуточных результатов. При разработке алгоритма должны быть учтены все возможные ветви вычислений.

Пример 9.42. Составим алгоритм определения остатка от деления двух целых неотрицательных чисел А и В, где В  0. Рассматривая деление как многократное вычитание делителя В из делимого А, получим алгоритм, состоящий из следующих шагов:

Начало.

1. Ввести A, B.

2. Если A < B, то перейти к шагу 5,

иначе перейти к шагу 3.

3. A := A – B.

4. Перейти к шагу 2.

5. ОСТ := A.

6. Вывести ОСТ.

Конец.

Шаги 2, 3, 4 записаны в алгоритме один раз, а могут выполняться многократно. Многократно повторяемые участки вычислений образуют так называемый цикл. Вычислительный процесс, содержащий многократные вычисления по одним и тем же математическим зависимостям, но для различных значений входящих в них переменных, называется циклическим. Переменные, изменяющиеся в цикле, называются переменными цикла, а действия, повторяемые в цикле, – телом цикла. Количество повторений цикла определяется значениями переменных, входящих в условие его окончания.

Чтобы лучше понять характер циклических процессов, рассмотрим подробнее структуру приведенного алгоритма. Первый шаг алгоритма представляет собой подготовку цикла: задание начальных значений переменным цикла перед первым его выполнением. Тело цикла – действия, многократно повторяемые в цикле (шаги 2, 3, 4). В каждом конкретном случае число повторений этих действий будет различным. Шаг 3 обеспечивает модификацию (изменение) значений переменной цикла А, входящей в условие его окончания. Управление циклом осуществляется на шаге 2. Проверяется условие окончание цикла (А < В), и осуществляется, либо выход из цикла, либо возврат на его повторение. Очень важно правильно сформулировать условие окончания цикла.

Поняв сущность и структуру циклических алгоритмов, можно записать алгоритм более компактно:

Начало.

1. Ввести A, B.

2. Пока A  B, выполнять A := A – B.

3. ОСТ := A.

4. Вывести ОСТ.

Конец.

Предписание «Пока А  В выполнять А := А  В» надо понимать следующим образом: если А больше или равно В, то выполнить операцию А := A  В и перейти опять на проверку условия А  В; если А меньше В, то перейти к выполнению следующего предписания (шаг 3), не выполняя операцию А := A  В. □

9.4.2.Схемы алгоритмов

Схема алгоритма – это графический способ его представления с элементами словесной записи. Каждое предписание алгоритма изображается с помощью плоской геометрической фигуры – блока. Отсюда название: блок-схема. Переходы от предписания к предписанию изображаются линиями связи – линиями потоков информации, а направление переходов – стрелками. Различным по типу выполняемых действий блокам соответствуют различные геометрические фигуры. Приняты определенные стандарты графических изображений блоков (табл. 9 .18).

Таблица 9.18. Изображение блоков в схемах алгоритмов

Наименование символа

Обозначение
и размеры

Функция

Процесс
(вычислительный блок)

Выполнение операции или группы операций, в результате которых изменяются значение, форма представления или расположение данных

Решение (логический блок)

Выбор направления выполнения алгоритма в зависимости от некоторых условий

Модификация (заголовок цикла)

Выполнение операций по управлению циклом – повторением команды или группы команд алгоритма

Пуск-останов (начало-конец)

Начало или конец выполнения программы или подпрограммы

Предопределенный процесс (вызов подпрограммы)

Вызов и использование ранее созданных и отдельно описанных алгоритмов (подпрограмм)

Ввод-вывод

Общее обозначение ввода или вывода данных в алгоритме безотносительно к внешнему устройству

Соединитель

Указание прерванной связи между блокам в пределах одной страницы

Межстраничный соединитель

Указание прерванной связи между блоками, расположенными на разных листах

Рассмотрим общие правила построения схем алгоритмов.

1. Для конкретизации содержания блока и уточнения выполняемого действия внутри блока помещаются краткие пояснения – словесные записи с элементами общепринятой математической символики (Рис. 9 .21, а).

2. Основное направление потока информации в схемах может не отмечаться стрелками. Основное направление – сверху вниз и слева направо. Если очередность выполнения блоков не соответствует этому направлению, то возможно применение стрелок (Рис. 9 .21, б).

Рис. 9.21. Примеры изображения элементов схем алгоритмов

3. По отношению к блоку линии могут быть входящими и выходящими. Количество входящих линий принципиально не ограничено. Количество выходящих линий регламентировано и зависит от типа блока. Например, логический блок должен иметь не менее двух выходящих линий, каждая из которых соответствует одному из возможных направлений вычислений. Блок модификации должен иметь две выходящие линии, одна соответствует повторению цикла, вторая – его окончанию.

4. Допускается разрывать линии потока информации, размещая на обоих концах разрыва специальный символ «соединитель» (Рис. 9 .21, в, г). В пределах одной страницы используется символ обычного соединителя, во внутреннем поле которого помещается маркировка разрыва либо отдельной буквой, либо буквенно-цифровой координатой блока, к которому подходит линия потока. Если схема располагается на нескольких листах, переход линий потока с одного листа на другой обозначается с помощью символа «межстраничный соединитель». При этом на листе с блоком-источником соединитель содержит номер листа и координаты блока-приемника, а на листе с блоком-приемником – номер листа и координаты блока-источника.

5. Нумерация блоков осуществляется либо в левом верхнем углу блока в разрыве его контура, либо рядом слева от блока (Рис. 9 .21, а). Принцип нумерации может быть различным, наиболее простой – сквозная нумерация. Блоки начала и конца не нумеруются.

6. Для блоков приняты следующие размеры: а = 10, 15, 20 мм; b = 1,5а. Если необходимо увеличить размер блока, то допускается увеличение на число, кратное пяти. Необходимо выдерживать минимальное расстояние 3 мм между параллельными линиями потоков и 5 мм между остальными символами.

С помощью блок-схем можно изображать самые различные алгоритмы, например, линейной (Рис. 9 .22), разветвляющейся (Рис. 9 .23) и циклической структур (Рис. 9 .24).

Рис. 9.22. Алгоритм вычисления коэффициентов
приведенного квадратного уравнения

Пример 9.43. Рассмотрим задачу определения наибольшего общего делителя (НОД) двух целых положительных чисел M, N.

В математике известен алгоритм решения этой задачи – алгоритм Евклида, который заключается в последовательном делении вначале большего числа на меньшее, затем меньшего на полученный остаток, первого остатка на второй остаток и т.д. до тех пор, пока в остатке не получится нуль. Последний по счету делитель и будет искомым результатом.

Рис. 9.23. Алгоритм выбора
максимального числа из трех
заданных чисел

Рис. 9.24. Алгоритм определения остатка
от деления двух целых
неотрицательных чисел

Сформулируем алгоритм Евклида несколько иначе, рассматривая деление как многократное вычитание:

1. Если числа равны между собой, то взять в качестве НОД любое из них.

2. Если числа не равны между собой, то большее из чисел заменить их разностью и вернуться к шагу 1.

Алгоритм Евклида может быть представлен следующей словесной записью:

Начало.

1. Ввести М, N.

2. Пока МN выполнять:

Если M > N, то M := MN;

иначе N := NM.

Характеристики

Тип файла
Документ
Размер
5,26 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6314
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее