Copy(s,p,l); s1:=copy(s,p,l); Edit12.Text:=s1; end ; procedure TForm1.Button5Click(Sender: TObject); begin s:=Edit1.Text; r:=Edit9.Text; a:=Pos(r,s); edit13.Text:=IntToStr(a); end ; procedure TForm1.Button6Click(Sender: TObject); begin s:=edit1.Text; b:=Length(s); edit14.Text:=IntToStr(b); end ;
Практическая работа № 22 Нахождение индекса в массиве случайных чисел Цель работы — создать программу, которая находит индекс числа в массиве случайных чисел. Описание плана разработки программы 1. Открыть новый проект. 2. Разместить на форме экземпляры компонентов: Button , Edit , Label . 3. Выполнить следующие действия:
Таблица 22. | |||
Выделенный объект | Вкладка окна | Имя свойства/ | Действие |
Object Inspector | имя события | ||
Form1 | Properties | Caption | Установка имени формы «Новый |
проект» | |||
Events | OnCreate | Очистить значения свойств Text | |
текстовых полей | |||
Button1 | Properties | Caption | Введите название «Очистить» |
Events | Onclick | Очистить значения свойств Text | |
текстовых полей | |||
Button2 | Properties | Caption | Введите название «Закрыть» |
Events | Onclick | Обработка события закрытия | |
формы | |||
Button3 | Properties | Caption | Введите название «Найти первый |
индекс» | |||
Events | Onclick | Обработка события нахождения | |
индекса введенного числа | |||
Button4 | Properties | Caption | Введите название «Ввести |
случайным образом» | |||
Events | Onclick | Ввод массива случайным образом | |
Edit1 | Properties | Caption | Очистить значение свойства Text |
Edit2 | Properties | Caption | Очистить значение свойства Text |
Edit3 | Properties | Caption | Очистить значение свойства Text |
4. Введите переменные ik, k, i : integer; s : string; a : array [1..15] of integer. 5. Сохраните проект, запустите и протестируйте его. Листинг программы procedure Tform1.FormCreate(Sender: Tobject); begin Edit1.Text := ‘’; Edit2.Text := ‘’; Edit3.Text := ‘’; end ; procedure Tform1.Button1Click(Sender: Tobject); begin Edit1.Text := ‘’; Edit2.Text := ‘’; Edit3.Text := ‘’; end ; procedure Tform1.Button2Click(Sender: Tobject); begin close;
Максимальный элемент массива и его индекс. Python
end ; procedure Tform1.Button3Click(Sender: Tobject); begin k := StrToInt (Edit2.Text); For i:= 1 to 15 do if k = a[i] then ik := i; if ik = 0 then Edit3.Text := ‘number ubsent’ else Edit3.Text := IntToStr (ik); end ; procedure Tform1.Button4Click(Sender: Tobject); begin randomize; s := ‘’; For i := 1 to 15 do begin a[i] := random (26); s := concat (s, IntToStr (a[i]), #32); end ; Edit1.Text := s; end ; end . Вид проекта по действиям: Рис. 45.
НАЙТИ ИНДЕКС ЭЛЕМЕНТА В МАССИВЕ C# | МЕТОДЫ И ФУНКЦИИ В C# | СИ ШАРП УРОКИ | ДОМАШНИЕ ЗАДАНИЯ # 11
Практическая работа № 23 Находение минимального и максимального числа в массиве Цель работы — создать программу, которая находит минимальное и максимальное числа в введенном массиве. Описание плана разработки программы 1. Открыть новый проект. 2. Разместить на форме экземпляры компонентов: Button , Edit , Label . 3. Выполнить следующие действия:
Таблица 23. | |||
Выделенный объект | Вкладка окна | Имя свойства/ | Действие |
Object Inspector | имя события | ||
Form1 | Properties | Caption | Установка имени формы «Поиск» |
Events | OnCreate | Очистить значения свойств Text | |
текстовых полей | |||
Button1 | Properties | Caption | Введите название «Очистить» |
Events | Onclick | Очистить значения свойств Text | |
текстовых полей | |||
Button2 | Properties | Caption | Введите название «Закрыть» |
Events | Onclick | Обработка события закрытия | |
формы | |||
Button3 | Properties | Caption | Введите название «Поиск» |
Events | Onclick | Обработка события нахождения | |
минимального и максимального | |||
чисел во введенном массиве | |||
Edit1 | Properties | Caption | Очистить значение свойства Text |
Edit2 | Properties | Caption | Очистить значение свойства Text |
Edit3 | Properties | Caption | Очистить значение свойства Text |
4. Введите переменные s, ss: string ; a: array [1..15] of integer; I, j, k, max, min, p, code : integer. 5. Сохраните проект, запустите и протестируйте его. Листинг подпрограмм procedure Tform1.FormCreate(Sender: Tobject); begin Edit1.Text := ‘’; Edit2.Text := ‘’; Edit3.Text := ‘’; end ; procedure Tform1.Button1Click(Sender: Tobject); begin Edit1.Text := ‘’; Edit2.Text := ‘’; Edit3.Text := ‘’; end ; procedure Tform1.Button2Click(Sender: Tobject); begin close;
end ; procedure Tform1.Button3Click(Sender: Tobject); begin s :=Edit1.Text; s := concat (s, #32); i := 0; while Length (s) > 0 do begin i := i+1; p := pos (#32,s); ss := copy (s,1,p-1); Val (ss,k,code); a[i] := k; delete (s,1,p); end ; max := a[1]; For j := 1 to i do if max < a[j] then max := a[j]; min := a[1]; For j := 1 to i do if min >a[j] then min := a[j]; Edit3.Text := IntToStr (max); Edit2.Text := IntToStr (min); end ; Рис. 46.
Практическая работа № 24 «Текущее время и текущая дата» Цель работы — создать программу, которая выводит текущее время и текущую дату. Описание плана разработки программы 1. Открыть новый проект. 2. Разместить на форме экземпляры компонентов: Button , Edit , Label . 3. Выполнить следующие действия:
Таблица 24. | |||
Выделенный объект | Вкладка окна | Имя свойства/ | Действие |
Object Inspector | имя события | ||
Form1 | Properties | Caption | Установка имени формы «Таймер» |
Button1 | Properties | Caption | Введите название «Текущее время» |
Events | Onclick | DateTime:=Time; | |
Edit1.Text:=TimeToStr(DateTime); | |||
Button2 | Properties | Caption | Введите название «Текущая дата» |
Events | Onclick | Edit2.Text:=DateToStr(Date); | |
Edit1 | Properties | Caption | Очистить значение свойства Text |
Edit2 | Properties | Caption | Очистить значение свойства Text |
Рис. 47. Листинг подпрограмм var DateTime : TdateTime; procedure Tform1.Button1Click(Sender: Tobject); begin DateTime:=Time; Edit1.Text:=TimeToStr(DateTime); end ; procedure Tform1.Button2Click(Sender: Tobject); begin Edit2.Text:=DateToStr(Date); end ; end .
Практическая работа № 25 «Электронные часы» Цель работы — написать программу «Электронные часы», в окне которой отображается текущее время, дата и день недели. Рис. 48. Описание плана разработки программы 1. Открыть новый проект. 2. Разместить на форме экземпляры компонентов: Label, Timer . 3. Выполнить следующие действия: 3.1. Ввести константы, отвечающие за названия дней недели и месяцев. 3.2.
Объявить процедуру ShowTime вручную для доступа к компонентам формы напрямую. 3.3. Процедура ShowTime отображает текущее время. 3.4. Процедура FormTime обрабатывает событие Paint. 3.5.
Процедура Timer1Timer обрабатывает сигнал таймера. 3.6. Процедура FormCreate обрабатывает событие OnCreate. Листинг программы: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Timer1: TTimer; Label1: TLabel; // время Label2: TLabel; // дата и день недели procedure Timer1Timer(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormPaint(Sender: TObject); procedure ShowTime; private < Private declarations >public < Public declarations >end; var Form1: TForm1; implementation
const stDay : array [1..7] of string [11] = (‘воскресенье’,’понедельник’,’вторник’, ‘среда’,’четверг’,’пятница’,’суббота’); stMonth : array [1..12] of string [8] = (‘января’,’февраля’,’марта’, ‘апреля’,’мая’,’июня’,’июля’, ‘августа’,’сентября’,’октября’, ‘ноября’,’декабря’); procedure TForm1.ShowTime; var Time : TDateTime; // текущее время begin Time := Now(); // получить системное время Label1.Caption := FormatDateTime(‘hh:mm:ss’,Time); end ; procedure TForm1.Timer1Timer(Sender: TObject); begin ShowTime; // отобразить время end ; procedure TForm1.FormCreate(Sender: TObject); var Present: TDateTime; // текущая дата и время Year, Month, Day : Word; // год, месяц и число, как // отдельные числа begin Present:= Now; // получить текущую дату DecodeDate(Present, Year, Month, Day); Label2.Caption := ‘Сегодня ‘+IntToStr(Day)+ ‘ ‘ + stMonth[Month] + ‘ ‘+ IntToStr(Year)+ ‘ года, ‘+ stDay[DayOfWeek(Present)]; // настроить и запустить таймер Timer1.Interval := 1000; // период сигналов таймера 1 с Timer1.Enabled := True; // пуск таймера end ; procedure TForm1.FormPaint(Sender: TObject); begin ShowTime; // отобразить часы end ; end .
Практическая работа № 26 Графика Для рисования статичных рисунков используется компонент PaintBox (панель System). Этот компонент размещается на форме в виде прозрачного пунктирного квадрата, и в его пределах можно рисовать. Рисование выполняется обращением к свойству Canvas (графическая канва) этого компонента: PaintBox1.Canvas.
У него в свою очередь есть свойство Pixels (PaintBox1.Canvas.Pixels), которое представляет собой матрицу, двумерный массив заданного размера — поточечный образ канвы, каждый элемент — отдельная точка. В Pixels[] отсчет точек (пикселов экрана) начинается с 0. Координаты x, y отсчитываются от верхнего левого угла, то есть он считается точкой с координатой (0, 0), увеличение по оси x идет слева направо, а по оси y — сверху вниз.
Для конкретной точки указывается цвет. Функция RGB() формирует цвет комбинацией интенсивности красного, зеленого и синего (интенсивность задается числом от 0 до 255). Например, черный — RGB(0,0,0), красный — rgb(255,0,0), синий — rgb(0,0,255), белый — rgb(255,255,255). Цель работы — создать программу, выполняющую следующие действия: 1. Разместить на форме компонент PaintBox.
2. Заполнить доступную канву 300 красными точками в случайных позициях по нажатиям на некоторую кнопку. 3. Для выхода из программы необходимо щелкнуть мышью на закрывающей кнопке в строке заголовка. 4. Записать код в обработчике нажатия. Рис. 49. procedure TForm1.Button1Click(Sender: TObject); var i,x,y: Integer; begin randomize; for i := 1 to 300 do begin x := random(100); y := random(100); PaintBox1.Canvas.Pixels[x,y] := RGB(255,0,0); end end; 5. Изменить RGB(255,0,0) на RGB(random(255),random(255),random(255) ).
Рис. 50. 6. Заполнить фон черным цветом перед началом выполнения программы с помощью метода канвы FillRect. Метод вызывается с указанием прямоугольной области заливки цветом: FillRect(Rect(0, 0, 100, 100)) // координаты верхнего левого и правого нижнего углов Вложенное слово Rect формирует данное типа «прямоугольник». Перед вызовом FillRect надо указать цвет заливки: PaintBox1.Canvas.Brush.Color := RGB (0,0,0); Рис.
51. procedure TForm1.Button1Click(Sender: TObject); var i,x,y: Integer; begin PaintBox1.Canvas.Brush.Color := RGB(0,0,0); PaintBox1.Canvas.FillRect(Rect(0,0,100,100)); for i := 1 to 300 do begin x := random(100); y := random(100); PaintBox1.Canvas.Pixels[x,y] := RGB(random(255),random(255),random(255)); end end; 7. Заполнить канву случайными разноцветными линиями разной толщины. Линия рисуется с помощью методов (сначала задается начальная точка, потом конечная): PaintBox1.Canvas.MoveTo(10,10); PaintBox1.Canvas.LineTo(50,50); Цвет линии и толщина задаются свойством канвы Pen (карандаш). Pen.Color — цвет карандаша), Pen.Width — толщина линии в пикселах (по умолчанию — 1). 72
Источник: studfile.net
Нахождение индекса в массиве случайных чисел
Цель работы -создать программу, которая находит индекс числа в массиве случайных чисел.
Описание плана разработки программы
1. Открыть новый проект.
2. Разместить на форме экземпляры компонентов: Button, Edit, Label.
3. Выполнить следующие действия:
Выделенный объект | Вкладка окна Object Inspector | Имя свойства/ имя события | Действие |
Form1 | Properties | Caption | Установка имени формы «Новый проект» |
Events | OnCreate | Очистить значения свойств Text текстовых полей | |
Button1 | Properties | Caption | Введите название «Очистить» |
Events | Onclick | Очистить значения свойств Text текстовых полей | |
Button2 | Properties | Caption | Введите название «Закрыть» |
Events | Onclick | Обработка события закрытия формы | |
Button3 | Properties | Caption | Введите название «Найти первый индекс» |
Events | Onclick | Обработка события нахождения индекса введенного числа | |
Button4 | Properties | Caption | Введите название «Ввести случайным образом» |
Events | Onclick | Ввод массива случайным образом | |
Edit1 | Properties | Caption | Очистить значение свойства Text |
Edit2 | Properties | Caption | Очистить значение свойства Text |
Edit3 | Properties | Caption | Очистить значение свойства Text |
4. Введите переменные ik, k, i: integer; s: string; a: array [1..15] of integer.
5. Сохраните проект, запустите и протестируйте его.
Листинг программы
procedure Tform1.FormCreate(Sender: Tobject);
Begin
end;
procedure Tform1.Button1Click(Sender: Tobject);
Begin
end;
procedure Tform1.Button2Click(Sender: Tobject);
Begin
end;
procedure Tform1.Button3Click(Sender: Tobject);
Begin
k:= StrToInt (Edit2.Text);
For i:= 1 to 15 do
if k = a[i] then ik:= i;
if ik = 0 then Edit3.Text:= ‘number ubsent’
else Edit3.Text:= IntToStr (ik);
end;
procedure Tform1.Button4Click(Sender: Tobject);
Begin
For i:= 1 to 15 do
Begin
s:= concat (s, IntToStr (a[i]), #32);
end;
end;
end.
Вид проекта по действиям:
Источник: mydocx.ru
Определить индексы элементов массива, значение которых лежит в указанном пределе
В массиве определить индексы элементов, значение которых не меньше заданного минимума и не больше заданного максимума.
Это простая задача, если не требуется сохранять индексы элементов, а просто выводить их на экран. Ее можно усложнить, если задать условие сохранения в программе индексов найденных элементов и определение их общего количества. В таком случае потребуется ввести еще один массив.
- arr — исследуемый массив;
- id — массив индексов элементов массива arr , значение которых лежит в определенных пределах;
- min , max — нижняя и верхняя граница диапазона;
- m — количество найденных элементов.
Алгоритм решения задачи:
- генерируем массив случайных чисел и выводим его на экран;
- запрашиваем у пользователя нижнюю и верхнюю границы поиска;
- перебирая массив, если значение очередного элемента больше или равно минимуму и меньше или равно максимуму, то помещаем его индекс в массив id ;
- выводим общее количество найденных элементов и их индексы в массиве arr , сохраненные в массиве id .
Программа на языке Паскаль:
const N = 10; var arr: array[1..N] of integer; id: array[1..N] of byte; min, max: integer; i, m: byte; begin randomize; for i := 1 to N do begin arr[i] := random(100); write(arr[i], ‘ ‘); end; writeln; write(‘Min: ‘); readln(min); write(‘Max: ‘); readln(max); m := 0; for i := 1 to N do if (arr[i] >= min) and (arr[i]
Примеры выполнения кода:
40 18 84 37 72 74 88 85 42 14 Min: 21 Max: 49 Total: 3 Id: 1 4 9
Источник: pas1.ru