Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 1958

.pdf
Скачиваний:
4
Добавлен:
30.04.2022
Размер:
3.16 Mб
Скачать

нентов StringGrid1, StringGrid2 и выводят в них номера строк и столбцов.

var

i,j: integer; begin

if (Edit1.Text<>'') and (Edit2.Text<>'') then begin

n:= strtoint(edit1.Text); m:= StrToInt(Edit2.Text); StringGrid1.RowCount:=n+1; StringGrid1.ColCount:=m+1; StringGrid2.RowCount:=n+1; StringGrid2.ColCount:=m+1;

for i:=1 to n do begin

StringGrid1.Cells[0,i]:=IntToStr(i);

StringGrid2.Cells[0,i]:=IntToStr(i);

end;

for j:=1 to m do begin

StringGrid1.Cells[j,0]:=IntToStr(j);

StringGrid2.Cells[j,0]:=IntToStr(j);

end; end else

ShowMessage('Размеры матрицы не введены'); end;

Для компонента button2 (кнопка «Введите элементы матрицы и щелкните по данной кнопке») в свойстве OnClick создана следующая процедура, которая проверяет ввод всех элементов матрицы, преобразует данные, введенные в компонент StringGrid1, в вещественные числа и присваивает их элементам матрицы mas. Эта же процедура выводит элементы матрицы в компонент StringGrid2.

39

var

i, j, p: integer; begin

p:=0;

for i:= 1 to n do for j:=1 to m do

if StringGrid1.Cells[j,i] ='' then p:=1;

if p = 0 then begin

for i:=1 to n do for j:=1 to m do begin

mas[i,j]:=StrToFloat(StringGrid1.Cells[j,i]); StringGrid2.Cells[j,i] := FloatToStr(mas[i,j]); end;

ShowMessage('Матрица задана'); end

else ShowMessage('Матрица не задана полностью');

end;

Для компонента button4 (кнопка «Поиск минимального элемента») в свойстве OnClick создана следующая процедура, которая ищет в матрице минимальный элемент и номера строк и столбцов, где он стоит. Найденные данные выводятся в ком-

понент label4. var

i,j, n1,m1 : integer; min: real;

begin

min := mas[1,1]; n1:=1; m1:=1; for i:= 1 to n do

for j:= 1 to m do

40

if min > mas[i,j] then begin min := mas[i,j]; n1 :=i; m1:=j;

end;

label4.Caption := 'min= '+ FloatToStr(min)+' строка = '+IntToStr(n1)+' столбец = '+IntToStr(m1);

end;

Для компонента button5 (кнопка «Очистить») в свойстве OnClick создана следующая процедура, которая очищает поля ввода и вывода результатов.

var i,j:integer; begin

label4.Caption :=''; edit1.text:=''; edit2.text:=''; for i:=0 to n+1 do

for j:=0 to m+1 do begin

StringGrid1.Cells[j,i]:='';

StringGrid2.Cells[j,i]:='';

end; StringGrid1.RowCount := 2; StringGrid2.RowCount := 2; StringGrid1.ColCount := 2; StringGrid2.ColCount := 2; end;

Варианты пятого задания по обработке двумерных массивов (матриц) приведены ниже.

1. Дана матрица F(3,4). Сформировать массив E(3), элементы которого представляют суммы элементов строк матрицы F. Вывести E.

41

2.Найти и вывести сумму максимального и минимального элементов матрицы B(3,3). Вывести сумму, максимальный и минимальный элементы.

3.Дана матрица A(5,5), найти максимальный элемент среди отрицательных элементов матрицы, вывести его значение, номер строки и столбца, где он расположен.

4.Дана матрица B(3,5), сформировать массив А(5), элементы которого представляют произведение элементов строк матрицы B. Вывести A.

5.Дана матрица B(4,4), найти минимальный элемент среди положительных элементов матрицы, вывести его значение, номер строки и столбца, где он расположен.

6.Найти максимальный элемент в каждой строке матрицы А(4,4). Вывести на печать эти элементы, номера столбцов и строк, в которых они расположены.

7.Найти минимальный элемент в каждом столбце матрицы B(3,4). Вывести на печать эти элементы, номера столбцов и строк, в которых они расположены.

8.Найти максимальный элемент на главной диагонали матрицы F(4,4) и сформировать матрицу P(4,4), элементы которой получены из элементов F путем умножения на максимальный элемент. Матрицу P вывести.

9.Найти первый отрицательный элемент в матрице R(3,3)

исформировать матрицу P(3,3), элементы которой получаются из соответствующих элементов матрицы R путем деления на первый отрицательный. Матрицу P вывести.

10.Дана матрица X(3,4), найти максимальный элемент в последнем столбце и сформировать матрицу Y(3,4) из соответствующих элементов X(3,4) путем деления на найденный максимальный элемент. Матрицу Y вывести.

11.Даны целые числа X1, X2, X3. Получить матрицу К(3,3), для которой Kij = Xi - 3Xj . Вывести K и массив Х.

42

12.Даны действительные числа a1 , ... , a5 , b1 , ... , b10. Получить действительную матрицу C(5,10), для которой Сij = Ai / (1 + |Bj|). Вывести C.

13.Дана матрица Q(3,5), найти среднее арифметическое каждого столбца и вывести их.

14.Дана матрица P(4,6), найти среднее арифметическое каждого столбца, имеющего четный номер, и вывести их.

15.Определить, сколько положительных элементов содержит матрица T(6,6), если Tij = sin((i2 - j2) / 6). Вывести матрицу Т и количество положительных элементов.

16.Дана матрица C(3,3). Получить новую матрицу D(3,3) путем деления всех элементов матрицы на ее наибольший по модулю элемент. Вывести матрицу D и найденный элемент.

17.Получить и вывести действительную матрицу D(4,4), для которой

 

 

 

 

 

sin(1 j),

 

если i j;

 

1,

 

если i j;

y

 

 

 

i j

 

 

cos

 

,

если i j.

2 i 3 j

 

 

 

 

 

 

 

 

 

18.Дана матрица B(3,34). Все отрицательные элементы заменить на -1, все положительные - на 1, нулевые оставить без изменения. Преобразованную матрицу вывести.

19.Дана матрица Z(3,3), заменить на нули все ее элементы, расположенные на главной диагонали и выше ее. Преобразованную матрицу вывести.

20.Дана матрица Y(3,4), все элементы с наибольшим значением в ней заменить нулями. Преобразованную матрицу и наибольший элемент вывести.

21.В матрице X(3,4) найти сумму элементов строки, в которой расположен элемент с наименьшим значением. Предпо-

43

лагается, что такой элемент единственный. Вывести сумму, номер строки и наименьший элемент.

22.Дана матрица A(3,3). В каждой строке выбирается элемент с наименьшим значением, затем среди этих чисел выбирается наибольшее. Вывести минимальные элементы, наибольший среди них, индексы этого элемента.

23.Дана матрица M(3,3), найти и вывести номера строк, где все элементы равны нулю.

24.Дана матрица L(3,3), найти и вывести номера строк, элементы которых одинаковы.

25.Дана матрица K(3,3), найти и вывести номера строк, все элементы которых четны.

26.Дана матрица A(3,3). В строках с отрицательным элементом на главной диагонали найти суммы всех элементов. Вывести номера строк, суммы.

27.Дана матрица D(3,3). В строках с положительным элементом на главной диагонали найти наибольший в строке элемент. Вывести найденные элементы.

28.Дана матрица K(3,4), указать и вывести индексы всех нулевых элементов.

29.Дана матрица A(3,4), найти количество положительных элементов матрицы, сформировать новую матрицу X(3,4), элементы которой получены из элементов А путем деления их на найденное количество. Матрицу X вывести.

30.Дана матрица K(3,3), найти количество четных элементов матрицы, сформировать новую матрицу L(3,3), элементы которой получены из элементов K путем деления их на найденное количество. Матрицу L вывести.

Оформление работы: отчет по контрольной работе выполняют на бумаге размером А4, ориентация книжная, верхнее поле – 20 мм, нижнее поле – 20 мм, левое поле – 30 мм, правое поле – 15 мм, размер шрифта – 14, межстрочный интервал – одинарный, страницы нумеруются внизу по центру.

44

На титульном листе должны быть указаны ВУЗ, факультет, кафедра, дисциплина, номер зачетки, номера вариантов пяти заданий, группа, Ф.И.О. студента, Ф.И.О. преподавателя, город, год.

Выбор варианта контрольной работы осуществляется с помощью табл.4 на основе двух последних цифр номера студенческого билета или зачетной книжки.

Таблица 4 Таблица выбора вариантов контрольных заданий

Предп.

 

Последняя цифра номера студенческого билета

 

цифра

0

1

2

3

4

5

6

7

8

 

9

номера

 

 

 

 

 

 

 

 

 

 

 

студ.

 

 

 

 

 

 

 

 

 

 

 

билета

 

 

 

 

 

 

 

 

 

 

 

0

1,

2,

3,

4,

5,

6,

7,

8,

9,

 

Все

 

1,1,

2,2,

3,3,

4,4,

5,5,

6,6,

7,7,

8,8,

9,9,

 

10

 

1,1

2,2

3,3

4,4

5,5

6,6

7,7

8,8

9,9

 

 

1

Все

Все

Все

Все

Все

Все

Все

Все

Все

 

Все

 

11

12

13

14

15

16

17

18

19

 

20

2

Все

Все

Все

Все

Все

Все

Все

Все

Все

 

Все

 

21

22

23

24

25

26

27

28

29

 

30

3

1,2,

6,7,

11,

16,

21,

26,

2,3,

7,8,

12,

 

17,

 

3,4,

8,9,

12,

17,

22,

27,

4,5,

9,

13,

 

18,

 

5

10

13,

18,

23,

28,

6

10,

14,

 

19,

 

 

 

14,

19,

24,

29,

 

11

15,

 

20,

 

 

 

15

20

25

30

 

 

16

 

21

4

22,

27,

3,

8,9,

13,

18,

23,

28,

4,5,

 

9,10,

 

23,

28,

4,

10,

14,

19,

24,

29,

6,7,

 

11,

 

24,

29,

5,6,

11,

15,

20,

25,

30,

8

 

12,

 

25,

30,

7

12

16,

21,

26,

1,2

 

 

13

 

26

1

 

 

17

22

27

 

 

 

 

5

14,

19,

24,

29,

5,

10,

15,

20,

25,

 

30,1,

 

15,

20,

25,

30,

6,7,

11,

16,

21,

26,

 

2,3,4

 

16,

21,

26,

1,2,

8,9

12,

17,

22,

27,

 

 

 

17,

22,

27,

3

 

13,

18,

23,

28,

 

 

 

18

23

28

 

 

14

19

24

29

 

 

 

 

 

 

 

45

 

 

 

 

 

 

Продолжение табл. 4

Предп.

 

Последняя цифра номера студенческого билета

цифра

0

 

1

2

3

4

5

6

7

8

9

номера

 

 

 

 

 

 

 

 

 

 

 

студ.

 

 

 

 

 

 

 

 

 

 

 

билета

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

1,3,

 

10,

20,

30,

9,

19,

29,

8,

21,

22,

 

5,7,

 

12,

22,

2,4,

11,

21,

1,3,

11,

23,

24,

 

9

 

14,

24,

6,8

13,

23,

5,7

14,

25,

26,

 

 

 

16,

26,

 

15,

25,

 

17,

27,

28,

 

 

 

18

28

 

17

27

 

20

29

30

7

23,

 

24,

25,

26,

27,

28,

29,

30,

1,4,

2,

 

25,

 

26,

27,

28,

29,

30,

2,5,

3,

7,

4,6,

 

27,

 

28,

29,

30,

1,3,

2,4,

8,

6,

10,

8,10

 

29,

 

30,

1,3

2,4

5

6

11

9,

13

 

 

1

 

2

 

 

 

 

 

12

 

 

8

3,

 

4,

5,

6,

7,

8,

9,

10,

11,

12,

 

6,

 

7,

8,

9,

10,

11,

12,

13,

14,

15,

 

9,

 

10,

11,

12,

13,

14,

15,

16,

17,

18,

 

12,

 

13,

14,

15,

16,

17,

18,

19,

20,

21,

 

15

 

16

17

18

19

20

21

22

23

24

9

13,

 

14,

15,

16,

17,

18,

19,

20,

21,

22,

 

16,

 

17,

18,

19,

20,

21,

22,

23,

24,

25,

 

19,

 

20,

21,

22,

23,

24,

25,

26,

27,

28,

 

22,

 

23,

24,

25,

26,

27,

28,

29,

30,

1,

 

25

 

26

27

28

29

30

1

2

3

4

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Фаронов В.В. Delphi. Программирование на языке высокого уровня: учебник для вузов / В.В. Фаронов. - СПб.: Пи-

тер, 2010. - 640 с.

46

2. Бобровский С.И. Delphi 7. Учебный курс / С.И. Бобровский. - СПб.: Питер, 2001. - 736 с.

 

СОДЕРЖАНИЕ

 

Введение

1

1.

Интегрированная среда разработки

1

 

1.1. Интерфейс Delphi

1

 

1.2. Файлы проекта

4

 

1.3. Свойства формы

5

 

1.4. Компоненты LABEL, EDIT, BUTTON

5

 

1.5. Создание меню приложения

8

 

1.6. Описание основных стандартных процедур и

9

 

функций диалога

 

2.

Задание № 1. Программирование линейной функции

11

3.

Задание № 2. Программирование разветвляющейся

16

 

функции

 

4.

Задание № 3. Создание графика функции

22

5.

Задание № 4. Одномерный массив

29

6.

Задание № 5. Двумерный массив (матрица)

36

Библиографический список

46

47

ПРОГРАММИРОВАНИЕ ВЫЧИСЛИТЕЛЬНЫХ ЗАДАЧ В СРЕДЕ DELPHI

МЕТОДИЧЕСКИЕ УКАЗАНИЯ к выполнению контрольной работы

по дисциплине «Программирование в среде Delphi» для бакалавров направления 09.03.01 «Информатика и вычислительная техника», профиля «Вычислительные машины, комплексы, системы и сети» заочной формы обучения

Составители: Сергеева Татьяна Ивановна Сергеев Михаил Юрьевич

В авторской редакции

Подписано к изданию 15.03.2016

Уч.-изд. л. 2,9

ФГБОУ ВО «Воронежский государственный технический университет»

394026 Воронеж, Московский просп., 14