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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.03.2014, 17:46   #1
Andrey 1977
Новичок
Джуниор
 
Регистрация: 05.03.2014
Сообщений: 2
По умолчанию Модули

Нужно изменить программу и сделать её с помощью модулей.

Код:
uses crt;
type proc=procedure(var s:string);

procedure  sort(var s:string);  {процедура сортировки}
var i,j:byte;
    c:char;
begin
for i:=1 to length(s) do  {строка}
for j:=i+1 to length(s) do
if s[i]>s[j] then
 begin
  c:=s[i];
  s[i]:=s[j];
  s[j]:=c
 end;
writeln(s)
end;
procedure  perev(var s:string); {процедура переворачивает строку}
var i:byte;
    c:char;
begin
for i:=1 to length(s) div 2 do
 begin
  c:=s[i];
  s[i]:=s[length(s)-i+1];{считает в обратную сторону}
  s[length(s)-i+1]:=c
 end;
writeln(s)
end;

procedure obr(p:proc;s:string);
begin
p(s)
end;
var s,s1:string;
begin
clrscr;
writeln('Введите строку');
readln(s);
s1:=s;
writeln('Отсортированная строка');
obr(sort,s);
writeln('Перевернутая строка');
obr(perev,s1);
readln
end.
Andrey 1977 вне форума Ответить с цитированием
Старый 05.03.2014, 20:42   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Модуль
Код:
unit modu;
type proc=procedure(var s:string);

interface
procedure  sort(var s:string);  {процедура сортировки}
procedure  perev(var s:string); {процедура переворачивает строку}
procedure obr(p:proc;s:string);

implementation
procedure  sort(var s:string);  {процедура сортировки}
var i,j:byte;
    c:char;
begin
for i:=1 to length(s) do  {строка}
for j:=i+1 to length(s) do
if s[i]>s[j] then
 begin
  c:=s[i];
  s[i]:=s[j];
  s[j]:=c
 end;
writeln(s)
end;

procedure  perev(var s:string); {процедура переворачивает строку}
var i:byte;
    c:char;
begin
for i:=1 to length(s) div 2 do
 begin
  c:=s[i];
  s[i]:=s[length(s)-i+1];{считает в обратную сторону}
  s[length(s)-i+1]:=c
 end;
writeln(s)
end;

procedure obr(p:proc;s:string);
begin
p(s)
end;
Прога
Код:
uses crt,modu;
var s,s1:string;
begin
clrscr;
writeln('Введите строку');
readln(s);
s1:=s;
writeln('Отсортированная строка');
obr(sort,s);
writeln('Перевернутая строка');
obr(perev,s1);
readln
end.

Вот так-то как-то...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.03.2014, 12:21   #3
Andrey 1977
Новичок
Джуниор
 
Регистрация: 05.03.2014
Сообщений: 2
По умолчанию

Не подскажите как запустить программу с помощью модулей?
Andrey 1977 вне форума Ответить с цитированием
Старый 26.03.2014, 13:39   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Так же как и обычную - запускать главный код.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
библиотечные модули пользователя,модули CRT и DOS лерка:) Паскаль, Turbo Pascal, PascalABC.NET 0 08.01.2012 14:57
Модули Наташок Паскаль, Turbo Pascal, PascalABC.NET 1 06.10.2010 16:26
модули Largo Помощь студентам 0 03.01.2010 11:54
Модули phantom4eg Помощь студентам 9 20.04.2009 22:29
Модули. СИ. pif Помощь студентам 3 06.04.2009 01:00