While - цикл с условием
for - цикл с известным количеством шагов (итераций)
чтобы воспользоваться for нужно знать точно количество шагов (интераций)
например, заполняем массив arr из 10 единиц типа int
for(i = 0; i < 10; i++) arr[i] = 0; // точно знаем что 10 элементов и делаем 10 интераций
если же нам не известно количество интераций цикла, например организовать ввод переменной до тех пор, пока пользователь не введет 0
сколько будет интераций - неизвестно и зависит сугубо от пользователя
int num;
do
{
cin >> num // вводим цифру
}
while(num != 0); // повторяем ввод, пока цифра не равна 0
( do while - разновидность while, в которой условие проверяется не перед первой интерацией, а после нее )
примеры представлены на c++, но в принципе и так понятно
x = 4, что соответствует условию x < 5, следовательно, y = x - 3, y = 1
Ответ: y = 1
1 задача
program proga;
var st,st2:string;
i:Integer;
begin
writeln('Введите число');
readln(st);
for i:=1 to length(st) do begin
st2:=st[i];
write(st2,' ');
end;
end.
2 задача
program proga2;
var st,st2:string;
i,a:Integer;
begin
writeln('Введите возраст');
readln(a);
if a>120 then
writeln('Неверные данные');
if a=1 then
writeln(a,' год');
if (a>1) and (a<5) then
writeln(a,' года');
if((a mod 10 = 1) and (a div 10 <> 0 or 11 )) then writeln(a,' год');
if (a>=5) and (a mod 10 <> 2 or 3 or 4)and (a div 10 <> 10) then
writeln(a,' лет');
if (a<=5) and (a mod 10 = 2 or 3 or 4)and (a div 10 = 10) then writeln(a,' года ');
if(a>104) and (a<110)then writeln(a,' лет');
end.
print('Вводите числа в одной строке через пробел:')
a = list(map(int,input('Ввод: ').split()))
max = -99999
min = 99999
pos = -1
maxpos = False
for i in a:
if i > max:
max = i
if i < min:
min = i
for i in a:
pos += 1
if (i == max) and (maxpos == False):
maxpos = pos
if i == min:
minpos = pos
a[maxpos] = min
a[minpos] = max
print('Вывод: ',end='')
for i in range(0,len(a)):
print(a[i],end=' ')