Программирование циклических алгоритмов Цикл – это команда исполнителю многократно повторить указанную последовательность команд. Три основных типа циклов : • Цикл с предусловием - while (цикл-ПОКА) • Цикл с постусловием - repeat (цикл-ДО) • Цикл с заданным числом повторений - for (цикл с параметром) Программирование циклов с заданным условием продолжения работы Цикл с предусловием – пока истинно условие цикла, выполняется тело цикла. Цикл с заданным условием продолжения работы (цикл-ПОКА) программируется в языке Паскаль с оператора while. Общий вид оператора: • while <условие> do <оператор> Здесь: • <условие> — логическое выражение; пока оно истинно, выполняется тело цикла; • <оператор> — простой или составной оператор, с которого записано тело цикла. условие тело цикла ДА НЕТ Запишем на языке Паскаль алгоритм получения частного q и остатка г от деления целого числа х на целое число у без использования операции деления. program ostatok; var х, у, q, r: integer; begin writeln (’Частное и остаток’); write ('Введите делимое х-> ’) ; readln (х); write (’Введите делитель у->’); read (у); r:=х; q:=0; while r>=y do begin r:=r-y; q:=q+l end; writeln ('Частное q=’, q); writeln (’Остаток r=’, r) end. Программирование циклов с заданным условием окончания работы. Цикл с постусловием – тело цикла выполняется до удовлетворения условия. Цикл с заданным условием окончания работы (цикл-ДО) программируется в языке Паскаль с оператора repeat. условие тело цикла ДА НЕТ Общий вид оператора: repeat <оператор1; оператор2;… > until <условие> Здесь: <оператор1>; <оператор2>; ...- операторы,образующие тело цикла; <условие> — логическое выражение; если оно ложно, то выполняется тело цикла. Необходимо решить задачу: Спортсмен приступает к тренировкам по следующему графику: в первый день он должен пробежать 10 км; каждый следующий день следует увеличивать дистанцию на 10% от нормы предыдущего дня. Как только норма достигнет или превысит 25 км, необходимо прекратить её её увеличение и далее пробегать ежедневно ровно 25 км. Начиная с какого дня спортсмен будет пробегать 25 км? Запишем на языке Паскаль алгоритм решения задачи о графике тренировок спортсмена. program sportsmen; var i: integer; х: real; begin writeln('График тренировок'); i:=1; x:=10; repeat i:=i+l; x:=x+0.1*x; until x>=25; writeln (’Начиная с ‘ , i, ‘ –го дня спортсмен будет пробегать 25 км’) end. Программирование циклов с заданным числом повторений Цикл с заданным числом повторений (цикл-ДЛЯ) программируется в языке Паскаль с оператора for. Его общий вид: for <параметр>:=<начальное_значение> to <конечное_значение> do <оператор> Здесь: <параметр> — переменная целого типа; <начальное_значение> и <конечное_значение> — выражения того же типа, что и параметр, вычисляемые перед началом цикла; <оператор> — простой или составной оператор — тело цикла. При выполнении этого оператора после каждого выполнения тела цикла происходит увеличение на единицу параметра цикла; условием выхода из цикла является превышение параметром конечного значения. Запишем на языке Паскаль алгоритм вычисления степени с натуральным показателем п для любого вещественного числа а. program stepen; var i, n: integer; a, у: real; тело цикла i=i1,i2…in begin writeln('Возведение в степень’); write (’Введите основание а»’); readln(а); write (’Введите показатель n» ’); readln(n); у:=1; for i:=l to n do y:=y*a; writeln ( ’an=’ , у) end. В заданиях Л и М применяется последний случай циклического алгоритма, т.е. цикл с заданным числом повторений …for i:=15 to 56 do s:=s+i… Задания Н и О на генератор псевдослучайных чисел Random, см. в следующей ссылке!
Первое задание:
1) 3
2) 6
3) 5
Второе задание:
1) 1
2) 3
Третие:
//Язык программирования java
package com.niksonbinsk;
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int space_left = 0;
int count = 0;
Scanner s = new Scanner(System.in);
ArrayList<Integer> str = new ArrayList<>();
while(space_left != 30){
System.out.println("Enter next num:");
str.add(s.nextInt());
space_left++;
}
for(int i =0;i<30;i++){
if(str.get(i) % 2 == 0){
count++;
}
}
System.out.println(count);
}
}
Объяснение:
Объяснение: