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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.04.2011, 23:38   #1
mashat99
Пользователь
 
Регистрация: 27.12.2010
Сообщений: 10
По умолчанию переделать задачу с использованием процедур или функций

подскажите, пожалуйста, как можно переделать эту задачу, чтобы использовались процедуры или функции.

Вам нужно преобразовать большое количество старых программ для новой версии компилятора. Для этого нужен заменить "->" на "." везде, кроме комментариев. Комментарии в данном языке программирования начинаются с "/ /" и продолжаются до конца строки. Напишите программу, которая выполняет такое преобразование.

Код:
var
i,j:integer;
s:string;
f,f1:text;

begin
       assign(f, 'input.txt');
       assign(f1, 'output.txt');
       reset(f);
       rewrite(f1);
       while not Eof(f) do
              begin
                 readln(f,s);
                 for i:=1 to length(s) do
             begin
             if (s[i]='-') and (s[i+1]='>') then
                 begin
                   Delete(s,i,2);
                   Insert('.', s, i);
                 end;
             if (s[i]='/') and (s[i+1]='/') then break;
             end;
       writeln(f1,s);
       end;
      close(f);
      close(f1);
end.

заранее спасибо.
mashat99 вне форума Ответить с цитированием
Старый 06.04.2011, 00:45   #2
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию

можно поместить тело цикла в процедуру.
Р.S.
и ещё я бы вам посоветовал не использовать "break" это поганый тон в программировании, так же как и использование меток. Всегда можно добавить ещё одно условие в цикле, нежели использовать "некрасивые" методы для написания кода. Это мое мнения, я не навязываю его вам, просто советую)
Антон Лысенко вне форума Ответить с цитированием
Старый 06.04.2011, 01:21   #3
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

goto - это дурной тон программирования. Break это очень хороший тон программирования.
Выйдите из цикла без break)):
Код:
while true do
...
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 08.04.2011, 18:24   #4
Антон Лысенко
Форумчанин
 
Регистрация: 15.12.2010
Сообщений: 181
По умолчанию

Цитата:
Сообщение от MyLastHit Посмотреть сообщение
goto - это дурной тон программирования. Break это очень хороший тон программирования.
Выйдите из цикла без break)):
Код:
while true do
...
здесь break можно вообще не использовать! сделав вот так
Код:
  while not Eof(f) do
              begin
                 readln(f,s);
                 for i:=1 to length(s) do
             begin  
              if (s[i]<>'/') or (s[i+1]<>'/') then 
                if (s[i]='-') and (s[i+1]='>') then
                  begin
                   Delete(s,i,2);
                   Insert('.', s, i);
                 end;
             end;
а в других примерах можно использовать двойное условие в циклах, то есть ещё использовать булевую переменную.

Последний раз редактировалось Антон Лысенко; 08.04.2011 в 18:26. Причина: на счет "or" не уверен.
Антон Лысенко вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование с использованием процедур и функций...на Паскале Лизонька Помощь студентам 1 25.02.2010 23:29
Программирование с использованием процедур и функций Лизонька Помощь студентам 2 25.02.2010 22:50
Помогите пожалуйста составить программку с использованием функций и процедур ЛесенОК Помощь студентам 1 17.02.2009 18:27
использование процедур и функций! ...Оленька... Паскаль, Turbo Pascal, PascalABC.NET 0 24.12.2008 15:33