<h3>PascalABC.NET 3.4.2, сборка 1881 от 19.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var a := ReadArrReal('Вводите:', ReadInteger('Количество чисел?'));
var imax := a.IndexMax;
Writeln('Первое максимальное число ', a[imax],
' имеет номер ', imax + 1)
end.
<h2>Пример</h2><h3>Количество чисел? 5</h3><h3>Вводите: 14 2.17 15.2 8 15.2</h3><h3>Первое максимальное число 15.2 имеет номер 3</h3>
1) CD-ROM
2) 1. тактовая частота микропроцессора
<span> 4. объем оперативной памяти</span>
1) 18 + 10 = 28 символов в этом алфавите для идентификатора пользователя
2) N = 2^i
28 = 2^i
i = 5 бит - глубина кодирования 1 символа из этого алфавита
3) 8 * 5 = 40 бит нужно для кодирования одного идетификатора 1 пользователя
4) 500 * 40 = 20000 бит объем памяти, которое отводит эта программа
20000 бит / 8 = 2500 байт / 1024 = 2,44 килобайт - объем памяти, которое отводит эта программа
Смотря что Вы называете циклом. По установившейся терминологии любой цикл состоит из заголовка цикла (по строению которого циклы часто и именуют) и тела цикла. В языке паскаль в заголовке цикла с предусловием стоит ключевое слово while и ключевое слово цикла с параметром for стоять уже не может. Но в теле цикла, которое может иметь любое содержимое, цикл for, конечно же, может встречаться.
А вот язык Алгол, на базе которого Н.Вирт сконструировал свой Паскаль, мог в заголовке цикла содержать очень много всего и, в том числе, смесь while с for:
for x:=p0 step h1 until q-1, q+1 step h2 until t, t+0.17 step h3 while cos(x/2)<0.85 do ...
Но Н.Вирт решил, что такой цикл неэффективен и... оставил от него жалкие ошметки. Возможно, компилятору "стало проще жить", но зато программисты в Паскале лишились возможности не только писать в цикле вещественные значения, но и вынуждены менять целочисленные только на 1 или -1.
<span><span>program ggl;
</span>Это название программы
</span><span>var n, i, sum : integer;
</span>Описание переменных
<span>a : array [1..1000] of integer;
</span>Описание массива а (он целочиленный, в интервале от 1 до 1000)
<span>begin readln (n);
</span>Начало программы, запрос значение переменной n
<span> sum := 0;
</span>Присвоение переменной sum значение 0
begin readln (n);
sum := 0;
<span> for i := 1 to n do begin </span>
<span> a[i] := random (100); </span>
write (a[i], ' ');
<span> sum := sum + a[i]; </span>
<span>end; </span>
begin характеризует начало новой подпрограммы. Она - цикл, в котором идет перебор чисел от 1 до значения n, элементам массива a присваиваются рандомные числа от 1 до 100, элементы массива выводятся на экран.<span>
</span>После идет подсчет значения переменной sum (причем сначала находится, например, первый элемент массива, а уже после значение переменной sum, после второй элемент массива и он прибавляется к прежнему значению переменной sum). Подпрограмма кончается.
writeln;
write (sum / n);
<span>end.
</span>Вывод значения деления переменной sum на переменную n. Конец всей программы.