Объектно-ориентированное программирование» для студентов специальности 5В070300 «Информационные системы» идля оп 6В06120 «Информационные системы» Шымкент 2022



бет12/43
Дата28.03.2023
өлшемі1,44 Mb.
#76860
1   ...   8   9   10   11   12   13   14   15   ...   43
Концепция массива
Массив — это форма описания группы переменных одного типа с помощью одной переменной. Все переменные, входящие в массив, пронумерованы от 0 до n, и каждая переменная имеет свой номер — индекс. Чтобы использовать определенную переменную массива, вы должны указать имя массива и индекс переменной. Поэтому переменную массива часто называют индексной переменной.
Существуют одномерные массивы (векторы), такие как массив имен, массив оценок за экзамены, массив дней рождения и так далее.
Существуют двумерные массивы (матрицы или таблицы), например, результаты игры чемпионата по футболу, итоговая таблица результатов экзаменов студентов и т. д.
Многомерные массивы включают в себя все остальные массивы.
Описание массива в программе состоит из двух этапов: объявления массива и инициализации массива.
При объявлении массива определяются тип и имя переменной, например:
int[ ] masi;
double[ ] masf; ,
здесь в первой строке мы используем массив целочисленных переменных с именем masi, а во второй строке мы объявляем массив реальных переменных с именем masf.
В этом случае при компиляции программы имена массивов ссылочных типов записываются в стек программы. Память компьютера выделяется для переменных массива из описания работы массива, например.
masi = new int[10];
masf = new double[20] ; ,
где значения в квадратных скобках определяют размер массива (0 . количество элементов -1 это диапазон значений индекса, который можно использовать в элементах массива).
При инициализации массива в куче создается объект массива и всем его переменным присваиваются «нулевые» значения (он инициализируется).
«Нулевым» значениям переменных соответствуют:
– равен нулю для числовых переменных;
– есть пустые строки для строковых переменных;
– символьные переменные не содержат символов.
После инициализации массива его переменные можно использовать в программе.
Давайте рассмотрим разные варианты инициализации и объявления массивов на разных примерах решения задач.
Есть много проблем, которые требуют использования массивов. Поскольку текст представляет собой массив символов, часть проблемы зависит от обработки текста.
Математические или физические проблемы, такие как вычисление среднего значения функции, представленной массивом экспериментальных значений.
В информатике, например, сортировка списка имен по алфавиту или задачи поиска по массиву и т. д.
Рассмотрим решение некоторых задач, требующих использования массива.
Задача 5.1. Некоторые экспериментальные функции даны значениями в таблице 12.
Найдите все максимумы этой функции. Для расчетов следует использовать следующие значения функции: 1.05, 3.17, 5.24, 4.38, 6.42, 4.93, 6.59, 7.84, 5.73, 5.14, 4.87 и 3.18.
Алгоритм решения проблемы состоит из следующих шагов:
- проверка первого значения функции на максимальное - если второе значение функции меньше первого значения, то первое значение функции считается максимальным;
- поиск максимумов - если предыдущее и последующее значение функции меньше текущего значения, то текущее значение функции считается максимальным;
- проверка конечного значения функции на максимальное - если конечное значение функции больше значения, предшествующего последнему, то конечное значение функции считается максимальным;
В данном алгоритме мы не рассматриваем случай нескольких одинаковых значений функции. Вероятность такой ситуации в жизни невелика. Если при расчете случаются такие ситуации, вы можете сами составить алгоритм решения.
Программныйкод:
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
int i;
double j, n;
double[] mas = {1.05, 3.17, 5.24, 4.38, 6.42, 4.93,
6.59, 7.84, 5.73, 7.14, 3.87, 2.18 };
//С методической точки зрения правильно так писать
//float[] mas;
//mas = new float[12] { 1.05, 3.17, 5.24, 4.38, 6.42,
// 4.93, 6.59, 7.84, 5.73, 6.14, 4.87, 3.18 };
//объявление массива и инициализация могут использоваться бок о бок, например:
int[] max = newint[7];
//массив индексов максимумов
// отобразим массив "графически"

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


{
Console.Write(i);
n = Math.Round(mas[i]);
j = 0;
while (j <= n) { Console.Write(" "); j++; }
Console.WriteLine('*');
}
int k; // индексмаксимума
k = 0;
// проверить первое значение функции на максимум
if (mas[0] > mas[1]) { max[k] = 0; k++; }
//поискмаксимумов
for (i = 1; i < 11; i++)
if ((mas[i - 1] < mas[i]) && (mas[i] > mas[i + 1]))
{ max[k] = i; k++; }
//проверка конечного значения функции на максимум
if (mas[10] < mas[11]) { max[k] = 11; k++; }
//отображениемаксимумафункции
Console.WriteLine("Funkzia Maksimymi:");
for (i = 0; i < k; i++)
Console.WriteLine("{0} - {1}", max[i], mas[max[i]]);
Console.ReadLine();
}
}
}
Работапрограммы:
0 *
1 *
2 *
3 *
4 *
5 *
6 *
7 *
8 *
9 *
10 *
11 *
Funkzia Maksimymi:
2 - 5,24
4 - 6,42
7 - 7,84
9 - 7,14


Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   ...   43




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет