Помощь - Поиск - Пользователи - Календарь
Полная версия: Разжевать блок-схему.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
funebris
Уважаемые форумчане! Помогите, пжалста, разжевать блок-схему задачи.
 ! 
.DOC удален. Читаем правила

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

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

funebris
Попытка #2..
Sto
Где ты это взял???
Блоксхема неправильная!!
Задача связаная с файлами но схема построеная неверно.
Давай условие.
klem4
И что там неправильного ?

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

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

достаточно?
Sto
Цитата(мисс_граффити @ 9.05.2007 20:08) *

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


Хватит только и этого smile.gif
klem4
s = s + 1

согласен, все остальное - это ты уже придираешься, про файлы в БС можно вообще ничего не указывать, по крайней мере в такой простой программе, главное всеже алгоритм. По поводу госта вообще жесть ... Я трапеции встречал также часто как и параллелепипед наклонный, хотя лучше конечно его ставить.
funebris
Вот условие - "Прочитать файл TWO и определать, сколько раз в нем встречается буква "A" ".
мисс_граффити
Цитата(klem4 @ 9.05.2007 21:17) *

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

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

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

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

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

мне трапеции ни разу не попадались, поэтому специально полезла смотреть, что это такое.
klem4
А как по госту делать ввод ? Я всегда делал параллелепипед наклонный с маленькой внешней стрелочкой (внутрь)
мисс_граффити
п.12. параллелограмм.
Ввод-вывод
Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод).

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


Тьфу блин, чтож я параллелограмм параллелепипедом то обозвал smile.gif)
klem4
funebris
Еще, если не трудно 2 вопроса:
1. Можно ли этой программой пользоваться открывая через Turbo Pascal;
2. Как сохранить в EXE файл?
мисс_граффити
а где программа-то? smile.gif
из блок-схемы ехе-шник не особо получается...
Sto
Программа открывает и считывает данные из файла 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
Цитата(мисс_граффити @ 9.05.2007 21:38) *

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

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

Альтернативный способ: одновременно нажать 2 кнопки Ctrl и F9.
Можно нажать Ctrl, и, продолжая его держать, нажать F9.
funebris
Цитата(мисс_граффити @ 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?
мисс_граффити
Ошибка 200 - это деление на 0?..
В какой строчке возникает?

Был глюк с ошибкой 200 при использовании crt. Без этого модуля будет работать? (придется заменить repeat until keypressed на readln).
funebris
"Assign (InFile, 'C:\TWO.txt');"
М... А что здесь за ошибка? Это из проги, размещенной Sto..
Sto
Ошибка:
200 Деление на ноль (некоректная арифметическая операция)
На диске С у тебя должен быть файл TWO.txt.
Или пропиши другой адрес к файлу.
samec
Цитата(funebris @ 10.05.2007 1:26) *

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

скорее всего ругается на неправильный путь к файлу, то есть не может найти файл, по указанному пути -> связать его с файловой переменной. Надо бы проверять, открылся файл или нет.
volvo
А вот и продолжение темы о том, что не надо подключать лишние модули к программе... Не пользовался бы KeyPressed - не надо было бы подключать CRT, не получил бы ошибку...
Sto
Интересно почему ошибка возникает во время работы с файлом.
Если всеже ошибка в CRT то нужно удалить строки:
Uses
Crt;
ClrScr;

И помеянть строку ReadKey; на ReadLn;
мисс_граффити
Цитата(Sto @ 10.05.2007 16:53) *

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

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

я вообще-то еще вчера по этому поводу написала...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.