Определить количество студентов, у которых средний балл превышает заданное пользователем значение - Pascal

Узнай цену своей работы

Формулировка задачи:

Указания. Исходные данные должны быть предварительно записаны в текстовый файл. Программа считывает данные, используя одну или несколько переменных типа record, и выводит их на экран. После этого пользователь вводит данные для запроса и получает ответ на него. Составить программу, выводящую на экран студенческую ведомость (Ф. И. О.,оценки за три экзамена, средний балл).Определить количество студентов, у которых средний балл превышает заданное пользователем значение.

Решение задачи: «Определить количество студентов, у которых средний балл превышает заданное пользователем значение»

textual
Листинг программы
{$MODE TP}
const
    m_max = 3;
type
    TMarks = Array[0..m_max - 1] Of Byte;
    TStudent = record
        name: String[150];
        marks: TMarks;
    end;
var
    stud: TStudent;
    i, j, n: Byte;
    f: Text;
begin
    Assign(f, 'f.txt'); ReWrite(f);
    repeat
        Write('How much students add? '); ReadLn(n);
    until (n > 0);
    for i := 0 to n - 1 do
    begin
        with stud do
        begin
            Write('Input name: '); ReadLn(name);
            for j := 0 to m_max - 1 do
            begin
                Write('Input ', j + 1, ' mark: '); ReadLn(marks[j]);
            end;
            WriteLn(f, name);
            for j := 0 to m_max - 1 do
                Write(f, ' ', marks[j]);
            WriteLn(f);
        end;
    end;
    Close(f);
end.

Объяснение кода листинга программы

  1. Настройки компилятора:     - Настройка режима компилятора: {$MODE TP}. Предполагается, что это указание, что компилятор должен работать в режиме Turbo Pascal.
  2. Объявление констант:     - m_max = 3. Это объявление константы m_max со значением 3.
  3. Объявление пользовательских типов:     - TMarks = Array[0..m_max - 1] Of Byte;. Создание пользовательского типа TMarks, являющегося массивом байтов размером m_max.
  4. Объявление записей:     - TStudent = record         name: String[150];         marks: TMarks;     end;. Создание записи TStudent с полями name (строка с максимальной длиной 150 символов) и marks (массив байтов TMarks).
  5. Объявление переменных:     - stud: TStudent. Объявление переменной stud типа TStudent.     - i, j, n: Byte. Объявление переменных i, j, n типа Byte.
  6. Открытие файла:     - Assign(f, 'f.txt'); ReWrite(f);. Назначение файла f.txt для записи.
  7. Ввод количества студентов:     - repeat         Write('How much students add? '); ReadLn(n);     until (n > 0);. Повторное выполнение ввода значения переменной n, пока n не станет больше 0.
  8. Ввод данных студентов и запись в файл:     - for i := 0 to n - 1 do         begin             with stud do             begin                 Write('Input name: '); ReadLn(name);                 for j := 0 to m_max - 1 do                 begin                     Write('Input ', j + 1, ' mark: '); ReadLn(marks[j]);                 end;                 WriteLn(f, name);                 for j := 0 to m_max - 1 do                     Write(f, ' ', marks[j]);                 WriteLn(f);             end;         end;. Цикл для каждого студента: ввод имени, ввод оценок и запись их в файл.
  9. Закрытие файла:     - Close(f);. Закрытие файла.
  10. Конец программы:     - end.. Завершение программы. Этот код создает и записывает данные студентов (их имена и оценки) в файл f.txt.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5
Похожие ответы