Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2009, 21:25   #1
Cyanide
 
Аватар для Cyanide
 
Регистрация: 05.04.2009
Сообщений: 6
По умолчанию Нужно решить задачу на Pascal (способом с модулем)

Задание: Имеются сведения об именах больших планет солнечной системы,их диаметры,средние расстояния до солнца и количество спутников.выведите списки планет,орбиты которых лежат внутри орбиты заданной,и планет с диаметрами,большими заданной.
Решите пожалуйста способом с модулем...
Cyanide вне форума Ответить с цитированием
Старый 21.04.2009, 15:29   #2
VadEr
Форумчанин
 
Аватар для VadEr
 
Регистрация: 24.03.2009
Сообщений: 375
По умолчанию

1) Пишешь код для модуля:

Код:
Unit MyUnit;

interface

const
  P: array[1..9] of string[8] = ('Меркурий','Венера','Земля','Марс','Юпитер','Сатурн','Уран','Нептун','Плутон'); {Планеты}
  D: array[1..9] of real = (4880, 12104, 12760, 6794, 142984, 60300, 51118, 49528, 2390); {Диаметры, км}
  Ls: array[1..9] of real = (0.387, 0.723, 1, 1.524, 5.2, 9.584, 19.19, 30.02, 39.23); {Среднее расстояние от Солнца, а.е.}
  Ns: array[1..9] of byte = (0, 0, 1, 2, 28, 7, 21, 8, 1); {Кол-во спутников}
var
  Li, Di: real; {Заданные орбита и диаметр}

  procedure ListOfOrbit(Lx :real);
  procedure ListOfDiametr(Dx :real);

implementation
  
  procedure ListOfOrbit; {подпрограмма расчёта по орбите}
  var i: integer;
  begin
    writeln('Список планет по заданной орбите:');
    For i:=1 to 9 do
        if Lx <= Ls[i] then
           writeln(i,') ',P[i],';');
    writeln;
  end;

  procedure ListOfDiametr; {подпрограмма расчёта по диаметру}
  var i: integer;
  begin
    writeln('Список планет по заданному диаметру:');
    For i:=1 to 9 do
        if Dx > D[i] then
           writeln(i,') ',P[i],';');
    writeln;
  end;

end.
2) Сохраняешь его под именем MyUnit.pas;

3) Пишешь код основной программы:

Код:
Program Planets;
uses MyUnit; {указатель на используемый модуль}
Var
  Li, Di: real; {Заданные орбита и диаметр}
begin
  Writeln('Задайте орбиту, а через "ПРОБЕЛ", - диаметр и нажмите <ENTER>');
  Readln(Li,Di);
  writeln;
  ListOfOrbit(Li);   {Вызов из модуля подпрограммы расчёта по орбите}
  ListOfDiametr(Di); {Вызов из модуля подпрограммы расчёта по диаметру}
  Readln;
end.

Последний раз редактировалось VadEr; 21.04.2009 в 15:34.
VadEr вне форума Ответить с цитированием
Старый 21.04.2009, 18:26   #3
Cyanide
 
Аватар для Cyanide
 
Регистрация: 05.04.2009
Сообщений: 6
По умолчанию

Аааа...поняла) Благодарю Вас еще раз)
Cyanide вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нужно решить задачу используя указатели С++ Nastusha Помощь студентам 4 08.02.2009 22:45
Нужно решить еще задачу в паскале! Срочно Lenochka082 Помощь студентам 4 19.01.2009 16:26