Как написать тестовую программу на паскале

Когда вы запускаете эту программу, то видите синее окно ввода. Именно в нем и набирается текст программы — вы вводите ее с клавиатуры. Вверху находиться полоса меню, через нее осуществляется доступ ко всем ресурсам и возможностям Турбо Паскаля. Активным меню становиться при нажатии клавиши F10. Основные взможности меню, о которых я хочу вам рассказать — это Открытие и Сохранение файлов.

Представим, что мы начали писать в окне ввода программу, которую не закончили, и хотим дописать после. Что надо сделать? Сохранить ее на диске, а после загрузить обратно в редактор.

Итак, запускаем Паскаль и набираем что-нибудь в онке редактора. Далее — сохраняем программу. Для этого:

Нажимаем F10 и переходим в меню.

Выбираем меню File, а далее — Save — открывается окно сохранения файла.

Выбираем имя для файла и вводим его в строку ввода.

Нажимаем Enter и файл сохраняется.

Теперь можно выйти из программы.

Как загрузить файл обратно в Паскаль? Программы на Паскале всегда имеют расширение .pas. Зная это, мы всегда будем безошибочно отличать их от других файлов.

Как написать программу на Pascal за 30 секунд.

Открываем файл в Паскале:

Запускаем Turbo Pascal и нажимаем F10.

Выбираем меню File, после Open. Появляется окно открытия файла.

Вводим имя файла в строку ввода или выбираем его из списка.

Нажимаем Enter и Паскаль открывает окно редактора с текстом программы, сохраненной на диске.

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

Итак, мы написали программу и хотим проверить ее на ошибки. Для этого можно просто попробовать ее запустить и посмотреть, работает она или нет. Но запускать программу и проверять ее на ошибки — это разные вещи, зачем же использовать одно вместо другого? Вот и давайте рассмотрим, как сделать это все в отдельности.

Проверка на ошибки — «компиляция».

Имея в окне редактора текст программы, можно проверить его на ошибки — такие как ошибки синтаксиса (забыли поставить «;»), ошибки в служебных словах (написали не begin, a bigin) и другие.

Читайте также:
16 задание егэ информатика программа питон

Для того, чтобы это сделать, необходимо нажать клавиши Alt-F9: нажать Alt и удерживая его нажать F9.

После этого начнется процесс проверки и если все написано без ошибок, то появиться окно успешной компиляции, в котором будет мигать надпись

«Compile successfull: Press any key»

Если же возникли какие-либо ошибки, то процесс проверки остановится на первой из них, переведя курсор в строку с ошибкой и вверху или внизу редактора появиться красная строка с названием ошибки. Названия ошибок мы будем разбирать позже.

Процесс, который поисходит при этом, называется «компиляция».

Как сделать игру Теннис на Паскале

Компиляция — это перевод программы с языка программирования на язык машинный, понятный компьютеру.

При нажатии сочетания клавиш Alt-F9 и происходит попытка компиляции, то есть ваша программа переводиться с Паскаля на машинный язык. И если этот процесс не будет прерван ошибками в синтаксисе, структуре или какими-либо еще, то программа может быть запущена и выполнена компьютером.

Как это сделать — запустить программу? Читайте.

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

Мастер-класс по информатике «Программирование тестов»

Цель мастер класса – изучить язык программирования Pascal, научить составлять тесты с применением операторов ввода, вывода и условия.

Хусаенова Гульнур Айратовна

Описание разработки

Цель мастер класса – изучить язык программирования Pascal, научить составлять тесты с применением операторов ввода, вывода и условия.

Задачи:

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

2)развивать алгоритмическое мышление обучающихся.

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

1. интерактивная доска.

2. мультимедийная презентация. Приложение 4

3. раздаточный материал Приложение 1, 2 (Шаблон — блок — схема, карточка с операторами).

4. демонстрационная таблица Приложение 3 (Операторы и команды в Pascal).

5. Тест в Pascal. Приложение 5, 6

Используемые методы обучения: объяснительно иллюстративный (рассказ, беседа, практическая работа)

Ход мастер — класса:

Целеполагание.

Добрый день, уважаемые коллеги и учащиеся!

Задача современной школы – обеспечить вхождение учащихся в информационное общество, научить пользоваться новыми информационными технологиями.

Наш кружок называется «Основы программирования», цель которого формирование алгоритмического и логического мышления, так же навыков программирования и ИКТ компетентности.

Чтобы быть программистом не достаточно знать Компьютерные технологии, необходимо уметь работать и разбираться в них.

Читайте также:
Код программы что такое

Тема сегодняшнего мастер – класса «Составление тестов на языке Паскаль». Цель которого научить программировать простые тесты. Каждый учащийся составит свой вопрос с вариантами ответа, затем все программы объединим в одну и получим общий проект – программу — тест.

Актуализация

Тест. Повторение операторов ввода, вывода, условия

Ребята посмотрите на экран, давайте вместе ответим на пару вопросов и повторим основные операторы программирования.

(на экране приложение Тест на паскале)

Как вы думаете, можно ли с помощью простых операторов, которые мы повторили только что, составить такую же программу — тест? (Да можно)

Мастер-класс по информатике Программирование тестов

Сообщение нового материала

Учащиеся разделены на группы по 3 — 4 человека, на столах лежат карточки с операторами(приложение 1) и блок — схема шаблон алгоритма (приложение 2).

Блок — схемой называется форма записи алгоритма с помощью геометрических фигур.

Оператор ввода и вывода принято обозначать параллелограммом.

Начало и конец Овалом.

Решение учебной задачи

Перед вами шаблон программы — тест.

Ребята ваша задача расставить карточки с операторами согласно блок схеме:

Весь материал – смотрите документ.

-82%

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

The Discord

В свете работы над моими старыми программами из КГУ понадобилось покрывать код юнит-тестами. Как выяснилось после гуглопоиска, для Free Pascal, которым я компилирую свою переработку, существует проект под названием FPTest, представляющий собой каркас для написания юнит-тестов на этом замечательном языке.

Документации по этому проекту довольно немного, и официальная вики, как и README, сильно Lazarus-ориентированы. Поэтому расскажу здесь, как подключить FPTest к существующему консольному проекту и собрать тесты, написанные с его помощью.

Допустим, у нас есть программа

Я разберу первое задание из курса «алгоритмизация и программирование» в КГУ за 2006 год.

Требуется написать программу, которая будет получать число от пользователя с консоли, вычислять значение достаточно сложной математической функции от неё и выдавать результат обратно на консоль. Как-то так:

program Lesson01; uses SysUtils; var x: real; answer: real; begin writeln(‘Enter 0.1 =< x =0.1) and (x<=0.6); answer:= MyFunction(x); writeln(‘Answer is ‘,answer:12:3); end.

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

То есть, каждый билд будет собирать две программы: одна собственно та, которая нужна и другая, которая запускает юнит-тесты и рапортует о результатах. Поэтому весь код, который будет покрыт юнит-тестами, выносим в отдельный .pas файл, который будет использоваться как программой с тестами, так и основной программой.

Читайте также:
Как улучшить качество плохого видео программы

Итого, состав файлов конечного решения задачи выглядит так:

  1. Lesson01.pas — точка входа основной программы.
  2. Tests01.pas — точка входа юнит-тестов.
  3. L01Code.pas — код программы, проверяемый тестами.
  4. L01Tests.pas — код самих юнит-тестов (а вы как думали? 🙂 ).

Я здесь не буду говорить о том, как писать сами юнит-тесты, используя FPTest. Только о том, как их подключить.

Разнесём код по отдельным файлам

Приведу полные листинги всех четырёх файлов, это важно, потому что boilerplate code, нужный для нормальной работы FPTest, не особо очевиден:

Lesson01.pas
program Lesson01; uses SysUtils, L01Code; var x: real; answer: real; begin writeln(‘Enter 0.1 =< x =0.1) and (x<=0.6); answer:= MyFunction(x); writeln(‘Answer is ‘,answer:12:3); end.
Tests01.pas
program Tests01; uses TextTestRunner, L01Tests; begin L01Tests.RegisterTests; RunRegisteredTests; end.

L01Tests.pas
unit L01Tests; interface uses TestFramework, L01Code; type Lesson1Tests = class(TTestCase) published procedure TestValidInput; procedure TestNegativeXShouldThrowError; procedure TestMinimumAllowedX; procedure TestMaximumAllowedX; end; procedure RegisterTests; implementation uses math; const precision = 0.0001; procedure RegisterTests; begin TestFramework.RegisterTest(Lesson1Tests.Suite); end; procedure Lesson1Tests.TestValidInput; begin Check(MyFunction(0.1) — 12.4244944 < precision, ‘On the left edge function should be calculable’); Check(MyFunction(0.35) — 4.8590140 < precision, ‘Function should be calculable in the middle of interval’); Check(MyFunction(0.6) — 4.8087379 < precision, ‘On the right edge function should be calculable’); end; procedure Lesson1Tests.TestNegativeXShouldThrowError; begin StartExpectingException(EInvalidArgument); MyFunction(-1); StopExpectingException(); end; procedure Lesson1Tests.TestMinimumAllowedX; begin StartExpectingException(EInvalidArgument); MyFunction(0.1 — precision); StopExpectingException(); end; procedure Lesson1Tests.TestMaximumAllowedX; begin StartExpectingException(EInvalidArgument); MyFunction(0.6 + precision); StopExpectingException(); end; initialization end.

L01Code.pas
unit L01Code; interface function MyFunction(x: real) : real; implementation uses Math; function MyFunction(x: real) : real; begin if (x < 0.1) then raise EInvalidArgument.Create(‘Expected x in [0.1, 0.6]’); if (x >0.6) then raise EInvalidArgument.Create(‘Expected x in [0.1, 0.6]’); MyFunction := abs(sin(power(10.5*x, 1/2))) / (power(x, 2/3) — 0.143) + 2*pi*x; end; initialization end.

Как обычно, тестов больше, чем кода.

Связывание вместе

Теперь, когда у нас все эти файлы счастливо лежат в одной папке, нам нужно собирать программу с тестами, указывая компилятору, где лежит папка с исходниками FPTest. Я вот не знал, что для этого нужно использовать параметр -Fu :

$ fpc -Fu»ПУТЬ ДО FPTEST» -Mobjfpc Tests01.pas

Путь можно относительный. Обязательно использовать флаг -Mobjfcp , потому что FPTest у себя внутри использует объектную модель, так что без -Mobjfpc тесты не соберутся.

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

$ fpc Lesson01.pas

Источник: hijarian-sys.blogspot.com

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