1
Цикл с постусловием
Цикл — разновидность управляющей конструкции в высокоуровневых языках программирования, предназначенная для организации многократного исполнения набора инструкций. Также циклом может называться любая многократно исполняемая последовательность инструкций, организованная любым например, с условного перехода).
2
Цикл с постусловием отличается от цикла while тем, что условие в нём проверяется после выполнения цикла, то есть этот цикл будет повторён как минимум один раз (в отличие от цикла while, который может вообще не выполняться). Синтаксис цикла
1 do {
2 тело цикла
3 } while(условие);
Предыдущий пример с использованием цикла do будет выглядеть как
1 int i = 0;
2
3 do {
4 printf("%d\n", i);
5 i++;
6 } while(i < 10);
3
Сложные которым нужен ответ в 5-10 строчек
И лёгкие которым ответ содержит в 2-4 строчек
Объяснение:
Допустим, в языке есть встроенная функция
Min(a,b) которая определяет мин из двух значений. Тогда алгоритм выглядит так
х=Мin(a,b);
x=Min(x,c);
А если нужно найти мин из N чисел, которые запрятаны в массив А(n), то так
x=999999999999999999999; // какое-то ОЧЕНЬ большое число
Для ц=1 по N цикл
x = Min(x,A(ц));
КонецЦикла;
А что, если такой функции в языке нет, спросишь ты, тогда её нужно написать самому, например, так
Функция Min(a,b)
Если a<b Тогда
Возврат(а);
Иначе
Возврат(b);
КонецЕсли;
КонецФункции
Вот и всЁ! Учитесь мыслить алгоритмически структурно, разбивая сложный алгоритм на ряд простых и понятных, и всё будет очень просто.
Успехов!
Поделитесь своими знаниями, ответьте на вопрос:
nn=50; // максимальное количество учеников
var
i,n,sm,sd,km,kd:integer;
am,ad:real;
var a:array[1..nn] of integer;
begin
Write('Введите количество учеников: ');
Read(n);
Writeln('Введите рост учеников');
sm:=0; sd:=0; km:=0; kd:=0;
for i:=1 to n do
begin
Read(a[i]);
if a[i]>0 then begin sd:=sd+a[i]; Inc(kd) end
else begin sm:=sm-a[i]; Inc(km) end
end;
am:=sm/km; ad:=sd/kd;
Write('Средний рост мальчиков (',am:0:1,') ');
if am-ad<=10 then Write('не ');
Writeln('превышает средний рост девочек (',ad:0:1,') ');
Writeln('больше, чем на 10 см')
end.
Примерное решение
Введите количество учеников: 9
Введите рост учеников
-192 165 -174 179 -172 171 169 170 -170
Средний рост мальчиков (177.0) не превышает средний рост девочек (170.8)
больше, чем на 10 см