Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
контрольная ООП.docx
Скачиваний:
7
Добавлен:
02.04.2015
Размер:
84.12 Кб
Скачать

4.1.2.2. Методические указания к выполнению контрольной работы 2

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

-ввода данных;

-нахождения заданных величин (в соответствии с вариантом);

-вывода исходных данных и результатов.

Вывод информации следует организовать таким образом, чтобы на одном экране одновременно были видны как исходные данные, так и полученные результаты.

Задача 1

Условие задачи - даны целые массивы A[14], D[14]. Для каждого массива опpеделить количество элементов, пpедшествующих наименьшему элементу массива.

В данной задаче должны быть реализованы такие действия:

1. Ввод исходных массивов.

2. Определение количества элементов, предшествующих наименьшему

элементу массива.

3. Вывод на экран исходного массива и полученного результата.

Каждое действие оформим в виде отдельной функции.

Пусть:

inputmas() - функция ввода массива

schet() - функция определения количества элементов до наименьшего

(данная функция должна посредством инструкции return

возвращать результат работы в точку вызова фунции)

outrez() - функция вывода исходного массива и полученного результата

Текст программы на C# (вариант 1)

using System;

class Program

{

static void Main()

{

// объявление массивов и переменных

int [] a = new int [14];

int [] d = new int [14];

int kola, kold;

inputmas(a, 'a'); // в функцию в качестве аргументов передается

inputmas(d, 'd'); // массив и его имя (символ в апострофах)

kola = schet( a ); // вызов функции, возвращающей одно значение

kold = schet( d );

outrez(a, 'a', kola);

outrez(d, 'd', kold);

Console.ReadLine();

}

// определение функции ввода массива input()

static void inputmas ( int [] x, char name)

{

int i;

Console.WriteLine("Вводим массив " + name);

for (i=0; i<14; i++)

{

Console.Write("{0}[{1}]=", name, i );

x[i] = Convert.ToInt16(Console.ReadLine());

}

}

// определение расчетной функции schet()

static int schet ( int [] m )

{

int i, kol, min;

min = m[0]; // первоначально за минимальное примем 1-й элемент

kol = 0; // кол-во элементов, предшествующих минимальному

for (i=1; i<14; i++)

if ( m[i] < min )

// нашли в массиве элемент, значение которого меньше

// значения принятого за минимум

{

min = m[i]; // заменили значение минимума

kol = i; // количество элементов, предшествующих минимальному

}

return kol; // передача значения в точку вызова данной функции

}

// определение функции вывода массива outrez()

static void outrez ( int [] x, char name, int kol)

{

int i;

Console.WriteLine("Исходный массив " + name + ":");

for (i=0; i<14; i++)

Console.Write("{0,5}", x[i]);

Console.WriteLine("\n\nНаименьшему элементу в массиве " + name +

" предшествует " + kol + " элемента(ов)");

}

}

Текст программы на С # (вариант 2 – использование класса)

using System;

class Massiv

{

private int[] x = new int[14];

public void inputmas(char name)

{

int i;

Console.WriteLine("Вводим массив " + name);

for (i = 0; i < 14; i++)

{

Console.Write("{0}[{1}]=", name, i);

x[i] = Convert.ToInt16(Console.ReadLine());

}

}

// определение метода schet()

public int schet()

{

int i, kol, min;

min = x[0]; // первоначально за минимальное примем 1-й элемент

kol = 0; // кол-во элементов, предшествующих минимальному

for (i = 1; i < 14; i++)

if (x[i] < min)

// нашли в массиве элемент, значение которого меньше

// значения принятого за минимум

{

min = x[i]; // заменили значение минимума

kol = i; // количество элементов, предшествующих минимальному

}

return kol; // передача значения в точку вызова данной функции

}

// определение функции вывода массива outrez()

public void outrez(char name, int kol)

{

int i;

Console.WriteLine("Исходный массив " + name + ":");

for (i = 0; i < 14; i++)

Console.Write("{0,5}", x[i]);

Console.WriteLine("\n\nНаименьшему элементу в массиве " + name +

" предшествует " + kol + " элемента(ов)");

}

}

class Program

{

static void Main()

{

Massiv a = new Massiv();

Massiv d = new Massiv();

int kola, kold;

a.inputmas('a');

d.inputmas('d');

kola = a.schet(); // вызов функции, возвращающей одно значение

kold = d.schet();

a.outrez('a', kola);

d.outrez('d', kold);

Console.ReadLine();

}

}