- •Предисловие
- •Раздел 1. Изучение интегрированной среды delphi
- •1.1. Вводные замечания
- •Основные понятия
- •1.3. Контрольные вопросы
- •1.4. Задания к лабораторной работе № 1
- •Раздел 2. Программирование линейных алгоритмов в системе delphi
- •2.1. Вводные замечания
- •2.2. Основные понятия
- •2.3. Пример программирования линейного алгоритма
- •2.3.1. Разработка алгоритма
- •2.3.3.Текст программы:
- •2.4. Контрольные вопросы
- •2.5. Задания к лабораторной работе № 2
- •Раздел 3. Программирование
- •3.3.2. Разработка формы
- •3.4. Контрольные вопросы
- •3.5. Задания к лабораторной работе № 3
- •Раздел 4. Программирование простых циклических алгоритмов в системе
- •4.1. Вводные замечания
- •4.2. Основные понятия
- •4.3.1. Разработка алгоритма
- •4.4. Контрольные вопросы
- •Раздел 5. Программирование с использованием одномерных массивов в системе delphi
- •5.1. Вводные замечания
- •5.2 Основные понятия
- •5.3. Пример программирования с использованием одномерного массива
- •5.3.1. Разработка алгоритма
- •5.4. Контрольные вопросы
- •5.5. Задания к лабораторной работе № 5
- •Раздел 6. Программирование с использованием двумерных массивов в системе delphi
- •6.1. Вводные замечания
- •6.2. Основные понятия
- •6.3. Пример программирования с использованием двумерного массива
- •6.3.1. Разработка алгоритма
- •Раздел 7. Символы и строки
- •Раздел 8. Файлы
- •Задание 1
- •Раздел 9. Программирование в системе delphi с использованием подпрограмм
- •7.3. Пример программирования с использованием подпрограмм
- •Учебно-методическое обеспечение курса
- •Средства обеспечения освоения дисциплины
5.3. Пример программирования с использованием одномерного массива
Задание: Найти минимальный элемент в одномерном массиве, состоящем из 5 целых чисел.
Задачи поиска минимального и (или) максимального значе массиве чисел весьма распространены. Типовым приемом п минимума и максимума является присвоение в самом начале ал ритма переменным, хранящим значения максимума и мини,\ первого элемента массива, в котором осуществляется поиск.
5.3.1. Разработка алгоритма
Входные данные
MAS - массив целых чисел. Выходные данные
min - целочисленная переменная. Промежуточные данные
i - счетчик.
5.3.2 Разработка формы
Таблица 5.1 Используемые компоненты
№ |
Имя компонента |
Страница палитры компонент |
Настраиваемые свойства |
Значения |
1 |
Form1 |
- |
Caption |
Поиск минимального элемента в массиве |
2 |
Label 1 |
Standard |
Caption |
Введите элементы це- лочисленного массива |
3 |
StringGridl |
Additional |
FixedCols |
0 |
FixedRows |
0 |
|||
RowCount |
1 |
|||
Options |
[goEditing, goTab] |
|||
4 |
Buttonl |
Standard |
Caption |
Поиск минимума |
5 |
Label2 |
Standard |
Caption |
|
5.3.3. Текст программы
unit Unit 1; interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Contro ls, Forms,Dialogs, StdCtrls, Grids;
type
TForml = class(TForm)
Label 1: TLabel;
StringGridl: TStringGrid;
Button l:TButton;
Label2: TLabel;
procedure Button lClick(Sender: TObject);
private
{ Private declarations } public
{ Public declarations } end;
var Forml: TForml;
implementation
{$R*.DFM}
procedure TForml.ButtonlClick(Sender: TObject);
const N=5;
var min, i: integer;
MAS; array [1 ..N] of integer;
begin {ввод одномерного массива}
MAS[i+l]:=StrtoInt(StringGridl.Cells[i,0]);
for i:=0 toN-1 do
{поиск min}
min:=MAS[l];
fori:=l to N do
if min>MAS[i] then
min:=MAS[i];
{вывод результата}
Label2.Caption:{минимум = }+InttoStr(min);
end;
5.4. Контрольные вопросы
1. Ответить на следующие вопросы:
Может ли массив содержать один элемент?
Можно ли во время выполнения программы изменить размер массива?
Могут ли элементами некоторого массива быть числа 1, 1.41,4.98,30?
Верно ли, что тип элементов массива может быть любым?
Может ли типом индекса массива быть тип integer или real?
type
d = (вчера, сегодня, завтра);
v = array [1..30] of real;
а = array [1..5] of integer; var
MASl:d;
MAS2,MAS3:v;
MAS4: array [1..10] of real; MASS: a; Ответить на вопросы:
Какие массивы определены?
Какие значения могут принимать массивы?
Как указать первый и последний элементы каждого из описанных массивов?
Какие операции над массивами как единым целым допустимы в среде Delphi?
Дан фрагмент программы:
var
х: array [1 ..40] of char;
у: array [0..39] of char;
Можно ли переписать элементы массива х в массив у с помощью оператора у:=х?
5. Написать фрагмент программы ввода массива В, описанного следующим образом:
TYPE
Т = array [1 ..6] of integer; VAR
B:T;
6. Написать фрагмент программы вывода массива А, описанного следующим образом:
VAR A: array [1..5] of real;
7. Присвоить нулевые значения N элементам массива
VAR
A: array of real;
Может ли быть описан массив без представления типа в разделе описания типов данных?
Для чего предназначается компонент TStringGrid?
10. Какими свойствами обладает компонент TStringGrid?