Novikova
?>

Программисты выручайте! напишите программу, по которой будут введены данные из файла, и выполнена следующая обработка: 1) определение среднего роста и среднего веса всех учеников; 2) вывод на экран и в файл rost.txt списка (фамилии, имена, возраст) учеников, рост которых выше среднего; 3) вывод на экран и в файл ves.txt списка учеников, вес которых ниже среднего.

Информатика

Ответы

Valerii276
//PascalABC.NET 3.0, сборка 1088
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/=n; 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.

Тестовое решение:
*** Исходная информация ***
Иванов Игорь 14 158 47.4
Петров Павел 14 161 58.3
Козлов Кирилл 15 160 60.3
Сидорова Мария 14 156 45.9
Тяпкина Наталья 15 158 46
Ляпкин Алексей 15 161 58.6
Мамочкин Константин 14 157 52.8
*** Задание 1 ***
Средний рост равен 158.7
Средний вес равен 52.8
*** Задание 2 ***
Петров Павел, 14
Козлов Кирилл, 15
Ляпкин Алексей, 15
*** Задание 3 ***
Иванов Игорь, 14
Сидорова Мария, 14
Тяпкина Наталья, 15
necit12
Запишем таблицу распределения мест по купе:
Купе Места
1          1-4,53,54
2         5-8,51,52
3         9-12,49,50
4      13-16,47,48
5      17-20,45,46
6      21-24,43,44
7      25-28,41,42
8      29-32,39,40
9      33-36,37,38
Установим связь номера места с номером купе. Предлагается следующий (конечно же, не единственный) вариант:
\begin {cases} (n-1) \div 4 +1, \quad n=1,2,...,36 \\ (54-n) \div 2 \right \rceil +1, \quad n=37,38,...,54 \end {cases}
Здесь знаком ÷ обозначена операция целочисленного деления.

Теперь можно написать программу.  Язык программирования в задании не указан, поэтому выбран язык свободно распространяемой для целей обучения системы программирования PascalABC.Net

var
  n:integer;
begin
  Write('Укажите номер места: '); Read(n);
  Write('Место располагается в купе №');
  if n<=36 then Write((n-1) div 4 + 1)
  else Write((54-n) div 2 + 1)
end.

Тестовое решение:
Укажите номер места: 18
Место располагается в купе №5
yok887062
Для этих профессий и для многих других в наше время компьютеры  используются для того что бы облегчать работу.
На пример для Учителя компьютер нужен что бы найти важную информацию для урока, найти презентации, а так же сейчас начали создавать электронные дневники, туда учителя могут ставить оцени ученикам, а родители могут заходить на этот сайт и смотреть оценки своих детей
Для Врача - искать базу данных пациентов, а так же читать свободную энциклопедию для расширения и развития знаний.
Для Библиотекаря - хранить данные о книгах которые есть в библиотеке, и о книгах которые находятся у читателей.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Программисты выручайте! напишите программу, по которой будут введены данные из файла, и выполнена следующая обработка: 1) определение среднего роста и среднего веса всех учеников; 2) вывод на экран и в файл rost.txt списка (фамилии, имена, возраст) учеников, рост которых выше среднего; 3) вывод на экран и в файл ves.txt списка учеников, вес которых ниже среднего.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Sacharov84
Алексеевич949
Yelena_Yuliya1847
ilplakhotin8734
ulechkaevseeva
Егорова
Maria095096
batalerka391
uzunanna19922488
lpcck2212
ПогальниковАлёна589
golovins3
andrew55588201824
iskypka
mtcover