При вычислении
суммы или произведения ряда чисел
пользуются соответствующими формулами.
ФОРМУЛА
СУММЫ
Si=Si-1+xi
Сумма равна
предыдущей сумме плюс аргумент. Начальная
сумма равна нулю. При нахождении
количества аргумент равен одному.
ФОРМУЛА
ПРОИЗВЕДЕНИЯ
Pi=Pi-1*xi
Произведение равно
предыдущему произведению, умноженному
на аргумент. Начальное произведение
всегда равно единице.
Математически
данные формулы записываются так (рис.
9.14).
Если в аргументе
около имени какой-нибудь величины стоит
индекс
счетчика,
то внутри цикла необходимо поставить
блок ввода этой величины.
Рис.
9. 14. Формулы для вычисления суммы и
произведения
В качестве примера
рассмотрим блок-схемы алгоритмов для
приведенных на рис. 9.14 примеров.
9.3.1.4. Вложенные циклы
Возможны случаи,
когда внутри тела цикла необходимо
повторять некоторую последовательность
операторов, т. е. организовать внутренний
цикл. Такая структура получила название
цикла
в цикле
или вложенных
циклов.
Глубина вложения циклов (то есть
количество вложенных друг в друга
циклов) может быть различной.
Рис.
9. 15. Блок-схемы алгоритмов вычисления
суммы и произведения
При использовании
такой структуры для экономии машинного
времени необходимо выносить из внутреннего
цикла во внешний все операторы, которые
не зависят от параметра внутреннего
цикла.
Рассмотрим два
примера вычисления вложенных циклов.
Рис.
9. 16. Вложенный цикл “до”
Вложенный
цикл “до”
Пример
Вычислите
произведение тех элементов заданной
матрицы A(10,10),
которые расположены на пересечении
четных строк и четных столбцов (рис.
9.16).
Вложенный
цикл “пока”
Рис.
9. 17. Вложенный цикл “пока”
Пример
Вычислите сумму
элементов заданной матрицы А(5,3)
– рис. 9.17.
9.4. Языки программирования
9.4.1. Программный способ записи алгоритмов. Уровни языка программирования
При записи алгоритма
в словесной форме, в виде блок-схемы или
на псевдокоде допускается некоторый
произвол при изображении команд. Вместе
с тем такая запись точна настолько, что
позволяет человеку понять суть дела и
исполнить алгоритм.
Однако на практике
в качестве исполнителей алгоритмов
используются специальные автоматы —
компьютеры. Поэтому алгоритм,
предназначенный для исполнения на
компьютере, должен быть записан на
понятном ему языке. И здесь на первый
план выдвигается необходимость точной
записи команд, не оставляющей места для
произвольного толкования их исполнителем.
Следовательно,
язык для
записи алгоритмов должен быть формализован.
Такой язык принято называть языком
программирования,
а запись алгоритма на этом языке —
программой
для компьютера.
В настоящее время
в мире существует несколько сотен
реально используемых языков
программирования. Для каждого есть своя
область применения.
Любой алгоритм
есть последовательность предписаний,
выполнив которые можно за конечное
число шагов перейти от исходных данных
к результату. В зависимости от степени
детализации предписаний обычно
определяется уровень языка программирования
— чем меньше детализация, тем выше
уровень языка.
По этому критерию
можно выделить следующие уровни языков
программирования:
-
машинные;
-
машинно-оpиентиpованные
(ассемблеpы); -
машинно-независимые
(языки высокого уровня).
Машинные языки
и машинно-ориентированные языки —
это языки низкого
уровня,
требующие указания мелких деталей
процесса обработки данных. Языки же
высокого
уровня
имитируют естественные языки, используя
некоторые слова разговорного языка и
общепринятые математические символы.
Эти языки более удобны для человека.
Языки высокого
уровня делятся на:
-
Процедурные
(алгоритмические)
(Basic, Pascal, C и др.), которые предназначены
для однозначного описания алгоритмов;
для решения задачи процедурные языки
требуют в той или иной форме явно
записать процедуру ее решения. -
Логические
(Prolog, Lisp и др.), которые ориентированы
не на разработку алгоритма решения
задачи, а на систематическое и
формализованное описание задачи с тем,
чтобы решение следовало из составленного
описания. -
Объектно-ориентированные
(Object Pascal, C++, Java и др.), в основе которых
лежит понятие
объекта, сочетающего в себе данные и
действия над нами.
Программа на объектно-ориентированном
языке, решая некоторую задачу, по сути,
описывает часть мира, относящуюся к
этой задаче. Описание действительности
в форме системы взаимодействующих
объектов естественнее, чем в форме
взаимодействующих процедур.
При программировании
на машинном
языке программист может держать под
своим контролем каждую команду и каждую
ячейку памяти, использовать все
возможности имеющихся машинных операций.
Но процесс написания
программы на машинном языке очень
трудоемкий
и утомительный.
Программа получается громоздкой,
труднообозримой, ее трудно отлаживать,
изменять и развивать.
Поэтому в случае,
когда нужно
иметь эффективную программу,
в максимальной степени учитывающую
специфику конкретного компьютера,
вместо машинных языков используют
близкие к ним машинно-ориентированные
языки (ассемблеры)
или языки
высокого уровня.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Ответы с готовыми решениями:
Разработать блок-схему и текст программы для вычисления суммы и произведения целых чисел
1)Разработать блок-схему и текст программы для вычисления суммы и произведения всех целых чисел в…
Составить блок-схему к программе вычисления произведения
Var i,n,s,p:longint;
Begin
Writeln(‘Введите N:’);
Readln(n);
i:=0;
s:=0;
p:=1;
While i<n do…
Составьте блок-схему алгоритма и программу вычисления произведения четных чисел, меньших 15.
1. Составьте блок-схему алгоритма и программу вычисления произведения четных чисел, меньших 15.
…
Вывести сумму чисел, если она больше их произведения – составить блок-схему
№1. Ввести два числа
Вывести их сумму, если она больше произведения этих чисел.
1
Блок-схемы используются для визуального представления алгоритмов.
Определение:
Алгоритм — это последовательность шагов, ведущая к решению задачи
Определение:
Блок-схема — это схематическое изображение, иллюстрирующее последовательность операторов, которые необходимо выполнить для достижения результата
Инструкции изображаются, используя специальные символы. Символы связываются между собой стрелками, для указания порядка выполнения.
Блок-схемы широко используются при написании программ, так как они:
- Гораздо проще для понимания, чем запись в виде команд.
- Упрощают процесс отладки.
- Позволяют составить эффективную программную документацию.
- Облегчают процесс демонстрации и обсуждения программы.
Блоки, из которых составляются блок-схемы, представлены на Рисунке 1.
Рис. 1
Рассмотрим работу с блок-схемами на примере. Для этого нарисуем блок-схему программы нахождения суммы двух чисел:
Блок-схема, показанная на Рисунке 2, иллюстрирует линейную логику. Здесь нет повторений и ветвления.
Рис. 2
ВЕТВЛЕНИЕ
Способность сравнивать значения и исполнять, в зависимости от полученного результата, различные участки программы превращает компьютер из большого калькулятора в мощное средство решения различных практических задач. Операторы выбора применяются для:
- Сравнения данных
- Выбора одного из альтернативных путей решения задачи.
Например, при снятии денег с банковского счета производится сравнение снимаемой суммы с суммой на счете. Если снимаемая сумма меньше, то заказ выполняется. В противном случае происходит отказ от обслуживания.
Определение:
Ветвление — это процесс выбора из двух, или более альтернативных путей вычисления. Рассмотрим ветвление на следующих примерах:
Пример 1. Посмотрим на то, как будет выглядеть блок-схема алгоритма проверки чисел на четность:
Рис. 3
- Ветвление используется в том случае, когда необходимо разделить поток вычислений на два и более альтернативных варианта. Основанием для выбора маршрута является результат проверки истинности условия ветвления.
Пример 2. Рассмотрим блок-схему алгоритма, определяющего максимальное из 3-х чисел (см. рис. 4):
Рис. 4
Как мы видим, ветвление производится, когда нам необходимо выбрать дальнейший маршрут в зависимости от истинности некоего условия, называемого также условием ветвления.
Основные типы блок-схем, использующих ветвление, представлены на Рисунке 5:
Рис. 5
На Рисунке 5(а) представлена неполная конструкция условного ветвления. Здесь, в зависимости от выбранного маршрута движения, выполняется один или несколько вычислительных шагов, или происходит дальнейшее движение без вычислений, до момента слияния маршрутов.
На Рисунке 5(b) представлен полный вариант условного ветвления. Здесь, в зависимости от выбранного маршрута движения, выполняется одна или другая последовательность вычислений, после чего маршруты вновь сливаются.
ЦИКЛЫ
Определение:
Цикл — это многократно выполняемый участок алгоритма.
Тело цикла-это последовательность выполняемых в цикле операторов.
Итерация — однократное выполнение тела цикла.
Циклы бывают двух типов:
- С фиксированным числом итераций
- С переменным числом итераций
Рассмотрим различия между этими двумя типами на следующих примерах:
Пример 3. Пусть есть данные о расходах за каждый месяц года. Блок-схема алгоритма подсчитывающего расходы за год будет иметь вид:
Рис. 6
Рисунок 6 иллюстрирует цикл с фиксированным числом итераций — число месяцев в году известно и последовательность вычислений не может быть повторена более 12 раз.
Мы читаем расходы за один месяц и добавляем их к общему результату. После этого номер месяца сравнивается с 12.
Если номер месяца равен 12, то цикл завершается, и выводятся данные о расходах за год. В противном случае цикл повторяется для следующего месяца.
Пример 4. Пусть есть информация о каждом жителе города (имя, возраст, пол и т.д.). Необходимо составить список жителей старше 50 лет. Блок-схема соответствующего алгоритма будет иметь вид:
Рис. 7
Рисунок 7 иллюстрирует цикл с переменным числом итераций — нам заранее неизвестно число жителей города старше 50 лет. Этот цикл выполняется до тех пор, пока есть еще неучтенные люди. Цикл представляется в виде следующей элементарной блок-схемы:
Рис. 8
- В цикле с фиксированным числом итераций количество итераций известно заранее. Вычисления, производящиеся внутри цикла, не оказывают никакого влияния на число итераций.
- Цикл с переменным числом итераций выполняется до тех пор, пока не будет выполнено некоторое условие. Количество итераций в таком цикле может варьироваться.
- Циклы обычно выполняются до тех пор, пока какое-либо условие не примет значение true или false.
РАЗДЕЛЕНИЕ БЛОК-СХЕМ НА ЧАСТИ
При работе с блок-схемами мы часто сталкиваемся со следующими проблемами:
- Блок-схема может не поместиться на одной странице.
- Может оказаться сложным связать все элементы блок-схемы друг с другом непосредственно.
Для решения этих проблем блок-схемы обычно разбивают на отдельные части, для состыковки которых используются элементы- соединители.
Соединительный элемент имеет свой собственный, уникальный номер и состоит из двух частей. Эти части изображаются в местах разрыва соединительных линий. Для определения принадлежности частей соединительному элементу, номер элемента записывается на каждой из частей.
Например, разбив на 2 части блок-схему, изображенную на Рисунке 2 мы получим:
Рис. 9
- Соединители вставляются в местах разрыва блок-схемы. Расположение каждого объединения указывается с помощью уникального номера.
- В блок-схеме может быть только одна вершина Начало и только одна вершина Конец.
- Используйте машинно-независимые элементы.
- Не обязательно представлять в блок-схеме каждый шаг программы. Можно ограничиться наиболее важными блоками.
- Желательно использовать наглядные названия переменных и блоков.
- Помните, программа должна быть написана так, чтобы любой другой программист смог бы легко понять ее.
МЕТОД ПРОГОНКИ
Метод прогонки используется для проверки правильности работы программы без использования компьютера. Для этого составляется специальная таблица, в которую записываются значения переменных по шагам. Этот метод позволяет эффективно находить и устранять логические ошибки. Проиллюстрируем этот метод следующим примером:
Пример 5
Step 1. Start
Step 2. Х=10
Step 3. Y=5
Step 4. М=0
Step 5. M=X+Y+(X*Y)
Step 6. Y=Y+4
Step 7. M=M+Y
Step 8. Display X,Y,M
Step 9. End
ТАБЛИЦА ПОШАГОВОГО ПРОГОНА
X | Y | М | |||
Начальные значения | 10 | 5 | 0 | ||
после шага 5 | 10 | 5 | 65 | ||
после шага 6 | 10 | 9 | 65 | ||
после шага 7 | 10 | 9 | 74 | ||
Таким образом, на 8-м шаге на экран будет выведено: 10, 9 и 74.
Задания для самопроверки
Mael Kelebro
Ученик
(83),
на голосовании
8 лет назад
Голосование за лучший ответ
Foo
Мыслитель
(7457)
8 лет назад
Похожие вопросы
delete159
+20
Ответ дан
7 лет назад
Информатика
5 – 9 классы
1. Составить блок-схему алгоритма решения задачи. Даны два ненулевых числа. Найти их сумму, разность, произведение.
2. Найти значения алгоритмов:
Ответ
2/5
(2 оценки)
4
suproq
7 лет назад
Светило науки – 20 ответов – 0 раз оказано помощи
Обязательно блок схемы?
Составь по программе на паскаль:
var a,b,c : integer;
begin
readln(‘введите первое число’, a);
readln(‘введите второе число’, b);
writeln(‘Сумма:’, a+b);
writeln(‘Разность:’, a-b);
writeln(‘Произведение:’, a*b);
end.
Оцените пользу ответа
Мозг
Отвечающий
Остались вопросы?
Задать вопрос