Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 25.03.2011, 17:42   #1 (permalink)
PacMan
Member
 
Регистрация: 07.02.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Unhappy Компоненты

Доброго времени суток, помогите с написанием программы. Определите структуру sportsmen со следующими компонентами: фамилия(отдельно Ф.И.О), пол, возраст, вес, рост.

Составить список участников соревновании из 10 человек с заданным структурным типом. Вывести список спортсменов моложе 25 лет, чей вес превышает 70 килограмм. Вывести отдельно списки мужчин и женщин по алфавиту. Найти среднии возраст спортсменов.
PacMan вне форума   Ответить с цитированием

Старый 25.03.2011, 17:42
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Просмотр похожих постов всегда хорошо помогает в решении проблем

Электронные компоненты.
Компоненты в рантайме
SMD компоненты

Старый 25.03.2011, 20:22   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

А не будете ли Вы столь любезны, чтобы снизойти до указания нам, неразумным, на каком из языков программирования задание сие выполнить потребно? Delphi аль Паскаля хватит? А то, знаете ли, экстрасенсы наши далече укатили, а уж когда назад возвернутся - так то нам неведомо...

Но вообще-то в любом случае шансов, что кто-то возьмется - не много. Потому что составление и обработка подобных баз - несложная, но долгая, нудная, рутинная работа. Я уже давно подобным не занимаюсь. Так что лучше всего, если Вы сами попробуете, а мы, если нужно, поможем, подправим и т.п. Удачи!
Vladimir_S вне форума   Ответить с цитированием
Старый 26.03.2011, 11:40   #3 (permalink)
PacMan
Member
 
Регистрация: 07.02.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Эта программа нужна на паскале. Я постараюсь что нибудь сам сделать....
PacMan вне форума   Ответить с цитированием
Старый 11.08.2011, 17:02   #4 (permalink)
PacMan
Member
 
Регистрация: 07.02.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Unhappy

Доброго времени суток.... Я написал тут основу программы а вот дальше никак и данные не выводятся, только таблица пустая, ребят подскажите по этой программе как дальше плыть....
Код:
uses crt;
type
sportsmen=record
FirstName:string[15];
Patronymic:string[20];
LastName:string[20];
Floor:string[7];
Age:byte;
Weight:byte;
Growth:byte;
end;
sportsmens=array[1..10] of sportsmen;
var
i:byte;
w:byte;
sred:byte;
const
a:sportsmens=((FirstName:'Александр'; Patronymic:'Сергеевич'; LastName:'Ремнев'; Floor:'Мужской'; Age:22; Weight:68; Growth:173),
(FirstName:'Сергей'; Patronymic:'Петрович'; LastName:'Жовтяк'; Floor:'Мужской'; Age:23; Weight:65; Growth:170),
(FirstName:'Людмила'; Patronymic:'Петровна'; LastName:'Иванова'; Floor:'Женский'; Age:25; Weight:58; Growth:162),
(FirstName:'Любовь'; Patronymic:'Александровна'; LastName:'Французенко'; Floor:'Женский'; Age:20; Weight:58; Growth:165),
(FirstName:'Тимофей'; Patronymic:'Дмитриевич'; LastName:'Стибло'; Floor:'Мужской'; Age:19; Weight:61; Growth:167),
(FirstName:'Ольга'; Patronymic:'Владимировна'; LastName:'Егина'; Floor:'Женский'; Age:27; Weight:56; Growth:164),
(FirstName:'Виктория'; Patronymic:'Павловна'; LastName:'Дергачева'; Floor:'Женский'; Age:26; Weight:57; Growth:169),
(FirstName:'Валерий'; Patronymic:'Иванович'; LastName:'Чижков'; Floor:'Мужской'; Age:21; Weight:71; Growth:183),
(FirstName:'Геннадий'; Patronymic:'Викторович'; LastName:'Петров'; Floor:'Мужской'; Age:28; Weight:75; Growth:185),
(FirstName:'Мария'; Patronymic:'Витальевна'; LastName:'Смирнова'; Floor:'Женский'; Age:21; Weight:53; Growth:163));
begin
writeln('Имя':10, 'Отчество':10, 'Фамилия':10, 'Пол':10, 'Возраст':10, 'Вес':10, 'Рост':10,#10);
end.
PacMan вне форума   Ответить с цитированием
Старый 12.08.2011, 02:42   #5 (permalink)
gotherson
Member
 
Регистрация: 01.08.2011
Сообщений: 27
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

конечно, не выводится. Вы же не написали оператор вывода на экран)

