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

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

Форум «Всё о Паскале» _ Задачи _ Разжевать блок-схему.

Автор: funebris 9.05.2007 22:01

Уважаемые форумчане! Помогите, пжалста, разжевать блок-схему задачи.
 ! 
.DOC удален. Читаем правила


Автор: ilua_great 9.05.2007 22:05

Выложи ешё раз lol.gif

М
решил пофлудить ? устное предупреждение


Автор: funebris 9.05.2007 22:31

Попытка #2..


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: Sto 9.05.2007 23:46

Где ты это взял???
Блоксхема неправильная!!
Задача связаная с файлами но схема построеная неверно.
Давай условие.

Автор: klem4 9.05.2007 23:59

И что там неправильного ?

открываем файл
1: Конец файла ? если ДА, закрываем файл, выводим значение счетчика, иначе
читаем символ, если символ не 'А', увеличиваем счетчик
переходим к 1:

Автор: мисс_граффити 10.05.2007 0:08

Цитата
И что там неправильного ?

1. файл мы НЕ открываем. только связываем с файловой переменной.
2. куда мы идем после S:=S+1?
3. стрелки расставлены как попало
4. слова begin и end не пишутся. и рисуются не элипсы, и такие сплющенные элипсы. или скругленные прямоугольники - не знаю, как будет точнее.
5. пропорции с ГОСТом и близко не лежали
6. трапеция (в которой написано ch) - это (цитирую ГОСТ 19.003-80) "ручная операция. автономный процесс, выполняемый вручную или при помощи неавтоматически действующих средств". или это одна я из файла не вручную читаю?...

достаточно?

Автор: Sto 10.05.2007 0:12

Цитата(мисс_граффити @ 9.05.2007 20:08) *

1. файл мы НЕ открываем. только связываем с файловой переменной.
2. куда мы идем после S:=S+1?


Хватит только и этого smile.gif

Автор: klem4 10.05.2007 0:17

s = s + 1

согласен, все остальное - это ты уже придираешься, про файлы в БС можно вообще ничего не указывать, по крайней мере в такой простой программе, главное всеже алгоритм. По поводу госта вообще жесть ... Я трапеции встречал также часто как и параллелепипед наклонный, хотя лучше конечно его ставить.

Автор: funebris 10.05.2007 0:17

Вот условие - "Прочитать файл TWO и определать, сколько раз в нем встречается буква "A" ".

Автор: мисс_граффити 10.05.2007 0:21

Цитата(klem4 @ 9.05.2007 21:17) *

s = s + 1
согласен, все остальное - это ты уже придираешься

сорри... это я курсовик делаю... ГОСТ открыт.

Цитата(klem4 @ 9.05.2007 21:17) *
про файлы в БС можно вообще ничего не указывать, по крайней мере в такой простой программе, главное всеже алгоритм.

я обычно вообще пооператорно не рисую. но как-то нелогично указать assign и не указать reset, правда?

Цитата(klem4 @ 9.05.2007 21:17) *
По поводу госта вообще жесть ... Я трапеции встречал также часто как и параллелепипед наклонный, хотя лучше конечно его ставить.

мне трапеции ни разу не попадались, поэтому специально полезла смотреть, что это такое.

Автор: klem4 10.05.2007 0:24

А как по госту делать ввод ? Я всегда делал параллелепипед наклонный с маленькой внешней стрелочкой (внутрь)

Автор: мисс_граффити 10.05.2007 0:30

п.12. параллелограмм.
Ввод-вывод
Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод).

еще отдельно есть Автономная память. Ввод-вывод данных с случае использования запоминающего устройства, управляемого непосредственно процессором.
Неавтономная память. Ввод-вывод данных с случае использования запоминающего устройства, не
управляемого непосредственно процессором.
Ввод данных с магнитной карты.
Ручной ввод (по идее, ввод с клавиатуры именно так надо рисовать).
Как описать эти фигуры - не знаю sad.gif


Тьфу блин, чтож я параллелограмм параллелепипедом то обозвал smile.gif)
klem4

Автор: funebris 10.05.2007 0:35

Еще, если не трудно 2 вопроса:
1. Можно ли этой программой пользоваться открывая через Turbo Pascal;
2. Как сохранить в EXE файл?

Автор: мисс_граффити 10.05.2007 0:38

а где программа-то? smile.gif
из блок-схемы ехе-шник не особо получается...

