Учебный курс Программирование на Delphi. Модуль 6: различия между версиями
(→Пример 1.) |
(→Задание) |
||
| Строка 87: | Строка 87: | ||
Таблица 12 | Таблица 12 | ||
| + | {| border=1 | ||
| + | !Таблица №11 | ||
| + | |- | ||
| + | !Номер варианта||Условие | ||
| + | |- | ||
| + | |<center>1</center>|| Даны два вектора целых чисел А и В. Вычислить вектор С, который содержит нечетные элементы вектора А, которых нет в векторе В | ||
| + | |- | ||
| + | |||
| + | |<center>2</center>||Расположить элементы вектора в обратном порядке. Дополнительный массив не использовать. | ||
| + | |- | ||
| + | |<center>3</center>||Найти среднее арифметическое элементов массива X(n), исключив из них максимальное и минимальное значение. | ||
| + | |- | ||
| + | |<center>4</center>||Вектор B(n) заменить вектором, у которого элементы образуются делением вектора В на их сумму. | ||
| + | |- | ||
| + | |<center>5</center>||Заменить все элементы вектора X(m), стоящие до максимального, нулями. | ||
| + | |- | ||
| + | |<center>6</center>||В массиве R(k) найти минимальный элемент среди положительных и максимальный среди отрицательных. | ||
| + | |- | ||
| + | |<center>7</center>|| В массиве У(n) заменить все его элементы, стоящие после минимального, нулями. | ||
| + | |- | ||
| + | |<center>8</center>||Даны массив A(n) целого типа и целое число х. Произвести перестановку элементов массива так, чтобы в начале массива стояли элементы, значения которых меньше х, затем элементы, равные х, а следом элементы, значения которых больше х, в том порядке, в каком они стояли в массиве. | ||
| + | |- | ||
| + | |<center>9</center>||На плоскости на расстоянии s[1], s[2], ..., s[10] от центра кругового кольца с внутренним радиусом r и внешним R расположены точки. Определить количество точек, расположенных внутри кольца. | ||
| + | |- | ||
| + | |<center>10</center>||Дан вектор Х. Все его элементы не равные нулю, переписать (сохраняя их порядок) в начало массива, а нулевые элементы - в конец массива (новый массив не заводить). | ||
| + | |- | ||
| + | |<center>11</center>||Даны два вектора А и В. Сформировать вектор С, который содержит элементы, присутствующие в обоих массивах. | ||
| + | |- | ||
| + | |<center>12</center>||Имеется n окружностей с центром в начале координат и радиусами R[1], R[2], ..., R[n]. Определить номера окружностей между которыми находится точка с координатами (х, у). | ||
| + | |- | ||
| + | |<center>13</center>||В векторе X(n) поменять местами максимальный и последний элементы. | ||
| + | |- | ||
| + | |<center>14</center>||В векторе У(m) поменять местами максимальный и минимальный элементы. | ||
| + | |||
| + | |} | ||
==Литература== | ==Литература== | ||
Версия 14:29, 26 февраля 2008
Учебный курс Программирование на Delphi. Модуль 6
Содержание
Оператор for
Алгоритм называется циклическим, если он содержит многократное выполнение одних и тех же ветвей при различных значениях промежуточных данных.
Различают циклы с параметрами и циклы с условием. Для программирования циклов с параметром в Delphi используют оператор for.
Формат оператора:
for v := а1 to а2 do оператор;
v – переменная цикла – переменная порядкового типа,
a1- выражение, задающее начальное значение переменной цикла,
a2 - выражение, задающее конечное значение переменной цикла.
Оператор – оператор, выполнение которого будет повторяться (оператор тела цикла).
Если нужно сделать цикл по убыванию, то оператор for записывается в виде
for v: =a1 downto a2 do оператор;
Оператор работает так же, но шаг переменной цикла –1.
Пример 1.
- Условие:
Приписать к 523*** три такие цифры справа, чтобы полученное шестизначное число делилось на 7, на 8, на 9.
- Использованные компоненты:
BitBtn1,BitBtn2 - рабочие кнопки,
Label1 - вывод информации
- Программный код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Label1: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
var s,a,b,c,n: integer;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
for n:=0 to 999 do
begin
s:=523000+n;
a:=s mod 7;
b:=s mod 8;
c:=s mod 9;
if (a=0) and (b=0) and (c=0) then label1.Caption:='523..'+inttostr(n);
end;
end;
end.
- Форма с результатом работы программы:
Задание
Таблица 11 <math>Вставляйте сюда формулу</math>
Таблица 12
| Таблица №11 | |
|---|---|
| Номер варианта | Условие |
| Даны два вектора целых чисел А и В. Вычислить вектор С, который содержит нечетные элементы вектора А, которых нет в векторе В | |
| Расположить элементы вектора в обратном порядке. Дополнительный массив не использовать. | |
| Найти среднее арифметическое элементов массива X(n), исключив из них максимальное и минимальное значение. | |
| Вектор B(n) заменить вектором, у которого элементы образуются делением вектора В на их сумму. | |
| Заменить все элементы вектора X(m), стоящие до максимального, нулями. | |
| В массиве R(k) найти минимальный элемент среди положительных и максимальный среди отрицательных. | |
| В массиве У(n) заменить все его элементы, стоящие после минимального, нулями. | |
| Даны массив A(n) целого типа и целое число х. Произвести перестановку элементов массива так, чтобы в начале массива стояли элементы, значения которых меньше х, затем элементы, равные х, а следом элементы, значения которых больше х, в том порядке, в каком они стояли в массиве. | |
| На плоскости на расстоянии s[1], s[2], ..., s[10] от центра кругового кольца с внутренним радиусом r и внешним R расположены точки. Определить количество точек, расположенных внутри кольца. | |
| Дан вектор Х. Все его элементы не равные нулю, переписать (сохраняя их порядок) в начало массива, а нулевые элементы - в конец массива (новый массив не заводить). | |
| Даны два вектора А и В. Сформировать вектор С, который содержит элементы, присутствующие в обоих массивах. | |
| Имеется n окружностей с центром в начале координат и радиусами R[1], R[2], ..., R[n]. Определить номера окружностей между которыми находится точка с координатами (х, у). | |
| В векторе X(n) поменять местами максимальный и последний элементы. | |
| В векторе У(m) поменять местами максимальный и минимальный элементы. |
Литература
- Архангельский. Программирование на Delphi 6. – М: БИНОМ, 2002
- Бобровский С. Delphi 7. Учебный курс. – СПб: Питер, 2003
- Культин Н. Основы программирования в Delphi 7. СПб: БХВ-Петербург, 2005.