Var min,max,i: byte; kontrol: boolean; rez: real; a: array[1..9] of byte; begin min: =6; max: =1; rez: =0; kontrol: =true; for i: =1 to 9 do begin write ('введите ',i,'-ю оценку: '); readln (a[i]); if (a[i]< 1) or (a[i]> 6) then kontrol: =false; if a[i]> max then max: =a[i]; if a[i]< min then min: =a[i]; rez: =rez+a[i] end; rez: =(rez-min-max)/7; if kontrol=true then writeln ('зачетная оценка: ',rez: 6: 3) else writeln ('введены некорректные данные') end. пример: введите 1-ю оценку: 2 введите 2-ю оценку: 3 введите 3-ю оценку: 4 введите 4-ю оценку: 4 введите 5-ю оценку: 4 введите 6-ю оценку: 5 введите 7-ю оценку: 5 введите 8-ю оценку: 5 введите 9-ю оценку: 6 зачетная оценка: 4.286
appbiznessm
20.11.2022
Здесь много не так. вы ссылаетесь на итый элемент массива вне тела цикла, это бессмысленно, ведь индексация i происходит только в цикле, после его окончания i всегда равен конечному значению. далее вы делаете проверку условия для элемента массива, когда ещё нет значений этих элементов. далее вы вводите в программу элементы массива в цикле по условию, что 1> оценка> 6, откуда взялся такой бред я даже представить не могу. ну и ещё несколько мелких ошибок. программу надо переделать полностью.
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Запишите значение переменной s, полученное в результате работы следующей программы. (питон) s=2 for n in range(2, 6): s=s+n*2 print(s)