Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы 1-15_Delphi.doc
Скачиваний:
0
Добавлен:
01.01.2020
Размер:
1.13 Mб
Скачать

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

Составить программу и блок-схему для решения каждой из следующих задач:

Написать программы с применением процедур:

1.      Вывести на экран строку из повторяющегося заданного символа заданной длины.

2.      Вывести на экран все простые числа из заданного диапазона.

3.      Вывести на экран заданный массив по 6 чисел в строке.

Дополнительное задание

  1. Написать процедуру, которая вычисляем максимальный элемент массива и меняют его местами с первым элементом.

  2. Написать программу, которая заменяет все отрицательные элементы массива нулями.

Составить программу и блок-схему для решения каждой из следующих задач:

3.      Даны длины a, b и c сторон некоторого треугольника. Найти медианы треугольника. (Замечание: длина медианы, проведенной к стороне а, равна .)

4.      Даны координаты вершин двух треугольников. Определить, какой из них имеет наибольшую площадь.

5.      Даны два двумерных массива 10-порядка. Напечатать тот из них, у которого наименьший след (сумма диагональных элементов), считая, что такой массив один.

6.      Для одномерного массива определить значение наибольшего элемента. Использовать подпрограмму-функцию.

Лабораторная работа №12 Тема: «Использование записей при составлении программ» Цели работы

        Выработать умения, навыки работы с комбинированными типами

        Научить работать с типом Запись

        Развивать аналитическое и логическое мышление

Постановка задачи

Составить программу и блок-схему для решения каждой из следующих задач:

Задать тип-запись для реализации записной книжки: фамилия, имя, отчество, дата рождения, адрес, телефон.

Осуществить поиск в массиве из 10 записей по:

А) фамилии

Б) по любому полю записи

Дополнительное задание

Разработать самим некоторый тип запись и написать программу для задания массива таких записей и вывода их на экран в табличной форме.

Лабораторная работа №13,14

Тема: «Текстовые файлы»

Цели работы

        Закрепить умения и навыки работы с текстовыми файлами

        Углубить знания о файлах

        Развивать логическое и аналитическое мышление

        Развивать умение сравнивать факты, делать выводы

Методический материал

Рассмотрим пример использования текстовых файлов в проекте «Программа тестирования» в простейшем варианте.

Подготовьте в блокноте файл с тестом.

В файле с тестами текст с вопросом помечается символом «?» в первой позиции и текст с правильным ответов знаком «+» также в первой позиции.

Рисунок 9. Пример файла с тестом

1. Создайте новый проект, на основную форму поместите компоненты:

Label1 – для вывода текста вопроса;

Radiogroup1 – для вывода вариантов ответа;

Label2 – для вывода сообщения «Правильно» или «Неправильно» в зависимости от ответа тестируемого;

Label3 – для вывода номера вопроса

Label4 – для вывода рейтинга;

Label5 – для вывода качества знаний при тестирвоании.

Кнопки с надписями «Далее» и «Закрыть».

Рисунок 10. Основная форма

2. Объявите глобальные переменные после строки Form1: Tform1;:

vopros:array[1..100] of shortstring; // массив для записи вопросов в тесте

otvet: array[1..1000,1..5] of shortstring; // массив для записи ответов в тесте

prav_otv:array[1..1000] of shortstring; // массив для записи правильных ответов

reiting : integer; // переменная для подсчета рейтинга

rmax ,ksl :integer; // переменные передаваемые в процедуру sluch для выбора случайным //образом rmax вопросов для тестирования из числа имеющихся ksl.

rmax1,ksl1:integer; // для перемешивания вариантов ответа

fix : mas; // массив для запоминания номеров вопросов используемых в тесте

answer : mas; // массив для запоминания номеров ответов в случайном порядке num_vopr:integer; // номер вопроса

3. Подсоедините к проекту модуль mylib, содержащий процедуру sluch (см. лаб. работу 11).

Procedure sluch (var fix: mas; rmax,ksl : integer);