Код:
begin
  writeln('Имя':10, 'Отчество':14, 'Фамилия':12, 'Пол':10, 'Возраст':10, 'Вес':10, 'Рост':10,#10);

//моложе 25, тяжелее 70
  for i:= 1 to 10 do begin
    if (a[i].Age < 25) and (a[i].Weight > 70) then
      writeln(FirstName:10, Patronymic:14, LastName:12, Floor:10, Age:10, Weight:10, Growth:10,#10);
  end;

//средний возраст
  sred:= (a[1].Age + a[2].Age + a[3].Age + a[4].Age + a[5].Age + a[6].Age + a[7].Age + a[8].Age + a[9].Age + a[10].Age) / 10; //sred - типа Real, а не byte

end.
gotherson вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 15.08.2011, 22:25   #6 (permalink)
PacMan
Member
 
Регистрация: 07.02.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Ребят запускаю прогу пишет, неизвестный идентификатор FirstName, я же его объявил в начале проги???
PacMan вне форума   Ответить с цитированием
Старый 16.08.2011, 08:33   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от PacMan Посмотреть сообщение
Ребят запускаю прогу пишет, неизвестный идентификатор FirstName, я же его объявил в начале проги???
Нет, не подтверждаю. Оттранслировал и запустил вариант, выложенный в #4 - всё без сучка-задоринки, никаких ошибок. Выводит шапку таблицы, как и написано.

P.S. Несколько маленьких замечаний по идентификаторам.
1. Советую сменить идентификатор "Floor". Дело в том, что floor - это, в переводе с английского, действительно "пол", да только тот, который под ногами: досчатый, паркетный, бетонный, земляной. А который женский и мужской, тот по-английски "sex".
2. Примерно также и с "Growth". Да, это "рост", но как процесс, т.е. увеличение высоты. Рост, как параметр переводится "Height".
3. В английском языке множественное число от "man" (человек) есть "men" (люди), точно также "sportsman" (спортсмен) - "sportsmen" (спортсмены). В данном случае "s" на конце не ставится.
С учетом всего этого довёл я Вашу программу до ума. Она полностью отлажена и работает - по крайней мере, на моём Паскале. За возможные "задвиги" разных версий и реализаций транслятора - не отвечаю!
Код:
uses crt;
type
 sportsman=record
  FirstName:string[15];
  Patronymic:string[20];
  LastName:string[20];
  Sex:Char;
  Age:byte;
  Weight:byte;
  Height:byte;
 end;
 sportsmen=array[1..10] of sportsman;

var
 i,j,N_m,N_f:byte;
 sred:real;
 male,female:sportsmen;
 dummy:sportsman;
const
 a:sportsmen=((FirstName:'Александр'; Patronymic:'Сергеевич'; LastName:'Ремнев'; sex:'М'; Age:22; Weight:68; Height:173),
(FirstName:'Сергей'; Patronymic:'Петрович'; LastName:'Жовтяк'; sex:'М'; Age:23; Weight:65; Height:170),
(FirstName:'Людмила'; Patronymic:'Петровна'; LastName:'Иванова'; sex:'Ж'; Age:25; Weight:58; Height:162),
(FirstName:'Любовь'; Patronymic:'Александровна'; LastName:'Французенко'; sex:'Ж'; Age:20; Weight:58; Height:165),
(FirstName:'Тимофей'; Patronymic:'Дмитриевич'; LastName:'Стибло'; sex:'М'; Age:19; Weight:61; Height:167),
(FirstName:'Ольга'; Patronymic:'Владимировна'; LastName:'Егина'; sex:'Ж'; Age:27; Weight:56; Height:164),
(FirstName:'Виктория'; Patronymic:'Павловна'; LastName:'Дергачева'; sex:'Ж'; Age:26; Weight:57; Height:169),
(FirstName:'Валерий'; Patronymic:'Иванович'; LastName:'Чижков'; sex:'М'; Age:21; Weight:71; Height:183),
(FirstName:'Геннадий'; Patronymic:'Викторович'; LastName:'Петров'; sex:'М'; Age:28; Weight:75; Height:185),
(FirstName:'Мария'; Patronymic:'Витальевна'; LastName:'Смирнова'; sex:'Ж'; Age:21; Weight:53; Height:163));

begin
 clrscr;
 writeln('Полный список спортсменов:');
 writeln('Имя':15, 'Отчество':20, 'Фамилия':20, 'Пол':4, 'Возраст':8, 'Вес':4, 'Рост':5,#10);
 for i:=1 to 10 do
  with a[i] do
   writeln(FirstName:15,Patronymic:20,LastName:20,'   ',sex,Age:8,Weight:4,Height:5);
 writeln;
 writeln('Для продолжения нажмите "Enter"...');
 readln;
 writeln('Список тяжелых молодых спортсменов:');
 writeln('Имя':15, 'Отчество':20, 'Фамилия':20, 'Пол':4, 'Возраст':8, 'Вес':4, 'Рост':5,#10);
 for i:=1 to 10 do
  with a[i] do
   if (Age<25) and (Weight>70) then
    writeln(FirstName:15,Patronymic:20,LastName:20,'   ',sex,Age:8,Weight:4,Height:5);
 writeln;
 writeln('Для продолжения нажмите "Enter"...');
 readln;
 N_m:=0;
 N_f:=0;
 for i:=1 to 10 do
  with a[i] do
   begin
    if sex='М' then
     begin
      inc(N_m);
      male[N_m]:=a[i];
     end
    else
     begin
      inc(N_f);
      female[N_f]:=a[i];
     end;
   end;
 for i:=1 to N_m do
  for j:=1 to N_m-i do
   if ORD(male[j].LastName[1])>ORD(male[j+1].LastName[1]) then
    begin
     dummy:=male[j];
     male[j]:=male[j+1];
     male[j+1]:=dummy;
    end;
 writeln('Список мужчин по алфавиту:');
 writeln('Имя':15, 'Отчество':20, 'Фамилия':20, 'Пол':4, 'Возраст':8, 'Вес':4, 'Рост':5,#10);
 for i:=1 to N_m do
  with male[i] do
   writeln(FirstName:15,Patronymic:20,LastName:20,'   ',sex,Age:8,Weight:4,Height:5);
 writeln;
 for i:=1 to N_f do
  for j:=1 to N_f-i do
   if ORD(female[j].LastName[1])>ORD(female[j+1].LastName[1]) then
    begin
     dummy:=female[j];
     female[j]:=female[j+1];
     female[j+1]:=dummy;
    end;
 writeln('Список женщин по алфавиту:');
 writeln('Имя':15, 'Отчество':20, 'Фамилия':20, 'Пол':4, 'Возраст':8, 'Вес':4, 'Рост':5,#10);
 for i:=1 to N_m do
  with female[i] do
   writeln(FirstName:15,Patronymic:20,LastName:20,'   ',sex,Age:8,Weight:4,Height:5);
 writeln;
 writeln('Для продолжения нажмите "Enter"...');
 readln;
 writeln;
 sred:=0;
 for i:=1 to 10 do
  with a[i] do
   sred:=sred+0.1*Age;
 writeln('Средний возраст спортсменов - ',Round(sred));
 readln
end.
Vladimir_S вне форума   Ответить с цитированием
Старый 17.08.2011, 23:25   #8 (permalink)
PacMan
Member
 
Регистрация: 07.02.2011
Сообщений: 14
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Все через гугл переводил, сам немецкий учил))))))) Спасибо)
PacMan вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 01:14.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.