Программа да или нет паскаль

Открой секрет «да или нет» в Паскале за 5 минут и удиви друзей чистым кодом!

Цель статьи — создать простую консольную программу на Pascal, которая в цикле запрашивает у пользователя слова «ДА» или «НЕТ» и завершается при вводе 0․ При этом мы рассмотрим:

  • структуру типичной Pascal-программы;
  • работу со строковыми переменными;
  • организацию циклов и условных операторов;
  • современные особенности Free Pascal / PascalABC․NET․

История в двух словах

Язык Pascal был создан в 1970 году Никлаусом Виртом и назван в честь французского математика-изобретателя Блеза Паскаля․ Первые версии разрабатывались для CDC 6000, но уже в 1980-х Turbo Pascal стал стандартом в образовании и системном программировании․ Сегодня основным «рабочим вариантом» является Free Pascal (компилятор FPC) и PascalABC․NET, оба распространяются бесплатно и поддерживают современные ОС: Windows, Linux, macOS․

Почему Pascal учат в школах именно с таких задач?

  • Простой синтаксис: нет тяжёлых конструкций, неявных приведений и «магических» операторов․
  • Чёткая структура: каждая программа начинается с program, затем var, begin, end․
  • Безопасные строки: встроенный тип String не требует ручной работы с нуль-терминаторами, как в C․
  • Интерактивность: ученик сразу видит ответ компилятора и результаты работы программы․

Текст программы «Да или Нет»

Код для Free Pascal / Lazarus

program YesNo;

uses
 SysUtils;

var
 s: string;

begin
 repeat
 Write('Введите ДА, НЕТ или 0 для выхода: ');
 ReadLn(s);
 s := UpperCase(Trim(s)); // убираем пробелы и приводим к верхнему регистру

 if s = '0' then
 Break
 else if s = 'ДА' then
 WriteLn('Вы ответили ДА․')
 else if s = 'НЕТ' then
 WriteLn('Вы ответили НЕТ․')
 else
 WriteLn('Неверный ввод, попробуйте ещё раз․');
 until False;

 WriteLn('Программа завершена․');
end․

Код для PascalABC․NET

begin
 while true do
 begin
 var s := ReadString('Введите ДА, НЕТ или 0 для выхода: ')․ToUpper․Trim;
 case s of
 '0': break;
 'ДА': Writeln('Вы ответили ДА․');
 'НЕТ': Writeln('Вы ответили НЕТ․');
 else
 Writeln('Неверный ввод, попробуйте ещё раз․');
 end;
 end;
 Writeln('Программа завершена․');
end․

Пошаговое объяснение

  1. Подключение модулей․ SysUtils (Free Pascal) предоставляет UpperCase и Trim․
  2. Объявление переменной s․ Тип String динамически расширяется, память контролируется автоматически․
  3. Цикл repeat/until или while true․ Оба варианта бесконечны, но выход break происходит при вводе 0․
  4. Обработка строки․ Приводим к верхнему регистру и удаляем пробелы, чтобы «Да », « да» и «ДА» считались одинаково․
  5. Условия․ Проверяем три варианта: 0, ДА, НЕТ․ В остальных случаях выводим сообщение об ошибке․

Как запустить

Windows

  • Скачайте Lazarus IDE с официального сайта lazarus-ide․org и установите․
  • Создайте новый проект Console Application, вставьте код, нажмите F9․

Linux / macOS

  • Установите Free Pascal Compiler через пакетный менеджер:
    sudo apt install fpc (Debian, Ubuntu) или brew install fpc (macOS)․
  • Сохраните файл как yesno․pas и скомпилируйте: fpc yesno․pas, затем запустите ․/yesno․

Расширения и идеи для самостоятельной работы

  • Добавить счётчик «ДА» и «НЕТ»․ В конце выводить статистику․
  • Поддержка английских Yes/No․ Разрешить ввод YES и NO в дополнение к ДА/НЕТ․
  • Графический интерфейс․ Переписать на Lazarus или Delphi VCL/FMX с кнопками «Да», «Нет», «Выход»․
  • Файловый ввод/вывод․ Сохранять каждый ответ в текстовый файл answers․txt․

Хотя Pascal сегодня редко используется в коммерческой разработке, его роль как идеального учебного инструмента остаётся неизменной: минималистичный синтаксис, строгая типизация, безопасные строки и мгновенная обратная связь․ Начав с простой программы «Да или Нет», вы за пару дней освоите основы, которые легко перенести на более «модные» языки: C#, Go, Swift и даже Python․

Так что клавиатуру в руки — и вперёд!