Здесь показаны различия между двумя версиями данной страницы.
| — |
for_loop [2019/06/24 20:29] (текущий) |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| + | ====== Циклический алгоритм ====== | ||
| + | ===== Решение задачи ===== | ||
| + | {{:gia:9.png|}} | ||
| + | Очевидно, что инструкция **s:=s+12** будет исполнена 11 раз,\\ | ||
| + | следовательно можно записать s:=s + 12 + 12 + 12 + 12 + 12 + 12 + 12 + 12 + 12 + 12 + 12 = 12 * 11 = 132 | ||
| + | |||
| + | **Решение на языке javaScript:** | ||
| + | |||
| + | [[http://ideone.com/dBLvxU]] | ||
| + | |||
| + | **Решение на языке C++:** | ||
| + | |||
| + | http://ideone.com/4s3LSd | ||
| + | ===== Дополнительный материал ===== | ||
| + | |||
| + | ==== Исследование ==== | ||
| + | |||
| + | Исследуйте принцип "работы" циклического алгоритма, используя специальное приложение, позволяющее визуализировать скрытые изменения состояния переменных в процессе исполнения алгоритма. На языке питон для организации цикла удобно использовать оператор for и встроенную функцию range(11), позволяющую задавать числовую последовательность. Внимание! Указанный конец интервала не включается в список числовой последовательности, первый элемент числовой последовательности начинается с 0; вызов range(11) генерирует 11 значений - 0, 1, 2,...9, 10.\\ | ||
| + | Вариант указанной задачи на языке Python записан ниже.\\ | ||
| + | Скопируйте приведенный ниже код (# Python 2.5), откройте приложение:\\ | ||
| + | [[http://people.csail.mit.edu/pgbovine/python/tutor.html#mode=edit]]\\ | ||
| + | Замените код, размещенный в окне с надписью "Write your Python code here:", тем кодом, который хотите исследовать, нажмите на кнопку с надписью "Visualize execution", используйте клавиши со стрелками <- -> или кнопки с надписями "Forward", "Back" для пошагового воспроизведения инструкций программы. При смене инструкций меняются значения переменных, за которыми можно наблюдать на вкладке справа. | ||
| + | |||
| + | <code python> | ||
| + | # Python 2.5 | ||
| + | s = 0 | ||
| + | for k in range(11): | ||
| + | s=s+12 | ||
| + | print s | ||
| + | </code> | ||
| + | |||
| + | <code python> | ||
| + | # Python 3 | ||
| + | s = 0 | ||
| + | for k in range(11): | ||
| + | s=s+12 | ||
| + | print(s) | ||
| + | </code> | ||
| + | |||
| + | ==== Практическое задание ==== | ||
| + | Лучший способ научиться писать программы,- практиковаться в написании программ. Циклические алгоритмы - простой способ организации арифметической и геометрической прогрессий.\\ | ||
| + | * Составьте программу, распечатывающую (выводящую на экран) арифметическую прогрессию из десяти членов с шагом 3\\ | ||
| + | 3,6,9,12,... | ||
| + | * Составьте программу, распечатывающую (выводящую на экран) геометрическую прогрессию со знаменателем 2 из двенадцати членов\\ | ||
| + | 2, 4, 8,... | ||
| + | |||
| + | Используйте в качестве шаблона для выполнения задания задачу № 9, реализованную в инструментальной среде [[http://ideone.com/IPMmQ]]. | ||