Ошибка ожидался символ точка

pixel0

0 / 0 / 0

Регистрация: 07.12.2012

Сообщений: 11

1

Ошибка Ожидался символ «точка»

19.05.2013, 14:06. Показов 927. Ответов 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
const
max=7;
var
a:array [1..max, 1..max] of integer;
c,j,i,q,n,m:integer;
 
begin
Randomize;
writeln('Введите размер матрицы(n m): ');
repeat read(n, m);
until (n in [1..Max]) and (m in [1..Max]);
writeln('матрица: ');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i, j]:=random(20)-10;
write(a[i, j]:4);
end;
writeln;
end;
writeln;
 writeln('Введите число q: ');
 readln(q);
end;
 
 
 
begin
C:=0;
 writeln('Элементы превышающие по модулю число ', q, ': ');
  for i:=1 to n do
   for j:=1 to m do
    if abs(a[i, j]) > q then
     begin
      inc(C);
      write(a[i, j], '  ');
     end;
 writeln;
 writeln('их кол-во: ', C);
end.



0



Programming

Эксперт

94731 / 64177 / 26122

Регистрация: 12.04.2006

Сообщений: 116,782

19.05.2013, 14:06

2

КонецСвета

Почетный модератор

7966 / 3937 / 2464

Регистрация: 30.10.2011

Сообщений: 5,377

19.05.2013, 14:16

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
const
max=7;
var
a:array [1..max, 1..max] of integer;
c,j,i,q,n,m:integer;
 
begin
Randomize;
writeln('Введите размер матрицы(n m): ');
repeat
read(n, m);
until (n in [1..Max]) and (m in [1..Max]);
writeln('матрица: ');
for i:=1 to n do
    begin
    for j:=1 to m do
        begin
        a[i, j]:=random(20)-10;
        write(a[i, j]:4);
        end;
    writeln;
    end;
writeln;
writeln('Введите число q: ');
readln(q);
C:=0;
 writeln('Элементы превышающие по модулю число ', q, ': ');
  for i:=1 to n do
   for j:=1 to m do
    if abs(a[i, j]) > q then
     begin
      inc(C);
      write(a[i, j], '  ');
     end;
 writeln;
 writeln('их кол-во: ', C);
end.



1



0 / 0 / 0

Регистрация: 07.12.2012

Сообщений: 11

19.05.2013, 14:22

 [ТС]

3

Большое спасибо!



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

19.05.2013, 14:22

Помогаю со студенческими работами здесь

Поиск суммы положительных четных чисел и ошибка «Ожидался оператор»
Выдает ошибку,где"у", Встречено ‘:=’, а ожидался оператор

var q:real;
t,i,y:integer;…

Ошибка в коде «Ожидался оператор»
Program gKKMMf;
var b,s,x,h:real;
begin
repeat
Write(‘Vvedite konez otrezka b’);
Read(b);…

Ошибка «встречено else, а ожидался оператор»
Пишет в откладке yes но всеровно неправильно

Ошибка «ожидался идентификатор»
Шифр состоит из двух частей: зашифрованного сообщения и ключа к нему. Зашифрованное сообщение и…

Ошибка «Ожидался оператор»
Program lab141;
var R, H: array of real; k: integer; V: real;
const pi=3.1415;
begin …

Ошибка «Program1.pas(2) : Ожидался тип
program pr1;
var aa: array of integer;//здесь ошибка
c, b, i:integer;
begin
b:=0;
c:=0;…

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

Или воспользуйтесь поиском по форуму:

3

const
max=7;
var
a:array [1..max, 1..max] of integer;
c,j,i,q,n,m:integer;
 
begin
Randomize;
writeln('Введите размер матрицы(n m): ');
repeat
read(n, m);
until (n in [1..Max]) and (m in [1..Max]);
writeln('матрица: ');
for i:=1 to n do
    begin
    for j:=1 to m do
        begin
        a[i, j]:=random(20)-10;
        write(a[i, j]:4);
        end;
    writeln;
    end;
writeln;
writeln('Введите число q: ');
readln(q);
C:=0;
 writeln('Элементы превышающие по модулю число ', q, ': ');
  for i:=1 to n do
   for j:=1 to m do
    if abs(a[i, j]) > q then
     begin
      inc(C);
      write(a[i, j], '  ');
     end;
 writeln;
 writeln('их кол-во: ', C);
end.

Среда программирования паскаль

Среда программирования

Для вызова среды программирования Pascal ABC необходимо запустить на выполнение файл PascalABC.exe или загрузить среду посредством ярлыка, если он существует на рабочем столе.

Для создания нового файла необходимо выполнить следующие действия: Файл/Новый. На экране откроется чистое окно с именем Program1.pas. , его при сохранении файла желательно изменить.

При вводе и редактировании текста программы используются такие же приемы, как и при работе в текстовом редакторе. С помощью команды Помощь — Содержание можно ознакомиться со справочной системой Pascal ABC.

Для сохранения программы необходимо выполнить команду Файл/Сохранить как…имя файла.

Для загрузки программы из файла необходимо выполнить команду Файл/Открыть выбрать файл..

Для выполнения программы необходимо выполнить команду Программа/Выполнить, либо нажать клавишу F9.

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

Наиболее часто встречающиеся ошибки при работе в системе программирования Pascal ABC:

  1. «неожиданный символ» — символ введен не с регистра английских букв;

  2. «ожидался символ «точка», «точка с запятой», Begin и др.»- отсутствует необходимый символ или команда;

  3. «неизвестное имя» — неправильно введена команда;

  4. «ошибка ввода» — неверно указано имя файла;

  5. «ожидался конец файла» — ошибки в команде end.

Структура программы

Программа, записанная на языке Pascal может содержать следующие разделы:

  1. Заголовок (Program)

  2. Раздел меток (Label)

  3. Раздел констант (Const)

  4. Раздел типов (Type)

  5. Раздел переменных (Var)

  6. Раздел процедур и функций (Procedure, Function).

  7. Раздел операторов (Begin…End)

Все программы обязательно имеют раздел заголовка и раздел операторов, остальные составляющие могут отсутствовать. При отсутствии некоторых частей программы общий порядок их следования сохраняется. Разделы между собой разделяются знаком «;» Раздел операторов заключается в операторные скобки. Это зарезервированные слова Begin, End. Раздел операторов заканчивается точкой. Раздел «заголовок» начинается с зарезервированного слова program, за которым указывается имя программы. В качестве имени может использоваться любой набор символов алфавита с несколькими исключениями:

  • нельзя использовать зарезервированные слова;

  • нельзя начинать имя с цифры;

  • при использовании имени не используется пробел.

Программа на языке Pascal может иметь следующий вид:

Program <имя программы>;

<раздел описаний, в котором описываются данные>

Begin

<раздел команд (тело программы)>;

End.

Набрал в программе PascalABC программный код и при запуске получил ошибку ОЖИДАЛСЯ СИМВОЛ «ТОЧКА С ЗАПЯТОЙ» во второй строке после слова object
Но там она и не нужна. Помогите советом в чем ошибка?

Код:

Program primer;
Type tPredoc=object {В ЭТОЙ СТРОКЕ ОШИБКА}
   Name:string; {поле данных объекта}
   Procedure Declaration; {объявление методов объекта}
   Procedure MyName;
End;
tуре tSon= оbject(tPredoc) {Тип, наследующий tPredoc }
   procedure Declaration; {перекрытие методов предка}
   procedure МуName(Predoc : tPredoc);
end ;

tуре tGrandSon=object(tSon) {Тип, наследующий tSon}
   procedure Declaration ; {перекрытие методов предка}
end ;

const ded : tPredoc = ( Name : «Петров Николай Иванович»);
   otec : tSon = ( Name : «Петров Сергей Николаевич»);
   vnuk : tGrandSon = ( Name : «Петров Олег Сергеевич»);
{раздел описания процедур и функций, где обязательно должны быть написаны все объявленные в объектных типах методы}
Procedure tPredoc.Declaration ;
{реализация метода объекта}
begin
   writeln (‘Я — предок!’);
end ;
Procedure tPredoc.MyName ;
{реализация метода объекта}
begin
   writeln(‘Я -‘, Name);
end;
BEGIN
   ded.Declaration ; {вызов методов общего предка}
   ded.МуName;
   writeln;
   otec.Declaration;
   otec.MyName(ded); { вызов методов объекта otec типа tSon}
   writeln;
   vnuk.Declaration; { вызов методов объекта vnuk типа tGrandSon}
   vnuk.MyName ( otec );
END.

5 ответов

446

28 сентября 2014 года

Meander

487 / / 04.09.2011

Попробуйте поставить точку с запятой, что-бы отделить секцию объявления типов во второй строке.

1.9K

29 сентября 2014 года

alexandrv

39 / / 21.01.2010

Не прокатит такой трюк

20K

29 сентября 2014 года

ellor!

198 / / 24.05.2012

Лучше использовать class, а не object. object — наследие прошлого, формально должно поддерживаться, а по факту устарело.

Код:

type
  TPredoc = class
    Name : String; {поле данных объекта}
    Procedure Declaration; virtual; {объявление методов объекта}
    Procedure MyName;
  end;

  TSon = class(TPredoc)
    procedure Declaration; override; {перекрытие методов предка}
  end;

1.9K

15 октября 2014 года

alexandrv

39 / / 21.01.2010

Я упростил программу до такого программного кода. НО теперь возникает ошибка в типизированной константе:ОШИБКА ПРЕОБРАЗОВАНИЯ ТИПОВ. Не подскажете почему?

Код:

Program primer;
Type tPredoc=class
   Name:string; {поле данных объекта}
   Procedure Declaration; {объявление методов объекта}
   Procedure MyName;
End;

const ded : tPredoc = ( Name : ‘Петров Николай Иванович’);

 
{раздел описания процедур и функций, где обязательно должны быть написаны все объявленные в объектных типах методы}
Procedure tPredoc.Declaration ;
{реализация метода объекта}
begin
   writeln (‘Я — предок!’);
end ;
Procedure tPredoc.MyName ;
{реализация метода объекта}
begin
   writeln(‘Я -‘, Name);
end;
BEGIN
   ded.Declaration ; {вызов методов общего предка}
   ded.МуName;

   
END.

20K

16 октября 2014 года

ellor!

198 / / 24.05.2012

Class не поддерживает объявления констант типа

Код:

const ded : tPredoc = ( Name : ‘Петров Николай Иванович’);

Объекты надо явно создавать и удалять.

Код:

var
  ded : tPredoc;
begin
  ded := tPredoc.Create;
  try
    ded.Name = ‘Петров Николай Иванович’;
    ded.Declaration;
    ded.MyName;
  finally
    ded.Free;
  end;
end.

    msm.ru

    Нравится ресурс?

    Помоги проекту!

    >
    Массивы
    , Ввести массив A(N) помощь

    • Подписаться на тему
    • Сообщить другу
    • Скачать/распечатать тему

      


    Сообщ.
    #1

    ,
    13.05.11, 12:35

      Ввести массив A(N). Упорядочить четные элементы массива по убыванию, а не четные по возрастанию. Вывести на печать исходный и преобразованный массивы.
      Ребят помогите сможете решить эту задачку, понятия не имею, как делать


      Булат Шакиров



      Сообщ.
      #2

      ,
      13.05.11, 12:50

        Четные/нечетные — not(odd)/odd
        Сортировка —
        Как упорядочить массив по возрастанию?


        lena1992



        Сообщ.
        #3

        ,
        13.05.11, 13:02

          ExpandedWrap disabled

            procedure SelectionSort(var arr : array of Real; const N : Integer);

            var

                I   :   Integer;

                J   :   Integer;

                K   :   Integer;

                M   :   Real;

            begin

                for i:=1 to N do

                begin

                    m:=Arr[i-1];

                    k:=i;

                    for j:=i to n do

                    begin

                        if m>Arr[j-1] then

                        begin

                            m:=Arr[j-1];

                            k:=j;

                        end;

                    end;

                    Arr[k-1]:=Arr[i-1];

                    Arr[i-1]:=m;

                end;

            end;

          мммм а как, т.е куда(место чего) нужно ввести значение not(odd)/odd в этой программе?

          Guru

          volvo877



          Сообщ.
          #4

          ,
          13.05.11, 14:21

            Moderator

            *******

            Рейтинг (т): 878

            ExpandedWrap disabled

              const

                 n = 10;

                 a : array[1 .. n] of integer = (

                    1, 2, 3, 4, 5, 6, 7, 8, 9, 10

                 );

              var

                 i, j, T : integer;

                 b : boolean;

              begin

                 writeln(‘before:’);

                 for i := 1 to n do

                    write(a[i]:4);

                 writeln;

                 for i := 1 to n — 1 do

                 begin

                    b := odd(a[i]);

                    for j := i + 1 to n do

                       if (odd(a[j]) = b) and (a[j] < a[i] = b) then

                       begin

                          T := a[i]; a[i] := a[j]; a[j] := T;

                       end;

                 end;

                 writeln(‘after:’);

                 for i := 1 to n do

                    write(a[i]:4);

                 writeln;

              end.

            ExpandedWrap disabled

              before:

                 1   2   3   4   5   6   7   8   9  10

              after:

                 1  10   3   8   5   6   7   4   9   2

            Четные (2, 4, 6, 8, 10) отсортированы по убыванию, а нечетные (1, 3, 5, 7, 9) — по возрастанию… Идея — в том, что сравниваться (и обмениваться местами, разумеется) 2 элемента должны только тогда, когда они либо оба четные, либо оба — нечетные… Ну, а уж поменять направление сортировки в зависимости от четности/нечетности элементов — это вообще проще простого…


            lena1992



            Сообщ.
            #5

            ,
            13.05.11, 14:22

              Сможете решить ее я что ни чего не поняла…… :'(

              Добавлено 13.05.11, 14:24
              Все спасибо всем большое)))


              lena1992



              Сообщ.
              #6

              ,
              16.05.11, 18:19

                Я сдавала, проверяили, и мне сказали что не правильно. Вот что препод сказал: не может присвоить значение константе…
                Помогите пжл кто чем сможет, почему не правильно…(

                Добавлено 16.05.11, 18:22

                Цитата lena1992 @ 16.05.11, 18:19

                препод сказал

                Какой препод, блин сам паскаль говорит:
                не может присвоить значение константе… O:-)

                Guru

                volvo877



                Сообщ.
                #7

                ,
                16.05.11, 18:29

                  Moderator

                  *******

                  Рейтинг (т): 878

                  Если у тебя не Турбо-Паскаль, то добавь одно слово:

                  ExpandedWrap disabled

                    const

                       n = 10;

                    var

                       a : array[1 .. n] of integer = (

                          1, 2, 3, 4, 5, 6, 7, 8, 9, 10

                       );


                  lena1992



                  Сообщ.
                  #8

                  ,
                  16.05.11, 18:56

                    Сейчас запустила пишет: Ошибка: ожидался символ «точка с запятой»- Pascal ABC

                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

                    0 пользователей:

                    • Предыдущая тема
                    • Pascal
                    • Следующая тема

                    Рейтинг@Mail.ru

                    [ Script execution time: 0,0758 ]   [ 15 queries used ]   [ Generated: 6.06.23, 01:18 GMT ]  

                    Понравилась статья? Поделить с друзьями:
                  • Ошибка ожидался идентификатор но var обнаружено
                  • Ошибка ожидался идентификатор но readln обнаружено
                  • Ошибка ожидался идентификатор pascal
                  • Ошибка ожидалось присваивание
                  • Ошибка ожидалось имя процедуры или функции