М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
Olia234566
Olia234566
05.05.2021 06:14 •  Информатика

Дан массив студентов из полей записи: фамилия,год рождения,оценки по 3 экзаменам. найти средний студентов 1989 года рождения и старше,а также вычислить количество отличников и задолжников. написать программу в pascal,

👇
Ответ:
tanya101nfjgh0
tanya101nfjgh0
05.05.2021

Program raf105;

type Info = record

 family: string;

 year: integer;

 Score: record

   exam1: byte;

   exam2: byte;

   exam3: byte;

 end;

end;

const

 n = 3; // Количество студентов

var

 Students: array[1..n] of Info;

 i, goodStud, badStud, students1989Count, students1989ScoreSum: integer;

 midScore1989: real;

begin

 writeln('Введите информацию о ',n,' студентах');

 for i:=1 to n do

 begin

   writeln(' Студент ',i);

   write('Фамилия: ');

   readln(Students[i].family);

   write('Год рождения: ');

   readln(Students[i].year);

   writeln('Введите информацию о его оценках (от 1 до 5)');

   write('Оценка за 1 экзамен: ');

   readln(Students[i].Score.exam1);

   write('Оценка за 2 экзамен: ');

   readln(Students[i].Score.exam2);

   write('Оценка за 3 экзамен: ');

   readln(Students[i].Score.exam3);

   if Students[i].year <= 1989 then

     begin

      students1989Count:= students1989Count + 3;

      students1989ScoreSum:= students1989ScoreSum + Students[i].Score.exam1 + Students[i].Score.exam2 + Students[i].Score.exam3;

     end;

   if (Students[i].Score.exam1 = 5) and (Students[i].Score.exam2 = 5) and (Students[i].Score.exam3 = 5) then

    inc(goodStud);

   if (Students[i].Score.exam1 <= 2) or (Students[i].Score.exam2 <= 2) or (Students[i].Score.exam3 <= 2) then

    inc(badStud);

 end;

 midScore1989:= students1989ScoreSum / students1989Count;

 writeln;

 writeln('Средний студентов 1989 года рождения и старше: ',midScore1989:3:1);

 writeln('Количество отличников: ',goodStud);

 writeln('Количество задолжников: ',badStud);

end.

PascalABC
4,4(96 оценок)
Открыть все ответы
Ответ:
svetalychok2
svetalychok2
05.05.2021
#include <iostream>
using namespace std;
int main()
{
//объявление переменных
int a,b,c,min,max;
//Вводим числа
cout<<"Введите а "<<endl;
cin>>a;
cout<<"Введите b"<<endl;
cin>>b;
cout<<"Введите c"<<endl;
cin>>c;
//Ищем максимальное число   
     if (a>=b && a>=c)    
     {max=a;}     
     else    
     {if (b>=a && a>=c)    
     {max=b;}   
     else  max=c;}
//Ищем минимальное число
     if (a<=b && a<=c)    
     {min=a;}     
     else    
     {if (b<=a && a<=c)    
     {min=b;}   
     else  min=c;}
//Вывод переменных
cout<<"Максимальное число = "<<max<<endl;
cout<<"Минимальное  число = "<<min<<endl;   
system("pause");
return 0;}
4,4(55 оценок)
Ответ:
DashaZhelezniak
DashaZhelezniak
05.05.2021
Думаю, логика у нас здесь будет такая: нужно разложить данные три числа на простые сомножители. Получится:
132 = 2 * 2 * 3 * 11
106 = 2 * 53
134 = 2 * 67
Что у них есть общего - то можно откинуть, потому что количество кругов будет при общих сомножителях делиться без остатка. Собрать в ответ нужно следующее:
от первого - 2 * 2 * 3 * 11
от второго - 53 (двойку не берём, потому что она уже взята с первым)
от третьего - 67 (двойку опять не берём)

Получается: 2 * 2 * 3 * 11 * 53 * 67 = 468732 секунды. Это, как я думаю, ответ.

При этом (чисто для сведения), до момента встречи:
первый намотает 3551 круг
второй - 4422 круга
третий - 3498 кругов.
4,5(65 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