Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Pascal ABC

Автор: Raigo 17.05.2012 17:39

Помогите пожалуйста. Написать программу, которая каждую встреченную букву "б" заменяет сочетанием "ку"с помощью модулей.
вот короче что получилось
модуль1:

unit op;
interface
type str= string;
implementation
end.
---------------------------------
Модуль2:

unit obrabotk;
interface
uses op;
procedure vvod(var s:str);
function zamena(s:str): string;

implementation

procedure vvod;
begin
WriteLn;
write('Введите текст: ');
readln(s);
end;

function zamena;
var i : integer;
sTemp : string;
begin
sTemp := s;
for i:=length(sTemp) downto 1 do
if sTemp[i]='б' then
begin
delete(sTemp,i,1);
insert('ку',sTemp,i);
end;
zamena := sTemp;
end;

end.
-------------------------------------

Модуль3:

uses op, obrabotk;
var
s : str;
begin
vvod(s);
writeln('Òåêñò ', zamena(s));
readln;
end.

Без понятия че ему надо, пишет "Неизвестный идентификатор s " во втором модуле

Автор: IUnknown 17.05.2012 22:17

Символы экономишь? Полностью заголовок функции/процедуры пиши - не будет ошибок. То, что можно сокращать таким образом, как у тебя - оно, конечно, хорошо. Но не надо этим злоупотреблять - это приводит к проблемам (везде, кроме Турбо-Паскаля, в котором этот бред с неполным заголовком был придуман). FreePascal, к примеру, тоже выдает ту же ошибку - "Не найден идентификатор S".

Автор: Raigo 17.05.2012 22:29

Цитата(IUnknown @ 17.05.2012 18:17) *

Символы экономишь? Полностью заголовок функции/процедуры пиши - не будет ошибок. То, что можно сокращать таким образом, как у тебя - оно, конечно, хорошо. Но не надо этим злоупотреблять - это приводит к проблемам (везде, кроме Турбо-Паскаля, в котором этот бред с неполным заголовком был придуман). FreePascal, к примеру, тоже выдает ту же ошибку - "Не найден идентификатор S".

Спасибо, помогло good.gif