Существует несколько способов
представления алгоритмов. Мы рассмотрим
язык блок-схем, это наиболее простой и
наглядный способ, пригодный для алгоритмов
любой сложности.
Блок-схема – это графическое представление
алгоритма, где все инструкции пишутся
в некоторых геометрических фигурах, я
стрелками указывается последовательность
выполнения операций.
Рассмотрим составляющие блок-схему
блоки.
Операторы ввода и вывода помещаются в
параллелограмм (см. рис.
2 а).
Если это оператор ввода, то после его
выполнения, все перечисленные в нем
переменные получат значения, введенные
в момент выполнения алгоритма с устройства
ввода. Если это оператор вывода, то в
момент выполнения алгоритма, на устройство
вывода будут выведены взятые из памяти
значения переменных, перечисленных в
операторе.
Вычислительные операторы записываются
в прямоугольных блоках (рис. 2
б).
В названные блоки может входить сколько
угодно стрелок и выходить – только одна.
Следующий блок в виде ромба (рис. 2 в)
имеет две выходящие стрелки, но это не
нарушает однозначности алгоритма, т.к.
в таком блоке записывается условие и,
в зависимости от результата его проверки,
выполнение алгоритма продолжается по
стрелке с надписью “да”, если условие
выполнено, или – с надписью “нет”, если
условие не выполнено.
И наконец в овале записывается оператор
STOP, останавливающий процесс
вычисления.
Блок-схема алгоритма может состоять из
любого числа блоков, только для наглядности
они должны помещаться на одной странице.
Блок схемы рисуют сверху вниз и, если
есть стрелки идущие вверх, то на них не
должно быть блоков.
1.4. Базовые структуры алгоритмов
Наложим еще некоторые ограничения на
структуру блок-схемы. Будем строить
алгоритм, используя только три фрагмента
определенной конфигурации. Назовем их
базовыми структурами алгоритмов.
Первая базовая структура – следование
состоит из цепочки блоков без разветвлений.
Вторая базовая структура – ветвление
имеет вид, представленный на рис. 3. Смысл
этой конструкции состоит в выборе, в
зависимости от результатов проверки
условия, одной из двух альтернативных
групп операторов S или P, либо, в
частном случае, – выполнение или
невыполнение группы операторов R.
Третья базовая структура – цикл.
Смысл цикла в многократном выполнении
группы операторов, называемых телом
цикла. Для завершения работы цикла
необходимо осуществить проверку
некоторого условия выхода из цикла. В
зависимости от того, расположена ли эта
проверка до тела цикла или после него,
различают цикл с предусловием (рис. 4
а) и цикл с постусловием (рис. 4б).
Важной особенностью всех этих структур
является наличие одного входа и одного
выхода. Это дает возможность вкладывать
одни базовые конструкции в другие, т.е.
строить иерархию таких структур. При
этом некоторый прямоугольный блок
заменяется одной из базовых структур.
Рис. 4 а)
Рис. 4 б)
Рассмотрим пример простейшего циклического
алгоритма. Пусть надо посчитать факториал
числа N. Как известно факториал числа
N равен произведению всех целых
положительных чисел меньших и равных
числу N, т.е. N! = 1*2*…*N. Ясно, что
для подсчета факториала необходимо
многократно повторять умножение,
следовательно, алгоритм должен содержать
цикл. Конструируя алгоритм надо выбрать
структуру цикла с предусловием или с
постусловием. Перед циклом следует
поставить блоки подготовки цикла, в них
задаются начальные значения переменных,
встречающихся в правой части операторов
тела цикла. Естественно в начале алгоритма
необходимо ввести исходные данные, в
рассматриваемом примере – значение
числа N.
На рис. 5 представлены блок схемы алгоритма
подсчета факториала числа N.
На рис. 5 использован цикл с предусловием,
а на рис.6. – с постусловием.
В обоих алгоритмах переменная i
содержит текущий сомножитель для
подсчета факториала, с точки зрения
структуры цикла i это параметр цикла.
Блок, находящийся в теле цикла и содержащий
оператор i := i + 1, подготавливает
следующий шаг выполнения тела цикла.
Для этого к значению переменной i
прибавляется единица (правая часть
оператора) и полученное новое значение
приписывается переменной i, т.е.
значение переменной i изменяется
на единицу.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Ajara Arapova
Ученик
(97),
закрыт
8 месяцев назад
Помогите составить блок схему факториала N
По идее должноформула такова n! = 1*2*3*4*5*…*(n – 2)(n – 1)n
Но как это вывести в блок схему не могу понять
Ксения Райт
Гений
(51943)
9 месяцев назад
Вот блок-схема:Только она как раз не совсем правильная, так как не учитывает случай N=0, при котором N!=1. Но зато для натуральных N она вроде правильная…
Ajara ArapovaУченик (97)
9 месяцев назад
Что такое значение К?
Ксения Райт
Гений
(51943)
Ajara Arapova, k в данном случае – счётчик параметрического цикла от 1 до N включительно. Но по-моему для быстрого вычисления факториала лучше итерационный цикл подойдёт как, например, на Паскале:
var N: integer; F: int64 = 1;
begin write(‘N = ‘); readln(N);
write(N, ‘! = ‘); while N > 0 do
begin F := F * N; N := N – 1 end;
writeln(F) end.
И ещё есть один существенный момент: N! с ростом N возрастает очень быстро, поэтому в большинстве языков при N>20 он просто-напросто не впишется в стандартные целые типы (unsigned long long в C/C++, ulong в C# или int64 во FreePascal”e, поэтому надо будет изобретать что-нибудь особое. А как такие частности (и между прочим чрезвычайно существенные частности !) показывать на блок-схемах я не знаю…
Ответ: Прикрепил документ со схемами по гост 19.701.90
Объяснение:
В первой схеме находи среднее арифметическое 4 чисел. Для этого начальной переменной присваиваем значение 0(так как эта будущая сумма 4 чисел). После этого в цикле А1, состоящем из 4 итераций, вводим числа(например, с клавиатуры) и сразу прибавляем к нашей сумме. В конце цикла получится сумма всех 4 чисел, которую останется поделить на 4 и вывести(например, на экран).
Во второй схеме почти аналогично, однако теперь нам нужно перемножать числа. Для этого начальной переменной присваиваем значение 1(не на 0 же умножать в первый раз 🙂 ) После этого вводим нужное количество чисел N. Количество итераций цикла будет N. В цикле, начиная с единицы, будет происходить умножение переменной Fact на последующее число, т е. Fact*1, потом это значение *2, потом *3 …и так до N включительно. Это и есть факториал, который мы потом выводим
Приложения:
Помогаю со студенческими работами здесь
Разработать сценарий для вычисления факториала введенного числа
Разработать сценарий для вычисления факториала введенного числа (выполнить тремя способами,…
Нахождение числа, больше введённого. Последовательность. Блок-схема – VBA
Здравствуйте, товарищи форумчане!
Задача следующего характера. Среди чисел 1; 1+1/2; 1+1/2+1/3 ……
Программа для нахождения факториала числа
Ребята помогите, сижу на экзамене дали прогу…
Напишите программу для нахождения факториала…
Реализовать блок схему алгоритма нахождения суммы наибольшего числа из 4 заданных
нужно сделать блок схему алгоритма нахождения суммы наибольшего числа из 4 заданных.
кто сможет…
Искать еще темы с ответами
Или воспользуйтесь поиском по форуму: