-Классификация Алгоритмов(структура,без определений)Сделать математическую постановку задачи,нарисовать блок-схему и таблицу расччетов:Цикл со счетчиком:Вычислить сумму четных чисел от 12 до 30
Ответы
Ответ дал:
0
1. Алгоритмы бывают линейные, разветвляющиеся (содержащие условия), циклические (содержащие циклы) и комбинированные (объединяющие в себе несколько из перечисленных выше алгоритмов). Несколько особняком стоят рекурсивные алгоритмы. Это алгоритмы, которые повторно обращаются сами к себе. Рекурсивный алгоритм может быть сведен к комбинированному, но в некоторых случаях процесс сведения оказывается трудоемким, а сам алгоритм теряет свою наглядность.
2. Цикл со счетчиком относится к циклическим алгоритмам. Управляет циклом специальная переменная, которая называется счетчиком или параметром цикла. Особенность такого цикла в том, что он всегда выполняется известное число раз, которое определяется заголовком цикла до первого входа в тело цикла. Цикл со счетчиком обеспечивает изменение параметра цикла от некоторого начального значения a до значения b c шагом h. Количество повторений такого цикла вычисляется по формуле
, где первое слагаемое округляется до ближайшего меньшего целого. Если n≤0, цикл не выполняется ни разу.
3. В языке Паскаль цикл со счетчиком накладывает весьма жесткие условия на параметр цикла (счетчик):
- параметр цикла должен быть целочисленной переменной;
- шаг изменения параметра цикла может быть равен или 1, или -1;
- значения границ интервала (a,b) и шага h фиксируются перед первым входом в тело цикла и даже будучи измененными в теле цикла уже не влияют на параметр цикла;
- значение параметра цикла нельзя изменять в теле цикла;
- значение параметра цикла после выхода из цикла считается неопределенным, т.е. не должно использоваться в случае тиражирования исходного кода программы, поскольку в разных реализациях Паскаля это значение может оказать различным- любым, равным последнему допустимому в теле цикла значению, либо отличающимся от этого значение на величину шага в сторону изменения параметра цикла.
4. Реализация поставленной задачи.
Число считается четным, если оно делится на 2 без остатка. Нам нужно найти сумму четных чисел из ряда 12, 14, 16, ... 28, 30. Цикл со счетчиком, как было замечено выше, не может обеспечить изменение параметра цикла с шагом два. Поэтому есть три пути.
Первый путь - организовать цикл со счетчиком, который переберет все числа от 12 до 30. В теле цикла проверять условие четности и удовлетворяющие этому условию числа передавать не суммирование.
Второй путь - найти формулу для общего члена последовательности чисел и реализовать её при изменении счетчика с шагом 1. Формула для получения четных числ натурального ряда известна: m=2*k, где k=1,2,3,...
Если мы будем менять k от 6 до 15, то получим набор целых четных чисел m от 12 до 30.
Третий путь - вспомнить формулу суммы ряда арифметической прогрессии.
![S= frac{a_1+a_n}{2}times n; \ a_1=15, a_n=30, n= frac{30-12}{2}+1=10 \ S= frac{12+30}{2}times 10=210. S= frac{a_1+a_n}{2}times n; \ a_1=15, a_n=30, n= frac{30-12}{2}+1=10 \ S= frac{12+30}{2}times 10=210.](https://tex.z-dn.net/?f=S%3D+frac%7Ba_1%2Ba_n%7D%7B2%7Dtimes+n%3B+%5C+a_1%3D15%2C++a_n%3D30%2C++n%3D+frac%7B30-12%7D%7B2%7D%2B1%3D10+%5C+S%3D+frac%7B12%2B30%7D%7B2%7Dtimes+10%3D210.+)
На этом, третьем пути, мы легко нашли ответ и программа получается не нужна.
Тем не менее, в задании сказано реализовать цикл со счетчиком и мы выбираем второй путь, как более эффективный.
5. Программа на языке Pascal
var
i, s: integer;
begin
s := 0;
for i := 6 to 15 do s := s + 2 * i;
Writeln('Сумма четных чисел от 12 до 30 равна ', s)
end.
Результат выполнения:
Сумма четных чисел от 12 до 30 равна 210
6. Блок-схема приведена во вложении.
2. Цикл со счетчиком относится к циклическим алгоритмам. Управляет циклом специальная переменная, которая называется счетчиком или параметром цикла. Особенность такого цикла в том, что он всегда выполняется известное число раз, которое определяется заголовком цикла до первого входа в тело цикла. Цикл со счетчиком обеспечивает изменение параметра цикла от некоторого начального значения a до значения b c шагом h. Количество повторений такого цикла вычисляется по формуле
3. В языке Паскаль цикл со счетчиком накладывает весьма жесткие условия на параметр цикла (счетчик):
- параметр цикла должен быть целочисленной переменной;
- шаг изменения параметра цикла может быть равен или 1, или -1;
- значения границ интервала (a,b) и шага h фиксируются перед первым входом в тело цикла и даже будучи измененными в теле цикла уже не влияют на параметр цикла;
- значение параметра цикла нельзя изменять в теле цикла;
- значение параметра цикла после выхода из цикла считается неопределенным, т.е. не должно использоваться в случае тиражирования исходного кода программы, поскольку в разных реализациях Паскаля это значение может оказать различным- любым, равным последнему допустимому в теле цикла значению, либо отличающимся от этого значение на величину шага в сторону изменения параметра цикла.
4. Реализация поставленной задачи.
Число считается четным, если оно делится на 2 без остатка. Нам нужно найти сумму четных чисел из ряда 12, 14, 16, ... 28, 30. Цикл со счетчиком, как было замечено выше, не может обеспечить изменение параметра цикла с шагом два. Поэтому есть три пути.
Первый путь - организовать цикл со счетчиком, который переберет все числа от 12 до 30. В теле цикла проверять условие четности и удовлетворяющие этому условию числа передавать не суммирование.
Второй путь - найти формулу для общего члена последовательности чисел и реализовать её при изменении счетчика с шагом 1. Формула для получения четных числ натурального ряда известна: m=2*k, где k=1,2,3,...
Если мы будем менять k от 6 до 15, то получим набор целых четных чисел m от 12 до 30.
Третий путь - вспомнить формулу суммы ряда арифметической прогрессии.
На этом, третьем пути, мы легко нашли ответ и программа получается не нужна.
Тем не менее, в задании сказано реализовать цикл со счетчиком и мы выбираем второй путь, как более эффективный.
5. Программа на языке Pascal
var
i, s: integer;
begin
s := 0;
for i := 6 to 15 do s := s + 2 * i;
Writeln('Сумма четных чисел от 12 до 30 равна ', s)
end.
Результат выполнения:
Сумма четных чисел от 12 до 30 равна 210
6. Блок-схема приведена во вложении.
Приложения:
![](https://st.uroker.com/files/86b/86b9287a084999104365780bc73dfe4e.bmp)
Ответ дал:
0
а можно еще блок схему?)
Ответ дал:
0
Вторую???
Ответ дал:
0
Спасибо) я не увидел)
Ответ дал:
0
Я её прицепил через 3 минуты после публикации ответа)
Ответ дал:
0
я слепой :D
Вас заинтересует
1 год назад
6 лет назад
9 лет назад
9 лет назад