Как найти наибольшее число блок схема

При копировании материалов обратная ссылка обязательна

Источник

ОАиП | БФЭК

Учебное пособие

Составление блок-схем алгоритмов

Блок-схемы используются для визуального представления алгоритмов.

Определение:

Алгоритм — это последовательность шагов, ведущая к решению задачи

Определение:

Блок-схема — это схематическое изображение, иллюстрирующее последовательность операторов, которые необходимо выполнить для достижения результата

Инструкции изображаются, используя специальные символы. Символы связываются между собой стрелками, для указания порядка выполнения.

Блок-схемы широко используются при написании программ, так как они:

  • Гораздо проще для понимания, чем запись в виде команд.
  • Упрощают процесс отладки.
  • Позволяют составить эффективную программную документацию.
  • Облегчают процесс демонстрации и обсуждения программы.

Блоки, из которых составляются блок-схемы, представлены на Рисунке 1.

Рассмотрим работу с блок-схемами на примере. Для этого нарисуем блок-схему программы нахождения суммы двух чисел:

Блок-схема, показанная на Рисунке 2, иллюстрирует линейную логику. Здесь нет повторений и ветвления.

Способность сравнивать значения и исполнять, в зависимости от полученного результата, различные участки программы превращает компьютер из большого калькулятора в мощное средство решения различных практических задач. Операторы выбора применяются для:

  • Сравнения данных
  • Выбора одного из альтернативных путей решения задачи.

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

Определение:

Ветвление — это процесс выбора из двух, или более альтернативных путей вычисления. Рассмотрим ветвление на следующих примерах:

Пример 1. Посмотрим на то, как будет выглядеть блок-схема алгоритма проверки чисел на четность:

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

Пример 2. Рассмотрим блок-схему алгоритма, определяющего максимальное из 3-х чисел (см. рис. 4):

Как мы видим, ветвление производится, когда нам необходимо выбрать дальнейший маршрут в зависимости от истинности некоего условия, называемого также условием ветвления.

Основные типы блок-схем, использующих ветвление, представлены на Рисунке 5:

На Рисунке 5(а) представлена неполная конструкция условного ветвления. Здесь, в зависимости от выбранного маршрута движения, выполняется один или несколько вычислительных шагов, или происходит дальнейшее движение без вычислений, до момента слияния маршрутов.

На Рисунке 5(b) представлен полный вариант условного ветвления. Здесь, в зависимости от выбранного маршрута движения, выполняется одна или другая последовательность вычислений, после чего маршруты вновь сливаются.

Определение:

Цикл — это многократно выполняемый участок алгоритма.

Тело цикла-это последовательность выполняемых в цикле операторов.

Итерация — однократное выполнение тела цикла.

  • С фиксированным числом итераций
  • С переменным числом итераций

Рассмотрим различия между этими двумя типами на следующих примерах:

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

Рисунок 6 иллюстрирует цикл с фиксированным числом итераций — число месяцев в году известно и последовательность вычислений не может быть повторена более 12 раз.

Мы читаем расходы за один месяц и добавляем их к общему результату. После этого номер месяца сравнивается с 12.

Если номер месяца равен 12, то цикл завершается, и выводятся данные о расходах за год. В противном случае цикл повторяется для следующего месяца.

Пример 4. Пусть есть информация о каждом жителе города (имя, возраст, пол и т.д.). Необходимо составить список жителей старше 50 лет. Блок-схема соответствующего алгоритма будет иметь вид:

Рисунок 7 иллюстрирует цикл с переменным числом итераций — нам заранее неизвестно число жителей города старше 50 лет. Этот цикл выполняется до тех пор, пока есть еще неучтенные люди. Цикл представляется в виде следующей элементарной блок-схемы:

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

РАЗДЕЛЕНИЕ БЛОК-СХЕМ НА ЧАСТИ

При работе с блок-схемами мы часто сталкиваемся со следующими проблемами:

  • Блок-схема может не поместиться на одной странице.
  • Может оказаться сложным связать все элементы блок-схемы друг с другом непосредственно.

Для решения этих проблем блок-схемы обычно разбивают на отдельные части, для состыковки которых используются элементы- соединители.

