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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2008, 20:46   #1
KulOle
Пользователь
 
Аватар для KulOle
 
Регистрация: 30.09.2008
Сообщений: 10
Вопрос 2 задачи на процедуры и функции

№1! Вычислить Z=Xmax-Ymin/2,Xmax - максимальный элемент массива X(50); Ymin - минимальный элемент массива Y(40). Xmax и Ymin вычислять в однородной подпрограмме при помощи функции.


№2! Вычислить Z= (Xm1+Xm2)/2, где Xm1 и Xm2 - наименьшие элементы массивов X1(70) , X2(80).Сделать это с помощью процедур.
KulOle вне форума Ответить с цитированием
Старый 08.12.2008, 21:37   #2
Викдон
Форумчанин
 
Аватар для Викдон
 
Регистрация: 11.11.2008
Сообщений: 161
По умолчанию

1)
Код:
Const n=50;m=40;
Type
  X=array[1..n] of integer;
  Y=array[1..m] of integer;
var Mas:X;
    Mas2:Y;
    i:integer;
    Z:real;

 Function max (Massiv:X;g:integer):integer;
  var i,a:integer;
  begin
   a:=Massiv[1];
   for i:=1 to g do
    if Massiv[i]>a then
      a:=Massiv[i];

  max:=a;
  end;

  Function min (Massiv:Y;g:integer):integer;
  var i,a:integer;
  begin
   a:=Massiv[1];
   for i:=1 to g do
    if Massiv[i]<a then
      a:=Massiv[i];

  min:=a;
  end;

 begin
  writeln('Массив Х:');
  for i:=1 to 50 do
   begin
    Mas[i]:=Random(32000);
    write(Mas[i],' ');
   end;
   writeln;

  writeln('Массив Y:');
  for i:=1 to 40 do
   begin
    Mas2[i]:=Random(32000);
    write(Mas2[i],' ');
   end;
  writeln;
   Z:=max(Mas,n)+min(Mas2,m)/2;
  write('Z= ',Z);
  readln;
 end.
Викдон вне форума Ответить с цитированием
Старый 08.12.2008, 22:13   #3
Викдон
Форумчанин
 
Аватар для Викдон
 
Регистрация: 11.11.2008
Сообщений: 161
По умолчанию

2)
Код:
uses crt;
Const n=70;m=80;
Type
  X=array[1..n] of integer;
  X2=array[1..m] of integer;
var Mas:X;
    Mas2:X2;
    i,chislo,chislo2:integer;


Procedure min (Massiv:X;g:integer;var chislo:integer);
  var i:integer;
  begin
   chislo:=Massiv[1];
   for i:=1 to g do
    if Massiv[i]<chislo then
      chislo:=Massiv[i];
  end;

Procedure min2 (Massiv:X2;g:integer;var chislo2:integer);
  var i:integer;
  begin
   chislo2:=Massiv[1];
   for i:=1 to g do
    if Massiv[i]<chislo2 then
      chislo2:=Massiv[i];
  end;


 begin
  clrscr;
  writeln('Массив Х:');
  for i:=1 to n do
   begin
    Mas[i]:=Random(32000);
    write(Mas[i],' ');
   end;
   writeln;

  writeln('Массив X2:');
  for i:=1 to m do
   begin
    Mas2[i]:=Random(32000);
    write(Mas2[i],' ');
   end;
  writeln;
    Min(Mas,n,chislo);
    Min2(Mas2,m,chislo2);


  write('Z= ',(chislo+chislo2)/2);
  readln;
 end.
Викдон вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Процедуры и функции V25 Паскаль, Turbo Pascal, PascalABC.NET 1 17.11.2008 20:02
Функции и процедуры _Антон_ Помощь студентам 4 15.11.2008 19:58
Процедуры и функции KulOle Паскаль, Turbo Pascal, PascalABC.NET 1 26.10.2008 14:18
Задачи на Паскале. Строковые процедуры и функции Мент Паскаль, Turbo Pascal, PascalABC.NET 3 25.06.2008 13:24