М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
alisherpitbul
alisherpitbul
31.10.2021 07:16 •  Информатика

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

👇
Ответ:
fizik24
fizik24
31.10.2021
//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
4,7(46 оценок)
Открыть все ответы
Ответ:
skolzkov200441
skolzkov200441
31.10.2021
Var s:string;
m,mn,m1,m2:set of char;
i,k,l:integer;
begin
writeln('Введите последовательность русских слов:');
readln(s);
m:=['Б','б','В','в','Г','г','Д','д','Ж','ж','З','з','Й','й','Л','л','М','м','Н','н','Р','р'];
k:=0;
for i:=1 to length(s) do
 if not (s[i] in ['А'..'Я','а'..'я',' ','.']) then k:=k+1;
if k>0 then writeln('Ошибка ввода')
else begin
 while pos('  ',s)>0 do delete(s,pos('  ',s),1);
 if s[length(s)]='.' then s[length(s)]:=' ';
 k:=0; mn:=[]; m1:=m; m2:=m;
 for i:=1 to length(s) do
  begin
  mn:=mn+[s[i]];
  if s[i]=' ' then
   begin
   k:=k+1;
   if k mod 2=1 then m1:=m1*mn else m2:=m2*mn;
   mn:=[];
   end;
  end;
 mn:=m1-m2;
 print(mn);
     end;
end.

Пример:
Введите последовательность русских слов:
напечатать в   алфавитном порядке    звонкие буквы.
{н} 
4,5(36 оценок)
Ответ:
tetyanavasil
tetyanavasil
31.10.2021

программа написана на Python

# -*- coding: utf-8 -*-

def rectangle():

a=float(input("Введите сторону a:" ))

b=float(input("Введите сторону b:" ))

c=float(input("Введите сторону c:" ))

print("P= ")

print(a+b+c)

def par():

a=float(input("Введите сторону a: "))

h=float(input("Введите высоту h: "))

print("S= ")

print(a*h)

i=input("Введите 'треугольник' для решения периметра треугольника, введите 'параллелограмм' для нахождения его площади")

if i == "треугольник":

rectangle()

elif i == "параллелограмм":

par()

4,5(42 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