Тема работы: Среда программирования тестирования готовой программы. Программная реализация несложного алгоритма. Проведения исследования на основе использования готовой компьютерной модели.
Цель работы: изучить среду программирования и структуру программы Tuгbo Pascal, научиться составлять несложные программы в этой среде программирования, производить тестирование программы.
Задание 1. Изучить внешний вид системы программирования Турбо Паскаля.
Турбо Паскаль — это система программирования, созданная для повышения качества и скорости разработки программ.
Систему программирования Турбо Паскаль называют интегрированной средой программирования, т.к. она включает в себя редактор, компилятор, отладчик, имеет сервисные возможности.
Задание 2. Откройте файл, в котором вы запишите программу, выполняющую сложение двух чисел. Для этого нажмите клавишу F10, чтобы выйти в главное меню, затем клавишами перемещения курсора выберите опцию File, а в выпавшем меню команду New.
Программа -тест на языке паскаль
Найдите в этой программе заголовок, раздел описания переменных, признак начала программы, признак конца программы, тело программы, комментарий.
Пример программы, которая осуществляет сложение двух чисел и выводит сумму на экран:
Crt.Подключаем модуль Cгt>
Write (‘Введите первое число ‘);
Write (‘Введите второе число ‘);
rezult:= number1 + number2;
Write (‘Сумма чисел ‘, number1, ‘ и’, number2, ‘ равно’ rezult);
Ответьте на вопросы:
1. Какое назначение переменных, numbeг1, numbeг2, гesult?
Назначение переменных numbeг1 = 5, numbeг2 = 7, гezult = 12 и 35.
2. Что обозначает строка: numbeг1, numbeг2, гesult: integeг?
З. Если присвоить переменной numbeг1 и numbeг2 соответствующие значения 5 и 7, то какую строчку выдаст
компьютер при использовании последней процедуры Wгite?
Запишите её в ответ.
получится: Сумма чисел 5 и 7 равна 12.
4. Переведите с английского языка слова: Wгite, Read. Как вы думаете,
что должен делать оператор с таким названием?
Write — записать (писать), Read — считать.
5. Как вы понимаете запись гeadln (numbeг1);?
6. Чему равна значение переменной гezult:= numbeг1 + numbeг2?
Rezult равен 12.
Задание З. Измените программу, выполняющую в Задании 2, так что бы она находила произведение двух чисел.
Сохраните текстам программы в файле ФАМИЛИЯГРУППА.раs. Результат покажите преподавателю.
rezult:= numberl * number2;
Write (‘Произведение чисел ‘ number1, ‘и ‘ number2, ‘ равно ‘ rezult);
Задание 4. Измените программу, выполняющую в задании З так, что бы она выполняла расчёт площади прямоугольника по его длине и ширине. Заполните по результатам работы программу таблицу.
№ п/п | Параметры прямоугольника | |
длина | ширина | площадь |
Контрольные вопросы:
1. Среда программирования – это система программных средств, используемая программистами для разработки программного обеспечения (ПО).
Вычисление площади и периметра прямоугольника в Паскаль
2. Турбо Паскаль – это система программирования, созданная для повышения качества и скорости разработки программ. Систему программирования Турбо Паскаль называют интегрированной средой программирования, т.к. она включает в себя редактор, компилятор, отладчик, имеет сервисные возможности.
3. Сохранить текст в Turbo Pascal можно нажатием команды Save as – сохранить с новым именем, или нажатием горячей клавиши F12.
4. Программы на языке имеют блочную структуру. Блок типа PROGRAM – имеет имя, состоящее только из латинских букв и цифр.
5. Для запуска интегрированной среды программирования нужно установить текущий каталог с Турбо Паскалем (ТР7BIN) и ввести команду: turbo/exe. Чтобы открыть программу нужно нажать клавишу F10, чтобы выйти в главное меню, затем клавишами перемещения курсора выберите опцию File, а в выпавшем меню команду New.
Источник: poisk-ru.ru
Тестирование программы pascal
Несмотря на то, что на Turbo Pascal в настоящее время приложения практически не разрабатываются, сам Pascal используется в другой среде, ориентированной на создание современных программ, работающих в операционных системах Windows и Linux – Delphi (Kylix). В связи с этим возникает необходимость хорошего знания основ языка Pascal.
Кроме того, во многих школах и практически во всех технических вузах Pascal в том или ином виде входит в программу обучения. Поэтому, при помощи предлагаемого теста можно оценить уровень Вашей подготовки перед контрольными работами и экзаменами.
Темы вопросов, которые включены в тест:
- Основы программирования и Pascal
- Переменные, константы, типы данных
- Преобразования типов
- Выражения и операторы языка
- Массивы
- Манипуляции со строками
- Условный оператор и оператор выбора
- Циклические операторы
- Подпрограммы (Функции и процедуры)
- Работа с файлами
- Записи (records)
- Работа с модулями (Units)
- Работа с модулем Graph
Тест состоит из 20 вопросов. Для успешной сдачи теста Вам необходимо правильно ответить на 15 вопроса.
идет загрузка вопросов теста, пожалуйста подождите…
Просьба от разработчиков поделиться ссылкой. Спасибо!
Хотите встроить тест «Программирование на языке Pascal» в свой сайт?
Или провести тестирование?
Индекс
Список вопросов базы знаний
В этом тесте всего 68 вопросов.
Выберите параметры для тестирования:
Время на один вопрос
Краткое описание документа:
Программа для компьютерного тестирования на языке Паскаль.
Программа позволяет провести тестирование с использованием компьютера. Тест состоит из 10 вопросов. Вопросы предварительно распечатываются. При желании преподавателя количество вопросов может быть увеличено, например до 20. При этом необходимо дополнить программу.
Для каждого вопроса предлагаются пять вариантов ответа. Учащимся необходимо выбрать среди них правильный ответ и внести номер выбранного ответа в компьютер. После набора номеров выбранных ответов следует нажать на клавишу >. При этом на экране в виде текста дается результат выполнения теста. В данном примере правильными ответами являются номера 5, 2, 1, 4, 5, 2, 2, 1, 1, 1. Изменив значения A 1, A 2, …, A 10 можно выбрать другие варианты правильных ответов.
Критерии выставления оценок по результатам теста следующие:
9 или 10 правильных ответов — «отлично», 7 или 8 правильных ответов – «хорошо», 5 или 6 правильных ответов – «удовлетворительно». Если же количество правильных ответов меньше 5, то результат -«неудовлетворительно». Критерии к оценкам можно редактировать в тексте программы.
Например: если тест предназначен для первых и вторых классов, то можно исключить оценку «неудовлетворительно». Для старших классов можно поднять критерии. То есть программу можно адаптировать для конкретного теста и класса.
var A1, A2, A3, A4, A5,A6,A7,A8,A9,A10:integer;
Источник: testirovanie24.ru
Lazarus и Free Pascal: как измерить точное время выполнения операции?
уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.
Несколько лет назад я описывал четыре способа измерения точного времени выполнения операции в Delphi. Сегодня рассмотрим этот же вопрос, но уже применительно к Lazarus и Free Pascal. Учитывая, что Lazarus можно использовать как в Windows, так и в Linux, способы того, как измерить точное время выполнения операции в Lazarus и Delphi будут немного различаться. Для начала, определимся с тем, время выполнения какой операции мы будем измерять. Путь это будет вот такая простенькая процедура:
procedure DoSomething; var i,k: QWord; begin k:=0; for i:=0 to 999999999 do inc(k); end;
Учитывая то, что на данный момент я могу проверить работоспособность того или иного способа только на двух платформах: Windows и Linux, ниже я буду давать описание применимости различных способов точного измерения времени, исходя из проверок именно на этих платформах.
Содержание скрыть
Способ №1 — использование функции Now()
Платформы: Windows, Linux.
Как и в случае с Delphi этот способ вполне подойдет для измерения времени, например, следующим образом:
procedure TForm1.Button2Click(Sender: TObject); var start, stop: TDateTime; begin start:=Now;//засекаем начальное время DoSomething; stop:=Now;//засекаем конечное время Memo1.Lines.Add(SecondsBetween(start, stop).ToString); end;
И, хотя в справке Free Pascal ничего не сказано про точность функции Now() (в справке Delphi написано, что точность составляет порядка секунды), я не стал рисковать и все также использовал функцию SecondsBetween() из модуля DateUtils для расчёта количества секунд, пошедших на выполнение операции.
Способ №2 — использование функции GetTickCount
Платформы: Windows, Linux
В настоящее время, в модуле sysutils Free Pascal содержатся две функции, одна из которых помечена как deprecated:
function GetTickCount: LongWord; deprecated ‘Use GetTickCount64 instead’; function GetTickCount64: QWord;
Как и в случае с Delphi, используя GetTickCount можно получить время в миллисекундах, затраченное на выполнение операции. Однако, в справке Free Pascal про эту функцию сказано следующее: функция полезна для измерения времени, но не следует делать никаких предположений относительно интервала между тиками. В принципе, примерно тоже сказано и в справке Windows относительно их функций GetTickCount.
procedure TForm1.Button1Click(Sender: TObject); var Start, Stop: QWord; begin Start:=GetTickCount64; DoSomething; Stop:=GetTickCount64; Memo1.Lines.Add((stop-start).ToString); end;
Стоит отметить, что в зависимости от платформы на которой собирается приложение, GetTickCount64 имеет различные реализации. Так, например, если мы собираем приложение под Windows, то GetTickCount64 будет использовать одноименную функцию из модуля Windows:
function GetTickCount64: QWord; var lib: THandle; begin if Win32MajorVersion = 6 then begin if not Assigned(WinGetTickCount64) then begin lib := LoadLibrary(‘kernel32.dll’); WinGetTickCount64 := TGetTickCount64( GetProcAddress(lib, ‘GetTickCount64’)); end; Result := WinGetTickCount64(); end else Result := Windows.GetTickCount; end;
Если же мы используем Linux, то реализация GetTickCount64 основывается на использовании clock_gettime() — функции из языка Си:
Способ №3 — использование функций QueryPerformanceCounter и QueryPerformanceFrequency
Платформы: Windows
Использовать функции можно, подключив в uses модуль windows. Соответственно, под Linux метод использовать невозможно, а посмотреть реализацию способа в Windows можно в предыдущей статье про точное измерение времени выполнения операций.
Способ №4 — когда разбираться с функциями лень. Используем компонент TEpikTimer
По аналогии с классом TStopwatch из Delphi, компонент TEpikTimer дает нам широкие возможности по определению времени, затраченного на выполнение какой-либо операции. В принципе, этим компонентом я обычно и пользуюсь.
Чтобы установить компонент, заходим в меню «Пакет — Установить/удалить пакеты»
В списке «Доступные для установки» ищем пакет под названием etpackage_dsgn
Жмем кнопку «Установить выбранное» под списком и, потом, «Сохранить и перезапустить IDE». В новом окне жмем «Продолжить», Lazarus пересоберется и на вкладке System появится новый компонент TEpikTimer:
У компонента есть множество полезных функций, позволяющих измерить точное время выполнения операции в Lazarus, я продемонстрирую только одну из них.
procedure TForm1.Button3Click(Sender: TObject); begin EpikTimer1.Clear; //сбрасываем таймер EpikTimer1.Start; //засекаем время DoSomething; EpikTimer1.Stop; //останавливаем таймер Memo1.Lines.Add(EpikTimer1.Elapsed.ToString); end;
Здесь я вывел время выполнения операции в секундах. Также EpikTimer умеет выводить время в различных форматах.
Помимо представленных выше способов, вы можете также воспользоваться и другими способами измерения точного времени выполнения операции в Lazarus и Free Pascal, например компонентом TJclCounter от JEDI, однако, в любом случае, эти компоненты будут использовать один из способов, рассмотренных выше, как это делает EpikTimer.
Источник: webdelphi.ru