Автор: Sto 10.05.2007 0:42

Программа открывает и считывает данные из файла C:\TWO.txt

Uses
Crt;
Var
InFile : Text;
i : Integer;
Ch : Char;
Begin
ClrScr;
i := 0;
Assign (InFile, 'C:\TWO.txt');
Reset (InFile);
While not eof(InFile) Do
Begin
Read (InFile, Ch);
If (Ch = 'A') Then i := i + 1;
End;
Close (InFile);
WriteLn(i);
ReadKey;
End.

Для того чтобы программа считала и маленькую букву "а" нужно строку
If (Ch = 'A') Then i := i + 1;
поменять на
If (Ch = 'A') or (Ch = 'a') Then i := i + 1;

Автор: funebris 10.05.2007 0:45

Цитата(мисс_граффити @ 9.05.2007 21:38) *

а где программа-то? smile.gif
из блок-схемы ехе-шник не особо получается...

Ну вот, что она из себя представляет..


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: мисс_граффити 10.05.2007 1:07

насколько я могу судить по картинке, она уже открыта с помощью Турбо Паскаль.
чтобы сохранить ее в ехе-файл, Вам необходимо:
1. Подвести курсор (беленькую стрелочку) к надписи Run.
2. Аккуратно (не смещая стрелочку) нажать на левую кнопку манипулятора "мышь".
3. В открывшемся меню навести белую стрелочку на надпись Run.
4. повторить п.2

Альтернативный способ: одновременно нажать 2 кнопки Ctrl и F9.
Можно нажать Ctrl, и, продолжая его держать, нажать F9.

Автор: funebris 10.05.2007 1:13

Цитата(мисс_граффити @ 9.05.2007 22:07) *

насколько я могу судить по картинке, она уже открыта с помощью Турбо Паскаль.
чтобы сохранить ее в ехе-файл, Вам необходимо:
1. Подвести курсор (беленькую стрелочку) к надписи Run.
2. Аккуратно (не смещая стрелочку) нажать на левую кнопку манипулятора "мышь".
3. В открывшемся меню навести белую стрелочку на надпись Run.
4. повторить п.2

Альтернативный способ: одновременно нажать 2 кнопки Ctrl и F9.
Можно нажать Ctrl, и, продолжая его держать, нажать F9.

Это всё прекрасно, Уважаемая, но сообщается об ошибке 200.

Добавлено через 11 мин.
А еше, что за ошибка в строке "Assign (InFile, 'C:\TWO.txt');", в проге, размещенной Sto?

Автор: мисс_граффити 10.05.2007 1:26

Ошибка 200 - это деление на 0?..
В какой строчке возникает?

Был глюк с ошибкой 200 при использовании crt. Без этого модуля будет работать? (придется заменить repeat until keypressed на readln).

Автор: funebris 10.05.2007 1:26

"Assign (InFile, 'C:\TWO.txt');"
М... А что здесь за ошибка? Это из проги, размещенной Sto..

Автор: Sto 10.05.2007 1:27

Ошибка:
200 Деление на ноль (некоректная арифметическая операция)
На диске С у тебя должен быть файл TWO.txt.
Или пропиши другой адрес к файлу.

Автор: samec 10.05.2007 9:50

Цитата(funebris @ 10.05.2007 1:26) *

"Assign (InFile, 'C:\TWO.txt');"
М... А что здесь за ошибка? Это из проги, размещенной Sto..

скорее всего ругается на неправильный путь к файлу, то есть не может найти файл, по указанному пути -> связать его с файловой переменной. Надо бы проверять, открылся файл или нет.

Автор: volvo 10.05.2007 14:30

А вот и продолжение темы о том, что не надо подключать лишние модули к программе... Не пользовался бы KeyPressed - не надо было бы подключать CRT, не получил бы ошибку...

Автор: Sto 10.05.2007 19:53

Интересно почему ошибка возникает во время работы с файлом.
Если всеже ошибка в CRT то нужно удалить строки:
Uses
Crt;
ClrScr;

И помеянть строку ReadKey; на ReadLn;

Автор: мисс_граффити 10.05.2007 20:43

Цитата(Sto @ 10.05.2007 16:53) *

И помеянть строку ReadKey; на ReadLn;

repeat until readln, что ли, сделать?

я вообще-то еще вчера по этому поводу написала...