В отличие от цикла while, условие вычисляется после очередной итерации цикла, и если оно истинно, то происходит выход из цикла. Таким образом, операторы, образующие тело цикла оператора repeat, выполняются по крайней мере один раз.
Цикл повторяется до тех пор, пока условие записанное после ключевого слова until, будет ложным (не выполняется). Как только это условие выполнится, происходит выход из цикла.
1)Цикл выполнится 1 раз:
i:=i-1=-1
s=-1/1=-1
-1<1 условие выполняется, цикл прерывается.
2)цикл выполнится 3 раза:
1. i:=i+1=1; 1>2 условие не выполняется, цикл продолжается.
2. i:=i+1=2; 2>2 условие не выполняется, цикл продолжается.
3. i:=i+1=3 3>2 условие выполняется, цикл прерывается.
Т.к. язык программирования не указан, сделаю на свой вкус, т.е. C++. При копировании кода из IDE на сайт автоматически удаляется перенос строки. Будет прикреплен скриншот того, как должен выглядеть код
#include <stdlib.h>#include <stdio.h>#include <locale> void main(){ setlocale(LC_ALL, "RUSSIAN"); int i, n, an; an = 0; printf("\n Введите n ->"); scanf_s("%d", &n); for (i = 1; i <= n; i++) an = an+i; printf("\n Сумма первых n натуральных чисел равна: %d", an); an = 0; for (i = 1; i <= n; i++) an = an + i*i; printf("\n Сумма квадратов первых n натуральных чисел равна: %d", an); an = 0; for (i = 1; i <= n; i++) if (i % 2 == 0)an = an + i; printf("\n Сумма всех четных чисел в диапозоне от 1 до n: %d", an); an = 0; for (i = 10; i <= 99; i++) an = an + i; printf("\n Сумма всех двухзначных чисел равна: %d \n", an); system("pause");}
В отличие от цикла while, условие вычисляется после очередной итерации цикла, и если оно истинно, то происходит выход из цикла. Таким образом, операторы, образующие тело цикла оператора repeat, выполняются по крайней мере один раз.
Цикл повторяется до тех пор, пока условие записанное после ключевого слова until, будет ложным (не выполняется). Как только это условие выполнится, происходит выход из цикла.
1)Цикл выполнится 1 раз:
i:=i-1=-1
s=-1/1=-1
-1<1 условие выполняется, цикл прерывается.
2)цикл выполнится 3 раза:
1. i:=i+1=1; 1>2 условие не выполняется, цикл продолжается.
2. i:=i+1=2; 2>2 условие не выполняется, цикл продолжается.
3. i:=i+1=3 3>2 условие выполняется, цикл прерывается.
#include <stdlib.h>#include <stdio.h>#include <locale>
void main(){ setlocale(LC_ALL, "RUSSIAN"); int i, n, an; an = 0; printf("\n Введите n ->"); scanf_s("%d", &n); for (i = 1; i <= n; i++) an = an+i; printf("\n Сумма первых n натуральных чисел равна: %d", an); an = 0; for (i = 1; i <= n; i++) an = an + i*i; printf("\n Сумма квадратов первых n натуральных чисел равна: %d", an); an = 0; for (i = 1; i <= n; i++) if (i % 2 == 0)an = an + i; printf("\n Сумма всех четных чисел в диапозоне от 1 до n: %d", an); an = 0; for (i = 10; i <= 99; i++) an = an + i; printf("\n Сумма всех двухзначных чисел равна: %d \n", an); system("pause");}