Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 02.12.2011, 00:34   #1 (permalink)
nataliacombat
Новичок
 
Регистрация: 02.12.2011
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Нужна помощь на Паскале

Люди помогите плиииз с паскалем))
решить задачу,связанную с оценкой экономической деятельности группы предприятий на основе известных данных:
1)название предприятий
2)фактический объем розничного товарооборота
3)сумма полученной прибыли за последний год
4)среднесписочное кол-во работников предприятия
требуется определить:
1)сумму прибыли, приходящейся на одного работника, по каждому предприятию
2)кол-во предприятий,число работников которых находится в заданном диапозоне
3)предприятие с наименьшим среднесписочным кол-ом работников
4)обеспечить вывод информации о предприятиях по заданным последним буквам
5)упорядочить предприятия по убыванию прибыли.
nataliacombat вне форума   Ответить с цитированием

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

Участники форума ранее решали похожую проблему

Нужна помощь по МК
Помощь в Паскале

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

Цитата:
Сообщение от nataliacombat Посмотреть сообщение
на основе известных данных
Чудесно. Вот Вы, для начала, эти данные и сочините. Выложите список с названиями и параметрами предприятий. Дальше посмотрим.
Vladimir_S вне форума   Ответить с цитированием
Старый 05.12.2011, 23:31   #3 (permalink)
nataliacombat
Новичок
 
Регистрация: 02.12.2011
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

названия:
газпром
лукоил
сургутнефтегаз
роснефть
нефтегаз.
факт:
15000
12000
10000
9000
13000
сумма:
500000
600000
450000
550000
400000
рабочие:
100
60
46
28
30.
nataliacombat вне форума   Ответить с цитированием
Старый 06.12.2011, 11:45   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Пожалуйста.
Исходные данные берутся из файла Data.txt, расположенного на диске D:. Естественно, имя, расположение и содержимое файла можете поменять, оставив лишь общее количество фирм (5). Вид файла данных:
Код:
названия:
газпром
лукоил
сургутнефтегаз
роснефть
нефтегаз
факт:
15000
12000
10000
9000
13000
сумма:
500000
600000
450000
550000
400000
рабочие:
100
60
46
28
30
Он отличается от Вашего списка тем, что убраны точки после "нефтегаз" и "30".
Теперь сама программа:
Код:
TYPE
 Frm=Record
      Name:String;
      Volume:Longint;
      Profit:Longint;
      Staff:Word;
     end;
VAR
 Org:Array[1..5] of Frm;
 f:Text;
 i,j,Num:Byte;
 Nmin,Nmax,Min_Staff:Word;
 Last_Let:Char;
 Dummy:Frm;

BEGIN
 Assign(f,'D:\data.txt');
 ReSet(f);
 Readln(f);
 For i:=1 to 5 do
  With Org[i] do
   Readln(f,Name);
 Readln(f);
 For i:=1 to 5 do
  With Org[i] do
   Readln(f,Volume);
 Readln(f);
 For i:=1 to 5 do
  With Org[i] do
   Readln(f,Profit);
 Readln(f);
 For i:=1 to 5 do
  With Org[i] do
   Readln(f,Staff);
 Close(f);

 Writeln('Initial data and profit per worker:');
 For i:=1 to 5 do
  With Org[i] do
   begin
    Write(i:1,'  ',Name);
    for j:=length(Name) to 18 do write(' ');
    Writeln(Volume:12,Profit:12,Staff:8,1.0*Profit/Staff:12:2);
   end;
 Writeln;

 Num:=0;
 Write('Minimal number of workers: ');
 Readln(Nmin);
 Write('Maximal number of workers: ');
 Readln(Nmax);
 For i:=1 to 5 do
  If (Org[i].Staff>=Nmin) and (Org[i].Staff<=Nmax) then Inc(Num);
 Writeln(Num,' firms');
 Writeln;

 Min_Staff:=Org[1].Staff;
 j:=1;
 For i:=2 to 5 do
  If Org[i].Staff<Min_Staff then
   begin
    Min_Staff:=Org[i].Staff;
    j:=i;
   end;
 Writeln('The minimal number of workers has '+Org[j].Name);
 Writeln;

 Write('Enter the last letter: ');
 Readln(Last_Let);
 For i:=1 to 5 do
  With Org[i] do
   If Name[length(Name)]=Last_Let then
    begin
     Write(i:1,'  ',Name);
     for j:=length(Name) to 18 do write(' ');
     Writeln(Volume:12,Profit:12,Staff:8);
    end;
 Writeln;

 For j:=1 to 5 do
  for i:=1 to 5-j do
   If Org[i].Profit<Org[i+1].Profit then
    begin
     Dummy:=Org[i];
     Org[i]:=Org[i+1];
     Org[i+1]:=Dummy;
    end;

 Writeln('Ordered by profit decrease:');
 For i:=1 to 5 do
  With Org[i] do
   begin
    Write(i:1,'  ',Name);
    for j:=length(Name) to 18 do write(' ');
    Writeln(Volume:12,Profit:12,Staff:8);
   end;

 Readln;
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 07.12.2011, 01:15   #5 (permalink)
nataliacombat
Новичок
 
Регистрация: 02.12.2011
Сообщений: 3
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

огромное спасибо Вам=)выручили)))а блок-схема как будет выглядеть
nataliacombat вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 07.12.2011, 09:53   #6 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от nataliacombat Посмотреть сообщение
а блок-схема как будет выглядеть
Извините - блок-схемами не занимаюсь.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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