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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.01.2015, 10:22   #1
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
Восклицание Программа анкета

Добрый день!

Помогите пожалуйста с программой. В общем дано задание: "Студентам пятого курса была предложена анкета о том, знание каких из прочитанных курсов могут потребоваться в будущей работе. Результаты анкетирования были занесены в файл. Напишите программу создания файла анкетирования. Список прочитанных курсов: математических анализ, алгебра, информатика, численные методы, дифференциальные уравнения, теория вероятности, функциональный анализ". В общем я программу написала, но не знаю, правильно ли я поняла то что от меня просят. Подскажите, пожалуйста

Код:
Program Z9;
Procedure Make(var TextFile:text);
var
str:string;

begin
readln(str);
writeln(TextFile, str);
writeln(TextFile);
writeln;
end;

var TextFile:text;
i,n:byte;
fio:string='Vvedite FIO: ';
Mat:string='Mat analiz';
Alg:string='Algebra';
Inf:string='Informatika';
Chisl:string='Chislenie metodi';
Yrav:string='Dif. yravnenia';
Teor:string='Teorya veroyatnosti';
Funk:string='Funk. analiz';

begin
writeln('Введите количество человек, проходящих анкету: ');
read(n);
Assign(TextFile, 'test2.txt');
rewrite(TextFile);
for i:=1 to n do
begin
writeln(fio);
Make(TextFile);
writeln(Mat);
Make(TextFile);
writeln(Alg);
Make(TextFile);
writeln(Inf);
Make(TextFile);
writeln(Chisl);
Make(TextFile);
writeln(Yrav);
Make(TextFile);
writeln(Teor);
Make(TextFile);
writeln(Funk);
Make(TextFile);
writeln('Анкета пройдена!');
end;
Close(TextFile);
readln;
end.
Maray вне форума Ответить с цитированием
Старый 18.01.2015, 11:15   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну на первый взгляд правильно. Под задание, если оно описано точно, программа подходит.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.01.2015, 15:53   #3
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Ну на первый взгляд правильно. Под задание, если оно описано точно, программа подходит.
А правильно использовать большое количество одинаковых процедур?
Maray вне форума Ответить с цитированием
Старый 18.01.2015, 16:45   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну как сказать...
В данном случае не критично. Дело даже не в том что правильно или нет, а в том работает ли код. Если да - значит все правильно, если нет - соответственно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.01.2015, 17:43   #5
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
Лампочка Программа-анкета

Добрый день!

Помогите пожалуйста с программой. Нужно написать её как файл записей. Я попробовала, но что-то не особо получилось. Пожалуйста, помогите написать программу

Код:
Program Z9;
Procedure Make(var anketa: record);

begin
writeln(anketa);
readln(anketa.fio1);
readln(anketa.Mat1);
readln(anketa.Alg1);
readln(anketa.Inf11);
readln(anketa.Chisl1);
readln(anketa.Yrav1);
readln(anketa.Teor1);
readln(anketa.Funk1);
writeln;
end;

var TextFile: file of record
anketa: record
fio:string='Vvedite FIO: ';
fio1:string;
Mat:string='Mat analiz';
Mat1:string;
Alg:string='Algebra';
Alg1:string;
Inf:string='Informatika';
Inf1:string;
Chisl:string='Chislenie metodi';
Chisl1:string;
Yrav:string='Dif. yravnenia';
Yrav1:string;
Teor:string='Teorya veroyatnosti';
Teor1:string;
Funk:string='Funk. analiz';
Funk1:string;
end;

begin
writeln('Введите количество человек, проходящих анкету: ');
read(n);
Assign(TextFile, 'test2.txt');
readln(TextFile, anketa);
rewrite(TextFile);
for i:=1 to n do
begin
Make(anketa);
writeln(TextFile, anketa)
writeln('Анкета пройдена!');
end;
Close(TextFile);
readln;
end.


_________________________
не надо дублировать темы! Это называется кросспостинг и запрещено правилами форума!
Модератор

Последний раз редактировалось Serge_Bliznykov; 18.01.2015 в 18:13.
Maray вне форума Ответить с цитированием
Старый 18.01.2015, 18:21   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Maray, Вы не поняли тему "записи"!
рекомендую ещё раз озакомиться с теорией.

и понять, что
Цитата:
Код:
(var anketa: record)
так писать НЕЛЬЗЯ.
record вообще КЛЮЧЕВОЕ слово.

нужно в разделе описания типов (type )
описать свой тип с помощью ключевого слова record
например,
Код:
type
  TStudentAnketa = record
      fio : string[40];
      Mat, Alg, Chisl, Yrav, Teor, Funk : <тут тип для этих полей>
  end;
и потому уже можно в коде объявлять file of TStudentAnketa
или переменную типа TStudentAnketa
и работать с данным типом данных.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.01.2015, 19:15   #7
Maray
Форумчанин
 
Регистрация: 03.01.2015
Сообщений: 160
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
Maray, Вы не поняли тему "записи"!
рекомендую ещё раз озакомиться с теорией.

и понять, что

так писать НЕЛЬЗЯ.
record вообще КЛЮЧЕВОЕ слово.

нужно в разделе описания типов (type )
описать свой тип с помощью ключевого слова record
например,
Код:
type
  TStudentAnketa = record
      fio : string[40];
      Mat, Alg, Chisl, Yrav, Teor, Funk : <тут тип для этих полей>
  end;
и потому уже можно в коде объявлять file of TStudentAnketa
или переменную типа TStudentAnketa
и работать с данным типом данных.
Так получается?

Код:
Program Z9_1;
type Rec=record
    fio, fio1, Mat, Mat1,  Alg, Alg1, Inf, Inf1, Chisl, Chisl1, Yrav, Yrav1, Teor, Teor1, Funk, Funk1:string;
    end;

Procedure Make(var anketa: Rec);

begin
 writeln(anketa);
 readln(anketa.fio1);
 readln(anketa.Mat1);
 readln(anketa.Alg1);
 readln(anketa.Inf11);
 readln(anketa.Chisl1);
 readln(anketa.Yrav1);
 readln(anketa.Teor1);
 readln(anketa.Funk1);
 writeln;
 end;

var TextFile: file of Rec;
    anketa: Rec;

begin
 writeln('Ââåäèòå êîëè÷åñòâî ÷åëîâåê, ïðîõîäÿùèõ àíêåòó');
 read(n);
 Assign(TextFile, 'test2.txt');
 readln(TextFile, anketa);
 rewrite(TextFile);
  for i:=1 to n do
 begin
 Make(anketa);
 writeln(TextFile, anketa)
 writeln('Àíêåòà ïðîéäåíà!');
 end;
 Close(TextFile);
 readln;
 end.
Но программа всё равно не работает. Я не знаю как делать. Мне уже завтра нужно сдавать. Помогите пожалуйста написать программу
Maray вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Анкета переводчика nikagru PHP 2 24.11.2012 13:11
Анкета Diablo221 Паскаль, Turbo Pascal, PascalABC.NET 9 17.08.2009 08:52
Программа Анкета с ипсользованием компонентов нескольких видов Obender13 Помощь студентам 4 03.05.2009 19:01
Анкета Claster HTML и CSS 1 09.12.2008 03:16
Анкета Мария Егорова Свободное общение 23 08.12.2008 15:08