Соединительный элемент имеет свой собственный, уникальный номер и состоит из двух частей. Эти части изображаются в местах разрыва соединительных линий. Для определения принадлежности частей соединительному элементу, номер элемента записывается на каждой из частей.

Например, разбив на 2 части блок-схему, изображенную на Рисунке 2 мы получим:

  • Соединители вставляются в местах разрыва блок-схемы. Расположение каждого объединения указывается с помощью уникального номера.
  • В блок-схеме может быть только одна вершина Начало и только одна вершина Конец.
  • Используйте машинно-независимые элементы.
  • Не обязательно представлять в блок-схеме каждый шаг программы. Можно ограничиться наиболее важными блоками.
  • Желательно использовать наглядные названия переменных и блоков.
  • Помните, программа должна быть написана так, чтобы любой другой программист смог бы легко понять ее.

МЕТОД ПРОГОНКИ

Метод прогонки используется для проверки правильности работы программы без использования компьютера. Для этого составляется специальная таблица, в которую записываются значения переменных по шагам. Этот метод позволяет эффективно находить и устранять логические ошибки. Проиллюстрируем этот метод следующим примером:

ТАБЛИЦА ПОШАГОВОГО ПРОГОНА

Книжные новинки
Копилка
Рабочие программы
Проекты MS Office
Презентации
Открытые уроки
Экзаменационные билеты
Элективные курсы
Бесплатный soft
Инструкции по ТБ
Подготовка к олимпиадам по информатике
Методика подготовки
«Золотые» алгоритмы
Простые задачи для начинающих
Олимпиадные задачи с решениями
Книги
Среда программирования
Обучение программированию на С++
Справочник по языку Pascal
Обучение
Подготовка к ЕГЭ
Создание сайтов
Уроки FrontPage
Уроки Word 2003
Создание игр на Delphi
Печатаем вслепую
X Y М
Начальные значения 10 5 0
после шага 5 10 5 65
после шага 6 10 9 65
после шага 7 10 9 74

Таким образом, на 8-м шаге на экран будет выведено: 10, 9 и 74.

Источник

Adblock
detector


Главная



  • 0




Даны 4 числа. Нужно найти наибольшее и наименьшее значение этих чисел(блок-схема).
С объяснениями, позязя помогите т.т




Регина Уразгулова


Вопрос задан 30 сентября 2019 в


5 – 9 классы,  

Информатика.

  • Комментариев (0)

Добавить

Отмена


  • 2
    Ответ (-а, -ов)

    • По голосам
    • По дате



    • 0


    Блок-схема — в прилагаемом файле.

    RE: Даны 4 числа. Нужно найти наибольшее и наименьшее значение этих чисел(блок-схема). С объяснениям...

    Отмена




    Казимир Тормасин


    Отвечено 30 сентября 2019

    • Комментариев (0)

    Добавить

    Отмена



    • 0


    Надеюсь поймёшь)))))))

    RE: Даны 4 числа. Нужно найти наибольшее и наименьшее значение этих чисел(блок-схема). С объяснениям...

    Отмена




    Зарина Кособророва


    Отвечено 30 сентября 2019

    • Комментариев (0)

    Добавить

    Отмена

  • Ваш ответ

    блок, определяющий начало, конец или прерывание процесса вычисления;

    – блок ввода-вывода информации;

    – блок вычислений;

    – блок проверки выполнения условия (логический блок);

    – блок цикла (модификация);

    – вычисление по подпрограмме, стандартной программе;

    – печать результатов на бумаге;

    – линии потока, изображают последовательность связей между блоками;

    – соединители, указывают связи между прерванными линиями потока, связывающими блоки;

    – пояснения, содержание подпрограмм, формулы.

    Рассмотренный выше алгоритм Евклида может быть представлен в виде блок-схемы на рис. 1.

    Правила построения алгоритмов на языке блок-схем:

    1.Блок-схема строится сверху вниз.

    2.В любой блок-схеме имеется один элемент, соответствующий началу, и один элемент, соответствующий концу.

    3.Должен быть хотя бы один путь из начала блок-схемы к любому

    элементу.

    11

    4. Должен быть хотя бы один путь от каждого элемента алгоритма в конец блок-схемы.

    Рис. 1. Блок-схема алгоритма Евклида

    Описание на алгоритмическом языке. Алгоритм можно рассматривать как задание для исполнителя, который получит правильный результат, если точно выполнит то, что в нем написано. Человек, автоматическое устройство, компьютер – это разные исполнители. Для того, чтобы компьютер мог выполнить алгоритм, он должен быть написан на понятном ему языке. Компьютер понимает машинный язык. Человеку трудно писать и читать алгоритмы на машинном языке, ему понятен естественный язык. Но научить компьютер понимать естественный язык затруднительно потому, что в естественном языке слишком много слов и нет строгих правил записи предложений.

    Для того, чтобы человек и компьютер понимали друг друга, разработаны специальные языки для записей алгоритмов – алгоритмические языки. Алгоритмический язык отличается от машинного тем, что состоит из слов и символов, как естественный язык, но в нем мало слов (обычно 30–40) и очень строгие

    12

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

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

    Контрольные вопросы и упражнения

    1.Какие способы описания схем алгоритмов вы знаете?

    2.Что такое переменная, ввод, присваивание?

    3.Укажите отличие операций ввода и присваивания.

    4.Поясните отличие равенства и присваивания.

    5.Укажите достоинства и недостатки словесного и формульнословесного описания алгоритмов.

    6.В чем достоинства графического метода описания алгоритмов?

    7.Дать определение блок-схемы.

    8.Перечислите известные блоки и укажите их назначение.

    9.Перечислите правила построения алгоритмов на языке блок-схем.

    Занятие 3. Управляющие структуры. Типовые задачи программирования

    В предыдущем описании алгоритма Евклида мы увидели ряд операций различного характера и назначения. Основными являются:

    1)последовательное исполнение – исполнение инструкций алгоритма в том порядке, как они представлены в тексте программы (естественный порядок). Линейный алгоритм – это алгоритм, в котором действия выполняются только один раз и строго в том порядке, в котором они записаны;

    2)переход – записывается в виде инструкции «перейти к m», где m – метка, указывающая место в программе, куда необходимо передать управление ходом вычислительного процесса;

    3)условное исполнение или разветвление – исполнение одной группы действий при выполнении некоторого условия и другой группы действий при его нарушении. Разветвляющийся алгоритм – это алгоритм, в котором то или иное действие выполняется после анализа условия, который на блок-схеме показывают с помощью логического блока (ромб). Логический блок имеет один вход и два выхода (ветвь «да» и ветвь «нет»). Существуют две формы условного исполнения:

    13

    а) полное условное предложение «если А, то В, иначе С». Здесь А – условие, В и С – разные группы действий (рис. 2а);

    б) укороченное условное предложение «если А, то В» (рис. 2б)

    4) цикл – многократное исполнение некоторой группы действий при различных значениях входящих параметров. С точки зрения алгоритмизации, цикл

    – это алгоритм, в котором группа операторов выполняется несколько раз подряд. Циклы бывают с известным (фиксированным, заданным, конечным) числом повторений (другие названия – цикл с параметром, цикл со счетчиком, цикл типа арифметической прогрессии) и с неизвестным числом повторений (по иному – циклы с условием, циклы типа «пока», итерационные циклы). У любого цикла должна производиться проверка окончания, то есть выхода из цикла.

    Рис.2. Блок-схема вариантов разветвлений

    Цикл с предусловием. Проверка окончания осуществляется в начале цикла до исполнения операторов области действия цикла (тела цикла).

    «Пока А, повторяй В». Здесь, как и ранее, А – условие, В – операторы тела цикла. Блок-схема изображена на рис. 3а). Предполагается, естественно, что исполнение группы действий В влияет на выполнение условия А и при какомто повторе условие А не будет выполнено и произойдет выход из цикла (иначе он некорректно построен).

    Цикл с постусловием. Проверка производится в конце цикла после исполнения операторов тела цикла. Блок-схема изображена на рис. 3б).

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

    Цикл с параметром. Конструкция цикла выглядит следующим образом: Для I от M до N шаг H повторяй B,

    где I – параметр или индекс цикла, он выполняет роль счетчика, то есть следит за количеством повторений в цикле;

    M и N – соответственно нижняя и верхняя границы изменения параметра цикла;

    Н – шаг изменения параметра цикла;

    14

    В– некоторая группа действий.

    Впроцессе работы параметр I принимает последовательные значения M, M+H, M+2H, …, соответствующие членам арифметической прогрессии.

    Рис. 3. Блок-схемы циклов с условием

    Контрольные вопросы и упражнения

    1.Перечислите и охарактеризуйте основные управляющие структуры.

    2.В чем отличие полного условного предложения и укороченного условного предложения?

    3.Почему цикл с параметром можно называть циклом типа арифметической прогрессии?

    4.Дайте определение линейного вычислительного процесса.

    5.Какой процесс называется разветвляющимся?

    6.Чем определяется выбор ветви вычислений?

    7.Какие типы циклов вы знаете?

    8.В чем отличие циклов с предусловием и с постусловием?

    9.Какие величины задаются в случае цикла с заданным числом повторе-

    ний?

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

    1. Тривиальный. Найти наибольшее из двух чисел – max{A,B}. На неформальном уровне алгоритм решения прост

    1)Ввод (А,В)

    2)Если A≥B, то MAX:=A, иначе MAX:=B

    3)Вывод (MAX)

    15

    Решение достигается использованием одного полного условного предложения.

    2. Усложняем. Найти наибольшее из трех чисел – max{A,B,C}. По методу парных сравнений получим следующий алгоритм

    1)Ввод (A,B,C)

    2)Если A≥B, то {если A≥C, то MAX :=A, иначе MAX:= C},

    Иначе {если B≥C, то MAX:=B, иначе MAX:=C}

    3)Вывод (M)

    Здесь решение получается с использованием трех полных условных предложений, два из которых внутренние и одно внешнее. Графическая иллюстрация решения приведена на рис. 4.

    Рис.4. Блок-схема нахождения наибольшего из трех чисел

    Решение примера 2 для 4, 5,…чисел приводит уже к более громоздким алгоритмам, то есть с увеличением размерности задачи алгоритм, построенный на базе парных сравнений, может стать необозримым.

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

    1)Ввод (A,B,C)

    2)MAX:=A

    3)Если MAX<B, то MAX:=B

    4)Если MAX<C, то MAX:=C

    5)Вывод (MAX)

    16

    В пунктах 3,4 применяются укороченные условные предложения. Теперь после второго этапа ячейка MAX «помнит» наибольшее из одного числа, то есть само это число, после третьего шага – наибольшее из двух чисел, после четвертого – наибольшее из трех чисел и т.д.

    4. Обобщаем. Пользуясь последней методикой, найдем наибольшее из n чисел – max {ai, i=1,2,…, n}, приведя решение задачи к циклической процедуре с известным числом повторений

    1)

    Ввод (N,A)

    2)

    MAX:=A(1)

    3)

    для I от 2 до N шаг 1 повторяй: если MAX<A(I), то MAX:=A(I)

    4)

    Вывод (MAX)

    Здесь A – имя массива – структурного набора однородных данных. Заметим, что ш аг, равный единице настолько популярен, что его можно опустить («по умолчанию»). Записанная конструкция носит название «разветвление в цикле» (Рис. 5)

    Рис. 5. Блок-схема отыскания наибольшего из N чисел

    17

    5. Найти номер первого наибольшего элемента одномерного массива А длины N. Для решения этой задачи наряду с запоминанием наибольшего элемента требуется фиксация и его положения в массиве. Соответствующая блоксхема алгоритма приведена на рис. 6.

    Рис.6. Определение первого наибольшего элемента в массиве

    Задание. Ответить на вопросы (устно):

    что надо изменить в алгоритме для отыскания минимального элемента в массиве?

    что надо изменить в алгоритме примера 5 для нахождения номера последнего наибольшего элемента в массиве?

    6. Классическая задача определения суммы и произведения элементов одномерного массива

    n

    n

    s = ai

    и

    p = ai

    i=1

    i=1

    18

    методом накопления имеет следующее решение:

    1)Ввод (N,A))

    2)S:=0 P:=1

    3)Для I от 1 до N шаг 1 повторяй

    S:=S+A(I); P:=P*A(I)

    4) Вывод (S,P).

    Задание. Объяснить необходимость этапа 2). Нарисовать соответствующую блок-схему решения.

    Занятие 4. Практическая алгоритмизация

    1. Дан одномерный массив А длины N. Определить количество его элементов, равных единице.

    1)Ввод (N,A)

    2)K:=0

    3)Для I от 1 до N шаг 1 повторяй если A(I)=1, то K:=K+1

    4)Вывод (К). Блок схема представлена на рис. 7.

    Рис.7. Подсчет числа элементов, равных единице

    19

    2. Вычислить скалярное произведение двух n – мерных векторов

    i=1

    Решим эту задачу, используя цикл с предусловием

    1)Ввод (N,X,Y)

    2) S:=0 I:=0

    3)I:=I+1

    4)S:=S+X(I)*Y(I)

    5)Если I ≤ N, то перейти к 3), иначе перейти к 6)

    6)Вывод (S)

    Задание. Нарисовать соответствующую блок-схему.

    4.Вычислить сумму

    n

    x

    i

    x

    2

    x

    3

    x

    n

    s =

    = x +

    +

    ++

    .

    (5)

    i!

    n!

    i=1

    2!

    3!

    Факториал непосредственно компьютер считать не умеет. Поэтому в общем виде на неформальном уровне алгоритм решения задачи можно представить

    1)Ввод (N,X)

    2)S:=0

    3)Для I от 1 до N шаг 1 повторяй

    {вычисли I-oe слагаемое, пополни сумму I-ым слагаемым}

    4)Вывод (S).

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

    Конкретизируем алгоритм. Любое I-ое слагаемое можно записать как

    ai =

    xi

    =

    xi1 x

    = ai1

    x

    ,

    (6)

    i!

    (i 1)!i

    i

    иалгоритм принимает следующий вид:

    1)Ввод (N,X)

    2) S:=0 A:=1

    3)Для I от 1 до N шаг 1 повторяй

    4)Вывод (S)

    4. Вычислить сумму бесконечного ряда с точностью до ε:

    20

    Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #
    • #

    Помогаю со студенческими работами здесь

    Ввести три числа и найти наибольшее из них, в чем ошибка?
    Недавно начал изучать С++. Задача такая : Ввести три числа и найти наибольшее из них. Программу…

    Ввести три числа A, B, C. Вывести среднее из них (то есть число, расположенное между наименьшим и наибольшим)
    Ввести три числа A, B, C. Вывести среднее из них (то есть число, расположенное между наименьшим и…

    Заданы N чисел. Найти и вывести значение наибольшего из них
    Помогите с созданием программки

    Заданы N чисел. Найти и вывести значение наибольшего из них.

    Даны три различных действительных числа. Найти среди них два числа, модуль разности которых имеет: наибольшее значение, наименьшее значение
    Я сижу на экзамене по Информатике и запутался.

    Данно задание

    Даны три различных…

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

    Вводятся три числа A, B, C. Выведите все целые числа от наименьшего из них до наибольшего
    Вводятся три числа A, B, C. Выведите все целые числа от наименьшего из них до наибольшего.
    Сделать…

    Искать еще темы с ответами

    Или воспользуйтесь поиском по форуму:

    4

    MixUp



    Ученик

    (124),
    закрыт



    12 лет назад

    Лучший ответ

    Ксюша

    Просветленный

    (34267)


    12 лет назад

    цикл for на блок-схеме таким многоугольником рисуется:

    program q;
    var
    j, n, b:integer;
    a:array [1..10] of integer;
    begin
    for j=1 to n do readln(a[j]);
    b:=a[1];
    for j=2 to n do if a[j]>b then b:=a[j];
    writeln(b)
    end.

    Остальные ответы

    Похожие вопросы

    Добавить комментарий