1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
§29 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

§29 ГДЗ Семакин 10 класс (Информатика)

Задача

2. Что такое запись?
3. Опишите комбинированный тип для записей, содержащих следующие данные учеников: фамилию, имя, год рождения, рост (в сантиметрах), вес (в килограммах).
4. Опишите содержимое текстового файла, из которого будут вводиться данные, соответствующие описанию из предыдущего задания, для нескольких учеников класса (не менее пяти).
5. Напишите программу, по которой будут введены данные из файла, описанного в предыдущем задании, и выполнена следующая обработка:
• определение среднего роста и среднего веса всех учеников;
• вывод на экран и в файл rost.txt списка (фамилии, имена, возраст) учеников, рост которых выше среднего роста;
• вывод на экран и в файл ves.txt списка учеников, вес которых ниже среднего веса.
6. Решите предыдущую задачу, не используя в программе массива записей. Подсказка: оператор Reset можно использовать в программе многократно для повторного чтения файла, начиная с его первой записи.

Подробный ответ

1. Массив хранит однотипные элементы, а комбинированный тип данных объединяет в одной структуре поля разных типов.

2. Запись — это величина комбинированного типа, состоящая из нескольких полей.

3. Для данных ученика можно задать запись так:

Type dan = record
  Surname: string[30];
  Name: string[30];
  Year: integer;
  Growth: real;
  Weight: real;
End;

4. Пример содержимого текстового файла для нескольких учеников:

Иван Петров 1995 178 69,2
Петр Иванов 1994 170 80,0
Николай Иванов 1995 150 50,8
Иван Николаев 1996 180 60,7
Николай Петров 1996 178 70,3

5. Программа на Pascal:

Program Examen;
Type results = record
  Fam: string[15];
  Rus: 2..5;
  Alg: 2..5;
  Phiz: 2..5;
End;

Var list: array[1..30] of results;
i: integer; F1, F2: text;
Begin
  Assign(F1, ’10_a.txt’);
  Assign(F2, ‘Best.txt’);
  Reset(F1);
  Rewrite(F2);
  Readln(F1); Readln(F1);
  For i:=1 To 30 Do
    Readln(F1, list[i].Fam, list[i].Rus, list[i].Alg, list[i].Phiz);
  For i:=1 To 30 Do
    If (list[i].rus=5) and (list[i].alg=5) and (list[i].phiz=5)
    Then
    Begin
      Writeln(list[i].fam);
      Writeln(F2, list[i].fam)
    End;
  Close(F1); Close(F2)
End.

6. Решение без массива записей:

begin
  var a:=ReadLines(‘infile.txt’).ToArray;
  var n:=a.Length;
  Writeln(‘*** Исходная информация ***’);
  a.PrintLn(NewLine);
  Writeln(‘*** Задание 1 ***’);
  var sves:real:=0;
  var srost:real:=0;
  foreach var s in a do begin
    srost+=StrToFloat(s.ToWords.ElementAt(3));
    sves+=StrToFloat(s.ToWords.ElementAt(4))
  end;
  Writeln(‘Средний рост равен ‘,srost/n:5:1);
  Writeln(‘Средний вес равен ‘,sves/n:4:1);
  srost:=srost/n; sves:=sves/n;
  Writeln(‘*** Задание 2 ***’);
  var f2:=OpenWrite(‘rost.txt’);
  foreach var s in a do begin
    var ss:=s.ToWords;
    var rost:=StrToFloat(ss.ElementAt(3));
    if rost>srost then begin
      var s0:=ss.Take(3).ToArray;
      var s1:=s0[0]+’ ‘+s0[1]+’, ‘+s0[2];
      Writeln(s1);
      Writeln(f2,s1)
    end
  end;
  f2.Close;
  Writeln(‘*** Задание 3 ***’);
  f2:=OpenWrite(‘ves.txt’);
  foreach var s in a do begin
    var ss:=s.ToWords;
    var ves:=StrToFloat(ss.ElementAt(4));
    if ves<sves then begin
      var s0:=ss.Take(3).ToArray;
      var s1:=s0[0]+’ ‘+s0[1]+’, ‘+s0[2];
      Writeln(s1);
      Writeln(f2,s1)
    end;
  end;
  f2.Close
end.

Ответ

1. Массив хранит однотипные элементы, а комбинированный тип данных состоит из полей разных типов.

2. Запись — это величина комбинированного типа.

3. Type dan = record: Surname: string[30]; Name: string[30]; Year: integer; Growth: real; Weight: real; End;

4. Пример файла:

Иван Петров 1995 178 69,2
Петр Иванов 1994 170 80,0
Николай Иванов 1995 150 50,8
Иван Николаев 1996 180 60,7
Николай Петров 1996 178 70,3

5. Программа приведена выше.

6. Решение без массива записей приведено выше.



Общая оценка
3.5 / 5
Другие учебники
Другие предметы