• Предмет: Информатика
  • Автор: viktornekrasov2000
  • Вопрос задан 1 год назад

Есть информация про студентов которая дана в таком виде: <фамилия>,<имя>,<отчество>,<пол>,<возраст>,<курс>
написать программу с под программами на языке Паскаль, которая вводит эту информацию и выводит фамилии и курс студентов возраст которых больше определенного​

Ответы

Ответ дал: animatormaxim
1

Писал на Lazarus так что сори за пробелы Ответ:1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

 

program rec;

type

 stud = record

   fam:string[20];

   name:string[15];

   otch:string[20];

   sex:string;

   age:byte;

   course:1..5;

end;

var

 max,i,n,c:byte;

 a:array[1..100] of stud;

 f,all:array[1..100] of byte;

 p:array[1..5] of real;

begin

 write(':');

 readln(n);

 for i:=1 to n do

 begin

   with a[i] do

   begin

     write(''); readln(fam);

     write(''); readln(name);

     write(''); readln(otch);

     write(''); readln(sex);

     write(''); readln(age);

     write(''); readln(course);

   end;

     for course:=1 to 5 do

     begin

       case sex of

         'мужской':inc(all[course]);

         'женский':inc(all[course]);

         'женский':inc(f[course]);

       end;

     end;

      p[course]:= f[course]/all[course];

      max:=p[1];

      for i:=2 to 5 do

       if (p[i]>max) then  

       max:=i;

      writeln(max);

      readln;

    end;  

end.

Объяснение:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

 

for i:=1 to n do

 begin

   if a[i].sex='ж' then

   begin

     inc(f[i]);

     inc(all[i]);

   end

     else inc(all[i]);

   end;

     case a[i].course of

       1:p[1]:=f[1]/all[1];

       2:p[2]:=f[2]/all[2];

       3:p[3]:=f[3]/all[3];

       4:p[4]:=f[4]/all[4];

       5:p[5]:=f[5]/all[5];

     end;

    max:=p[1];

    nmax:=1;

    for i:=1 to 5 do

     if (p[i]>max) then  

     begin

       max:=p[i];

       nmax:=i;

     end;

    writeln('Наибольший процент женщин на ',nmax,'-ом курсе.');

    readln;

end.

Ну или вот, ну все равно выдает дичь

Вас заинтересует