С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
 Аватар для GL_Loney
7 / 7 / 1
Регистрация: 09.07.2009
Сообщений: 148

Проверьте программку, господа программисты)

03.04.2010, 19:39. Показов 795. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем переписал программку, от вас требуется помощь в её проверке, вроде все работает нормально, но я не уверен, так как в её написании принимал не только я один участие.

Смысл программы в том, что она должна выполнять заданные последовательности действий над данными определенного типа.

Есть определенные нюансы, которые нужно задействовать в программе, в них-то у меня и возникают сомнения.

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

Тип данных в файле: Вещественные числа
Вариант задания имени файла: Ввод с клавиатуры
Вариант вывода сообщений об ошибках: Краткий
Вариант цепочки операций над данными: Ввод с клавиатуры и запись в массив, запись из массива в файл, чтение из файла и вывод на экран.

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
103
104
105
106
107
program obrabotka_files;
uses crt;
const t='tovar.dat';
type
tovar=record
            name:string [20];
            zena:real;
            kolich:longint;
            end;
var f: file of tovar;
s:tovar;
procedure out_fil;
var a:array [1..20] of tovar;
i, j:integer;
          begin
               assign(F,t);
{$I-}        { отключаем автоматический контроль }
               Reset (F);
               { получили код результата }
               if IoResult <> 0 then
               begin      { возникла ошибка! }
                    Write(' Ошибка при открытии файла: ');
                    Case IoResult of
                         1 : Writeln ('Файл не найден');
                         3 : Writeln ('Маршрут не найден');
                         4 : Writeln ('Слишком много открытых файлов');
                         5 : Writeln ('Доступ к файлу запрещен');
                         12 : Writeln ('Некорректный код доступа к файлам')
                        else
                         Writeln('Неизвестный код ошибки');
                            end
                        end;
   {$I+}       { включаем автоматический контроль   }
 
               i:=1;
               repeat
                     read (f,s);
                     a[i]:=s;
                     i:=i+1;
               until EOF(f);
               rewrite(f);
              for j:=1 to i-1 do
                              write (F,a[j]);
               repeat
                     writeln ('Введите наименование товара или * (признак конца ввода)');
                     readln (s.name);
                            if s.name<> '*' then
                                                begin
                                                     writeln ('Введите цену');
                                                     readln (s.zena);
                                                     writeln ('Введите количество');
                                                     readln (s.kolich);
                                                     write (F,s);
                                                end;
               until s.name='*';
 
               close(f);
          end;
{--------------------------------------------------------------}
procedure input_fil;
          begin
               assign(F,t);
 
               {$I-}        { отключаем автоматический контроль }
               Reset (F);
               { получили код результата }
               if IoResult <> 0 then
               begin      { возникла ошибка! }
                    Write(' Ошибка при открытии файла: ');
                         case IoResult of
                         1 : Writeln ('Файл не найден');
                         3 : Writeln ('Маршрут не найден');
                         4 : Writeln ('Слишком много открытых файлов');
                         5 : Writeln ('Доступ к файлу запрещен');
                         12 : Writeln ('Некорректный код доступа к файлам')
                              else
                                       Writeln('Неизвестный код ошибки');
                                            end
                                            end;
                                            {$I+}       { включаем автоматический контроль   }
 
               repeat
                     read (f,s);
                     writeln(s.name, ' ' , s.zena:5:2, ' ', s.kolich);
               until EOF(f);
               close(f);
          end;
{----------------------------------------}
begin
clrscr;
gotoxy (15,8);
writeln ('Программу разработал великий и ужастный гуру всех программеров');
gotoxy (10,10);
writeln ('Программа предназначена для ввода записей с клавиатуры');
gotoxy (15,11);
writeln ('записи их в файл и чтения из файла');
gotoxy (10,13);
writeln ('Запись в файл');
out_fil;
gotoxy (10,13);
writeln ('Чтение из файла');
 clrscr;
input_fil;
gotoxy (10,20);
writeln('Нажмите любую клавишу');
readln;
end.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.04.2010, 19:39
Ответы с готовыми решениями:

Здравствуйте господа программисты и сисадмины
Здравствуйте господа программисты и сисадмины... можете мне помочь. ? мне нужно написать програмку по данному условию.... помогите.... я...

Господа программисты,не справляюсь с классами,нужно ваше содействие
Создать базовый класс Triad (тройка чисел) с операциями сложения с числом, умножения на число, проверки на равенство. Создать производный...

Проверьте, господа-учителя)
вот сделал программу и не знаю, может что-то упустил само задание следущее: вычислить сумму и количество элементов массива Х (n) целых...

7
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
03.04.2010, 20:56
Тип данных в файле: Вещественные числа
type
tovar=record
name:string [20];
zena:real;
kolich:longint;
end;
???? Откуда Вы это содрали и какое это имеет отношение к файлу вещественных чисел file of real?

Добавлено через 1 минуту
Цитата Сообщение от GL_Loney Посмотреть сообщение
так как в её написании принимал не только я один участие.
Даже примерно догадываюсь кто еще принимал участие, а точнее кто ее писал.
1
 Аватар для GL_Loney
7 / 7 / 1
Регистрация: 09.07.2009
Сообщений: 148
04.04.2010, 11:02  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
???? Откуда Вы это содрали и какое это имеет отношение к файлу вещественных чисел file of real?

Добавлено через 1 минуту

Даже примерно догадываюсь кто еще принимал участие, а точнее кто ее писал.
Хм, если честно без понятия, это программа одногруппника, он её заказывал

Но у меня немного другой вариант, я подправил под себя, но не не уверен. По-этому решил удостовериться, что все верно с критериями моего задания)
+ если честно, мне здесь многие моменты непонятны, не знаю, что там за мего программист писал, но когда препод увидел эту программу у моего одногруппника, сказал, чтобы переделывал, ибо не правильно, и чтобы писал сам)
Походу он просто сам ничего не понял в ней, а если уж сам не понял, то подумал, что студент такое написать не может, ну с его уровнем по крайней мере.

Так тчо не знаю с кем у Вас ассоциации шли, но я думаю они ложные (:

Добавлено через 13 часов 37 минут
Цитата Сообщение от Puporev Посмотреть сообщение
???? Откуда Вы это содрали и какое это имеет отношение к файлу вещественных чисел file of real?
Это просто другой вариант с другими критериями к заданию)
Не подскажите, как переделать в вещественные числа?
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
04.04.2010, 11:27
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
uses crt;
const nmax=100;
type fail=file of real;
     mas=array[1..nmax] of real;
procedure WriteFile(var f:fail;a:mas;n:byte);
var i:byte;
    name:string;
begin
write('Имя файла для записи: ');
readln(name);
name:=name+'.txt';
assign(f,name);
rewrite(f);
for i:=1 to n do
write(f,a[i]);
close(f);
end;
procedure Readfile(var f:fail);
var x:real;
    name:string;
begin
write('Имя файла для чтения: ');
readln(name);
name:=name+'.txt';
assign(f,name);
{$I-} reset(f);  {$I+}
if IOResult <> 0 then
 begin
  writeLn('Не могу открыть файл ',name);
  writeLn('Работа программы завершена. Нажмите ENTER');
  readln;
  exit;
 end;
writeln('Содержание файла:');
while not eof(f) do
 begin
  read(f,x);
  write(x:0:2,' ');
 end;
close(f);
end;
var a:mas;
    f:fail;
    n,i:byte;
begin
clrscr;
repeat
write('Размер масива до ',nmax,'=');
readln(n);
if not n in [1..nmax] then writeln('Неверное значение, повторите ввод.');
until n in[1..nmax];
writeln('Введите в массив ',n,' действительных чисел:');
for i:=1 to n do
 begin
  write('el[',i,']=');
  readln(a[i]);
 end;
WriteFile(f,a,n);
ReadFile(f);
readln
end.
Добавлено через 51 секунду
Вывод данных о разработчике пишите сами, только не списывайте с той программы, там товарищ просто пошутил.
1
 Аватар для GL_Loney
7 / 7 / 1
Регистрация: 09.07.2009
Сообщений: 148
04.04.2010, 13:26  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
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
uses crt;
const nmax=100;
type fail=file of real;
     mas=array[1..nmax] of real;
procedure WriteFile(var f:fail;a:mas;n:byte);
var i:byte;
    name:string;
begin
write('Имя файла для записи: ');
readln(name);
name:=name+'.txt';
assign(f,name);
rewrite(f);
for i:=1 to n do
write(f,a[i]);
close(f);
end;
procedure Readfile(var f:fail);
var x:real;
    name:string;
begin
write('Имя файла для чтения: ');
readln(name);
name:=name+'.txt';
assign(f,name);
{$I-} reset(f);  {$I+}
if IOResult <> 0 then
 begin
  writeLn('Не могу открыть файл ',name);
  writeLn('Работа программы завершена. Нажмите ENTER');
  readln;
  exit;
 end;
writeln('Содержание файла:');
while not eof(f) do
 begin
  read(f,x);
  write(x:0:2,' ');
 end;
close(f);
end;
var a:mas;
    f:fail;
    n,i:byte;
begin
clrscr;
repeat
write('Размер масива до ',nmax,'=');
readln(n);
if not n in [1..nmax] then writeln('Неверное значение, повторите ввод.');
until n in[1..nmax];
writeln('Введите в массив ',n,' действительных чисел:');
for i:=1 to n do
 begin
  write('el[',i,']=');
  readln(a[i]);
 end;
WriteFile(f,a,n);
ReadFile(f);
readln
end.
Добавлено через 51 секунду
Вывод данных о разработчике пишите сами, только не списывайте с той программы, там товарищ просто пошутил.
Хм, спасибо) Ваша программа намного понятнее и проще)
У меня только ошибку выдает, такого вида: name+.pas(6,1) Fatal: Syntax error, "OF" expected but "PROCEDURE" found
Что не так?
И ещё, я так понял точный пусть, где файл должен создаваться указывать не нужно, он создается там, где находиться программа?
0
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
04.04.2010, 13:42
Цитата Сообщение от GL_Loney Посмотреть сообщение
он создается там, где находиться программа?
Именно так, можете указывать и полный путь, кроме расширения, без разницы.
А скопировать готовый код и ничего там не трогая своими кривыми ручонками, это конечно невозможно.
Если еще и моя программа не заработает, застрелитесь.
Вложения
Тип файла: rar 7.rar (704 байт, 5 просмотров)
1
 Аватар для GL_Loney
7 / 7 / 1
Регистрация: 09.07.2009
Сообщений: 148
04.04.2010, 14:15  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Именно так, можете указывать и полный путь, кроме расширения, без разницы.
А скопировать готовый код и ничего там не трогая своими кривыми ручонками, это конечно невозможно.
Если еще и моя программа не заработает, застрелитесь.
Неа, я не скопировал, в ручную переписывал чтобы машинно запомнить функции и прочее)))
Работает, урааа) Спасибо, что выдержали мой алегофренизм в программирование) Искренне признателен (:
0
04.04.2010, 14:19

Не по теме:

Правильно олигофренизм

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.04.2010, 14:19
Помогаю со студенческими работами здесь

Господа программисты есть идея создать игру. Давайте объединимся
Итак есть идея создать онлайн игру. Игра платная, приносящая доход владельцам. Предложение такое: Я сам программист, но моих сил не...

Проверьте маленькую программку
Вычислить сумму по модулю 2, значений 22-ух ячеек памяти с адреса 0117h. (ДЛЯ МП К580ВМ80) Правильно я сделал? Не могу проверить так как...

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

Проверьте, пожалуйста, программку (Анализ работы магистрали передачи данных)
Уважаемые форумчане, ниже изложено условие задачи и мой вариант ее решения. Скажите, пожалуйста, правильно ли она решена? Заранее...

Программисты, ищу совет.Проверьте кто-нибудь или я правильно пишу программу определения возраста человека?
Программисты, нужна помощь .Проверьте кто-нибудь или я правильно пишу программу определения возраста человека?


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru