Учебно-методический комплекс дисциплины высокоуровневые методы информатики и программирования Специальность

Вид материалаУчебно-методический комплекс

Содержание


Тема 4. Объектно-ориентированное моделирование
Тема 5. Основные принципы построения интерфейса
Тема 6. Object Pascal и Delphi.
Министерство культуры Российской Федерации
«московский государственный университет
Сборник лабораторных работ и практических
Лабораторное занятие № 1
Практическое занятие № 2
Практическое занятие № 3
Лабораторное занятие № 3
Практическое занятие №4
Лабораторное занятие № 4
Подобный материал:
1   2   3   4
Тема 3. Современные технологии разработки программного обеспечения

Рекурсия

Понятие рекурсии

Примеры программ

Поиск файлов

Кривая Гильберта

Поиск пути

Поиск кратчайшего пути

Скоростная разработка прикладных программ (RAD)

Интегрированная среда разработки (IDE)

Разветвлённые приложения (multi-thread)

Генератор отчётов (Quick Report)

Отладка программы

Классификация ошибок

Предотвращение и обработка ошибок

Отладчик

Трассировка программы

Точки останова программы

Добавление точки останова

Изменение характеристик точки останова

Удаление точки останова

Наблюдение значений переменных

Многодокументальный интерфейс (MDI)

Связывание и внедрение объектов (OLE)

Программный интерфейс (API) разработки графических приложений (OpenGL)

Библиотека визуальных компонент (VCL)

Компонент программиста

Выбор базового класса

Создание модуля компонента

Тестирование модуля компонента

Установка компонента

Ресурсы компонента

Установка

Ошибки при установке компонента

Тестирование компонента

Удаление компонента

Настройка палитры компонентов

Графический интерфейс пользователя (GUI)

Мультимедиа возможности Delphi

Компонент Animate

Компонент MediaPlayer

Воспроизведение звука

Запись звука

Просмотр видеороликов и анимации

Создание анимации

Графические возможности Delphi

Холст

Карандаш и кисть

Карандаш

Кисть

Вывод текста

Методы вычерчивания графических примитивов

Линия

Ломаная линия

Окружность и эллипс

Дуга

Прямоугольник

Многоугольник

Сектор

Точка

Вывод иллюстраций

Битовые образы

Мультипликация

Метод базовой точки

Использование битовых образов

Загрузка битового образа из ресурса программы

Создание файла ресурсов

Подключение файла ресурсов

Просмотр "мультика"

Открытая соединимость баз данных (ODBC)

Структурированный язык запросов (SQL)

Базы данных

Классификация баз данных

Локальная база данных

Удаленная база данных

Структура базы данных

Модель базы данных в Delphi

Псевдоним базы данных

Создание базы данных

Создание каталога

Создание псевдонима

Создание таблицы

Программа управления базой данных

Доступ к базе данных (таблице)

Просмотр базы данных

Режим формы

Режим таблицы

Выбор информации из базы данных

Динамически создаваемые псевдонимы

Перенос программы управления базой данных на другой компьютер

Машина базы данных (BDE)

Модульное программирование.


Тема 4. Объектно-ориентированное моделирование

Введение в объектно-ориентированное программирование

Класс

Объект

Метод

Инкапсуляция и свойства объекта

Наследование

Директивы protected и private

Полиморфизм и виртуальные методы

Классы и объекты Delphi

Экземпляр класса

Свойства и операции (события)

Классы потомок и родитель

Обработчики событий.

Конструктор и деструктор.


Тема 5. Основные принципы построения интерфейса

Состав интегрированной среды разработчика

Инструменты и меню.

Установка Delphi

Начало работы

Первый проект

Форма

Компоненты

Событие и процедура обработки события

Редактор кода

Система подсказок

Навигатор кода

Шаблоны кода

Справочная система

Структура проекта

Сохранение проекта

Компиляция

Ошибки

Предупреждения и подсказки

Запуск программы

Ошибки времени выполнения

Внесение изменений

Окончательная настройка приложения

Создание значка для приложения

Перенос приложения на другой компьютер

Форма, модуль, элемент управления (компонент).

Англо-русский словарь разработчика ПО.

Интерфейс и объекты со своими свойства и событиями в Delphi.

Состав проекта Delphi.


Тема 6. Object Pascal и Delphi.

Структура модуля и средства связи модулей.

Типы переменных.

Операторы Object Pascal.

Событийные процедуры.

Управляющие структуры языка Delphi

Условие

Выбор

Инструкция if

Инструкция case

Циклы

Инструкция for

Инструкция while

Инструкция repeat

Инструкция goto

Символы

Строки

Операции со строками

