Форум программистов, компьютерный форум, киберфорум
Наши страницы
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Mendel
2 / 2 / 1
Регистрация: 19.09.2015
Сообщений: 121
Завершенные тесты: 1
#1

Избавление от цикла копирования символа строки

30.11.2015, 17:48. Просмотров 198. Ответов 2
Метки нет (Все метки)

Пишу сюда еще раз. По той же самой программе. Ненавижу своего преподавателя. У меня и у него оказались разные методички, и соответственно разные задания к лабораторной работе. У меня написано:1) Избавиться от goto 2) Repeat-until заменить на while 3) Добавить нумерацию страниц. Что и было сделано. А у него, вместо пункта 2 - "Избавиться от цикла копирования символов строки". Вот сижу, и не понимаю как это реализовать. Придется переписывать всю программу. Может у кого-нибудь есть идеи?

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
program Prnt;
uses crt;
const
  LPg  = 10;                             { размер страницы }
  LStr = 80;                   { максимальная длина строки }
  NLen = 20;              { максимальная длина имени файла }
var
  Prg, List: text;              { входной и выходной файлы }
  Name: string [NLen];                         { имя файла }
  Ch: char;                               { рабочий символ }
  I,n: byte;                         { рабочие переменные }
  Result,Finished : Boolean;
begin
  Assign (List, 'PRNFILE.pas');
  Rewrite (List);
  Result:=true;             { открытие выходного файла }
  while Result do begin                     { начало цикла входных файлов }
    Write ('Введите имя файла '); Readln (Name);
    Assign (Prg, Name);
    {$I-}  Reset (Prg); {$I+}    { открытие входного файла }
    Result := IOResult = 0;
    Finished:=False;
    if Result  then begin      { обработка, если файл есть }
      while not Eof (Prg) do begin          { цикл страниц }
        while not Finished and (i<Lpg) do begin
          i:=i+1;
          if Eof (Prg) then begin
 
            Writeln ('Последняя стpаница - неполная');
            Finished:=True;
          end
          else
            while not Eoln(Prg) do begin   {цикл строки }
              Read (Prg, Ch); Write (List, Ch);
                                 { чтение и запись символа }
            end;
          if not Finished then Readln(Prg);
          Writeln(List);
 
        end;
        i:=0;
        n:=n+1;
        Writeln(List);
        Writeln(List,'PAGE NUMBER:',n);                { конец страницы }
      end;
       Writeln ('Завеpшение выдачи одного файла');
       close(Prg);
    end;
  end;          { конец цикла входных файлов }
  close (List);
  Readkey;
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.11.2015, 17:48
Ответы с готовыми решениями:

Перестановка в конец строки начала каждой строки до символа с заданным номером
Условие задачи: Перестановка в конец строки начала каждой строки до...

Вырезать два первых символа символьной строки и поместить их в конец строки
Помоги те пожалуйста, решите сколько сможете. Задачи на строки. 2. Вырежьте...

Определить местоположение символа первой строки, который первым совпал с одним из символов второй строки.
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить...

Определить, совпадают ли первые два символа первой строки с двумя последними символами второй строки?
Помогите решить задачку... Определить совпадаеют ли первые два символа...

Строки. Удаления символа 'B';
Помогите составить программу в паскале чтобы удалялась из любого слова буква...

2
Puporev
Модератор
54350 / 41942 / 28978
Регистрация: 18.05.2008
Сообщений: 98,790
30.11.2015, 18:00 #2
Цитата Сообщение от Mendel Посмотреть сообщение
По той же самой программе
И все ту программу знают или сейчас кинутся искать.

Добавлено через 3 минуты
Написал бы уж полное и точное условие задачи и все требования преподавателя к коду.
0
Mendel
2 / 2 / 1
Регистрация: 19.09.2015
Сообщений: 121
Завершенные тесты: 1
30.11.2015, 19:06  [ТС] #3
"Та же программа" - то что я скинул выше. Вот полное задание: Проанализировать программу PRNT, сделать ее структурированной (избавиться от метки) и избавиться от цикла копирования символов строки. Добавить нумерацию страниц выходного файла. Написать измененный текст программы PRNT.

Добавлено через 58 минут
А все, понял как делать. Можно не решать, но спасибо что откликнулись.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.11.2015, 19:06

Избавление от goto с сохранением функциональности программы
Задание в лабе. Нужно сделать программу структурированной. Как можно избавиться...

Проверить, начинаются ли 2 строки с одинакового символа
Даны 2 строки символов. если они начинаются с одинакого символа, то напечатать...

Распечатать последние 4 символа введенной строки
Распечатать последние 4 символа введенной строки.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru