Скачиваний:
6
Добавлен:
13.04.2019
Размер:
163.84 Кб
Скачать

МИНИСТЕРСТВО ПУТЕЙ СООБЩЕНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ПУТЕЙ СООБЩЕНИЯ

Кафедра «ИНФОРМАТИКА И ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ»

ОТЧЕТ

о выполненной лабораторной работе № 5

по дисциплине «Информатика»:

Структура «Поиск»

Вариант 9

Выполнил студент

Дневного отделения

Факультет ЭСУ

Группы

Санкт-Петербург

2004

Задание №1 1 Постановка задачи.

    1. Словесное описание задачи. Определить наибольший из элементов с четными индексами одномерного массива S размерности N. Поменять местами найденный и последний элемент массива. Проанализировать выполнение программы на примере: S={2; 3,7; -2; 6; 9; 1; 0}

    2. Определение состава входных и выходных данных. Входные данные: - размерность N массива S - элементы массива S Выходные данные: - наибольший из элементов с четными индексами массива S - пересчитанный массив S

    3. Математическое описание. i=[1; N], N=1, 2, 3, ...

  1. Р

    0

    3

    12

    1

    Начало

    N

    Конец

    i<=N

    нет

    да

    max, k, S

    17

    18

    2

    i=1

    max=S(i)

    4

    S(i)

    10

    i<=N

    да

    нет

    7

    max=S(2)

    8

    k=2

    5

    i=i+1

    13

    k=i

    S(i)

    6

    9

    i=2

    11

    S(i)>max

    да

    нет

    i=i+2

    14

    15

    S(k)=S(N)

    16

    S(N)=max

    азработка схемы алгоритма.

  2. Разработка визуальной части.

4 Разработка кода приложения. Private Sub Command1_Click()

Dim S() As Single, N As Integer, i As Integer, k As Integer, max As Single

N = Text1

ReDim S(N) As Single

Print "S=";

For i = 1 To N

S(i) = InputBox("Введите элемент массива S под номером " & i)

Print S(i);

Next

Print

max = S(2)

k = 2

For i = 2 To N Step 2

If S(i) > max Then

max = S(i)

k = i

End If

Next

Print "Максимальный элемент с четным индексом S(" & k & ")=" & max

S(k) = S(N)

S(N) = max

Print "S=";

For i = 1 To N

Print S(i);

Next

End Sub 5 Отладочный пример.

Задание №2

1 Постановка задачи.

    1. Словесное описание задачи. Найти и напечатать индексы элементов матрицы L размерности MхN, значения которых находятся в промежутке [К1, К2]. Для отладки программы значения M, N, L, K1, K2 выбрать самостоятельно.

    2. Определение состава входных и выходных данных. Входные данные: - количество строк M матрицы L - количество столбцов N матрицы L - левая граница промежутка [К1, К2] - правая граница промежутка [К1, К2] - элементы матрицы L Выходные данные: - индексы элементов матрицы L, значения которых находятся в промежутке [К1, К2]

    3. Математическое описание. i=[1;M], M=1, 2, 3, ... j=[1;N], N=1, 2, 3, ...

  1. Р

    0

    8

    1

    Начало

    M, N, K1, K2

    j=j+1

    55

    j<=N

    нет

    да

    26

    i=1

    6

    L(i,j)

    L(i,j)

    7

    азработка схемы алгоритма.

35

Конец

i<=M

нет

да

i, j

18

i=i+1

9

46

j=1

12

j=1

11

i<=M

да

нет

16

j=j+1

10

i=1

13

j<=N

да

нет

15

17

i=i+1

14

L(i,j)>=K1 and L(i,j)<=K2

нет

да

3 Разработка визуальной части.

4 Разработка кода приложения. Private Sub Command1_Click()

Dim L() As Single, M As Integer, N As Integer, i As Integer, j As Integer, K1 As Single, K2 As Single

M = Text1

N = Text2

K1 = Text3

K2 = Text4

ReDim L(M, N) As Single

For i = 1 To M

For j = 1 To N

L(i, j) = InputBox("Введите элемент матрицы L под номером " & i & "," & j)

Print L(i, j);

Next

Print

Next

Print "Элементы матрицы попавшие в промежуток [" & K1; ";" & K2 & "]:"

For i = 1 To M

For j = 1 To N

If L(i, j) >= K1 And L(i, j) <= K2 Then

Print "(" & i & "," & j & ") ";

End If

Next

Next

End Sub

5 Отладочный пример.

9

Соседние файлы в папке информатика!!!!!!!!!