Главная страница
Навигация по странице:

  • Листинг (исходный код программы)

  • Результаты работы программы

  • Цель

  • Решение Листинг (исходный код программы)

  • Курсовая по программированию. разработка программного обеспечения на языке высокого уровня c#


    Скачать 1.38 Mb.
    Названиеразработка программного обеспечения на языке высокого уровня c#
    АнкорКурсовая по программированию
    Дата28.06.2022
    Размер1.38 Mb.
    Формат файлаdocx
    Имя файлаКурсовая по программированию.docx
    ТипПояснительная записка
    #618156
    страница3 из 6
    1   2   3   4   5   6

    2 Разветвляющиеся алгоритмы


    Цель: Изучение операторов ветвления в C#, получение практических навыков их использования для реализации разветвляющихся алгоритмов.

    Теоретические сведения

    Алгоритм называется разветвляющимся, если последовательность выполнения шагов алгоритма изменяется в зависимости от выполнения некоторых условий. Условие — это логическое выражение, которое может принимать одно из двух значений: «ДА» — если условие верно (истинно), «НЕТ» — если условие неверно (ложно).

    Синтаксис простого условного оператора следующий:

    if (Логическое выражение)

    р, ;

    else

    р2;

    где if (если), else (иначе) — зарезервированные слова, а Рь Р2 — операторы. Простой условный оператор работает по следующему алгоритму.

    Сначала вычисляется логическое выражение. Если результат есть true (истина), то выполняется оператор Рь а оператор Р2 пропускается. Если результат есть false (ложь), то выполняется оператор Р2, а оператор Р! пропускается.

    Например, в данном листинге в зависимости от результата сравнения двух переменных выводится тот или иной ответ.

    Листинг

    private void Forml_Load(object sender, EventArgs e)

    {

    int a=l; int b=5; if (a

    MessageBox.Show("Тест 1 ветви ", "Заголовок окна", MessageBoxButtons.OK, MessageBoxIcon.Information);

    else

    MessageBox.Show("Тест 2 ветви ", "Заголовок окна", MessageBoxButtons.OK, MessageBoxIcon.Information);

    Application.Exit();

    }

    Задание

    Вычислить и вывести на экран значение функции F при различных значениях x. Значения a, b, c ввести с клавиатуры. Значение x менять в цикле в диапазоне и шагом, заданными с клавиатуры.



    Решение

    На рис 9 представлена схема алгоритма.



    Рисунок 9 - Схема алгоритма

    Листинг (исходный код программы)

    namespace Laborat2

    {

    class Program

    {

    static void Main(string[] args)

    {

    double a;

    double b;

    double c;

    double f;

    double Xmin;

    double Xmax;

    double Xstep;
    Console.Write("Введите a: "); //ввод значений a,b,c,Xmin,Xmax,Xstep

    a = double.Parse(Console.ReadLine());

    Console.Write("Введите b: ");

    b = double.Parse(Console.ReadLine());

    Console.Write("Введите c: ");

    c = double.Parse(Console.ReadLine());

    Console.Write("Введите Xmin: ");

    Xmin = double.Parse(Console.ReadLine());

    Console.Write("Введите Xmax: ");

    Xmax = double.Parse(Console.ReadLine());

    Console.Write("Введите шаг Xstep: ");

    Xstep = double.Parse(Console.ReadLine());

    for (double x = Xmin; x <= Xmax; x += Xstep) //вычисления в соответствии с условием

    {

    f = 0;

    if ((x < 1) && (b != c))

    f = a * x * x + b;

    else if ((x > 1) && ((b + x) == 0))

    f = (x - a) / x;

    else if (c != 0)

    f = x / c;

    Console.WriteLine(String.Format("x = {0:0.0}, f = {1:0.000}", x, f));

    }

    }

    }

    }}

    Результаты работы программы

    Результаты работы программы приведены на рис. 10-11.



    Рисунок 10



    Рисунок 11

    3 Одномерные массивы


    Цель: Изучить способы описания одномерных массивов в языке программирования C# и методы работы с ними.

    Теоретические сведения

    Массив — это непрерывный участок памяти, в котором содержатся элементы одного типа. Массив имеет идентификатор (имя массива), который используется для обращения к отдельным его элементам.

    Каждый элемент массива хранится в отдельной ячейке (или ячейках) памяти и имеет свой индекс (порядковый номер в составе массива) и значение.

    Все массивы можно условно разделить на:

    - одномерные массивы;

    - многомерные массивы;

    - массивы массивов.

    Одномерные массивы.

    Для использования массива его необходимо объявить и выделить память для хранения его элементов. Для объявления одномерного массива используется следующий синтаксис:

    тип имя;

    В этой строке тип указывает на тип элементов, которые будут храниться в массиве. Имя предполагает ячейку, в которой будет храниться ссылка (адрес) участка памяти, в котором и будут размещаться элементы массива. Но на текущий момент сам участок памяти для хранения элементов массива еще не выделен.

    Для его выделения используется операция new без инициализации или с инициализацией:

    имя new тип[количество];

    имя new тип[] {выражение1, выражение2, выражениеn};
    Результатом выполнения операции new является ссылка на выделенный участок памяти для хранения массива.

    При выделении памяти всем элементам массива присваивается значение по умолчанию (для базовых типов данных это значение равно 0).

    Объявление массива и выделение памяти для хранения его элементов можно осуществить в одной строке. Например,

    int [] mas = new int[5];

    После того как объявлен массив и выделена память для хранения его элементов, можно обратиться к элементам массива с использованием соответствующего индекса:

    имя[индекс]

    Начальный элемент массива всегда имеет индекс 0, последний элемент имеет индекс КоличествоЭлементов-1. То есть если массив содержит 5 элементов, то эти элементы имеют индексы 0, 1, 2, 3, 4.

    Задание

    В одномерном массиве, состоящем из п вещественных элементов, вычислить:

    1) количество элементов массива, лежащих в диапазоне от А до В;

    2) сумму элементов массива, расположенных после максимального элемента. Упорядочить элементы массива по убыванию модулей элементов.

    Решение

    Листинг (исходный код программы)

    namespace Laborat3

    {

    class Program

    {

    static void Main(string[] args)

    {

    Console.WriteLine("Введите количество элементов массива = ");

    int n = int.Parse(Console.ReadLine());

    Console.Write("Введите начало диапазона А = ");

    int A = int.Parse(Console.ReadLine());

    Console.Write("Введите начало диапазона B = ");

    int B = int.Parse(Console.ReadLine());

    Random rnd = new Random();

    double[] M = new double[n];

    for (var i = 0; i < n; i++)

    {

    M[i] = rnd.NextDouble() * (B - A) * 2 + A;

    }
    Console.WriteLine("Элементы массива:");

    for (var i = 0; i < n; i++)

    {

    Console.Write(String.Format(" {0:0.000}", M[i]));

    }

    Console.WriteLine();
    int Col = 0;

    int Index = 0;

    for (var i = 0; i < n; i++)

    {

    if (M[i] >= A && M[i] <= B)

    Col++;

    if (M[Index] < M[i])

    Index = i;

    }
    double Max = M[Index];

    double Sum = 0;

    for (var i = Index + 1; i < n; i++)

    {

    Sum += M[i];

    }
    for (var i = 0; i < n; i++)

    {

    for (var j = 0; j < n - 1 - i; j++)

    {

    if (Math.Abs(M[j]) < Math.Abs(M[j + 1]))

    {

    double t = M[j];

    M[j] = M[j + 1];

    M[j + 1] = t;

    }

    }

    }

    Console.WriteLine(String.Format("Количество элементов массива в диапазоне [A,B] = {0}", Col));

    Console.WriteLine(String.Format("Максимальный элемент массива = {0: 0.000}", Max));

    Console.WriteLine(String.Format("Сумма элементов массива, расположенных после максимального элемента = {0: 0.000}", Sum));

    Console.WriteLine("Результат сортировки по убыванию модулей элементов:");

    for (var i = 0; i < n; i++)

    {

    Console.Write(String.Format(" {0:0.000}", M[i]));

    }

    Console.WriteLine();

    Console.ReadLine();
    }

    }

    }

    }Результаты работы программы

    Результаты работы программы приведены на рис. 12-13.



    Рисунок 12



    Рисунок 13
    1   2   3   4   5   6


    написать администратору сайта