Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Проверочная работа №4. Строки. Циклы
Вариант №1. 1. Опишите строку s. ________________________________________________________________ 2. Напишите программу для проверки количества вхождений в строку буквы v. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 3. Опишите структуру цикла «до» в «общем» виде ________________________________________________________________ 4. Переведите на язык программирования следующие высказывания a. Цикл от 1 до 10. ___________________________________________________________ b. Сообщение «Привет» выводится пока a < 5 ______________________________________________________________________________________________________________________ c. Пока m > 10 увеличиваем количество a и b на 2 и 3 соответственно. _________________________________________________________________________________________________________________________________________________________________________________ 5. Выберите синтаксически правильную запись (может быть несколько вариантов ответа) a. For i: =1 to n do a: =a+1; b. For i=1 to 5 do a: =a+1; c. For i: =1 to 10 do a: =a+1; d. For i: =1 to n do a: =a+1; b: =b+a; e. For i: =1 to n do begin a: =a+1; c: =c+1; end; f. While a> 0 do m: =m+1; g. While c≠ 10 do begin a: =1; b: =2; end; h. Repeat a> 0 until b: =b-1; i. Repeat b: =b-1 until a> 0; j. While b: =b+2 do m> 0; k. Repeat b=10 do k: =k-2; end; l. While a> 0 until b: =b-1; m. Repeat b: =b-1; n: =n+2 until a> 0; Вариант №2*. 1. Опишите строку s, максимальная длина которой 10. ________________________________________________________________ 2. Напишите программу для проверки количества вхождений в строку буквы символов +, -, ), (. ________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 3. Опишите структуру цикла «пока» в «общем» виде ________________________________________________________________ 4. Переведите на язык программирования следующие высказывания a. Цикл с параметром от 1 до 20. ___________________________________________________________ b. Сообщение «Добрый день» выводится 5 раз. ______________________________________________________________________________________________________________________ c. Увеличиваем a на единицу и выводим текущее значение на экран до тех пор, пока m ≠ 10 _________________________________________________________________________________________________________________________________________________________________________________ 5. Выберите синтаксически правильную запись (может быть несколько вариантов ответа) и исправьте неправильные a. For j: =1 to n do a: =a+1; b. For j=1 to 5 do a: =a+1; m: =18*a; c. For i: =1 to n do begin a: =a+1; b: =b+a; end; ________________________________________________________ d. For i: =1 to n do begin a: =a+1; c: =c+1 end; ________________________________________________________ e. While a> 0 do m: =m+1; n: =n*a2 f. While c< 10 do begin a: =1; b: =2; end; ________________________________________________________ g. Repeat a> 0 until begin b: =b-1; c: =c+2; end; ________________________________________________________ h. Repeat b: =b-1; n: =n+2; until a> 0; i. While begin b: =b+2; v: =v+4; end; do m> 0; ________________________________________________________ j. Repeat begin b=10 do k: =k-2; end; k. Repeat b: =b-1; n: =n+2; k: =k+10 until a> 0; ________________________________________________________ Рассмотрение дополнительных компонентов для Для ввода и вывода информации в объектно-ориентированном программировании существует целый ряд вариантов. В библиотеке визуальных компонентов Delphi существует множество компонентов, позволяющих отображать, вводить и редактировать текстовую информацию. Нами уже были рассмотрены Label (метка), Edit (однострочное поле) и Memo (многострочное поле). В таблице приведен перечень оставшихся компонентов с краткими характеристиками и указанием основных параметров, содержащих отображаемый или вводимый текст.
Оператор присоединения (With) Оператор используется для сокращения записи кода программы при обращениях к свойствам объекта. Он позволяет избегать повторных ссылок на объект в последующих операторах. Структура: With < объект> Do < оператор>; Например, группу операторов Form1.label1.left: = form1.label1.left + 10; Form1.label1.caption: =label2.caption; Form1.label1.font.color: = clred; С помощью with можно записать короче: With form1.label1 do Begin left: = left + 10; caption: =label2.caption; font.color: = clred; end; Графические компоненты TImage – изображение Данный компонент служит для размещения на форме одного из трех поддерживаемых Delphi типов изображений: растрового рисунка (*.bmp), значка (*.ico) или метафайла (*.wmf, *.emf). С помощью свойства Canvas программа может отредактировать растровое изображение (но не метафайл или значок! ) Свойства компонента:
TShape – стандартная фигура Компонент рисует одну из простейших геометрических фигур: stCircle – окружность stRounrSaustre – квадрат с закругленными сторонами stSquare – квадрат stEllipse – эллипс stRectangle – прямоугольник stRoundRect – прямоугольник с закругленными сторонами Фигура полностью занимает все пространство компонента. Помимо стандартных графических инструментов Brush и Pen, в компоненте определено свойство Shape, задающий вид фигуры. Изменение этого свойства приводит к немедленной перерисовке изображения TPaintBox – окно для рисования Для создания изображения в компоненте класса TPaintBox используется свойство канва (Canvas), графические инструменты – в свойствах Font, Pen, Brush. Рисование осуществляется в обработчике события OnPaint. Лабораторная работа №11 Создадим несложную программу просмотра изображений: 1. Поместите на форму панель TPanel, очистите ее свойство Caption. 2. Разместите на панели кнопку TButton с надписью Загрузить. 3. На любое свободное место формы (над панелью) поместите компонент TImage и установите в его свойство Align значение alClient. 4. На любое место поместите компонент TOpenPictureDialog (вкладка Dialogs) – с его помощью пользователь программы может разыскать нужный файл с изображением. 5. Для кнопки напишите обработчик события OnClick: Begin If OpenPictureDialog1.Execute then Begin Image1.Picture.LoadFormFile(OpenPictureDialog1.FileName); Image1.Stretch: = True {масштабирует изображение, чтобы оно занимало всю рабочую область} End; End; Для того чтобы нарисовать нижеследующий рисунок в окне PaintBox необходимо растянуть данный компонент по форме, форму развернуть на весь экран и написать представленный код.
procedure TForm1.PaintBox1Paint (Sender: TObject); var x, y: integer; begin with paintbox1.Canvas do begin brush.Color: =clred; ellipse(0, 0, 620, 420); font.Name: ='arial'; font.Size: =height div 5; font.Style: =[fsbold, fsitalic]; font.Color: =clwhite; x: =(620 - textwidth('Delphi')) div 2; y: =(420 - textheight('D')) div 2; textOut(x, y, 'Delphi') end; end; Задания для самостоятельной работы: 1. По введенным координатам точки А(a1, a2) вывести координатную четверть с ПДСК. 2. Нарисовать домики пейзаж около него. 3. По введенному числу лепестков вывести значение гадания по ромашке «любит» или «не любит». Работа с таблицами TStringGrid – текстовая таблица Компонент TScrollBar предназначен для создания таблиц, в ячейках которых располагаются произвольные текстовые строки. Таблица делится на две части – фиксированную и рабочую. Фиксированная часть служит для показа заголовков колонок и рядов, а так же для ручного управления их размерами. Обычно фиксированная часть занимает левую колонку и верхний ряд таблицы, однако с помощью свойств FixedCols и FixedRows можно задать другое количество фиксированных колонок и рядов. Рабочая часть – это остальная часть таблицы. Она может содержать произвольное количество колонок и рядов, более того, эти величины могут изменяться программно. Если рабочая часть таблицы не помещается целиком на экране, то автоматически появляется полоса прокрутки. Свойства компонента:
Лабораторная работа №12 Для обращения к ячейке [0, 0] нужно использовать свойство Cells: StringGrid1.Cells[0, 0]: =IntToStr(5) 1. Проиллюстрируйте возможности рассмотренного компонента, составив таблицу следующего вида:
2. Составить таблицу 4х4, состоящую из целых чисел. Программа должна выводить число, лежащее в ячейке с введенным с клавиатуры номером столбца и строки. 3. Составить таблицу, выводящую расписание занятий в школе. Массивы Массив – упорядоченный набор однотипных значений – компонент массива. Тип компонент называется базовым типом массива. В Delphi массив рассматривается как переменная структурированного типа. Массиву присваивается имя, посредством которого можно ссылаться на него, как на единое целое, так и на любую из его компонент. Описание массивов VAR < имя переменной>: ARRAY [< type1, type2, …> ] OF < type>; [< type1, type2, …> ] – типы индексов < type> - базовый тип Количество типов индексов определяет размерность массива. Тип индексов может быть любым, кроме Real. Базовым типом может быть любой тип данных. Примеры описания массивов Var a: array[1..10] of integer; - последовательность целых чисел Var t: array[1..2, 1..2] of real; - таблица 2х2. Var a1: array [‘A’..’Z’] of word; Обращение к элементам массива a[1] – первый элемент из массива a. t[1, 2] – элемент из первой строки второго столбца. Индексы можно задавать либо конкретными значениями, либо выражениями. i: =1; a[i] - первый элемент из массива a; a[i+1] – второй элемент массива а. В динамических массивах не указывается размерность в описании: Например, var a: array of integer; Размерность устанавливается в теле программы: SetLength(a, 10); - длинна массива а – 10 элементов. По массиву проход осуществляется от первого до последнего элемента: for i: = Low(a) to High(a) do где i: integer; Лабораторная работа №13 Задания для самостоятельной работы: 1. Заполнить линейный массив произвольными числами и вывести его на экран. 2. Заполнить линейный массив числами, введенными с клавиатуры, вывести этот массив, увеличить все элементы на 5 и снова вывести получившийся массив на экран. 3. В линейном массиве найти элементы массива равные 10 и вывести их индексы. 4. В линейном массиве вывести элементы с четными индексами. 5. В двумерном массиве найти количество четных элементов. 6. В двумерном массиве найти сумму элементов главной диагонали. 7. В двумерном массиве подсчитать произведение наибольших элементов каждой строки. 8. В динамическом массиве вывести на экран элементы равные своему индексу. 9. В динамическом массиве найти элементы, удовлетворяющие условию сумма индексов меньше значения элемента. 10. Вывести массив следующего вида. Размерность произвольная.
11. Вывести массив следующего вида. Размерность произвольная.
12. Вывести массив следующего вида. Размерность произвольная. Популярное:
|
Последнее изменение этой страницы: 2016-07-14; Просмотров: 674; Нарушение авторского права страницы