Прекращена работа программы pascalabc net

Компилирую код на pascal. Открываю exe. Ввожу значения, нажимаю enter и программу выкидывает, помогите пожалуйста, очень нужно.

var a, b, c: integer; begin write(‘write a,b: ‘); readln(a, b); while b <> 0 do begin c := a mod b; a := b; b := c; end; writeln(‘The NOD is ‘, a); end.
Программа pascalABC
Отслеживать
задан 29 янв 2018 в 15:20
Armen Epremyan Armen Epremyan
5 1 1 бронзовый знак
«программу выкидывает» — ??
– user176262

29 янв 2018 в 15:24
да, выкидывает, даже ошибки не выдает
29 янв 2018 в 15:25

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Попробуйте добавить readln; перед end.

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

Отслеживать
ответ дан 29 янв 2018 в 15:28
user240900 user240900
Спасибо огромное за ответ! Разобрался
29 янв 2018 в 15:37

  • pascal
  • pascalabc.net
    Важное на Мете

Похожие

Подписаться на ленту

Лента вопроса

Как скачать и установить программу pascalABC на windows

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

lang-pascal

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

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

Прекращена работа программы pascalabc net

Не могу запустить программу на паскале. Установила среду Pascal ABC NET полную версию, как обычно с net framework 4 написано «Установка успешно завершена». Но когда пытаюсь открыть, только мигнул значок ожидания и все, программа не открывается, хотя файлы программ с расширением .pas все ассоциируются с программой Pascal ABC NET.

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

Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,703

а попробуй в безопасном режиме запустить. а попробуй лишние службы отключить. а попробуй скачать простой турбо паскаль 7.0.

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

Регистрация: 09.01.2008
Сообщений: 26,238

попробуйте запустить от имени администратора (правой кн.мышки «Запуск от имени администратора»

PascalABC.NET Обзор IDE / Скачать, установить, удалить / pascal abc .net / Net FrameWork / 2022

посмотрите в системный журнал, может там есть сообщения об ошибках

Читайте также:
Как написать программу на питоне с картинками

попробуйте поставить ДРУГУЮ версию (взять другой инсталлятор)

и вообще, а зачем Вам Pascal ABC.NET ?!
Это же гибрид, монстр, мутант! Это скорее не Паскаль, чем Паскаль!

Возьмите лучше Free Pascal + Lazarus — чистенько, аккуратненько, современно и абсолютно бесплатно.

а Turbo Pascal не рекомендую, ведь для Turbo Pascal придётся ещё DosBox использовать, иначе он на соврменных Windows не запустится, в винде убрали DOS.

Участник клуба
Регистрация: 03.06.2009
Сообщений: 1,703

+
а Turbo Pascal не рекомендую, ведь для Turbo Pascal придётся ещё DosBox использовать, иначе он на соврменных Windows не запустится, в винде убрали DOS.

А мы знаем, под какой системой он сидит? может, всё ещё под Win’98.

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

Источник: www.programmersforum.ru

Ошибка при запуске pascal abc net

Лучший ответ

Сообщение было отмечено G_lion как решение

Решение

Удаляйте со всеми потрохами (каким-нибудь нормальным Uninstaller-ом, умеющим удалять остатки файлы/реестр, не тем, который дефолтный в Windows. Я пользуюсь RevoUninstaller-ом, например) и переустанавливайте заново. А Duplicate file Remover выкинуть и больше никогда не устанавливать, во избежание повторения подобного глюка с этой же или другими программами.

Эксперт Pascal/DelphiАвтор FAQ

32445 / 20940 / 8104

Записей в блоге: 7

Значит, Duplicate File Remover натворил делов глубже, чем в конкретной установке PABC.NET. Возможно, было затронуто что-то в самом .NET-е, возможно (но судя по сообщению об ошибке — маловероятно) в самой Windows.

Программа не может загрузить файл PascalABCNET.xshd Возможно он поврежден.

Эксперт Pascal/DelphiАвтор FAQ

32445 / 20940 / 8104

Записей в блоге: 7

пересоздается при переустановке приложения. Это не может быть проблемой. Что-то глубже нарушено.

я сужу по скрину

Я не знаю ни чего не помогает
Даже диск восстановил

А какое содержимое файла PascalABCNET.exe.config?

Добавлено через 1 минуту
Я УДАЛИЛ файла PascalABCNET.exe.config И ПОШЛО

Что пошло? куда пошло? У тебя в эксепшене вторым пунктом написано, что проблема в третьей строке этого файла. там написана версия .NET с которой программа должна работать. Возможно этот файл был поврежден.

Проще всего в таких случаях переустановить PascalABC.NET в новый каталог. Старый можно при этом не деинсталлировать — пусть висит в назидание

Проще всего в таких случаях переустановить

Тут проблема в том, что не понятно в каких…

Проблемы с PascalABC.Net

PascalABC может ставиться непосредственно на компьютер или использоваться в Сети: http://pascalabc.net/WDE/
Дома у меня Windows 10. Локальная версия встала без проблем.
Сейчас в командировке. На ноутбуке Windows 7. Пытался ставить локальную версию, — после её запуска выдаёт ошибку: поставьте NET.Framework v4.0. Поставил и его, вроде без ошибок. Но программа не запускается.
Попробовал работать на сетевой версии. Всё работает, быстро, но недолго. Через пару минут работы программа без всяких сообщений слетает. Ограничений на время работы в документации не нашёл.

Читайте также:
Определите что будет напечатано в результате работы следующего фрагмента программы var s k integer

Re: Проблемы с PascalABC.Net

Смотрите журнал событий Windows: Компьютер -> Управление (в контекстном меню по пкм) -> Диагностика -> Журналы Windows (вроде так, пишу по памяти). Сначала смотрите журнал приложений, скорее всего там будет ошибка. Если не будет, можете поискать в журнале системы. Какой .net ставили (откуда брали установщик)?

Re: Проблемы с PascalABC.Net

На ноутбуке Windows 7. Пытался ставить локальную версию, — после её запуска выдаёт ошибку: поставьте NET.Framework v4.0. Поставил и его, вроде без ошибок. Но программа не запускается.

Вы поставили именно NET.Framework v4.0? Какие версии NET.Framework у Вас установлены?

На странице http://pascalabc.net/ssyilki-dlya-skachivaniya есть такое сообщение:
«Пользователям операционных систем Windows 7 SP1, Windows Vista SP2 и выше рекомендуется установить версию .NET Framework 4.5.1 или старше.»

Там же есть ссылка на NET Framework 4.5.1

Re: Проблемы с PascalABC.Net

Изображение

Ошибка та же:

Re: Проблемы с PascalABC.Net

Вообще-то, .NET Framework 4.x является частью Windows 7, так что его надо ставить через «Компоненты Windows» и обновлять через обновление системы.

Re: Проблемы с PascalABC.Net

Большое спасибо!
У меня обновление Windows криво стояло. Перезапустил его. И сразу получилось поставить .NET Framework 4.5.1.
Локальный PascalABC работает!

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы

UNIT data_input; INTERFACE uses crt; const n=5; type leaner = record fam : string[50]; //фамилия ученика name : string[50]; //имя school : integer; //№ школы predmet : array [1..n] of char; //предмет ball : array [1..n] of integer; //количество набранных баллов на ЕГЭ end; procedure INPUT; //ВВОД ДАННЫХ IMPLEMENTATION //ВВОД ДАННЫХ PROCEDURE INPUT; var s: leaner; f: file of leaner; i: integer; g, q: char; Begin //проверка на существование файла и его создание if not (FileExists (‘Список учеников.txt’)) then begin textcolor(4); write(‘Файл не существует!’); textcolor(0); end else write (‘Здравствуйте, вы хотите создать новый файл — (Y) или открыть уже имеющийся — (N)?’); readln(g); if (g=’y’) or (g=’Y’) then begin assign(f,’Список учеников.txt’); rewrite (f); end else begin assign(f,’Список учеников.txt’); reset(f); end; //ввод данных о человеке i:=1; repeat write(‘Введите фамилию ученика: ‘); readln(s.fam); write(‘Введите имя ученика: ‘); readln(s.name); write(‘Введите № школы ученика: ‘); readln(s.school); writeln(‘Введите наименования предметов, которые сдавал ученик (5 предметов): ‘); for i:=1 to n do readln( s.predmet[i] ); writeln(‘Соответственно введите количество набранных баллов на ЕГЭ учеником (если ученик не сдавал какой-либо экзамен поставьте 0): ‘); for i:=1 to n do readln(s.ball[i]); write(f,s); write(‘Вы закончили ввод данных (y/n)?’); readln(q); until (q=’n’) or (q=’N’); close(f); End; BEGIN // начало инициирующей части END. // конец инициирующей части

Неописанная переменная

begin S := 1; // Неизвестное имя S end.

Все используемые переменные должны быть предварительно описаны с помощью ключевого слова 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.

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

Обратные преобразования не допускаются.

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

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

Ссылки

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

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

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