IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Использование типа-record, Формирование записи и её обработка
Гость_anka
сообщение 9.04.2004 19:52
Сообщение #1


Гость






--------------------------------------------
Сформировать запись "Операторы Турбо Паскаля":оператор, действие.
Подсчитать их количество и количество операторов имеющих повторяющиеся ключевые слова.
---------------------------------------------
Код

Program xxx;
Uses crt;
Type
   operators=record
         oper:string;
         deis:string;
         end;
Var
  z:array [1..24] of operators;
  i:byte;
  f1:text;
  n:string;
Begin
CLRSCR;
assign(f1,'c:\ttp\db.dat');
reset(f1);
{*}
for i:=1 to 12 do
begin
readln(f1,z[i].oper);
readln(f1,z[i].deis);
end;
{**}
writeln('Введите оператор:');
readln(n);
for i:=1 to 12 do
if n=z[i].oper then write('Оператор ',n,'-',z[i].deis,'');
readln
end.

Файл db.dat-содержит 24 строки, где 1строка -оператор,2-действие оператора.
Как сделать чтоб программа подсчитывала кол-во операторов, и кол-во операторов имеющих повторяющиеся ключевые слова?

Сообщение отредактировано: Oleg_Z - 10.04.2004 14:09
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Altair
сообщение 12.04.2004 14:58
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


Ну вот попробуйте:
(если будут вопросы - задавайте)
(В присоед. файле - файл DB.DAT - на котором я тестировал эту программу)
Код
Program OperatorsTurboPascal;
Uses crt;
Type
  operators=record
 oper:string;
 deis:string;
 end;
Var
 z:array [1..12] of operators;  {¬ ббЁў ®ЇҐа в®а®ў}
 i:byte;
 f1:text;
 n:string;
 MaxOperators:byte; {Є®«-ў® ®ЇҐа в®а®ў}

Procedure KluchSlova(a:array of operators; n:byte;var n1,n2:byte);
{‚л§®ў нв®© Їа®жҐ¤гал: KluchSlova(z,MaxOperators,MaxOper1,MaxOper2); }
Var
I,k:byte;
MO1,MO2:byte;
s:string;
Begin
{Є«озҐўлҐ б«®ў , Є®в®алҐ ўбваҐз овбп ў ®ЇҐа в®а е вгаЎ®-Ї бЄ «п:
 do (for to do, while do)
 end (record ... end,  begin ... end)
 }
mo1:=0; mo2:=0;
For i:=1 to n do
begin
 s:='';
 s:=a[i].oper;
 k:=1;
 for k:=1 to ORD(s[0]) do
 begin
  If (s[k]='d') and (s[k+1] ='o') then MO1:=MO1+1;
  If (s[k]='e') and (s[k+1] ='n') and (s[k+2]='d') then INC(MO2,1)
 end
end;
n1:=mo1;
n2:=mo2
end;

Var
n1,n2:byte;

Begin
CLRSCR;
assign(f1,'C:\DB.DAT');
reset(f1);
for i:=1 to 12 do
begin
 readln(f1,z[i].oper);
 readln(f1,z[i].deis);
 If z[i].oper<>'' then inc(MaxOperators);
end;
writeln('Љ®«ЁзҐбвў® ®ЇҐа в®а®ў = ',MaxOperators);
{Є®«-ў® ®ЇҐа в®а®ў б Ї®ўв®а. Є«оз. б«®ў ¬Ё}
KluchSlova(z,MaxOperators,n1,n2);
Writeln('Љ®«ЁзҐбвў® ®ЇҐа в®а®ў, Ё¬ҐойЁе Ї®ўв®апой. б«®ў® DO :',n1);
Writeln('Љ®«ЁзҐбвў® ®ЇҐа в®а®ў, Ё¬ҐойЁе Ї®ўв®апой. б«®ў® END:',n2);
write('‚ўҐ¤ЁвҐ ®ЇҐа в®а: '); readln(n);
for i:=1 to 12 do if n=z[i].oper then write('ЋЇҐа в®а ',n,'-',z[i].deis,'')

end.


Что-то довольно странно.
Задача на записи, а просят найти слова.
Если что-то не так, то пожалуйста напишите все задание, так , как оно вам было заданно (слово в слово)

Сообщение отредактировано: Oleg_Z - 12.04.2004 14:58


Прикрепленные файлы
Прикрепленный файл  DB.DAT ( 113 байт ) Кол-во скачиваний: 1


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 22.06.2025 2:57
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"