Раздел C • Категория C4 (билет №1)

 
 
 

Решение

 
 
{заголовок программы}
program C4;
{раздел подключения модулей и сторонних расширений}
uses
{подключаем модуль crt. crt - console run time. Данный модуль содержит
специализированные подпрограммы для обработки текста, звука,
клавиатурных событий}

    crt;
{радел объявления константных величин}
const
{поскольку требуеся проводить анализ только учеников из школы 50}
    NUMBER = 50;
{раздел декларации переменных}
var
{количество строк с информацией для анализа и обработки}
    n : integer;
{хранит фамилию и имя текущего ученика}
    currFio : string;
{хранит фамилию и имя ученика набравшего максимальный балл по школе}
    fio1 : string;
{хранит фамилию и имя ученика набравшего второй по максимальности балл}
    fio2 : string;
{количество учеников, набравших самый максимальный балл по школе}
    k1 : integer;
{количество учеников, набравших второй по максимальности балл}
    k2 : integer;
{максимальный балл, полученный учеником / учениками по школе}
    ball1 : integer;
{второй по максимальности балл, полученный по школе}
    ball2 : integer;
{счетчик циклов}
    i : integer;
{хранит введенный символ пользователем с клавиатуры}
    ch : char;
{номер школы, считанный с клавиатуры, текущей записи}
    numberShool : integer;
{значение полученного балла текущим учеником}
    currBall : integer;
{главный блок программы}
begin
{очистка экрана от прошлых выводов}
    clrscr;
{устанавливаем белый цвет тексту на дисплее}
    textColor(WHITE);
{диалог пользователю о вводе количества записей для обработки}
    write('Введите количество записей: ');
{считывание с клавиатуры количества записей}
    readln(n);
{происходит обнуление информации, поскольку ее обработка еще не начиналась}
    k1 := 0;
    k2 := 0;
    fio1 := '';
    fio2 := '';
    ball1 := 0;
    ball2 := 0;
{вставка пустой строки для повышения читабельности}
    writeln;
{цикл со счетчиком, в котором происходит запрос информации от пользователя и,
сразу же происходит обработка и анализ полученной информации}

    for i := 1 to n do
    begin
{посимвольно считываем фамилию текущего ученика и запоминаем ее}
        currFio := '';
        repeat
            read(ch);
            currFio := currFio + ch;
        until(ch = ' ');
{посимвольно считываем имя текущего ученика и запоминаем его добавляя в
конец ранее считанной фамилии}

        repeat
            read(ch);
            currFio := currFio + ch;
        until(ch = ' ');
{считываем номер школы и балл набранный текущим учеником}
        readln(numberShool, currBall);
{вся обработка производится над учениками из школы номер 50}
        if(numberShool = NUMBER) then
        begin
{если текущий балл больше по значению максимального балла среди всех учеников,
то происходит переприсваивание. Характеристики ученика набравшего максимальный
балл, становятся характеристиками ученика, набравшего второй по максимальности
балл, а текущие характеристики присваиваются ученику набравшего максимальный
балл}

            if(currBall > ball1) then
            begin
                fio2 := fio1;
                k2 := k1;
                ball2 := ball1;
                fio1 := currFio;
                ball1 := currBall;
{ученик, получивший максимальный балл пока что ЕДИНСТВЕННЫЙ среди всех учеников}
                k1 := 1;
            end
            else
{если текущий балл совпадает по значению с максимальным баллом среди всех
учеников, то увеличивается количество учеников получивших максимальный балл
на единицу и фамилия текущего ученика, присваивается взамен фамилии ученика,
набравшего второй по максимальности балл}

                if(currBall = ball1) then
                begin
                    k1 := k1 + 1;
                    fio2 := currFio;
                    k2 := k1;
                end
{если текущий балл МЕНЬШЕ по значению максимального балла, но БОЛЬШЕ по
значению чем второй по максимальности балл, то характеристики текущего ученика
присваиваются характеристикам ученика, получившего второй по максимальности
балл}

                else
                    if(currBall > ball2) then
                    begin
                        k2 := 1;
                        ball2 := currBall;
                        fio2 := currFio;
                    end
                    else
{если текущий балл совпадает по значению со вторым по максимальности баллом,
то количество учеников, набравших второй по максимальности балл,
увеличивается на единицу}

                        if(currBall = ball2) then
                            k2 := k2 + 1;
        end;
    end;
{перед печатью производим анализ: если количество учеников, набравших
максимальный балл больше двух, то выпечатывается количество таких учеников}

    if(k1 > 2) then
        writeln(k1)
    else
{если количество учеников, набравших максимальный балл равно одному и
количество учеников, набравших второй по максимальности балл больше одного
человека, то печатается ТОЛЬКО фамилия и имя ученика, получившего
максимальный балл по школе}

        if((k1 = 1) and (k2 > 1)) then
            writeln(fio1)
        else
{во всех остальных вариантах визуализируются фамилии и имена учеников,
набравших максимальный и второй по максимальности балл по школе номер 50}

        begin
            writeln(fio1);
            writeln(fio2);
        end;
{имитация задержки программы. Программа будет закрыта после нажатия
произвольной клавиши на клавиатуре}

    readkey;
{финализирующий оператор программы}
end.
 
 
 
 
 

Раздел C • Категория C4 (билет №1)

 

Остальные решения из билета №1 для подготовки к ЕГЭ по информатике 2013

 
Условие задачи
(наведите курсор мыши на ссылку)
Аудиовизуальное
решение
Мультимедийная
видеопрезентация
Решение в формате
слайд-шоу
Текстовое
решение
Категория A1
/sites/default/files/slides/inf/1211/inf_A1_01_01_t4S.jpg
Перейти Перейти Перейти Перейти
Категория A2
/sites/default/files/slides/inf/804/inf_A2_01_01_knN.jpg
Перейти Перейти Перейти Перейти
Категория A3
/sites/default/files/slides/inf/805/inf_A3_01_01_53B.jpg
Перейти Перейти Перейти Перейти
Категория A4
/sites/default/files/slides/inf/806/inf_A4_01_01_HXr.jpg
Перейти Перейти Перейти Перейти
Категория A5
/sites/default/files/slides/inf/877/inf_A5_01_01_phpTD0463.jpg
Перейти Перейти Перейти Перейти
Категория A6
/sites/default/files/slides/inf/1225/inf_A6_01_01_CRr.jpg
Перейти Перейти Перейти Перейти
Категория A7
/sites/default/files/slides/inf/890/inf_A7_01_01_Ado.jpg
Перейти Перейти Перейти Перейти
Категория A8
/sites/default/files/slides/inf/898/inf_A8_01_01_JJV.jpg
Перейти Перейти Перейти Перейти
Категория A9
/sites/default/files/slides/inf/2159/inf_A9_01_01_phpUpivnW.jpg
Перейти Перейти Перейти Перейти
Категория A10
/sites/default/files/slides/inf/2170/inf_A10_01_01_phpl32P1w.jpg
Перейти Перейти Перейти Перейти
Категория A11
/sites/default/files/slides/inf/994/inf_A11_01_01_KyH.jpg
Перейти Перейти Перейти Перейти
Категория A12
/sites/default/files/slides/inf/1295/inf_A12_01_01_TJK.jpg
Перейти Перейти Перейти Перейти
Категория A13
/sites/default/files/slides/inf/1310/inf_A13_01_01_VsS.jpg
Перейти Перейти Перейти
Категория B1
/sites/default/files/slides/inf/899/inf_B1_01_01_php1fwK8N.jpg
Перейти Перейти Перейти Перейти
Категория B2
/sites/default/files/slides/inf/2193/inf_B2_01_01_phpUx4Mvg.jpg
Перейти Перейти Перейти Перейти
Категория B3
/sites/default/files/slides/inf/2202/inf_B3_01_01_phpUx4Mvg.jpg
Перейти Перейти Перейти Перейти
Категория B4
/sites/default/files/slides/inf/1364/inf_B4_01_01_iKq.jpg
Перейти Перейти Перейти Перейти
Категория B5
/sites/default/files/slides/inf/1341/inf_B3_01_01_i5V.jpg
Перейти Перейти Перейти Перейти
Категория B6
/sites/default/files/slides/inf/2213/inf_B6_01_01_phpEyxdxU.jpg
Перейти Перейти Перейти Перейти
Категория B7
/sites/default/files/slides/inf/2221/inf_B7_01_01_phpo5DDL8.jpg
Перейти Перейти Перейти Перейти
Категория B8
/sites/default/files/slides/inf/2228/inf_B8_01_01_phpLRZYf4.jpg
Перейти Перейти Перейти Перейти
Категория B9
/sites/default/files/slides/inf/2250/inf_B9_01_01_phpqjzRBb.jpg
Перейти Перейти Перейти Перейти
Категория B10
/sites/default/files/slides/inf/2271/inf_B10_01_01_phpBoQYXv.jpg
Перейти Перейти Перейти Перейти
Категория B11
/sites/default/files/slides/inf/2281/inf_B11_01_01_phpi8udor.jpg
Перейти Перейти Перейти Перейти
Категория B12
/sites/default/files/slides/inf/2290/inf_B12_01_01_phpE00GlF.jpg
Перейти Перейти Перейти Перейти
Категория B13
/sites/default/files/slides/inf/2310/inf_B13_01_01_phpwzFLNF.jpg
Перейти Перейти Перейти Перейти
Категория B14
/sites/default/files/slides/inf/2324/inf_B14_01_01_php64fzgb.jpg
Перейти Перейти Перейти Перейти
Категория B15
/sites/default/files/slides/inf/2330/inf_B15_01_01_phpKZvkiX.jpg
Перейти Перейти Перейти Перейти
Категория C1
/sites/default/files/slides/inf/901/inf_C1_01_01_VWF.jpg
Перейти Перейти Перейти Перейти
Категория C2
/sites/default/files/slides/inf/902/inf_C2_01_01_DuJ.jpg
Перейти Перейти Перейти Перейти
Категория C3
/sites/default/files/slides/inf/903/inf_C3_01_01_P64.jpg
Перейти Перейти Перейти Перейти
 
© 2011-2024 ООО "СтадиМен". Все права сохранены.
Перепечатка и использование материалов с данного сайта, разрешена только по согласию с владельцем.
Владелец оставляет за собой право воспользоваться 146 статьей УК РФ при нарушении авторских и смежных прав.
 
 
 
 
Авторизация на сайте
 
 
 
Обнаружили
ошибку на сайте?