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

написать программу, заполняющую массив из 300 целых чисел из файла «file.txt», который лежит в папки «».
на основе первой программы, найти сумму этих чисел
на основе первой программы, найти произведение этих чисел (попытайтесь объяснить, почему при сложении в целое число получается «0», а в переменную типа read – бесконечность)
на основе первой программы, найти среднее арифметическое этих чисел
большее из этих чисел
подсчитать количество положительных чисел
подсчитать количество четных чисел
подсчитать количество чисел, делящихся на 4 нацело
отсортировать массив по возрастанию
на основе первой программы, вывести числа, которые повторяются более одного раза
1)
assign…
reset…
for i: =1 to 300 do read(f,a[i]);
close…
2) s: =0;
for…
s: =s+a[i]
3)
s: =0;
for…
s: =s*a[i]
4)
s: =0;
for…
s: =s+a[i]
sr: =s/i
5)
max: =a[i]
for…
if max 6) k: =0;
for…
if a[i]> 0 then k: =k+1
7)
if odd(a[i]) then k: =k+1
8)
ifa[i] mod 4 = 0 then k: =k+1
содержимое файла:
-46 13 -23 53 97 19 -34 28 -10 -47 7 65 89 36 -26 100 -47 -39 3 49 -13 -40 -36 7 62 40 -47 -22 -41 47 -46 -11 66 -28 97 -46 98 41 100 -36 72 88 80 8 43 -47 90 85 34 64 -21 -25 12 -47 49 94 -1 71 92 7 16 88 18 43 100 -32 100 67 39 -30 -48 12 -38 -12 78 -1 -19 57 65 58 50 -32 44 -5 18 80 78 62 24 -47 55 -23 50 42 49 84 19 -14 8 24 -46 -27 -4 14 62 68 -37 -27 -24 -1 62 43 -45 -17 57 -3 -7 -27 -25 -30 -10 -13 -8 36 15 75 62 20 40 94 81 95 -2 -10 54 27 73 -20 34 50 66 54 36 -26 -9 -38 -28 17 86 1 40 -4 -39 -12 -17 68 81 60 99 87 -45 43 33 -18 19 67 -6 65 30 -20 25 -37 39 25 4 37 52 -32 -6 2 53 -6 35 -11 3 34 84 -40 -43 86 46 -38 -19 47 44 -28 -29 3 56 24 69 7 88 55 77 27 58 36 84 47 -35 63 16 47 -16 61 -42 -6 80 86 84 -17 58 44 34 12 82 92 81 -19 15 -2 13 70 34 -5 7 80 13 76 77 -2 -24 10 71 84 46 35 13 83 -37 77 24 71 41 35 50 -7 -29 14 45 66 55 53 -18 68 -1 46 -37 89 4 -21 82 -47 -42 35 -43 -2 74 50 67 -3 29 98 -33 39 74 43 -22 99 46 -36 59 99 -19 -39 43 24 -22 -48

Показать ответ
Ответ:
figa333
figa333
02.05.2023 20:34
//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
0,0(0 оценок)
Ответ:
anastasijakokos
anastasijakokos
19.01.2021 07:01
Program day;
var 
a: array[1..30] of integer; 
b, s, i, min: integer;
begin 
min := 999; 
Randomize; 
for i := 1 to 30 do   begin   
a[i] := random(9, -3);   
s := s + a[i];   
Write(a[i]:3); 
end; 
Writeln; 
Writeln('Ниже нуля '); 
for i := 1 to 30 do   begin    if a[i] > 0 then Write(i,'-го ');   
end;   
if a[i] = 0 then b := b + 1; 
Writeln; 
for i := 1 to 30 do    
if a[i] < min then min := a[i];   
Writeln('Самая низкая температура - ', min); 
Writeln('Средняя температура ноября ', s / 30);
end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота