Написать программу, которая в одновременном массиве заданным вводом данных с клавиатуры находит индекс максимального элемента массива. на языке pascal.
Var n,i,max:integer; a:array [1..1000] of integer;//объявляем массив begin writeln('Введите количество чисел'); readln(n); for i:=1 to n do begin readln(a[i]); if a[i]>max then max:=i; end; writeln('Индекс максимального элемента массива =', max); end.
Цикл с предусловием это такой цикл, в котором условие проверяется перед выполнением тела цикла. А цикл с постусловием - на оборот, он сначала выполнит, а потом проверит условие и если условие true, то цикл завершится.
Цикл с постусловием, можно использовать в таких ситуациях, когда надо что-то сделать и если чего-то не хватает, то сделать еще раз. Напрмер отправить письмо на email, а если не отправилось, то повторить еще 3 раза. Сначала выполнится тело цикла, в котором находятся функции отправки письма и если отправка удачная, то сообщаем until() true. Иначе тело выполнится еще и еще и еще кучу раз, если мы не задали счетчик в теле цикла, как вариант...
Цикл с предусловием можно использовать, если надо проверять какое-то значение ПЕРЕД выполнением тела цикла и тебе не важно, должно ли оно хоть раз выполниться. Например запросить пароль у пользователя. Но если пользователь уже ввёл пароль, то зачем его запрашивать? Тут можно было бы использовать while
// PascalABC.NET 3.1, сборка 1219 от 16.04.2016 begin // Формируем массив A случайных чисел и выводим его var a:=ArrRandom(ReadInteger('n='),1,50); a.Println; // Формируем последовательность кортежей s из четных элементов A var s:=a.Select((x,i)->Rec(x,i+1)).Where(x->x.Item1.IsEven); Write('Четные элементы: '); s.Select(x->x.Item1+'['+x.Item2+']').Println; Write('Их количество равно ',s.Count,', произведение равно ', s.Select(x->x.Item1).Aggregate(1.0,(p,i)->p*i)) end.
Тестовое решение: n= 15 6 28 32 37 21 34 37 24 1 22 21 16 10 1 2 Четные элементы: 6[1] 28[2] 32[3] 34[6] 24[8] 22[10] 16[12] 10[13] 2[15] Их количество равно 9, произведение равно 30883184640
a:array [1..1000] of integer;//объявляем массив
begin
writeln('Введите количество чисел');
readln(n);
for i:=1 to n do begin
readln(a[i]);
if a[i]>max then
max:=i;
end;
writeln('Индекс максимального элемента массива =', max);
end.