- •Курсовая работа по дисциплине “Основы алгоритмизации и программирование”
- •Календарный график работы над работой
- •Требования к оформлению
- •Требования к теоретической части
- •1.2 Математическая модель объекта или процесса
- •1.3 Алгоритм решения задачи
- •1.1. Постановка задачи
- •1.2. Математическая модель объекта или процесса
- •1.3. Алгоритм решения задачи
- •1.4 Блок-схема алгоритма решения задачи
- •Требования к практической части
- •2.1Описание объектов, свойств, методов.
- •2.4 Результаты тестирования программного продукта
- •2.5 Анализ результатов
- •Индивидуальные задания студентов для выполнения курсовой работы.
- •Задание 2. Обработка текстовой информации с помощью файлов в Delphi.
- •Задание 3. Создание диалоговых программ в среде Delphi.
- •Требования к курсовой работе Содержание курсовой работы
- •Правила оформления курсовой работы
- •Образцы оформления библиографического описания в списке источников, приводимых в курсовой работе (проекте)
- •Подготовка к защите и защита курсовой работы
- •Список рекомендуемой литературы
- •По программированию на Delphi
- •По численным методам (задание 1)
- •Приложение а
- •Приложение б
- •Приложение в
Задание 3. Создание диалоговых программ в среде Delphi.
№ варианта |
Постановка задачи |
Примечание |
|
Составить
программу, проверяющую правильность
вычисления площади треугольника
по заданным сторонам (по формуле
Герона). Обучаемому предлагается шесть
задач. Обучаемому предлагается вопрос
и три числа а,
b,
с, решив
задачу он должен ввести ответ. Если
ответ правильный, то обучаемому
предлагается следующий вопрос и
сообщение «Правильно». В противном
случае обучаемому предлагается снова
ответить на вопрос. Если повторный
ответ также неправильный, то
предложить вычислить сначала
p=(а+b+с)/2,
затем х1=р(р
— а),
x2=х1(р
— b),
далее хз
= x2
(р — с)
и
|
|
|
Разработать программу, позволяющую осуществлять перевод чисел из одной системы счисления в другую. Пользователь в диалоговом режиме определяет систему счисления исходной записи числа и систему счисления, в которой число должно быть представлено. Основание системы должно находиться в пределах от 2 до 16. |
|
|
Составить программу, проверяющую правильность записи оператора ввода двух переменных (простых или индексных). При анализе правильности ответа учитывать все синтаксические возможные последовательности символов в ответе. Если ответ неправильный, то указать место ошибки (номер недопустимого символа в ответе) и причину ошибки. Программу проверить для случая ввода 1) простых переменных, 2) простой переменной и индексной переменной; 3) индексной переменной и простой, 4) двух индексных переменных. Выбор варианта переменных осуществлять с помощью датчика случайных чисел. Задавать десять вопросов. Переход к следующему вопросу возможен только после правильного ответа на предыдущий. Подсчитать число правильных ответов с первой попытки. |
|
|
Составить программу, проверяющую правильность записи оператора вывода. При анализе правильности ответа учитывать все синтаксические возможные последовательности символов в ответе. Если ответ неправильный, то указать место ошибки (номер недопустимого символа в ответе) и причину ошибки. Программу проверить для случая вывода 1) простых переменных, 2) текста; 3) текста и переменной. Задавать десять вопросов. Переход к следующему вопросу возможен только после правильного ответа на предыдущий. Подсчитать число правильных ответов с первой попытки. |
|
|
Составить программу анализа правильности записи оператора цикла типа FOR или WHILE …DO. Обучаемому задается имя параметра цикла, начальное и конечное значения параметра цикла и шаг его изменения, которые представляются случайными числами или переменными. Программа должна признавать правильными все синтаксически правильные ответы. Если ответ правильный, то можно предлагать следующий вопрос. Если ответ неправильный, то указывать место ошибки (номер недопустимого символа в ответе) и причину ошибки. Выбор параметров осуществлять с помощью датчика случайных чисел. Число вопросов равно 5. Переход к следующему вопросу возможен только после правильного ответа на предыдущий. Подсчитать число правильных ответов с первой попытки.
|
|
|
|
Составить программу, проверяющую правильность организации цикла, используемого для нахождения наибольшего элемента массива. Правильными следует считать любые синтаксически допустимые операторы и их последовательности. Анализ операторов осуществлять по очереди. Переход к анализу следующего оператора возможен только в случае правильно записанного предыдущего. Размер массива задать датчиком случайных чисел. Подсчитать общее число ошибок, допущенных при записи фрагмента программы. |
|
|
Составить программу, выдающую справку о номерах рейсов самолетов до указанного города, число городов — 10, общее число рейсов — 20. Кроме номера рейса по дополнительному запросу выдается время вылета самолета, его тип и наличие свободных мест. После каждого запроса о данном рейсе количество свободных мест уменьшается на 1. Пользователь вводит название города. В ответ на это выводятся номера рейсов самолетов. Для получения дополнительных сведений о рейсах вводится его номер. Если пользователь сразу вводит номер рейса, то получает дополнительные сведения об рейсе. Вывести на печать сведения о запросах на каждый из имеющихся рейсов. Если города или рейса, введенного пользователем, нет, то выдается соответствующее сообщение. |
|
|
Составить программу, выдающую справку о номере квартиры, в которой проживает жилец. В доме имеется 10 квартир и проживает 25 человек Пользователь вводит фамилию жильца. Если в доме проживает несколько жильцов с такой фамилией, то выдается сообщение о необходимости ввести инициалы. Если инициалы у нескольких жильцов совпадают, то необходимо ввести дополнительно год рождения. Если с такими данными найден один жилец (несколько), то вывести номер (номера) квартиры, где он (они) живет и все введенные о нем (них) сведения. Если жильца с такой фамилией нет, то вывести сообщение об этом. |
|
|
Составить программу, позволяющую производить корректировку программы пользователя путем удаления заданного символа или последовательности символов Программа вводится в память машины и размещается в символьном массиве Пользователь вводит символ или их последовательность, которую надо удалить. Просмотр программы производится пооператорно. Оператор, содержащий заданный символ, выводится на экран. Так как в операторе может быть несколько таких символов или их последовательностей, то пользователь должен дополнительно ввести номер позиции в операторе, в которой находится удаляемый символ или с которого начинается удаляемая последовательность. После удаления осуществляется сдвиг влево всех символов, следующих за удаленными. После этого скорректированный оператор выводится на экран и осуществляется просмотр следующих операторов программы. Процесс корректировки прекращается по достижении оператора END и выводится на экран вся программа полностью Примечание. В языке ПАСКАЛЬ признаком окончания процесса корректировки является достижение оператора END. |
|
|
Составить программу, позволяющую производить корректировку программы пользователя путем замены последовательности, состоящей из n1 символов, на последовательность, состоящую из n2 символов. Программа вводится в память машины и размещается в символьном массиве. Пользователь вводит две последовательности, состоящие из n1 и n2 символов, в ответ на запрос: 1) «введите символы, которые следует заменить»; 2) «введите символы, на которые следует заменить». Программа просматривается пооператорно. Оператор, содержащий заменяемую последовательность символов, выводится на экран. Так как в операторе может быть несколько таких последовательностей, то необходимо ввести дополнительно номер позиции, начиная с которой осуществляется замена. После этого, если n1> n2, то осуществляется замена n1 на n2 + k символов, где k — число пробелов, равное n1 - n2.. После корректировки следует осуществить сдвиг оставшихся символов оператора на k позиций влево. Если n1< n2, то осуществляется сдвиг вправо символов, начиная с указанной позиции, на n2 - n1 позиций, а затем замена n2 символов. После этого осуществляется просмотр следующих операторов. Процесс корректировки следует прекратить по достижении оператора END и вывести на экран всю программу. Примечание. В языке ПАСКАЛЬ признаком окончания процесса корректировки является достижение оператора END. |
|
|
|
Составить программу, позволяющую корректировать программу пользователя путем добавления в оператор заданной последовательности, состоящей из n1 символов. Программа вводится в оперативную память и размещается в символьном массиве. Пользователь вводит последовательность символов, после которой необходимо вставить в оператор дополнительные символы. Просмотр программы осуществляется по операторно. Оператор, в котором найдена указанная последовательность символов, выводится на экран. Поскольку в операторе может быть несколько таких последовательностей, на запрос программы необходимо ввести номер позиции k, после которой необходимо осуществить вставку и добавляемую последовательность символов. Перед добавлением символов необходимо осуществить сдвиг вправо на n1 позицию всех символов, начиная с позиции с номером k-1. После этого осуществляется переход к следующему оператору Процесс корректировки прекращается по достижении оператора END и на печать выводится вся программа полностью Примечание. В языке ПАСКАЛЬ признаком окончания процесса корректировки является достижение оператора END. |
|
|
Составить программу, позволяющую корректировать программу пользователя путем удаления из нее отдельных операторов (или строк). Программа вводится в память машины и размещается в символьном массиве. Пользователь вводит оператор, подлежащий удалению, или номер строки, в которой он расположен. Для поиска нужного оператора в программе из сравниваемых операторов необходимо удалить пробелы, так как при различном их количестве сравнения не произойдет. Если удаляемый оператор не найден, то следует выдать сообщение об этом и ожидать ввода нового оператора, который необходимо удалить. Поскольку в программе может быть несколько одинаковых операторов, перед удалением оператора следует вывести на экран данный оператор и предшествующий ему, а также следующие за ним операторы. Удаление осуществлять в ответ на запрос «Удалить? (ДА, НЕТ)» После удаления оператора необходимо все следующие за ним операторы переместить на одну строку вверх и выдать сообщение о том, что удаление закончено. Процесс корректировки прекратить, если пользователь введет END, и вывести на экран всю программу. Оператор END из программы удалять нельзя. |
|
|
|
Составить программу, позволяющую корректировать программу пользователя путем добавления в нее одного или нескольких операторов Программа пользователя вводится в память машины и располагается в символьном массиве Пользователь вводит номер оператора или оператор, после которого необходимо осуществить добавление одного или нескольких операторов (О порядке нахождения нужного оператора в программе пользователя см вариант 12.) Подтверждение о вставке оператора осуществляется в ответ на запрос «Вставить? (ДА, НЕТ)». После этого в ответ на запрос «Сколько операторов необходимо вставить? (Введите число)» осуществляется сдвиг последующих операторов программы на введенное число строк. Затем вставляемые операторы записываются вслед за указанной строкой. Процесс корректировки заканчивается в ответ на запрос «Корректировка закончена? (ДА, НЕТ)» Если введено НЕТ, то процесс начинается сначала. После окончания вывести на печать программу полностью. |
|
|
Составить программу редактирования программы пользователя путем перемещения одного или нескольких операторов и размещения их после указанного оператора. Программа пользователя вводится в оперативную память и размещается в символьном массиве. Пользователь вводит в ответ на запросы системы 1) n1— порядковый номер оператора (строки), начиная с которого необходимо переместить последовательность операторов, 2) n2 — порядковый номер оператора (строки), кончая которым необходимо осуществить перемещение, 3) n3 — порядковый номер оператора (строки), после которой необходимо разместить перемещаемые операторы. Перемещение последовательности операторов сводится к удалению (n2 - n1 + l)-гo оператора (см. вариант 12) и вставке (n2 - n1 + l)-гo оператора (см. вариант 13). Процесс закончить так же, как и в варианте 13. |
|
|
Таблица футбольного чемпионата, в котором приняли участие 10 команд, заданы двумерным массивом nxn, где указаны число очков, набранных в игре: 3- выигрыш, 1-ничья, 0 –проигрыш. Название каждой команды известно. Определить: 1) название команд, имеющих больше побед, чем проигрышей; 2) определить название команды, ставшей чемпионом; 3) определить, расположены ли команды в соответствии с занятыми ими местами в чемпионате, и в случае отрицательного ответа найти название первой команды, результаты которой в таблице расположены в нарушение такого соответствия ( принять, что при равном числе очков места распределяются произвольно). |
|
|
Сформировать базу данных для расчета заработной платы работников организации и формирования соответствующей ведомости. База данных должна включать следующие поля: ФИО сотрудника; должность; тарифная ставка; стаж; коэффициент за стаж работы; надбавка за стаж; начислено; процент налога; удержано; к выдаче. Коэффициент за стаж работы определяется из расчета: – 0,1 – отработано до 5 лет включительно; – 0,2 – от 5 до 10 лет включительно; – 0,25 – от 10 до 15 лет включительно; – 0,3 – свыше 15 лет. Процент налога определяется из расчета: – если сумма начисления меньше или равна 7000 руб., то процент равен 2%; – если сумма начисления больше 7000 руб., но меньше или равна 10000 руб., то процент равен 10%; – если сумма начисления больше 10000 руб., но меньше или равна 25000 руб., то процент равен 20%; – если сумма начисления больше 25000 руб., то процент равен 35%. В базе данных должен быть справочник «Должность», который заполняется и редактируется с помощью отдельной формы. Сформировать следующие отчеты: список сотрудников и суммы начислений, удержаний и выдачи; список сотрудников и надбавка за стаж. Построить диаграмму зависимости работника от суммы к выдаче. |
|
