Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТЕТРАДЬ КуМир_алгоритмический_язык (Восстановле...doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2.24 Mб
Скачать

§4. Виды циклов в системе программирования КуМир

Алгоритмы, отдельные действия которых многократно повторяются, называются алгоритмами циклической структуры. Совокупность действий алгоритма, связанную с повторением, называют циклом.           Команда цикла обеспечивает повторное выполнение последовательности команд (тела цикла) по некоторому условию. Цикл с предусловием (цикл пока) и цикл с параметром (цикл для).

  Цикл с предусловием (цикл пока)

       Цикл с предусловием (цикл пока) - цикл, выполнение которого повторяется, пока истинно условие цикла. Служебные слова НЦ (начало цикла) и КЦ (конец цикла)пишутся строго одно под другим и соединяются вертикальной чертой. Правее этой черты записывается повторяемая последовательность команд (тело цикла).

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

Дано целое положительное число N. Вычислить факториал этого числа: N! = 1 * 2 * 3 * ... * N.

. . алг Факториал . . нач цел F, N, i . . . вывод ' Введите N ' . . . ввод N . . . F := 1 . . . i := 1 . . . нц пока i <= N . . . . F := F * i . . . . i := i + 1 . . . кц . . . вывод ' Факториал = ', F . . кон

Цикл с параметром (цикл для)   

Цикл с параметром (цикл для) - повторное выполнение тела цикла, пока целочисленный параметр пробегает множество всех значений от начального ( i1 ) до конечного ( in ):

         Здесь i - переменная целого типа, называемая параметром цикла: i1, in - начальное и конечное значения параметра цикла, которые могут быть заданы либо произвольными целыми числами, либо выражениями с целыми значениями; h - шаг изменения значения параметра цикла, значением шага может быть любое целое число (как положительное, так и отрицательное). Запись "шаг h" в первой строке может вообще отсутствовать, при этом по умолчанию значение шага принимается равным 1. Пример: 

Дано целое положительное число N. Вычислить факториал этого числа: N! = 1 * 2 * 3 * ... * N.

. . алг Факториал . . нач цел F, N, i . . . вывод ' Введите N ' . . . ввод N . . . F : = 1 . . . нц для i от 1 до N . . . . F : = F * i . . . кц . . . вывод ' Факториал = ', F . . кон

ЗАДАЧИ

Задача №1

алг максимум нач вещ а, б цел и, н вывод ' введите количество целых чисел для сравнения' ввод н а :=0 нц для и от 1 до н    вывод нс,'введите число'    ввод б    если б>а       то а :=б    все кц вывод нс, ' максимальным числом среди данных является число', а кон

Дан алгоритм. Для вычисления чего используется данный алгоритм?

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

Задача №2

Найдите среди n-целых чисел количество отрицательных Решение:

Задача №3

Последовательно вводятся n-целых чисел. Найти количество совпадений с первым числом Решение:

Задача №4

Последовательно вводятся n-целых чисел. Найти разницу между максимальным и минимальным значениями данных чисел Решение:

З адача №5

Дана блок-схема алгоритма.

Что вычисляется с помошью этого алгоритма?

Значение какой переменной выводится на экран после выполнения алгоритма?

Что выведется на экран, если:

1) N=2

2) N=3

3)N=6

4)N=10

5)N=14

6) N=0

Задача №6

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

Задача №7

Дано два произвольных числа. Пока их произведение меньше 100, увеличивать каждое число на 2 и вывести конечные числа на монитор Решение:

Задача №8

Какое значение будет принимать переменная Y после выполнения программы?

. . алг м1 . . нач цел x,y . . . y:=0 . . . нц для x от 1 до 9 . . . . y:=y+x . . . . вывод "y=",y,нс . . . кц . . кон

Ответ:Y=

. . алг м2 . . нач цел x,y . . . y:=0 . . . нц для x от 1 до 9 . . . . y:=y+1 . . . . вывод "y=",y,нс . . . кц . . кон

Ответ:Y=

. . алг м3 . . нач цел x,y . . . y:=0 . . . нц для x от 1 до 5 . . . . y:=y*x . . . . вывод "y=",y,нс . . . кц . . кон

Ответ:Y=

. . алг м4 . . нач цел x,y . . . y:=0 . . . нц для x от 1 до 5 шаг -1 . . . . y:=y+x . . . . вывод "y=",y,нс . . . кц . . кон

Ответ:Y=

. . алг м5 . . нач цел x,y . . . y:=0 . . . x:=10 . . . нц пока x>0 . . . . x:=x-2 . . . . y:=y+x . . . . вывод "y=",y,нс . . . кц . . кон

Ответ:Y=

. . алг м5

. . нач цел x,y . . . y:=1 . . . x:=15 . . . нц пока x>0 . . . . x:=x-3 . . . . y:=y*x . . . . вывод "y=",y,нс . . . кц . . кон

Ответ:Y=

Задача №9

Введено число. Перевести его в двоичную систему счисления

Решение:

Задача №10

. . алг . . нач лит s, цел n,i . . . вывод "введите число: " . . . ввод s . . . n:=0 . . . нц для i от 1 до длин(s) . . . . n:=2*n . . . . если s[i]='1' . . . . . то n:=n+1 . . . . все . . . кц . . . вывод n . . кон

Дан алгоритм.

Для чего используется этот алгоритм?

Что выведется на экран, если

1) s=”101”

2) s=”1011”

3) s=”1101”

4) s=”10101”

5) s=”10001”

6) s=”100101”

Задача №11

Пусть дано натуральное число п. Составьте фрагменты программ для ответа на следующие вопросы.

  1. Сколько цифр в числе п?

  2. Чему равна сумма его цифр?

  1. Чему равна первая цифра числа п?

  2. Как выглядит запись цифр числа п в обратном порядке?

е) Читается ли число п слева направо и справа налево одинаково?

Решение:

Задача №12

Реализован некий алгоритм в виде блок-схемы. Что получится на выходе блок-схемы, если

1) N=4

2) N=8

3) N=6

4) N=2

5) N=0.3

6) N=0.5

По приведенной блок-схеме составьте алгоритм.

Задача №13

Составьте программу, которая проверяет, является ли заданное число совер­шенным- Совершенным называется натуральное число, равное сумме всех своих делителей (исключая само число). Например: 28 = 1+ 2 + 4 + 7 + 14

Решение:

Задача №14

Напечатайте все простые трехзначные числа

Решение:

Задача №15

Пусть дано 10 вещественных чисел, которые вводятся по одному. Вычислите среднее арифметическое положительных и среднее арифметическое от отрицательных чисел.

Решение:

Задача №16

Пусть дано 10 вещественных чисел, которые вводятся по одному. Вычисли те разность между максимальным и минимальным числами.

Решение:

Задача №17

Дана блок-схема алгоритма. Тогда после исполнения алгоритма значение переменной S равно

Если n=2 то S =

Если n=3 то S =

Если n=4 то S =

Если n=5 то S =

Если n=6 то S =

Задача №18

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

Решение:

Задача №19

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

Решение: