Есть ответ 👍

Pascal abc тема записи с клавиатуры вводится номер школы. файл содержит сведения: фамилию, имя ученика, номер школы. определить кол-во учеников в школе с заданным номером с клавиатуры

272
299
Посмотреть ответы 3

Ответы на вопрос:


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

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.


Список учеников в файле 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.
FannyPanda
4,5(15 оценок)

Заметим, что 15=1+2+4+8, тогда x¹⁵ = x·x²·x⁴·x⁸ алг степень15(арг вещ x, рез вещ p) дано | x> 0 надо | p = x^15 = x*(x^2)*(x^4)*(x^8) нач цел i, вещ xn     ввод x     p: =x; xn: =x | начальные значения     нц для i: =1 до 3           xn: =xn*xn           p: =p*xn     кц     вывод "x^15=", p кон

Реши свою проблему, спроси otvet5GPT

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

    otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.

Подпишись на наш телеграмм канал

GTP TOP NEWS