KeeRuSha
23.02.2023 20:19

с информатикой. Паскаль
Известны оценки ученика за год по 10 предметам. Определить, сколько «5» и «4» он
получил (отдельно 4 и отдельно 5). Выберите самостоятельно удобный оператор
цикла.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
olgaollik
02.02.2023 15:25
Описывается список с полями согласно заданию
type
     student = Record
     fam: String;
     inn: string;
     Year: integer;
     god_p: integer;
     kurs: 1..5;
     gruppa: string;
b1, b2, b3: 1..5;
End;

Объявляются необходимые переменные и массив с типом записи
var
     spisok: Array [1..N] Of student;
     b, a: string;
     i, j, k1: Integer;
И заполняется от 1 до N (N=5 установлена константа)
for i := 1 To N Do // идем от 1 до N  и заполняем список
    with spisok[i] Do
        begin
            Writeln('Введите фамилию');Readln(fam);
            {}
end;
Потом обрабатывается согласно заданию по вариантам
Скорее всего, что-то типо сортировки по году рождения, самых молодых пихают в начало.(глупо. можно было не городить такой кусок кода, а уместить все в один цикл с проверкой и выводом ИМХО)
Затем выводится 3 фамилии самых молодых

for i := 1 to 3 do
begin
write(spisok[i].fam);
writeln;
end;
0,0(0 оценок)
Ответ:
VeronikaBruhova
27.10.2022 02:01

Объяснение кода №1;

var s, n: integer;  //Объявление переменных

begin  //Начало программы

s:=100  //Значение переменной S равняется 100

n:=300  //Значение переменной n равняется 300

while s+n <= 600 do  

//Цикл while выполняется до тех пор, пока истинно условие s + n <= 600, т. е. сумма s и n определяет, сколько раз выполнится цикл.

begin

//Следовательно, два действия s := s + 40 и n := n − 20 можно объединить, так как цикл зависит от двух переменных. Таким образом, на каждом повторе (умными словами итерации) добавляется 20.

s:= s+40

n:=n-20

end

//Решим уравнение: 400 + x > 600.

Цикл остановится, когда x будет больше 200. Поскольку каждый раз добавляется по 20, будет 11 повтор.

По итогу, получится на 11-ой итерации: 100 + 40 * 11 = 540.

Объяснение кода №2;

//Объяснения немного короче напишу

var s, n: integer;

begin

s:=500

n:=200

//Цикл while выполняется до тех пор, пока истинно условие s div n >= 2, т. е. целочисленное деление s на n определяет, сколько раз выполнится цикл.

while s div n >= 2 do begin

s:= s+5

n:= n+5

end

//Следовательно, каждый раз к обеим переменным прибавляется по 5. Целочисленное деление s на n будет меньше 2 тогда, когда s примет значение 605, а n — значение 305.

Совет: Если ты вдруг 10 или 11 класс, и не понимаешь данные штуки, можешь не вникать уже в них, поздно. Изучай си, си++ в универе пригодится :)

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота