проведению ЛАБОРАТОРНого занятия

Севастопольский национальный униВЕРситЕт

Ядерной энергии И промышленности

 

 

 

Инструктивно-методические указания

по проведению лабораторной работы №2

на тему: «Разработка модуля и программы, использующей этот модуль»

 

 

Севастополь

 

 

«УТВЕРЖДАЮ»

Заведующий кафедрой КС

______________________________ Н.Сапожников

«___» _____________ 2011 г.

 

Лабораторная работа №2

по дисциплине «Программирование»

 

Время:2 часа Место проведения:компьютерный класс

 

Тема: «Разработка модуля и программы, использующей этот модуль»

Цель: 1. Закрепить знания возможностей языка программирования для реализации вычислительного процесса

2. Привить практические навыки разработки программ

3. Получить дальнейшие навыки по отладке и тестированию программ.

4. Воспитать чувства дисциплинированности и исполнительности.

 

план Лабораторной работы

 

1. Вводная часть 05 мин.

Основная часть 70 мин.

а) контрольный опрос 15 мин.

б)выдача индивидуального задания для выполнения 5 мин.

лабораторной работы.

в) составление программ 15 мин

г) отладка программы с использованием ИСР BP и

выполнение контрольного примера 15 мин.

д) подготовка и защита отчета по лабораторной работе 20 мин

3. Заключительная часть 05 мин.

В результате проведения практического занятия студенты должны

Знать:

Назначение и структуру модулей;

Уметь:

1. Разрабатывать модули и программы для решения различных задач;

2. Владеть приемами работы в среде Delphi.

 

 

Организационно-методические указания по

проведению ЛАБОРАТОРНого занятия

 

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

Составить отчет. Отчет должен содержать:

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

2. Схема программы (модуля, процедуры) по согласованию с преподавателем.

3. Текст программы с комментарием.

4. Тестовый пример.

Защитить отчет.

Варианты заданий

 

Задачи легкого уровня (оцениваются «удовлетворительно»):

1. Даны две различные переменные. Составить алгоритм, увеличивающий в 7 раз меньшую из них и уменьшающий на 5 большую.

2. Даны координаты центра кольца и его радиусы: внутренний R и внешний R1. Составить алгоритм определяющий, принадлежит ли кольцу точка с координатами х, у.

3. Даны две различные переменные. Составить алгоритм замены большей из них разностью между большей и меньшей.

4. Составить алгоритм, определяющий, принадлежит ли точка с координатами xl, у1 квадрату с длинной стороны а и координатами левого нижнего угла х, у.

5. Даны две переменные. Составить алгоритм, который в случае их равенства увеличивает их в два раза, а противном случае выдает сообщение "различны".

  1. Дан прямоугольник. Координаты вершины х,у, длины сторон а,в. Составить алгоритм, выясняющий, принадлежит ли точка с координатами xl,yl этому прямоугольнику.

 
 


b x,y

 

  1. Даны две переменные. Составить алгоритм, увеличивающий большую переменную на 10 и уменьшающую меньшую на 5, при разнице между значениями большей и меньшей меньше чем 5.

8. Даны круг радиуса R и квадрат со стороной a. Составить алгоритм, определяющий:

а) поместится ли круг в квадрат;

б) поместится ли квадрат в круг.

9. Даны две переменные. Если они отрицательные, то каждое значение переменной заменить его модулем; если отрицательна только одна из них, то оба значения увеличить на 0.5; если оба значения не отрицательные и ни одна из них не принадлежит отрезку [0.5 , 2.0], то оба значения уменьшить в 10 раз; в остальных случаях переменные оставить без изменения.

10. Даны две переменные. Составить алгоритм, который, уменьшает обе переменные на 5, если хотя бы одна из них больше 15, иначе выдаёт соответствующее сообщение.

11. Составить алгоритм определяющий, лежат ли на одной прямой три точки с заданными координатами.

12. Даны две переменные. Составить алгоритм, который, если их сумма больше 40, выдаст об этом сообщение, а если сумма равна 30, увеличит каждую переменную на 5.

13. Составить алгоритм, определяющий можно ли из четырёх стержней составить параллелограмм (их длинны даны).

 

Задачи среднего уровня (оцениваются «хорошо»):

1. Заменить значения всех элементов таблицы суммой всех предыдущих элементов.

2. Дана таблица. Замените элементы, стоящие на нечетных местах и равные 3, произведением номера на значение этого элемента.

3. Увеличить значения каждого элемента таблицы на сумму всех предыдущих элементов.

4. Составить алгоритм, увеличивающий все элементы таблицы, значения которых меньше -10,

на 5 .

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

6. Составить алгоритм, уменьшающий все элементы таблицы, значения которых меньше 40, но больше 10 , на 15 .

7. Составить алгоритм, находящий самую длинную последовательность нулей в таблице.

8. В таблице увеличить все элементы, значения которых меньше 50, на их номер.

9. Составить алгоритм, определяющий, сколько раз в таблице встречаются случаи, когда соседние элементы имеют различные знаки.

10. Составить алгоритм, находящий среднее арифметическое положительных элементов таблицы.

11. Составить алгоритм, находящий сумму элементов и их количество до первой перемены знака.

12. Составить алгоритм, находящий номер элемента целочисленной таблицы, значение которого наиболее близко к заданному целому числу.

13. Дана таблица. Составить алгоритм, находящий в ней произведение элементов, значения которых больше 10.

14. Составить алгоритм, находящий номер последнего положительного элемента в таблице.

 

Задачи высокого уровня (оцениваются «отлично»):

1. Дана матрица. Составить алгоритм, находящий сумму элементов, значения которых больше 30, но меньше 80.

2. В квадратной матрице, найти количество элементов, лежащих на и ниже главной диагонали, значения которых меньше 40.

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

4. Дана матрица. Составить алгоритм, находящий количество элементов в ней, значения которых больше 10 (обработка по строчкам).

5. В квадратной матрице найти сумму отрицательных элементов, лежащих на главной диагонали.

6. Составить алгоритм, определяющий, правильно ли составлено выражение со скобками.

7. Дана матрица. Составить алгоритм, находящий сумму элементов, значения которых больше 40 (обработка по столбцам).

8. Составить алгоритм, находящий, с какой позиции первый раз в тексте встречается "а".

9. Даны две таблицы, упорядоченных по возрастанию. Создать из них третью упорядоченную таблицу.

10. В квадратной матрице для каждой строки найти минимальный элемент и переставить его с элементом, стоящим в этой строке на главной диагонали.

11. Даны два текста. Составить алгоритм, находящий самое короткое слово в первом тексте, которое не встречается во втором.

 

Контрольные вопросы

  1. Модуль – это структуры данных или тип программы?
  2. Из каких частей состоит модуль?
  3. Данные какой части модуля доступны другим программам?
  4. Что отличает файл модуля от других программных файлов?
  5. Каким образом можно подключить модуль к программе?
  6. Когда выполняются операторы инициализирующей части?
  7. В каком порядке подключаются к программе модули, если их несколько?
  8. Может ли модуль быть рекурсивным?

9. С помощью каких процедур происходит распределение памяти под динамические переменные?

10. Какие состояния может принимать указательная переменная?

11. В каких случаях указатель может находиться в неопределенном состоянии?

12. В чем разница между состоянием nil и неопределенным состоянием?

13. Какие действия выполняют процедуры NEW и DISPOSE?

14. В чем выражаются динамические свойства несвязанных динамических данных?

15. В чем сходство и различие между линейными и кольцевыми списками?

16. Что представляет собой очередь как структура данных?

17. Что представляет собой стек как структура данных?

18. Что требуется для создания связанных динамических структур данных?

19. В чем состоит особенность описания типов для создания динамических структур данных?

20. Сколько указателей требуется для работы с очередью?

21. Какие действия необходимо выполнить для создания очереди?

22. Как добавить или удалить элемент очереди?