Исправить ошибки в программе паскаль

Все используемые переменные должны быть предварительно описаны с помощью ключевого слова var (внутри блока begin/end или, что обычно хуже, в разделе описаний вначале программы).

Отсутствующая ;

begin var S: integer S := 1; // Компилятор здесь скажет: Ожидалась ; — имеется ввиду предыдущая строка! end.
begin var S := 1 S := S + 1 // Аналогично: проблема на предыдущей строке, а на текущей нет, потому что после неё идёт end.

end.

Очень частая ошибка у начинающих. Курсор, как правило, позиционируется в начале следующей строки.

Несовместимость типов при присваивании

begin var S: integer := 1.3; // Нельзя преобразовать тип real к integer end.

Безболезненно можно присваивать только данные одного типа. Если данные — разных типов, то в редких случаях можно преобразовать данные одного типа в данные другого. Например, целое можно преобразовать в вещественное, а символ — в строку. Обратные преобразования не допускаются.

Чтобы не ошибаться в подобных простых случаях в Паскале есть следующая краткая форма объявления и инициализации переменной:

Как исправить ошибку с условием в Pascal.


begin var S := 1.3; // Тип real будет выведен компилятором автоматически end.

Отсутствие закрывающего апострофа литеральной строки

begin var x := 2; // x получает тип integer var y := 3; // y получает тип integer writeln(‘Результат сложения равен =, x + y); // Не хватает закрывающего апострофа end.

Закрыть апостроф надо на той же строке, где расположен открывающий апостроф

Читайте также:
Методы защиты противодействия динамическим способам снятия защиты программ от копирования

Ошибки расстановки запятых и апострофов при выводе строк и выражений

begin var x := 2; // x получает тип integer var y := 3; // y получает тип integer writeln(x, ‘+,’ y, ‘=’, x+y); // Неверная расстановка запятых и апострофов end.

Слишком много запятых и апострофов рядом, потому начинающие часто путаются 🙂 Надо уяснить правила:

  • запятые разделяют разные элементы вывода
  • все, что находится в апострофах, будет выведено на экран без изменений

Ошибка ввода

begin var x: integer; read(x); // введите блаблабла и посмотрите, что получится end.

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

Аналогичный фрагмент в более современном и предпочтительном синтаксисе:

begin var x := ReadInteger; end.

Ошибка неинициализированной переменной

begin var x: integer; // Забыли инициализировать или ввести x var r := x * x; // r получает тип integer writeln(‘Квадрат числа ‘, x, ‘ = ‘, r); end.

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

Деление на 0

begin var x := 0; var c := 666 div x; // Здесь происходит деление на 0 end.

Если во время выполнения программа выполнит деление на 0, то она завершится с ошибкой.

Корень из отрицательного числа

begin writeln(sqrt(-1)); // Корень из отрицательного числа end.

В обычном Паскале возникает ошибка времени выполнения. В PascalABC.NET выводится NaN — Not a Number

Ч 3 While to pascal Как исправить ошибку бесконечное выполнение кода в PAScal

Ссылки

  • Программы для начинающих
  • Сайт PascalABC.NET: Программы и алгоритмы для начинающих

Источник: pascalabc.net

Исправление ошибок. — Pascal

товарищи мозги дайте пожалуста правельное решение по паскалю помогите исправеть ошибки напешите как надо пожалуста а не посвоему. ребят зарание вам БОЛЬШОЕ СПАСИБО надеюсь на вас мои дорогие друзь +7. Найти все различающиеся элементы целочисленной квадратной матрицы размерностью nxn. +9. Записать в текстовый файл N символов. Выполнить следующие операции с созданным файлом: — Выяснить, чего в нем больше: русских букв или цифр; — Выяснить, вхо¬дит ли данное слово в указанный текст, и если да, то сколько раз; — Составить в ал¬фавитном порядке список всех слов, встречающихся в этом тексте. +10. Составить программу, вычеркивающую любую букву из данного текста. у восьмой нет условия

Читайте также:
Установить программу на внешний диск

Источник: studassistent.ru

Исправить ошибки в коде Pascal [закрыт]

Закрыт. Этот вопрос не по теме. Ответы на него в данный момент не принимаются.

Сообщение содержит лишь текст задачи, в котором нет описания проблемы, либо вопрос чисто формален («как мне выполнить это задание»). Для повторного открытия вопроса, добавьте описание конкретной проблемы, поясните, что именно не получается, в чём вы видите проблему.

Закрыт 6 лет назад .

Даны два массива А(i) и B(i). Создать массив C(i), каждый элемент которого будет равен наименьшему каждой пары элементов из А и В (элементы массива А и В вводить с клавиатуры). Мой код:

program zadaca46; uses crt; const n=20; var a:array[1..n] of byte; b:array[1..n] of byte; c:array[1..n] of byte; i:integer; Begin begin writeln(‘vvedite elementi massiva A’); For i:=1 to n do Readln(A[i]:4); end; Begin Writeln(‘vvedite elementi massiva B’); For i:=1 to n do readln(B[i]:4); end; begin writeln(‘massiv C’); For i:=1 to n do Begin c[i]:=min(a[i],b[i]); write(c[i]:4); end; readkey; end; end.

Источник: ru.stackoverflow.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru