В программе задается массив, состоящий из 8 элементов. Затем переменным term и m присваиваются начальные значения (1 и 7 соответственно). В цикле нц для к от 2 до 8 если Dat[к] > m то m:= Dat[k] term := k все КЦ элементы массива (начиная со второго) сравниваются с переменной m: k=2 Dat[2]>m ⇒ 7>7 ⇒ нет k=3 Dat[3]>m ⇒ 6>7 ⇒ нет k=4 Dat[4]>m ⇒ 8>7 ⇒ да; m=Dat[4]=8; term=k=4 k=5 Dat[5]>m ⇒ 4>8 ⇒ нет k=6 Dat[6]>m ⇒ 5>8 ⇒ нет k=7 Dat[7]>m ⇒ 8>8 ⇒ нет k=8 Dat[8]>m ⇒ 7>8 ⇒ нет На экран будет выведено значение переменной term=4 Таким образом, в переменной m сохраняется значение максимального элемента массива, а в переменной term - номер первого максимального элемента.
где ошибка Program myprog; const rad=3.14/180; var a,y,z,x,cos,sin:real; //переменные x,cos,sin никак не определены, следовательно следующее выражение не будет посчитано (=0). кроме того cos и sin это встроенные функции Паскаля. Не стоит использовать их как имена переменных begin a:=(2*cos*(x-rad*30))/(1/3+((sin*2)*(y+2))); writeln('z='); readln(z); y:=(z*z/5+(z*z)/7); writeln(' y = ',y); writeln('введите значение x : ' ); readln(x); // Вы ввели значение х в конце программы. Оно нигде в расчетах уже не сможет участвовать WriteLn(' ответ:',a); readln(a); End.
Затем переменным term и m присваиваются начальные значения (1 и 7 соответственно).
В цикле
нц для к от 2 до 8
если Dat[к] > m то
m:= Dat[k]
term := k
все
КЦ
элементы массива (начиная со второго) сравниваются с переменной m:
k=2
Dat[2]>m ⇒ 7>7 ⇒ нет
k=3
Dat[3]>m ⇒ 6>7 ⇒ нет
k=4
Dat[4]>m ⇒ 8>7 ⇒ да; m=Dat[4]=8; term=k=4
k=5
Dat[5]>m ⇒ 4>8 ⇒ нет
k=6
Dat[6]>m ⇒ 5>8 ⇒ нет
k=7
Dat[7]>m ⇒ 8>8 ⇒ нет
k=8
Dat[8]>m ⇒ 7>8 ⇒ нет
На экран будет выведено значение переменной term=4
Таким образом, в переменной m сохраняется значение максимального элемента массива, а в переменной term - номер первого максимального элемента.