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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2014, 13:23   #1
cska1325
Пользователь
 
Регистрация: 19.12.2014
Сообщений: 16
По умолчанию Написать модуль к подпрограмме

Код:
program podprogramma13;
uses crt;
type
  arr=array[1..5,1..5] of integer;
  const
     a:arr=((5,3,1,7,9),
           (6,-1,20,4,-3),
           (-3,4,5,7,8),
           (7,7,1,2,5),
           (1,30,2,4,-2));
var
  i,j:integer;

  function func(const x:arr):longint;
  var k,i,j:integer;
begin
   k:=0;
  for i:=1 to 5 do
  for j:=1 to 5 do
   if (x[i,j] mod 5=0) then
   k:=k+1;
   func:= k;
end;
  procedure proc(var x:arr);
  var
  i,j:integer;
begin
  for i:=1 to 5 do
  for j:=1 to 5 do
  if (x[i,j] mod 2=0) then
    x[i,j]:=0;
end;
procedure writ(x:arr);
  var
  i,j:integer;
  begin
  for i:=1 to 5 do
   begin
  for j:=1 to 5 do
  write(x[i,j]:5);
  writeln;
  end;
  end;
begin
clrscr;
randomize;
for i:=1 to 5 do
for j:=1 to 5 do
a[i,j]:=random(10)-3;
   writ(a);
   writeln;
   proc(a);
   writ(a);
   writeln;

   write('kolichestvo chisel kratnih 5=',' ', func(a));

   readln;
end.
cska1325 вне форума Ответить с цитированием
Старый 06.01.2015, 17:11   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,789
По умолчанию

создаём текстовый файл, пишем в нём:
Код:
unit Modul;
и далее вставляем в него часть твоего кода:
Код:
type
  arr=array[1..5,1..5] of integer;
  const
     a:arr=((5,3,1,7,9),
           (6,-1,20,4,-3),
           (-3,4,5,7,8),
           (7,7,1,2,5),
           (1,30,2,4,-2));
var
  i,j:integer;

  function func(const x:arr):longint;
  var k,i,j:integer;
begin
   k:=0;
  for i:=1 to 5 do
  for j:=1 to 5 do
   if (x[i,j] mod 5=0) then
   k:=k+1;
   func:= k;
end;
  procedure proc(var x:arr);
  var
  i,j:integer;
begin
  for i:=1 to 5 do
  for j:=1 to 5 do
  if (x[i,j] mod 2=0) then
    x[i,j]:=0;
end;
procedure writ(x:arr);
  var
  i,j:integer;
  begin
  for i:=1 to 5 do
   begin
  for j:=1 to 5 do
  write(x[i,j]:5);
  writeln;
  end;
  end;
и сохраняем.
а твой код изменится в меньшую сторону:
Код:
program podprogramma13;
uses crt, Modul;
var
  i,j:integer;
  
begin
clrscr;
randomize;
for i:=1 to 5 do
for j:=1 to 5 do
a[i,j]:=random(10)-3;
   writ(a);
   writeln;
   proc(a);
   writ(a);
   writeln;
   write('kolichestvo chisel kratnih 5=',' ', func(a));
   readln;
end.
то есть, все свои громоздкие функции и процедуры мы запихнули в файл Modul, подключили его, а в самой программе только вызываем из него функции. ну, как-то так....
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 06.01.2015 в 17:13.
NetSpace вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с динамическим массивом в подпрограмме promer Общие вопросы Delphi 2 02.08.2013 13:10
написать модуль в паскале Den55 Фриланс 4 23.04.2012 18:32
Ошибка в подпрограмме. Basic. Двумерные массивы Cimilia Помощь студентам 9 24.02.2012 14:58
Составить полную спецификацию к подпрограмме ... petrower Помощь студентам 4 05.01.2012 16:56