- •Блок контроля освоения дисциплины
- •4.1.1.2. Методические указания к выполнению контрольной работы 1
- •Задача 1
- •Задача 2
- •4.1.2. Контрольная работа 2
- •4.1.2.1. Задание на контрольную работу 2
- •Задача 1 Использование функций в языке си, возвpащающих одно значение
- •Задача 2 Использование функций в языке си, получающих и возвpащающих pазличное количество аpгументов
- •4.1.2.2. Методические указания к выполнению контрольной работы 2
- •Задача 1
- •Задача 2
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();
}
}