1. Необходимо заполнить сведения о студенте (Ф. И. О., дата рождения, адрес, курс и группа).
Вывести на экран:
a. студентов с одного курса
b. студентов одного года рождения
c. студентов женского пола из одной группы
Перевести студентов 3 курса на 4
Другие языки программирования и технологии
Задача в ТурбоПаскаль
решение на Turbo Pascal 7.0 (Pascal ABC = shift +F9)
uses crt;
type base = record
fio: string [33];
data: integer;
address: string;
sex: char;
course: integer;
group: integer;
end;
var i, n, m : integer;
sex : integer;
table: array [1..100] of base;
begin
clrscr;
randomize;
write (' Введите количество студентов [1..100]:');
readln (n);
for i:=1 to n do
begin
if i<10 then table[i].fio:=' Студент #0'+ inttostr (i)
else table[i].fio:=' Студент #'+ inttostr (i);
table[i].data:=1995 + random (4);
table[i].address:= inttostr (1+random (15))+' street, Samara';
sex:=random (2);
if sex=0 then table[i].sex:='M' else table[i].sex:='Ж';
table[i].course:= 2017-table[i].data-18; {проблема с годами}
table[i].group:= (table[i].course)*10+1+random (2);
end;
writeln ('ФИО':9,'Дата/рожд.':16,'Пол':5,'Курс':8,'Группа':12);
for i:=1 to n do
begin
write (table[i].fio);
write (table[i].data:10);
write (table[i].sex:7);
write (table[i].course:7);
write (table[i].group:12);
writeln;
end;
writeln (' студенты одного курса :' );
for m:=1 to 4 do
begin
for i:=1 to n do
if m=table[i].course then
begin
write (table[i].fio);
write (table[i].data:10);
write (table[i].sex:7);
write (table[i].course:7);
write (table[i].group:12);
writeln;
end;
writeln;
end;
writeln (' студенты одного года рождения :' );
for m:=1995 to 1999 do
begin
for i:=1 to n do
if m=table[i].data then
begin
write (table[i].fio);
write (table[i].data:10);
write (table[i].sex:7);
write (table[i].course:7);
write (table[i].group:12);
writeln;
end;
writeln;
end;
writeln (' студенты женского пола из одной группы :' );
for i:=1 to n do
for m:=1 to n do
if (table[i].Sex='Ж') then
if (i<>m) then
if (table[i].group=table[m].group) then
begin
write (table[i].fio);
write (table[i].data:10);
write (table[i].sex:7);
write (table[i].course:7);
write (table[i].group:12);
writeln;
end;
writeln (' перевод студентов с 3-ого курса на 4-ый :' );
for i:=1 to n do
if table[i].course=3 then
begin
table[i].course:=4;
write (table[i].fio);
write (table[i].data:10);
write (table[i].sex:7);
write (table[i].course:7);
write (table[i].group+10:12);
writeln;
end;
end.
uses crt;
type base = record
fio: string [33];
data: integer;
address: string;
sex: char;
course: integer;
group: integer;
end;
var i, n, m : integer;
sex : integer;
table: array [1..100] of base;
begin
clrscr;
randomize;
write (' Введите количество студентов [1..100]:');
readln (n);
for i:=1 to n do
begin
if i<10 then table[i].fio:=' Студент #0'+ inttostr (i)
else table[i].fio:=' Студент #'+ inttostr (i);
table[i].data:=1995 + random (4);
table[i].address:= inttostr (1+random (15))+' street, Samara';
sex:=random (2);
if sex=0 then table[i].sex:='M' else table[i].sex:='Ж';
table[i].course:= 2017-table[i].data-18; {проблема с годами}
table[i].group:= (table[i].course)*10+1+random (2);
end;
writeln ('ФИО':9,'Дата/рожд.':16,'Пол':5,'Курс':8,'Группа':12);
for i:=1 to n do
begin
write (table[i].fio);
write (table[i].data:10);
write (table[i].sex:7);
write (table[i].course:7);
write (table[i].group:12);
writeln;
end;
writeln (' студенты одного курса :' );
for m:=1 to 4 do
begin
for i:=1 to n do
if m=table[i].course then
begin
write (table[i].fio);
write (table[i].data:10);
write (table[i].sex:7);
write (table[i].course:7);
write (table[i].group:12);
writeln;
end;
writeln;
end;
writeln (' студенты одного года рождения :' );
for m:=1995 to 1999 do
begin
for i:=1 to n do
if m=table[i].data then
begin
write (table[i].fio);
write (table[i].data:10);
write (table[i].sex:7);
write (table[i].course:7);
write (table[i].group:12);
writeln;
end;
writeln;
end;
writeln (' студенты женского пола из одной группы :' );
for i:=1 to n do
for m:=1 to n do
if (table[i].Sex='Ж') then
if (i<>m) then
if (table[i].group=table[m].group) then
begin
write (table[i].fio);
write (table[i].data:10);
write (table[i].sex:7);
write (table[i].course:7);
write (table[i].group:12);
writeln;
end;
writeln (' перевод студентов с 3-ого курса на 4-ый :' );
for i:=1 to n do
if table[i].course=3 then
begin
table[i].course:=4;
write (table[i].fio);
write (table[i].data:10);
write (table[i].sex:7);
write (table[i].course:7);
write (table[i].group+10:12);
writeln;
end;
end.
Похожие вопросы
- Про паскаль и турбопаскаль
- Кубик рубик турбопаскаль
- О графическом режиме ТурбоПаскаля и о маленькой проблемме, скоторой я столкнулся...
- Помощь по турбопаскалю, SOS :З
- Помогите написать прогу в турбопаскале.
- Создать программу по турбопаскаль вывести ответ желтым цветом даны три A,B,C числа найти максимальное
- Как на языке С++ сделать вывод 5 задач через switch-case?
- Как вы решаете задачи?
- Нужна помощь в решении задачи по С++ связанная с матрицами
- Олимпиадные задачи по BASIC 4.5 ПОМОГИТЕ !!!