Отчет по практике: Разработка программного обеспечения
14.
Поменять местами
значения целых переменных х и у, не используя дополнительные
переменные.
15.
Вывести на экран
1 или 0 в зависимости от того, имеют три заданных числа одинаковую
четность или нет.
Часть
2. Использование ООП для программирования ветвящихся алгоритмов.
1.
Известно, что из
четырех чисел а1,а2,а3 и а4 одно отлично от трex других, равных между
собой. Присвоить номер этого числа переменной п.
2.
По номеру n
(n>0) некоторого года определить c - номер его столетия (учесть, что,
к примеру, началом XX столетия был 1901, а не 1900 год!).
3.
Значения
переменных а, b и c поменять местами так, чтобы оказаль а<=b<=с.
4.
Дано целое k от 1
до 180. Определить, какая цифра находится в k-й позиции последовательности
10111213...9899 , в которой выписаны подряд все двузначные числа.
5.
Дано натуральное
k. Определить k-ю цифру в последовательности 110100100010000100000..., в
которой выписаны подряд степени 10.
6.
В старояпонском
календаре был принят 60-летний цикл, состоявший из пяти 12-летних подциклов.
Подциклы обозначались названиями цвета: green(зеленый), red (красный), yellow
(желтый), white(белый) и black (черный). Внутри каждого подцикла годы носили
названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы,
обезьяны, курицы, собаки и свиньи. (1984 год – год зеленой крысы -был
началом очередного цикла). Разработать программу, которая вводит номер некоторого
года нашей эры и выводит его название по старояпонскому календарю.
7.
Если сумма трех
попарно различных действительных чисел х, у, z меньше единицы, то
наименьшее из этих трех чисел заменить полусуммой двух в противном случае
заменить меньшее из х и у полусуммой двул оставшихся значений,
8.
Для целого числа
k от 1 до 99 вывести фразу "мне k лет", учитывая при этом, что при
некоторых значениях k слово "лет" надо заменить на слово
"год" или "года".
9.
Для натурального
числа k вывести фразу "мы выпили k бутылок пива", согласно окончание
слова "бутылка" с числом k.
10.
Type
курс=(С,В,Ю,3); {север, восток, юг, запад}
Приказ=(вперед,
вправо, назад, влево);
Var К1, К2 :курс;
ПР:приказ;
Корабль сначала шел по
курсу К1, а затем его курс был изменен согласно прикаказу ПР1.
Определить К2 - новый курс корабля.
11.
Туре месяц =
(январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь,
ноя6рь,декабрь);
день=1...31;
Var d1,d2:день;
m1,т2:месяц;
t:boolean;
Переменной t присвоить
значение 1 если дата d1, m1 предшествует (в рамках года) дате d2, m2,
и значение 0 в других случаях.
12.
Туре нота=(до,
ре, ми, фа, солmь, ля, си);
интервал=(секунда,
терция, кварта, квинта, секста, септима);
var n1, n2 : нота;
i : интервал;
Определить i-й интервал,
образованный нотами п1 и п2(п1<>п2): секунда - это интервал
из двух соседних (по кругу) нот (например, ре и ми, си и до), терция - интервал
через ноту (например, фа и ля, си и ре) и т.д.
13.
Туре
единица=(дециметр, километр, метр, милиметр, санптиметр);
длина=real;
var х : длина;
Р : единица;
Значение переменной х,
означающее некоторую длину в единицах р, заменить на величину этой же
длины в метрах.
14.
Туре
сезон=(зима, весна, лето, осенъ);
Var m : месяц; {определение
«месяц» см. в 26}
S : сезон;
Определить S-сезон, на
который приходится месяц m.
15.
Var k: 1...9;
Вывести значение
переменной k римскими цифрами.
Часть
3. Использование ООП для программирования циклических алгоритмов.
1.
Подсчитать k - количество
цифр в десятичной записи целого - n неотрицательного числа n.
2.
Переменной t
присвоить значение 1 или 0 в зависимости от того, является ли натуральное число
k степенью 3.
3.
Дано n
вещественных чисел. Вычислить разность между максимальным и минимальным из них.
4.
Дана непустая
последовательность различных натуральных чисел, за которой следует 0.
Определить порядковый номер наименьшего из них.
5.
Даны целое n>0
и последовательность из n вещественных чисел, среди которых есть хотя бы одно
отрицательное число. Найти величину наибольшего среди отрицательных чисел этой последовательности.
6.
Дано n вещественных
чисел. Определить, образуют ли они возврастающую последовательность.
7.
Дана
последовательность из n целых чисел. Определить, со скольких отрицательных
чисел она начинается.
8.
Определить k - количество
трехзначных натуральных чисел, сумма цифр которых равна n(1<=n<=27). Операции
деления (/, div и mod) не использовать.
9.
Вывести на экран
в возрастающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых
цифр (операции деления не использовать).
10.
Переменной t
присвоить значение 1 или 0 в зависимости от того, можно или нет натуральное
число n представить в виде трех полных квадратов.
11.
Дано натуральное
число n. Выяснить, входит ли цифра 3 в запись числа n{2}.
12.
Дано натуральное
число n. Найти сумму его цифр
13.
Дано целое
n>0, за которым следует n вещественных чисел. Определить, сколько среди них
отрицательных.
14.
Дано натуральное
число n. Переставить местами первую и последнюю цифры числа n.
15.
Дано натуральное
число n. Заменить порядок следования цифр числа n на оборот.
Лабораторная работа 3.
ВИЗУАЛЬНОЕ ПРОГРАММИРОВАНИЕ
Цель работы: приобретение навыков работы с
визуальными компонентами.
Общие
положения
Меню – один из распространенных элементов
пользовательского интерфейса. Меню представляет собой список пунктов,
объединенных по функциональному признаку, каждый из которых обозначает команду
или вложенное меню (подменю).
Главное меню располагается в верхней части формы
под ее заголовком и содержит наиболее общие команды приложения. В Delphi главное меню представлено
компонентом MainMenu.
Для создания и изменения
меню в процессе разработки приложения в среде Delphi предназначен Конструктор меню (Menu Designer). Запуск Конструктора меню можно
выполнить по команде Menu Designer…
контекстного меню компонента MainMenu, а также с помощью двойного щелчка кнопкой мыши на этот компонент. При
конструировании меню имеет тот же вид, что и при выполнении приложения.
Наименование пункта меню
задается путем присвоения нужного значения его свойству Caption. Кроме того, в Delphi у компонента MainMenu доступны такие свойства как Checked и Bitmap, определяющие соответственно:
·
Checked = true/false
– наличие/отсутствие отметки Ö у пункта меню (для отметки выбора);
·
Bitmap = рисунок, определяющий наличие
картинки перед названием пункта в меню.
Для закрепления процедуры
за выбором некоторого пункта меню (событие OnClick), на этапе проектирования приложения следует выбрать
этот пункт с помощью клавиатуры или мыши.
Пример
написания программы
Задание. Используя компонент MainMenu создать приложение, которое при
выборе определенного пункта меню обеспечивает:
-
вывод на экран
сообщения «Привет!»;
-
ввод
пользователем некоторого числа (аргумента);
-
вычисление cos, sin, tg, ctg, введенного аргумента;
-
вывод формул для
вычисления arccos(x), arcsin(x), actg(x),arcctg(x);
-
выход из
программы.
Реализация.
Создали новую форму и
расположили на ней компоненты: MainMenu, Bevel, Label, Edit, Image, согласно рисунку 1.

Рис 1. Расположение
компонент на форме
Компоненты Bevel, Label и Edit
располагаем на форме в следующей последовательности: сначала Bevel, затем Label и Edit –
так как Bevel должен оказаться «снизу» Label’a и Edit’a.
Четыре компонента Image располагаем на форме произвольным
образом. Свойству Picture компонента
Image1 (Image1.Picture)
присваиваем значение arccos.bmp (загружаем рисунок из каталога e:\5381\Урок\Menu\). Соответственно в Image2.Picture загружаем arcsin.bmp, в Image3.Picture - arctg.bmp, в Image4.Picture - arcctg.bmp.
Создание главного меню
происходит в следующей последовательности:
1.
Помещаем на форму
компонент MainMenu, двойным щелчком на компоненте
вызываем Дизайнер Меню;
2.
Проектируем меню
согласно рисунку 2 (вставка разделителя осуществляется вводом символа ‘-’ в
поле Caption):
3.

Рис 2. Проектирование
главного меню программы
3. Кроме свойств Caption элементов Главного Меню, меняем
свойство Name подпунктов меню «Функция» следующим
образом:
Пункт подменю «Функция»
(сверху вниз)
|
Свойство Caption
|
Свойство Name
|
Первый
|
Cos(x)
|
cosx1
|
Второй
|
Sin(x)
|
sinx1
|
Третий
|
Tg(x)
|
tgx1
|
Четвертый
|
Ctg(x)
|
ctgx1
|
Пятый – разделитель
|
-
|
Не меняем
|
Шестой
|
Arccos(x)’
|
arccosx1
|
Седьмой
|
Arcsin(x)’
|
arcsinx1
|
Восьмой
|
Arctg(x)’
|
arctgx1
|
Девятый
|
Arcctg(x)’
|
arcctg1
|
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 |