В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
nurganym1
nurganym1
22.08.2022 12:34 •  Информатика

Создание и оформление презентации. Урок 1 1. Урок 1
Выбери лишнее.
Ока
«Главная»
е п...
A
«Конструктор»
«Цвета»
«Переходы»

Показать ответ
Ответ:
ilyawolk316
ilyawolk316
19.01.2022 17:07
Считаем, что поля записи в текстовом файле разделены символом ";", тогда задачу можно решить так:

type

  Person = record

    fname: string;//Фамилия ученика

    lname: string;//Имя

    school: integer;//Номер щколы

  end;

 

var student: Person;

n,s,p:integer;

tmp:string;

fin:text;//Файловая переменная


begin

  assign(fin, 'students.txt');

  reset(fin);

  readln(n);//Получаем номер школы

  while not (eof(fin)) do 

  begin

    readln(fin, tmp);//Читаем строку из файла

    p:= Pos(';', tmp); 

    Delete(tmp, 1, p);//удаляем все до первого разделителя

    p:= Pos(';', tmp); 

    Delete(tmp, 1, p);//удаляем все до второго разделителя

    // в tmp остался номер школы

    student.school:=strtoint(tmp);

    if student.school=n then s+=1; 

  end;

  writeln(s);

end.

0,0(0 оценок)
Ответ:
агаг1
агаг1
19.01.2022 17:07
Список учеников в файле data.txt(см. вложение)

//Pascal
type
  TPupils = record
    firstname, surname: string;
    schoolNumber: integer;
  end;

var
  f: text;
  s, buf: string;
  i, j, tmp: byte;
  num, countPupils: integer;
  A: array [1..200] of TPupils;
begin
  assign(f, 'data.txt');
  reset(f);
  j := 1;
  while not eof(f) do
  begin
    readln(f, buf);
    buf := buf + ' ';
    tmp := 1;

    for i := 1 to length(buf) do
    begin
      if pos(buf[i], ' ') = 0 then s := s + buf[i]
      else
      begin
        if length(s) > 0 then
        begin
        case tmp of
          1: begin  A[j].firstname := s; Inc(tmp); end;
          2: begin A[j].surname := s; Inc(tmp); end;
          3:
          begin
            Val(s, num, num);
            A[j].schoolNumber := num;
          end;
        end;
        //writeln(s);
        s := '';
        end;
      end;
    end;
    Inc(j);
  end;
  close(f);

  write('Введите № школы: ');
  readln(num);

  for i := 1 to 200 do
  begin
    if A[i].schoolNumber = num then
      //writeln(A[i].firstname, ' ', A[i].surname, ' ',
      //        A[i].schoolNumber);
      Inc(countPupils);
  end;
  writeln('Количество учеников в данной школе = ',
          countPupils);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота