Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/9: Рейтинг темы: голосов - 9, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 51
1

Встречено '.', а ожидалось ';'

29.09.2015, 08:30. Просмотров 1815. Ответов 17
Метки нет (Все метки)


Ошибка при компиляции
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
type reals = file of real;
procedure p(f,g,h:reals);
var k,sum : real;
  cnt : integer;
begin
  Reset(f);
  sum:=0;  cnt:=0;
  while not eof(f) do begin
    Read(f, k); sum:=sum+k; Inc(cnt);
  end;
     if cnt=0 then Exit; {если файл пустой, выходим}
  sum := sum/cnt; {найдём среднее} 
  Reset(g);
  Seek(g, FileSize(g)); {переход в конец файла g}
  Reset(h);
  Seek(h, FileSize(h));  {переход в конец файла h}
  Reset(f); {перешли в начало файла f}
  while not eof(f) do begin
    Read(f, k); 
    if k<sum
      then Write(g, k)
      else Write(h, k)
  end;
  Close(f); 
  Close(g);
  Close(h); 
 end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.09.2015, 08:30
Ответы с готовыми решениями:

Встречено 'i', а ожидалось ';'
во всех строках типа writeln('введите координаты X Y Z 'i'й точки:'); не хочет добавлять цифру...

Встречено 'until', а ожидалось ';'
Program calculator; //v1.1 var a,b,rez:real;oper,calc:string;flag_start:boolean; Begin...

Встречено 'else', а ожидалось ';'
var a,b,c,D, x1, x2: real; begin writeln('Дано уравнение вида ax^2+bx+c=0'); writeln...

Встречено '.', а ожидалось ';'
На 169 строке возникает ошибка &quot;Встречено '.', а ожидалось ';'&quot;. Помогите, пожалуйста, решить ее. ...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
17
4286 / 2063 / 2103
Регистрация: 10.12.2014
Сообщений: 7,948
29.09.2015, 08:34 2
Вторая строка: procedure… — начало процедуры
А где её конец?
0
Модератор
63229 / 46981 / 32383
Регистрация: 18.05.2008
Сообщений: 113,873
29.09.2015, 08:42 3
Наверное так.
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
type reals = file of real;
procedure p(var f,g,h:reals);
var k,sum : real;
  cnt : integer;
begin
  Reset(f);
  sum:=0;  cnt:=0;
  while not eof(f) do begin
    Read(f, k); sum:=sum+k; Inc(cnt);
  end;
     if cnt=0 then Exit; {если файл пустой, выходим}
  sum := sum/cnt; {найдём среднее}
  Reset(g);
  Seek(g, FileSize(g)); {переход в конец файла g}
  Reset(h);
  Seek(h, FileSize(h));  {переход в конец файла h}
  Reset(f); {перешли в начало файла f}
  while not eof(f) do begin
    Read(f, k);
    if k<sum
      then Write(g, k)
      else Write(h, k)
  end;
  Close(f);
  Close(g);
  Close(h);
 end;
 var f,g,h:reals;
 begin
 assign(f,'filef');
 assign(g,'fileg');
 assign(h,'fileh');
 p(f,g,h);
 end.
Но типизированные файлы filef,fileg,fileh должны быть созданы и находиться в папке с программой.
1
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 51
29.09.2015, 11:26  [ТС] 4
Цитата Сообщение от Puporev Посмотреть сообщение
Наверное так.
спасибо. одно из условий задания - Необходимо в начале программы создать файл (элементы файла вводятся с
клавиатуры или генерируются случайным образом)
0
Модератор
63229 / 46981 / 32383
Регистрация: 18.05.2008
Сообщений: 113,873
29.09.2015, 11:28 5
Цитата Сообщение от davitalik Посмотреть сообщение
создать файл
Тогда уж 3 файла...
0
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 51
29.09.2015, 19:48  [ТС] 6
Цитата Сообщение от Puporev Посмотреть сообщение
Тогда уж 3 файла...
добавил, в итоге другая ошибка "Нельзя преобразовать тип string к real"
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.....
var f,g,h:reals;
 v,b,n:string;
 begin
 assign(f,'c:\filef.txt');
 rewrite(f);
 read (v);
 write(f,v);
 close(f);
 assign(g,'c:\fileg.txt');
 rewrite(g);
 read (b);
 write(g,b);
 close(g);
 assign(h,'c:\fileh.txt');
 rewrite(h);
 read (n);
 write(h,n);
 close(h);
 p(f,g,h);
 end.
0
Модератор
63229 / 46981 / 32383
Регистрация: 18.05.2008
Сообщений: 113,873
29.09.2015, 19:49 7
Значит создали не типизированный, а текстовый файл.
0
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 51
29.09.2015, 19:55  [ТС] 8
Цитата Сообщение от Puporev Посмотреть сообщение
Значит создали не типизированный, а текстовый файл.
нужно поменять
Pascal
1
v,b,n:string;
на
Pascal
1
v,b,n:real;
?
0
Модератор
63229 / 46981 / 32383
Регистрация: 18.05.2008
Сообщений: 113,873
29.09.2015, 19:58 9
У тебя первый код вроде нормальный был, а потом ты какую-то галиматью написал.

Добавлено через 1 минуту
Ты содрал кусок чужого кода и пытаешься его изуродовать?
0
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 51
29.09.2015, 20:05  [ТС] 10
Цитата Сообщение от Puporev Посмотреть сообщение
Ты содрал кусок чужого кода
Да, код не мой, пытаюсь доделать по своему заданию, в программировании новичок.
0
Модератор
63229 / 46981 / 32383
Регистрация: 18.05.2008
Сообщений: 113,873
29.09.2015, 20:13 11
Цитата Сообщение от davitalik Посмотреть сообщение
по своему заданию
Напиши задание.

Добавлено через 23 секунды
Только точно и полностью.
0
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 51
29.09.2015, 20:15  [ТС] 12
Цитата Сообщение от Puporev Посмотреть сообщение
Напиши задание.
Необходимо в начале программы создать файл (элементы файла вводятся с клавиатуры или генерируются случайным образом), а в конце программы сначала вывести на экран содержимое созданного файла, а затем отразить полученные результаты.
0
Миниатюры
Встречено '.', а ожидалось ';'  
Модератор
63229 / 46981 / 32383
Регистрация: 18.05.2008
Сообщений: 113,873
29.09.2015, 20:26 13
Непонятно где создаются файлы g,h , в этой же программе или в отдельной.

Добавлено через 1 минуту
А как создается файл f, в конце задания написано, и там нет про случайные числа, только вводом, конец которого 0.
0
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 51
29.09.2015, 20:29  [ТС] 14
Цитата Сообщение от Puporev Посмотреть сообщение
в конце задания написано
Написал все точно и полностью, больше информации по заданию в книге нету.
Цитата Сообщение от Puporev Посмотреть сообщение
Непонятно где создаются файлы g,h , в этой же программе или в отдельной.
думаю, что в этой, т.к. на предыдущие и следующие задачи требуется написать по 1 программе
0
Модератор
63229 / 46981 / 32383
Регистрация: 18.05.2008
Сообщений: 113,873
29.09.2015, 20:42 15
Лучший ответ Сообщение было отмечено davitalik как решение

Решение

Ну вот так сделал...
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
type reals = file of real;
procedure p(var f,g,h:reals);
var k,sum : real;
  cnt : integer;
begin
  Reset(f);
  sum:=0;  cnt:=0;
  while not eof(f) do
   begin
    Read(f, k);
    sum:=sum+k;
    Inc(cnt);
   end;
  if cnt=0 then Exit; {если файл пустой, выходим}
  sum := sum/cnt; {найдём среднее}
  Reset(g);
  Seek(g, FileSize(g)); {переход в конец файла g}
  Reset(h);
  Seek(h, FileSize(h));  {переход в конец файла h}
  Reset(f); {перешли в начало файла f}
  while not eof(f) do
   begin
    Read(f, k);
    if k<sum then Write(g, k)
    else Write(h, k)
   end;
  Close(f);
  Close(g);
  Close(h);
 end;
 var f,g,h:reals;
     x:real;
     i:byte;
 begin
 randomize;
 assign(g,'fileg');
 rewrite(g);
 assign(h,'fileh');
 rewrite(h);
 {создадим непустые файлы g,h}
 for i:=1 to 5 do
  begin
   x:=10*random;
   write(g,x);
   x:=10*random;
   write(h,x);
  end;
 {создадим файл f как написано в картинке}
 assign(f,'filef');
 rewrite(f);
 writeln('Введите в файл вещественные числа, окончание ввода 0');
 repeat
 readln(x);
 write(f,x);
 until x=0;
 p(f,g,h);
 writeln('Содержание файла F');
 reset(f);
 while not eof(f) do
  begin
   read(f,x);
   write(x:0:1,' ');
  end;
 close(f);
 writeln;
 writeln('Содержание файла G');
 reset(g);
 while not eof(g) do
  begin
   read(g,x);
   write(x:0:1,' ');
  end;
 close(g);
 writeln;
 writeln('Содержание файла H');
 reset(h);
 while not eof(h) do
  begin
   read(h,x);
   write(x:0:1,' ');
  end;
 close(h);
 end.
Только программу сразу сохраните что бы файлы получились в папке с программой.
1
Sergio Leone
29.09.2015, 22:01
  #16

Не по теме:

davitalik, а почему не спросил меня в своей прошлой теме Из одного файла переписать в другой заданные элементы ?
я то думал, что ты разобрался... :(

0
0 / 0 / 0
Регистрация: 26.02.2015
Сообщений: 51
30.09.2015, 07:31  [ТС] 17
Не по теме:
Цитата Сообщение от Sergio Leone Посмотреть сообщение
я то думал, что ты разобрался...
День добрый Sergio Leone. Я Вам благодарен за оказанную помощь! Просто на этапе компиляции была ошибка, в которой я сам пытался разобраться и устранить, но только после исправления одной ошибки появлялись другие. А так как я использую Pascal ABC.NET то решил перенести тему сюда, но прав на это не было, и решил создать новую тему уже в ветке ABC.NET
0
Sergio Leone
30.09.2015, 08:17     Встречено '.', а ожидалось ';'
  #18

Не по теме:

davitalik, хорошо, я понял. Ничего страшного, всё нормально!
Успехов в изучении Паскаля!

0
30.09.2015, 08:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2015, 08:17
Привет! Вот еще темы с ответами:

Встречено 'else', а ожидалось ';'
program Nikita; var A, B, N, x : integer; d, F :real; Function Cos(X : integer): Real;...

Встречено ';', а ожидалось ')'
Program2.pas(19) : Str (r:integer; buf:string); ошибка Встречено ';', а ожидалось ')'

Встречено '.', а ожидалось ';'
Привет, форум. Не могу найти ошибку, поможете? function Chr(arg : integer) : char; function...

Встречено 'else', а ожидалось ';'
program lol; uses crt; const nmax = 20; type matr = array of integer;

Встречено 'else', а ожидалось ';'
Program bloc; var x, y: real; begin writeln('Введите x'); read (x);

Встречено 'else', а ожидалось ';'
Program abc; var R, U, I : integer; begin writeln('Что вам нужно найти?(R,U,I)');...


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

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.