Функция length

Процедура delete

Функция pos

Функция сору

Массивы

Объявление массива

Операции с массивами

Вывод массива

Ввод массива

Использование компонента StringGrid

Использование компонента Memo

Поиск минимального (максимального) элемента массива

Поиск в массиве заданного элемента

Алгоритм простого перебора

Метод бинарного поиска

Сортировка массива

Сортировка методом прямого выбора

Сортировка методом обмена

Многомерные массивы

Ошибки при использовании массивов

Процедуры и функции

Функция

Объявление функции

Использование функции

Процедура

Объявление процедуры

Использование процедуры

Повторное использование функций и процедур

Создание модуля

Использование модуля

Файлы

Объявление файла.

Назначение файла

Вывод в файл

Открытие файла для вывода

Ошибки открытия файла

Закрытие файла

Пример программы

Ввод из файла

Открытие файла

Чтение данных из файла

Чтение чисел

Чтение строк

Конец файлa

Типы данных, определяемые программистом

Перечисляемый тип

Интервальный тип

Запись

Объявление записи

Инструкция with

Ввод и вывод записей в файл

Вывод записи в файл

Чтение записи из файла

Динамические структуры данных

Указатели

Динамические переменные

Списки

Упорядоченный список

Добавление элемента в список

Удаление элемента из списка

Среда программирования Delphi

Управление проектом

Обзор Палитры Компонент

Рисование и закраска

Печать текстовая и графическая

Свойства в Delphi

Методы в Delphi

Обработка исключительных ситуаций в Delphi

События в Delphi

Средства создания мультимедийных приложений

Использование DLL в Delphi

Основы работы с базами данных

Настройка BDE

Создание таблиц с помощью Database Desktop

Создание таблиц с помощью SQL-запросов

ОбъектTTable

Создание таблиц с помощью компонента TTable

Объект TQuery

Редактор DataSet, Вычисляемые поля

Управление соединением с базой данных

Управление транзакциями

Утилиты для Local InterBase

Новые концепции ООП в Object Pascal

Создание собственных компонент

Редакторы свойств

Генератор отчетов ReportSmith

Основы языка SQL

Примеры вызовов API Windows в Delphi


Министерство культуры Российской Федерации

Алтайский филиал федерального государственного образовательного

учреждения высшего профессионального образования

«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

КУЛЬТУРЫ И ИСКУССТВ»


Кафедра прикладной информатики


Учебно-методический комплекс дисциплины

Высокоуровневые методы информатики и программирования


Специальность:

080801.65 – «Прикладная информатика (в менеджменте)»


СБОРНИК ЛАБОРАТОРНЫХ РАБОТ И ПРАКТИЧЕСКИХ


Введение

Общие требования, сдать работу в виде, форма отчетности

Практическое занятие № 1

Тема: "Разветвляющиеся алгоритмы"


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

Варианты:
  1. Написать программу, которая вычисляет частное двух чисел. Программа должна проверять правильность введенных пользователем данных и, если они неверные (делитель равен нулю), выдавать сообщение об ошибке. Исходные данные – делимое и делитель.
  2. Написать программу вычисления площади кольца. Программа должна проверять правильность исходных данных. Исходные данные – радиус кольца (см) и радиус отверстия (см).
  3. Написать программу, которая проверяет, является ли год високосным. Исходные данные – год.
  4. Написать программу, определяющая принадлежит ли точка с координатами Х, У прямоугольнику с координатами Х1,Х2,Y1,Y2. Координаты точки и прямоугольника действительного типа. Точка принадлежит прямоугольнику, если одна координата точки имеет значение Х>=X1 и X<=X2 и если другая координата точки имеет значение Y>=Y1 и Y<=Y2.
  5. Написать программу. Даны действительные числа a, b, c. Удвоить эти числа, если a>=b>=c, и заменить их абсолютными значениями, если это не так.
  6. Написать программу вычисления сопротивления электрической цепи, состоящей из двух сопротивлений. Сопротивления могут быть соединены последовательно или параллельно. Исходные данные – величина первого сопротивления (Ом), величина второго сопротивления (Ом) и тип соединения (1 – последовательное, 2 – параллельное).
  7. Написать программу решения квадратного уравнения. Программа должна проверять правильность исходных данных и в случае, если коэффициент при второй степени неизвестного равен нулю, выводить соответствующее сообщение. Исходные данные – значения коэффициентов уравнения.
  8. Написать программу проверки знания даты начала второй мировой войны. В случае неправильного ответа пользователя, программа должна выводить сообщение об ошибке и правильный ответ. Исходные данные – дата.
  9. Написать программу, определяющую результат гадания на ромашке – "любит – не любит", взяв за исходные данные количество лепестков n.
  10. Написать программу, которая анализирует данные о возрасте и относит человека к одной из четырёх групп: дошкольник. ученик, работник, пенсионер. Возраст вводится с клавиатуры.
  11. Написать программу, определяющую сколько баллов набрал победитель. К финалу конкурса лучшего по профессии "Специалист электронного офиса" были допущены трое: Иванов, Петров, Сидоров. Соревнования происходили в три тура. Иванов в первом туре набрал m1 баллов, во втором – n1, в третьем – p1. Петров – m2, n2, p2 соответственно; Сидоров – m3, n3, p3.
  12. Написать программу, определяющую какой пакет тяжелее – первый или второй. Рис расфасован в два пакета. Масса первого – m кг, второго – n кг.
  13. Написать программу, определяющую массу более тяжёлого пакета. Рис расфасован в два пакета. Масса первого – m кг, второго – n кг.
  14. Написать программу – модель анализа пожарного датчика в помещении, которая выводит сообщение "Пожарная ситуация", если температура в комнате превысила 60° С.
  15. Написать программу, которая сравнивает два введённых с клавиатуры числа. Программа должна указать, какое число больше, или, если числа равны, вывести соответствующее сообщение.


Рекомендуемая литература: 1, 3-5, 7-12


Лабораторное занятие № 1

Тема: "Реализация разветвляющегося алгоритма в Delphi"


Задание: реализовать в Delphi приложение, спроектированное по варианту в практическом задании №1.


Рекомендуемая литература: 1, 3-5, 7-12


Практическое занятие № 2

Тема: "Циклы"


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

Варианты:
  1. Написать программу, вычисляющую количество дрожжей через N часов. В начальный момент времени имеется S кг дрожжей. Через каждый час количество дрожжей увеличивается на 15%, но на исходе часа M кг дрожжей удаляется.
  2. Написать программу вычисляющую и выводящую на экран таблицу значений функции y = x2-ab-cx для х = -5, -6, -7, …,-35. Исходные данные (в экспоненциальной форме записи): а = 1.14Е+1; b= -4.21E+2; с = 3.25Е+3.
  3. Написать программу, нахождения наибольшего значения функции y = ax3 + bx - c при изменении х от хнач до хкон с шагом h. Исходные данные: a = 2,14; b = -4,21; c = 3,25; хнач =-4,5; хкон = -33,5; h = -0,5.


  1. Написать программу, вычисляющую бесконечную сумму с точностью  = 0,0001. Считать, что требуемая точность достигнута, если очередное слагаемое оказалось по модулю меньше, чем .
  2. Написать программу, нахождения приближенно с точностью до 0,01, минимума функции f(x) = ax2 + + bx + c на отрезке х1 <= x <= x2. Значения х1, х2 и а, b, c ввести как константы.
  3. Написать программу, вычисляющую число размещений из n по m по формуле = n  (n – 1)…(n – m + 1), где целые числа n и m ввести с клавиатуры ( n>=m>0).
  4. Написать программу вычисления значения выражения ( 9 + (9 +…+(9 + 91/2)1/3…)1/ m-1)1/ m .
  5. Написать программу вычисления бесконечной суммы с точностью  = 0,0001. Считать, что требуемая точность достигнута, если очередное слагаемое оказалось по модулю меньше, чем .
  6. Составить программу для вычисления и вывода на экран таблицы значения сумм для a<= x <= b, изменяющегося с шагом h = (b – a)/ 10. Значения a, b, n задать с клавиатуры.
  7. Дано натуральное число N. Написать программу вычисления .
  8. Дано действительное число х. Вычислить
  9. Дано натуральное число n и действительное число х. Написать программу, вычисляющую выражение Дано S = sin x + sin sin x + …+ sin sin…sin x
  10. Дано натуральное число n и действительное число a. Написать программу, вычисляющую P = a(a - n)(a –2n)…(a – n2).
  11. Дано натуральное число n и действительное число a. Написать программу, вычисляющую P = a(a + 1)…(a +n – 1).
  12. Написать программу вычисления системы, где x[-1; 0], а n =0,2.


Рекомендуемая литература: 1, 3-5, 7-12


Лабораторное занятие № 2

Тема: "Реализация циклического алгоритма в Delphi"


Задание: реализовать в Delphi приложение, спроектированное по варианту в практическом задании №2.


Рекомендуемая литература: 1, 3-5, 7-12


Практическое занятие № 3

Тема: "Двумерные массивы"


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

Варианты:
  1. Составить программу, которая заполняет квадратную матрицу порядка n натуральными числами 1, 2, 3, 4, …, n2, записывая их в неё «по спирали». Например, для n=5 получим следующую матрицу:


  1. Дана действительная квадратная матрица порядка 2n. Получить новую матрицу, переставляя её блоки размера n x n по часовой стрелке, начиная с блока в левом верхнем углу.
  2. Вычислить сумму и число положительных элементов матрицы, находящихся над главной диагональю.
  3. Дана матрица размером m x n. Определить количество особых элементов, считая особым, если он больше суммы остальных элементов его столбца.
  4. Дана матрица m x n. Найти в каждой строке матрицы максимальный и минимальный элементы и поменять их местами с первым и последним элементом строки соответственно.
  5. Дана целая квадратная матрица n-го порядка. Определить является ли она магическим квадратом, т. е. такой, в которой суммы элементов во всех строках и столбцах одинаковы.
  6. Дана квадратная матрица m x n. Записать на место отрицательных элементов матрицы нули, а на место положительных – единицы.
  7. Дана действительная матрица размером m x n, все элементы которой различны. В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбрать наибольшее.
  8. Дана прямоугольная матрица. Найти строку с наибольшей и наименьшей суммой элементов. Вывести на печать найденные строки и суммы их элементов.
  9. Заданы матрицы А размерности m x n и В размерности n x l. Определить матрицу С размерности m x l, равную произведению матриц А и В.
  10. Задана матрица порядка n и число k. Разделить элементы k – й строки на диагональный элемент, расположенный в этой строке.
  11. Пусть задана действительная матрица размером m x n. Требуется преобразовать матрицу следующим образом: поэлементно вычесть последнюю строку из всех строк, кроме последней.
  12. Среди тех строк целочисленной матрицы, которые содержат только нечетные элементы, найти строку с максимальной суммой модулей элементов.
  13. Расположить столбцы матрицы D[M,N]. В порядке возрастания элементов k-й строки (1<=k<=M).
  14. Пусть задана действительная матрица размером m x n. Требуется преобразовать матрицу следующим образом: строку с номером n сделать столбцом с номером n, а столбец с номером n – строкой с номером n.



Лабораторное занятие № 3

Тема: "Обработка двумерных массивов в Delphi"


Задание: реализовать в Delphi приложение, спроектированное по варианту в практическом задании №3.


Рекомендуемая литература: 1, 3-5, 7-12


Практическое занятие №4

Тема: "Строки и текстовые файлы"


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

Варианты:
  1. Дан файл, содержащий текст, записанный строчными русскими буквами. Получить в другом файле тот же текст, записанный заглавными буквами.
  2. Дан файл, содержащий произвольный текст. Выяснить, чего в нем больше: русских букв или цифр.
  3. Дан файл, содержащий текст на русском языке. Выяснить, вхо­дит ли данное слово в указанный текст, и если да, то сколько раз.
  4. Дан файл, содержащий текст на русском языке. В предложе­ниях некоторые из слов записаны подряд несколько раз (предло­жение заканчивается точкой или восклицательным знаком). По­лучить в новом файле отредактированный текст, в котором удале­ны повторные вхождения слов в предложение.
  5. Дан файл, содержащий текст, набранный заглавными русскими буквами. Провести частотный анализ текста, т.е. указать (в процентах), сколько раз встречается та или иная буква.
  6. Дан файл, содержащий текст на русском языке. Определить,
    сколько раз встречается в нем самое длинное слово.
  7. Дан файл, содержащий произвольный текст. Проверить, пра­вильно ли в нем расставлены круглые скобки (т. е. находится ли правее каждой открывающейся скобки закрывающаяся и левее закрывающейся — открывающаяся).
  8. Дан файл, содержащий текст на русском языке. Составить в алфавитном порядке список всех слов, встречающихся в этом тексте.

9. Дан файл, содержащий текст на русском языке. Определить, сколько раз встречается в нем самое короткое слово.
  1. Дан файл, содержащий текст на русском языке и некоторые два слова. Определить, сколько раз они встречаются в тексте и сколько из них — непосредственно друг за другом.
  2. Дан файл, содержащий текст на русском языке. Выбрать из него те символы, которые встречаются в нем только один раз, в том порядке, в котором они встречаются в тексте.

12. Дан файл, содержащий строку. Определить, сколько в ней символов *, ;, :.

13. Даны файл, содержащий текст на русском языке, и некоторые буквы. Найти слово, содержащее наибольшее количество указанных букв.

14. Даны файл, содержащий текст на русском языке, и неко­торая буква. Подсчитать, сколько слов начинается с указанной буквы.

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


Рекомендуемая литература: 1, 3-5, 7-12


Лабораторное занятие № 4