Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 1
Регистрация: 06.12.2008
Сообщений: 11

Записи и типизированные файлы

06.12.2008, 01:05. Показов 1290. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Тема: "Записи и типизированные файлы"
Смысл задачи такой, что в первой процедуре, спаршивается сколько пассажиров всего, далее идёт ввод пассажиров с параметрами (фамилия, инициалы, кол-во вещей, общий вес вещей), все введённые данные записываются в файл. Также в первой процедуре ведётся подсчёт "Среднего веса одной вещи всех пассажиров". Одним словом первая процедура работает НА УРА и правильно считает если вводить такие вот записи:
Три пассажира
Code
1
2
3
petrov s.s. 12 60
kozlov k.k. 15 43
sidorov v.v. 9 7.
Основная формула, которая используется во второй процедуре
ABS(R-An.ves/An.kolvo)
R-это средний вес одной вещи всех пассажиров;
An.ves-вес вещей одного пассажира;
An.kolvo - количество вещей одного пассажира.
Весь гемор начинается во второй процедуре во первых тоже самое среднее значение считается не правильно. Во вторых не удаётся посчитать "Средний вес вещи одного пассажира".
Необходимо при запуске пргоги нажать '1' заполнить файл данными, при нажатии цифры '2' должно произвестись решение этой задачи, при использовании этих пассажиров на экран должно вывестись
kozlov k.k. 15 43
sidorov v.v. 9 7.
При повторных запусках программы необходимо нажатием '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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
Program LAB9;
USES Crt;
Type
H=Record
familia, initials:string[10];
kolvo:integer;
ves:integer;
end;
Spis=file of H;
Var
Spi:Spis;
An:H;
I,N,M:integer;
F:real;
T:real;
G:real;
R:real;
W:real;
c:char;
Procedure menu;
Begin
Writeln('┌────────────────────────┐');
Writeln('│1.Заполнить файл данными │');
Writeln('├────────────────────────┤');
Writeln('│2.Нахождение пассажира │');
Writeln('├────────────────────────┤');
Writeln('│3.Выход │');
Writeln('└────────────────────────┘');
End;
Procedure proc1;
Begin
F:=0;
G:=0;
Assign(Spi,'D:\MYFILE.DAT');
Rewrite(Spi);
Writeln('Введите количество пассажиров');
Readln(N);
For I:=1 to N do
Begin
With An do
Begin
Writeln('Введите фамилию пассажира');
Readln(familia);
Writeln('Введите инициалы пассажира');
Readln(initials);
Writeln('Введите количество вещей пассажира');
Readln(kolvo);
Writeln('Введите вес вещей пассажира');
Readln(ves);
Writeln(' ');
begin
F:=F+kolvo;
G:=G+ves;
end;
end;
write(Spi,An);
end;
begin
R:=G/F;
Writeln('Средний вес одной вещи всех пассажиров',R);
end;
Close(Spi);
End;
Procedure proc2;
Begin
Assign(Spi,'D:\MYFILE.DAT');
Reset(Spi);
begin
F:=0;
G:=0;
For I:=1 to N do
begin
F:=F+An.kolvo;
G:=G+An.ves;
end;
R:=G/F;
Writeln('Средний вес одной вещи всех пассажиров',R);
For I:=1 to N do
begin
Reset(Spi);
begin
With An do
begin
If ABS(R-(An.ves/An.kolvo))<0.3 then
Writeln(An.familia,' ',An.initials,' ',An.kolvo,' ',An.ves)
end;
end;
end;
end;
end;
begin
ClrScr;
Repeat
menu;
c:=readkey;
case c of
'1'roc1;
'2'roc2;
else writeln ('Ошибка');
end;
until (c=#27) or (c='3');
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.12.2008, 01:05
Ответы с готовыми решениями:

Записи.Типизированные файлы
Помогите плиз,никак не могу сделать . Составить программу, которая содержит текущую информацию о книгах в библиотеке. Сведения о книгах...

Записи, типизированные файлы.
ребят помогите,вот условие: Багаж пассажира характеризуется количеством вещей и общим весом вещей. Дан файл f, содержащий информацию...

Типизированные файлы, записи.
Пожалуйста помогите с такой задачей: Известно,что при формировании файла PRIM.DAT, состоящего из записей следующего вида:название...

3
 Аватар для Arriba
257 / 173 / 27
Регистрация: 17.10.2008
Сообщений: 770
06.12.2008, 17:55
Три пассажира
Code
1
2
3
petrov s.s. 12 60
kozlov k.k. 15 43
sidorov v.v. 9 7.
У тебя много тут ошибок:
во первых зачем ты в цикле Reset(Spi); делаешь
во вторых полностью запутался в end'ах
в третьих ктож за тебя будет из файла An читать будет? нужны строчки Read(Spi,An);
в четвёртых при твоём условии не будет выводится то что ты написал, если я прально задание понял,смотри:
Code
1
2
3
4
12  60  5              -1,9444
15  43  2,866666667 0,1889
9   7   0,777777778 2,2778
36  110 3,0556
Следовательно если указать 0.3 в условии то выведет kozlov k.k. 15 43
Совет: чтоб не запутаться организуй код,моно по типу как я...

Вот рабочая программа:
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Program LAB9;
USES Crt;
Type H=record
  familia, initials:string[10];
  kolvo:integer;
  ves:integer;
end;
 
  Spis=file of H;
Var Spi:Spis;
    An:H;
    i,N,M:integer;
    F,T,G,R,W:real;
    c:char;
 
procedure menu;
begin
   Writeln('1.Zapolnit ') ;
   Writeln('2.Search pass');
   Writeln('3.Exit');
end;
 
procedure proc1;
begin
   F:=0;
   G:=0;
   Assign(Spi,'myfile.dat');
   Rewrite(Spi);
   Writeln('N pass');
   Readln(N);
     for i:=1 to N do
      begin
     with An do
      begin
        Writeln('Famili');
        Readln(familia);
        Writeln('Inichiali');
        Readln(initials);
        Writeln('kol-vo veshey');
        Readln(kolvo);
        Writeln('ves veshey');
        Readln(ves);
        Writeln(' ');
          F:=F+kolvo;
          G:=G+ves;
      end;
    Write(Spi,An);
     end;
  R:=G/F;
  Writeln('Sredniy ves odnoy veshi vsex passashirov',R);
  Close(Spi);
end;
 
procedure proc2;
begin
   Assign(Spi,'myfile.dat');
   Reset(Spi);
   F:=0;
   G:=0;
   N:=0;
     while not Eof(Spi) do {for i:=1 to N do  }
      begin
    Read(Spi,An);
    F:=F+An.kolvo;
    G:=G+An.ves;
    WriteLn(An.ves/An.kolvo);
    N:=N+1;
      end;
   R:=G/F;
   Writeln('Sredniy ves veshey vsex passashirov',R);
   ReadLn;
   Reset(Spi);
     for i:=1 to N do
      begin
       Read(Spi,An);
    if Abs(R-An.ves/An.kolvo)<0.3 then
     Writeln(An.familia,' ',An.initials,' ',An.kolvo,' ',An.ves);
      end;
end;
 
begin
  ClrScr;
    repeat
       menu;
       c:=readkey;
    case c of
      '1':Proc1;
      '2':Proc2;
    else
      Writeln ('Oshibka');
    end;
    until (c=#27) or (c='3');
end.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
06.12.2008, 18:21
Или у меня дэжа-вю, или я сегодня решал эту задачу.
0
 Аватар для Arriba
257 / 173 / 27
Регистрация: 17.10.2008
Сообщений: 770
06.12.2008, 20:52
Цитата Сообщение от Puporev Посмотреть сообщение
Или у меня дэжа-вю, или я сегодня решал эту задачу.
Ага и такое может быть, тут человек задачку задал напишите функцию тангенса, и говорит, вот у меня подобная решена, и выкладывает мою, что я решал, а там нуно ток функцию заменить...я оболдеваю на них просто...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.12.2008, 20:52
Помогаю со студенческими работами здесь

Записи и типизированные файлы.
Всё, что написано в книге! Задачи раздела направлены как на приобретение навыков обработки данных сложной структуры, определяемых...

Типизированные файлы, удаление записи по номеру
Ребята пожалуйста помогите мне с задачей. Она у меня пралильная, нужно только добавить процедуру удаления! вообщем,эта процедура должна...

Типизированные файлы
Нужна помощь с задачей: В файле f записей хранится следующая информация о товарах, имеющихся на складе: наименование товара, цена единицы...

Типизированные файлы
Дан файл,содержащий данные о выдаче книг в библиотеке. Он содержит дату выдачи,фамилию автора и тематику книги. Определить: a)день, в...

Не типизированные файлы.
Доброго времени суток. Прошу проверить логику программы. Задание следующие: Создать не типизированный файл в поточной директории(в той...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru