07.05.2010, 01:37 | #1 (permalink) |
Новичок
Регистрация: 07.05.2010
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Помогите решить или я умру.
Пожалуйста,вы же такие умные все 1. Составить список учебной группы, включающей N человек. Для каждого учащегося указать дату рождения, год поступления в техникум, курс, группу, оценки каждого года обучения. Информацию о каждом учащемся оформить в программе в виде записи. Совокупность записей объединить в массив. Составить программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатать анкетные данные студентов, получивших одну оценку 3 за все время обучения. 2. Составить список учебной группы, включающей N человек. Для каждого учащегося указать дату рождения, год поступления в техникум, курс, группу, оценки каждого года обучения. Информацию о каждом учащемся оформить в программе в виде записи. Совокупность записей объединить в массив. Составить программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатать список студентов, фамилии которых начинаются на буквы Б и В, и их оценки за последнюю сессию. 3. Составьте список учебной группы, включающей N человек. Для каждого учащегося укажите фамилию, имя, отчество, дату рождения, год поступления в ВУЗ, факультет, отделение, курс, группу. Информацию о каждом учащемся оформите в программе в виде записи. Совокупность записей объедините в массив. Составьте программу, которая обеспечивает ввод полученной информации, распечатку ее в виде таблицы, а также распечатайте по выбору пользователя анкетные данные студентов нужного факультета. 4. Составьте список группы спортсменов, занимающихся легкой атлетикой, включающей N человек. Для каждого спортсмена укажите фамилию, имя, название общеобразовательной школы, класс, результаты по следующим дисциплинам: o бег 100м, o бег 3000м, o прыжки в высоту, o прыжки в длину, o прыжки с шестом, o метание ядра, o метание копья, o метание диска. 5.дана информация об оценках класса по физике, информатике, математике отсортировать записи по улучшению результата(дано несколько человек и у них оценки и вывести самого умного его оценки и по понижению результата). |
07.05.2010, 01:37 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Эти темы ждут, пока вы их прочитаете Помогите решить мою проблему Помогите решить что полетело Помогите решить проблему с XP |
07.05.2010, 11:58 | #3 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
М-да... Как Вы понимаете, об засесть за ваши задачки (поди, за целый семестр) - и речи быть не может. Нам, знаете ли, есть чем заняться на досуге.
Всё, чем могу помочь - в качестве примера выложить решение одной из задач, ну а остальные - "по образу и подобию" делайте сами. Или ждите - может быть, какая-нибудь сверхдобрая душа найдется и впряжется в работу. Всего-то и надо, что пару выходных с утра до вечера потратить! Без перерывов, правда. Экие, право, пустяки. Цитата:
Код:
TYPE Data=Record Surname:STRING; Name:STRING; Patronymic:STRING; Born:STRING; Entering:WORD; Faculty:STRING; Department:STRING; Course:BYTE; Group:STRING; END; VAR i,j,N:INTEGER; Students:ARRAY[1..100] of DATA; f:TEXT; Facult:STRING; BEGIN Write('N= '); ReadLn(N); For i:=1 to N do begin WriteLn('Student N',i,':'); With Students[i] do begin WriteLn('Surname (max 11 symbols) (S):'); ReadLn(Surname); WriteLn('Name (max 11 symbols) (N):'); ReadLn(Name); WriteLn('Patronymic (max 11 symbols) (P):'); ReadLn(Patronymic); WriteLn('Born in (e.g. 04.07.1994) (B):'); ReadLn(Born); WriteLn('Entered the High School (E):'); ReadLn(Entering); WriteLn('Faculty (max 7 symbols) (F):'); ReadLn(Faculty); WriteLn('Department (max 5 symbols) (D):'); ReadLn(Department); WriteLn('Course (1-6) (C):'); ReadLn(Course); WriteLn('Group (max 5 symbols) (G):'); ReadLn(Group); end; WriteLn; end; WriteLn(' S N P B E F D C G'); For i:=1 to N do With Students[i] do begin Write(Surname); for j:=length(Surname)+1 to 11 do Write(' '); Write(Name); for j:=length(Name)+1 to 11 do Write(' '); Write(Patronymic); for j:=length(Patronymic)+1 to 11 do Write(' '); Write(' '+Born); Write(' ',Entering:4); Write(' ',Faculty); for j:=length(Faculty)+1 to 7 do Write(' '); Write(Department); for j:=length(Department)+1 to 5 do Write(' '); Write(' ',Course:1,' '); WriteLn(' '+Group); end; Assign(f,'D:\stud.dat'); ReWrite(f); WriteLn(f,' S N P B E F D C G'); For i:=1 to N do With Students[i] do begin Write(f,Surname); for j:=length(Surname)+1 to 11 do Write(f,' '); Write(f,Name); for j:=length(Name)+1 to 11 do Write(f,' '); Write(f,Patronymic); for j:=length(Patronymic)+1 to 11 do Write(f,' '); Write(f,' '+Born); Write(f,' ',Entering:4); Write(f,' ',Faculty); for j:=length(Faculty)+1 to 7 do Write(f,' '); Write(f,Department); for j:=length(Department)+1 to 5 do Write(f,' '); Write(f,' ',Course:1,' '); WriteLn(f,' '+Group); end; Close(f); WriteLn('Enter the faculty:'); ReadLn(facult); WriteLn(' S N P B E F D C G'); For i:=1 to N do If Students[i].Faculty=Facult then With Students[i] do begin Write(Surname); for j:=length(Surname)+1 to 11 do Write(' '); Write(Name); for j:=length(Name)+1 to 11 do Write(' '); Write(Patronymic); for j:=length(Patronymic)+1 to 11 do Write(' '); Write(' '+Born); Write(' ',Entering:4); Write(' ',Faculty); for j:=length(Faculty)+1 to 7 do Write(' '); Write(Department); for j:=length(Department)+1 to 5 do Write(' '); Write(' ',Course:1,' '); WriteLn(' '+Group); end; Assign(f,'D:\stud_f.dat'); ReWrite(f); WriteLn(f,' S N P B E F D C G'); For i:=1 to N do If Students[i].Faculty=Facult then With Students[i] do begin Write(f,Surname); for j:=length(Surname)+1 to 11 do Write(f,' '); Write(f,Name); for j:=length(Name)+1 to 11 do Write(f,' '); Write(f,Patronymic); for j:=length(Patronymic)+1 to 11 do Write(f,' '); Write(f,' '+Born); Write(f,' ',Entering:4); Write(f,' ',Faculty); for j:=length(Faculty)+1 to 7 do Write(f,' '); Write(f,Department); for j:=length(Department)+1 to 5 do Write(f,' '); Write(f,' ',Course:1,' '); WriteLn(f,' '+Group); end; Close(f); ReadLn; END. |
|
09.05.2010, 10:18 | #5 (permalink) |
一步一步地会到目的
Регистрация: 09.05.2009
Адрес: Черноземье
Сообщений: 10,939
Записей в дневнике: 10
Сказал(а) спасибо: 140
Поблагодарили 80 раз(а) в 33 сообщениях
Репутация: 28362
|
Ну вот и молодец, что доделали. Дам вам подсказку - в 5ой задаче надо найти среднее арифметическое оценок каждого ученика, и сортировать именно по этому значению. Ну а самого умного вывести труда не составит
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
09.05.2010, 10:55 | #6 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
TYPE Data=Record Surname:STRING; Results:ARRAY[1..3] of BYTE; END; VAR i,j,N:INTEGER; Pupils:ARRAY[1..20] of DATA; Sum_Res,Order:ARRAY[1..20] of BYTE; SR:BYTE; BEGIN Write('N= '); ReadLn(N); For i:=1 to N do begin WriteLn('Pupil N',i,':'); With Pupils[i] do begin WriteLn('Surname (max 15 symbols) (S):'); ReadLn(Surname); WriteLn('Result in physics (P):'); ReadLn(Results[1]); WriteLn('Result in informatics (I):'); ReadLn(Results[2]); WriteLn('Result in mathematics (M):'); ReadLn(Results[3]); end; WriteLn; end; WriteLn('Basic:'); WriteLn(' S P I M'); For i:=1 to N do With Pupils[i] do begin Write(Surname); for j:=length(Surname)+1 to 15 do Write(' '); for j:=1 to 3 do Write(' ',Results[j]); WriteLn; end; WriteLn; For i:=1 to N do begin Order[i]:=i; Sum_Res[i]:=0; for j:=1 to 3 do Sum_Res[i]:=Sum_Res[i]+Pupils[i].Results[j]; end; For j:=N-1 downto 1 do for i:=1 to j do if Sum_Res[i]<Sum_Res[i+1] then begin SR:=Sum_Res[i]; Sum_Res[i]:=Sum_Res[i+1]; Sum_Res[i+1]:=SR; SR:=Order[i]; Order[i]:=Order[i+1]; Order[i+1]:=SR; end; WriteLn('Ordered:'); WriteLn(' S P I M'); For i:=1 to N do With Pupils[Order[i]] do begin Write(Surname); for j:=length(Surname)+1 to 15 do Write(' '); for j:=1 to 3 do Write(' ',Results[j]); WriteLn; end; ReadLn; END. |
|
09.05.2010, 10:57 | #7 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Не обязательно среднее арифметическое. Можно (как у меня) сортировать по сумме. Благо количество предметов - константа.
|
09.05.2010, 11:29 | #8 (permalink) |
votum separatum
Регистрация: 05.05.2008
Сообщений: 14,603
Записей в дневнике: 52
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 18619
|
Только не умирайте.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|