Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Лабораторная работа №14 Использование компонентов отображения.
Цель лабораторной работы: Ознакомить студентов с компонентами отображения. Научиться составлять каркас простейшей программы в среде DELPHI. Закрепить полученные на лекции знания. Написать и отладить программу. Теория: · Компоненты класса TLabel (метки) предназначены для размещения на форме различного рода текстовых надписей. Вы можете изменить шрифт и цвет метки, если дважды щелкнете на свойство Font в Инспекторе Объектов. Вы увидите, что это легко сделать и во время выполнения программы, написав всего одну строчку кода.
· TEdit Компонент класса TEdit представляет собой однострочный редактор текста. С его помощью можно вводить и/или отображать достаточно длинные текстовые строки. Следует помнить, что этот компонент не распознает символы конца строки (#13#10).
Методы компонента:
Задание: Установить все используемые свойства в приложении программным путем. Вариант №1 Определить что, все цифры данного четырехугольника числа N различны; Вариант №2 Определить что, данные числа x, y являются координатами точки, лежащей в первой координатной четверти; Вариант №3 Определить что, цифры данного трехзначного числа N являются членами арифметической прогрессии; Вариант №4 Определить что, сумма двух действительных чисел a и b являются целым числом, т.е. дробная часть суммы равна нулю; Вариант №5 Определить что, данное натуральное число a кратно числу b, но не кратно числу с. Вариант №6 Определить что, данное четырехзначное число читается одинаково слева направо и справа налево; Вариант №7 Составить программу, которая проверяла бы, не приводит ли суммирование двух целых чисел А и В к переполнению (т.е. к результату большему, чем 32767). Если будет переполнение, то сообщить об этом, иначе вывести сумму этих чисел. Вариант №8 Определить что, число С является средним арифметическим чисел а и b; Вариант №9 Программа – льстец. На экране появляется вопрос «Кто ты: мальчик или девочка? Введи Д или М». В зависимости от ответа на экране должен появиться текст «мне нравятся девочки! » или «Мне нравятся мальчики! ». Вариант №10 Проверить, является ли четырехугольник со сторонами a, b, c, d ромбом. Вариант №11 Определить, является ли треугольник со сторонами a, b, c равнобедренными. Вариант №12 Составить программу, определяющую результат гадания на ромашке – «любит – не любит», взяв за исходное данное количество лепестков п. Вариант №13 Определить что, данные числа C и D являются соответственно квадратом и кубом числа а; Вариант №14 Определить, является ли треугольник со сторонами A, B, C равносторонним. Вариант №15 Среди чисел A, В, С определить количество отрицательных. Контрольные вопросы:
Лабораторная работа №15 Использование компонентов редактирования. Цель работы: Применение теоретических навыков на практике. Ознакомить студентов с компонентами ввода-вывода. Закрепить полученные на лекции знания. Написать и отладить программу. Теория: · TEdit - стандартный управляющий элемент Windows для ввода. Он может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст во время выполнения программы. · TButton позволяет выполнить какие-либо действия при нажатии кнопки во время выполнения программы. В Delphi все делается очень просто. Поместив TButton на форму, Вы по двойному щелчку можете создать заготовку обработчика события нажатия кнопки. Далее нужно заполнить заготовку кодом. Функции преобразования:
· TMaskEdit Специализированный редактор TMaskEdit предназначен для ввода текста, соответствующего некоторому шаблону, задаваемому свойством EditMask: String. Если это свойство не задано, TMaskEdit работает как обычный редактор TEdit. Шаблон состоит из трех частей, отделенных друг от друга символами «; ». Первая часть задает маску ввода, вторая - это символ «О» или «I», определяющий, записывается ли в Text результат наложения маски или исходный текст («О» - исходный текст). В третьей части указывается символ, который в окне редактора будет стоять в полях, предназначенных для ввода символов. Описатели полей ввода представлены в следующей таблице:
Специальные символы:
Пример: Найти сумму 2 чисел – целого и вещественного. 1. Загрузить Delphi (ПУСК -> Программы -> BorlandDelphi6 -> Delphi6 2. Открыть новое приложение File| New|Application, если новое приложение не создалось 3. Перенесите на пустую форму, кнопку TButton со страницы Standard палитры компонент. Затем щелкните курсором мыши в нужном месте формы. На форме появится кнопка, Delphi присвоит имя по умолчанию – Button1. 4. Так же перенесите 2 компоненты TEdit, 4 - TLabel. 5. Выделите на форме компонент Button1 – кнопку. Перейдите в Инспектор Объектов и измените свойство Caption (надпись), которое по умолчанию равно Button1 на «Выполнить» 6. Аналогично измените свойство Caption у компонет Label на: Label1 > > «Число1», Label2 > > «Число 2», Label3 > > «Результат», а у компоненты Labe4 свойство Caption удалить. 7. Удалите в Edit1 и в Edit2 значение в свойстве Text. 8. Расположите компоненты как на рисунке 9. Теперь необходимо написать обработчик события при нажатии кнопки. Нажмите 2 раза на кнопке, появится редактор кода программы, напишите следующее не удаляя все. что за вас написал Delphi: procedure TForm1.Button1Click(Sender: TObject); var a: integer; b, c: real; begin a: = StrToInt(Edit1.text); {ввод числа из компонеты Edit} b: =StrToFloat (Edit2.Text); {и перевод из строки в число} c: =a+b; Label4.Caption: =FloatToStr(c); {вывод результата в Label4} end;
Свойство является важным атрибутом компонента. Свойства служат двум главным целям. Во-первых, они определяют внешний вид формы или компонента. А во-вторых, свойства определяют поведение формы или компонента. Существует несколько типов свойств, в зависимости от их “природы”, т.е. внутреннего устройства. · Простые свойства - это те, значения которых являются числами или строками. Например, свойства Left и Top принимают целые значения, определяющие положение левого верхнего угла компонента или формы. Свойства Caption и Name представляют собой строки и определяют заголовок и имя компонента или формы. · Перечислимые свойства - это те, которые могут принимать значения из предопределенного набора (списка). Простейший пример - это свойство типа Boolean, которое может принимать значения True или False. · Вложенные свойства - это те, которые поддерживают вложенные значения (или объекты). Object Inspector изображает знак “+” слева от названия таких свойств. Имеется два вида таких свойств: множества и комбинированные значения. Object Inspector изображает множества в квадратных скобках. Если множество пусто, оно отображается как []. Установки для вложенных свойств вида “множество” обычно имеют значения типа Boolean. Наиболее распространенным примером такого свойства является свойство Style с вложенным множеством булевых значений. Комбинированные значения отображаются в Инспекторе Объектов как коллекция некоторых величин, каждый со своим типом данных. Некоторые свойства, например, Font, для изменения своих значений имеют возможность вызвать диалоговое окно. Для этого достаточно щелкнуть маленькую кнопку с тремя точками в правой части строки Инспектора Объектов, показывающей данное свойство.
Задание: Вариант №1 Составить программу, которая проверяла бы, не приводит ли суммирование двух целых чисел А и В к переполнению (т.е. к результату большему, чем 32767). Если будет переполнение, то сообщить об этом, иначе вывести сумму этих чисел. Вариант №2 Определить что, число С является средним арифметическим чисел а и b; Вариант №3 Программа – льстец. На экране появляется вопрос «Кто ты: мальчик или девочка? Введи Д или М». В зависимости от ответа на экране должен появиться текст «мне нравятся девочки! » или «Мне нравятся мальчики! ». Вариант №4 Проверить, является ли четырехугольник со сторонами a, b, c, d ромбом. Вариант №5 Определить, является ли треугольник со сторонами a, b, c равнобедренными. Вариант №6 Составить программу, определяющую результат гадания на ромашке – «любит – не любит», взяв за исходное данное количество лепестков п. Вариант №7 Определить что, данные числа C и D являются соответственно квадратом и кубом числа а; Вариант №8 Определить, является ли треугольник со сторонами A, B, C равносторонним. Вариант №9 Среди чисел A, В, С определить количество отрицательных. Вариант №10 Определить что, все цифры данного четырехугольника числа N различны; Вариант №11 Определить что, данные числа x, y являются координатами точки, лежащей в первой координатной четверти; Вариант №12 Определить что, цифры данного трехзначного числа N являются членами арифметической прогрессии; Вариант №13 Определить что, сумма двух действительных чисел a и b являются целым числом, т.е. дробная часть суммы равна нулю; Вариант №14 Определить что, данное натуральное число a кратно числу b, но не кратно числу с. Вариант №15 Определить что, данное четырехзначное число читается одинаково слева направо и справа налево; Контрольные вопросы:
Лабораторная работа №16 Использование компонентов многострочного редактора для обработки строковых данных.
Цель работы: Применение теоретических навыков на практике. Ознакомить студентов с компонентами ввода/вывода строк на форме приложения с использованием окна Watch. Закрепить полученные на лекции знания. Написать и отладить программу Теория: Окно наблюдения (View| Debug Windows| Watch). Ctrl+F5 на переменной – откроется окно наблюдения и в нем появится имя переменной и ее значение или выделить курсором выражение (Ctrl+F5) и в окне наблюдения значение этого выражения. Существует ряд стандартных функций и процедур для работы со строками. · Функция Length (s) выдает длину строки s. · Функция Concat (s1, s2,.., sn) возвращает строку s1+s2+..+sn. · Функция Copy (s, p, k) возвращает фрагмент строки s, который начинается в позиции p и имеет длину k. · Функция Pos (s1, s) ищет первое вхождение подстроки s1 в строку s и возвращает номер первого символа s1 в строке s или 0 если не нашли. · Процедура Delete (s, p, k) удаляет из строки s фрагмент, который начинается в позиции p и имеет длину k. · Процедура Insert (s, s1, p) вставляет в строку s подстроку s1, начиная с заданной позиции p. Турбо паскаль позволяет производить преобразования числовых значений в строковые и наоборот. Для этого используются процедуры Str (X: n: d, S) и Val (S, X, e). Первая получает их числа X строку S с изображением этого числа, в которой не менее n символов и из них d знаков после запятой. Параметры n и d необязательные. Вторая процедура получает из строки S число X. При успешном результате e=0. Пример: Заменить в строке «А» на «О».
procedure TForm1.Button1Click(Sender: TObject); var s1: string; i: integer;
begin s1: = Edit1.text; {ввод строки в переменную s1}
for i: =0 to length(s1) do begin if s1[i]='А' then begin delete (s1, i, 1); insert('О', s1, i); end; end; Edit2.Text: =s1; {вывод новой строки} end; Задания: Используя компоненту Edit, выполнить следующие действия: Вариант №1 Ввести последовательность символов, предшествующую символу " пробел" и выяснить: есть ли среди них буква А, сколько раз встретился символ "." , заменить букву В на * Вариант №2 Ввести произвольную последовательность из 20 символов и выяснить, - сколько среди них точек, сколько среди них пробелов, сколько среди них букв Д. Вариант №3 Ввести произвольную последовательность символов, предшествующую символу! и выяснить, есть ли среди них буквы, входящие в слово КУРС и сколько раз какая из этих букв встретилась. Вариант №4 Ввести последовательность символов, предшествующих точке и выяснить, встретились ли среди них буквы, входящие в слово ТУР Вариант №5 Ввести последовательность символов, заканчивающихся * выяснить: сколько пробелов, сколько букв А, сколько букв С, все буквы А заменить на точку Вариант №6 Ввести произвольную последовательность символов, предшествующих точке и выяснить, есть ли среди них буквы, входящие в слово ЭВМ и сколько раз они встречались. Вариант №7 Ввести последовательность символов, предшествующих символу * и выяснить сколько среди них букв S, A, R. Все буквы S заменить на точку Вариант №8 Ввести произвольную последовательность символов, предшествующую символу “.“ и определить: сколько символов введено, есть ли среди них символ пробел, все встретившиеся буквы “A“ заменить символом “*“. Вариант №9 Вывести произвольную последовательность из 15 символов и определить, есть ли среди них буквы, входящие в слово «Мера». Если они найдены, заменить их символом пробел. Вариант №10 Ввести строку символов, состоящую из N слов, разделённых пробелом и определить, сколько слов введено, кроме того, вывести все слова отдельно «столбцом». Вариант №11 Ввести произвольную последовательность из 30 символов и определить, есть ли среди них буквы входящие в слово “ШИНА” и сколько среди символов пробелов Вариант №12 Ввести последовательность символов, предшествующую символу " пробел" и выяснить: есть ли среди них буква Н, сколько раз встретился символ «=», заменить букву «Н» на «? » Вариант №13 Ввести произвольную последовательность из 20 символов и выяснить, - сколько среди них точек, сколько среди них пробелов, сколько среди них букв Ш. Вариант №14 Ввести последовательность символов, предшествующих точке и выяснить, встретились ли среди них буквы, входящие в слово МИР Вариант №15 Ввести последовательность символов, предшествующих символу « - » и выяснить сколько среди них букв Н, Ю, Х. Все буквы Ю заменить на точку Контрольные вопросы:
Лабораторная работа №17 Использование компонентов многострочного редактора для одномерных массивов. Цель работы: Применение теоретических навыков на практике. Ознакомить студентов с компонентами вывода текста на форме приложения. Закрепить полученные на лекции знания. Написать и отладить программу
Теория: · TMemo - иная форма TEdit. Подразумевает работу с большими текстами. TMemo может переносить слова, сохранять в Clipboard фрагменты текста и восстанавливать их, и другие основные функции редактора. TMemo имеет ограничения на объем текста в 32Кб, это составляет 10-20 страниц. (Есть VBX и “родные” компоненты Delphi, где этот предел снят). Пример: Найти сумму 5 чисел в одномерном массиве. Разместите не форме компоненты Memo1, 2 - Label, Button, Edit, как на рисунке. В свойстве Memo Lines| TString… удалить текст «Memo1» и «OK». procedure TForm1.Button1Click(Sender: TObject); var a: array [0..9] of integer; sum, i: integer; begin sum: =0; for i: =0 to 4 do begin a[i]: =StrToInt(Memo1.Lines[i]); sum: =sum+a[i]; end; Edit1.Text: =IntToStr(sum); end; Вводите все значения в Memo1!!!! Задания: Вариант №1 Дан массив натуральных чисел А(10). Найти сумму элементов, кратных данному К. Вариант №2 Дана последовательность целых чисел а1, …, а10. Выяснить, какое число встречается раньше – положительное или отрицательное. Вариант №3 Дана последовательность действительных чисел а1, …, а10. Заменить все ее члены, большие данного Z, этим числом. Подсчитать количество замен. Вариант №4 Дан массив действительных чисел, размерность которого 10. Подсчитать сколько в нем отрицательных, положительных и нулевых элементов. Вариант №5 Даны целые числа а1, а2, …, а10.Вывести на печать только те числа, для которых выполняется а[i] < i. Вариант №6 Даны натуральные числа а1, а2, …, а10.Подсчитать количество чисел у которых остаток от деления на М равен L (O < L < M - 1). Вариант №7 При поступлении в вуз абитуриенты, получившие “двойку” на первом экзамене, ко второму не допускаются. В массиве А[10] записаны оценки экзаменующихся, полученные на первом экзамене. Подсчитать, сколько человек не допущено ко второму экзамену. Вариант №8 Дана последовательность чисел, среди которых имеется один нуль. Вывести на печать все числа, включительно до нуля. Вариант №9 Дана последовательность действительных чисел а1, а2, …, а10. Подсчитать те ее элементы, которые принадлежат отрезку [c, d]. Вариант №10 Дана последовательность целых положительных чисел. Найти произведение только тех чисел, которые больше заданного числа М. Если таких нет, то выдать сообщение об этом. Вариант №11 Последовательность а1, а2, …, аn состоит из нулей и единиц. Поставить в начало этой последовательности нули, а затем единицы. Вариант №12 В последовательности действительных чисел а1, а2, …, а10, есть только положительные и отрицательные элементы. Вычислить произведение отрицательных элементов P1 и произведение положительных элементов P2. Сравнить модуль Р2 с модулем Р1 указать, какое из произведений по модулю больше. Вариант №13 Дан массив действительных чисел. Среди них есть равные. Найти первый максимальный элемент массива и заменить его нулём Вариант №14 Даны целые числа а1, а2, …, а10. Наименьший член этой последовательности заменить целой частью среднего арифметического всех членов, остальные члены оставить без изменений. Вариант №15 Даны действительные числа а1, а2, …, а10. Требуется умножить все члены последовательности на квадрат ее наименьшего члена, если а10 > 0, и на квадрат ее наибольшего члена, если а10 < 0. Контрольные вопросы: 1. Какой компонент используется для работы с одномерным массивом? Популярное:
|
Последнее изменение этой страницы: 2016-08-31; Просмотров: 818; Нарушение авторского права страницы