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

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

  • Цель

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

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

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


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

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


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

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

    Для организации условного ветвления, язык С# унаследовал от С и С++ конструкцию if…else. Ее синтаксис должен быть интуитивно понятен для любого, кто программировал на процедурных языках:

    if (условие)

    оператор (операторы)

    else

    оператор (операторы)

    Если по каждому из условий нужно выполнить более одного оператора, эти операторы должны быть объединены в блок с помощью фигурных скобок. Стоит обратить внимание, что в отличие от языков С и С++, в С# условный оператор if может работать только с булевскими выражениями, но не с произвольными значениями вроде -1 и 0.

    Задание

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

    F =

    Решение

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



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

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

    using System;
    namespace _2

    {
    class Program

    {

    static double ReadDouble(string name)

    {

    Console.Write($"{name} = ");

    return double.Parse(Console.ReadLine().Replace(".", ","));

    }
    static void Main(string[] args)

    {

    double a = ReadDouble("a");

    double b = ReadDouble("b");

    double c = ReadDouble("c");

    double x0 = ReadDouble("x0");

    double x1 = ReadDouble("x1");

    double h = ReadDouble("h");
    double f;

    while (x0 <= x1)

    {

    if (x0 - 1 < 0 && b - c != 0)

    f = a * Math.Pow(x0, 2) + b;

    else if (x0 - 1 > 0 && b + x0 == 0)

    f = (x0 - a) / x0;

    else

    f = x0 / c;

    Console.WriteLine("x = {0}, F = {1}", x0, f);

    x0 += h;

    }

    Console.Read();

    }

    }

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

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



    Рисунок 8 – Результаты работы программы
    1. Одномерные массивы


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

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

    Массив представляет собой совокупность переменных одного типа с общим для обращения к ним именем. В С# массивы могут быть как одномерными, так и многомерными. Массивы служат самым разным целям, поскольку они предоставляют удобные средства для объединения связанных вместе переменных.

    Массивами в С# можно пользоваться практически так же, как и в других языках программирования. Тем не менее у них имеется одна особенность: они реализованы в виде объектов.

    Для того чтобы воспользоваться массивом в программе, требуется двухэтапная процедура, поскольку в С# массивы реализованы в виде объектов. Во-первых, необходимо объявить переменную, которая может обращаться к массиву. И во-вторых, нужно создать экземпляр массива, используя оператор new.

    Реализация в С# массивов в виде объектов дает целый ряд преимуществ. Одно из них заключается в том, что с каждым массивом связано свойство Length, содержащее число элементов, из которых может состоять массив. Следовательно, у каждого массива имеется специальное свойство, позволяющее определить его длину.

    Когда запрашивается длина многомерного массива, то возвращается общее число элементов, из которых может состоять массив. Благодаря наличию у массивов свойства Length операции с массивами во многих алгоритмах становятся более простыми, а значит, и более надежными.

    Задание

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

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

    2) сумму элементов массива, расположенных после максимального элемента.

    Упорядочить элементы массива по убыванию модулей элементов.
    Решение

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

    using System;
    namespace _3

    {


    class Program

    {

    static void Main(string[] args)

    {

    Console.Write("Введите размер массива N: ");

    int n = Convert.ToInt32(Console.ReadLine());

    int[] mas = new int[n];

    Random rand = new Random(DateTime.Now.Millisecond);

    Console.WriteLine("Генерируем массив: ");

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

    {

    mas[i] = rand.Next(20) - rand.Next(20);

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

    }

    Console.WriteLine();

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

    int A = Convert.ToInt32(Console.ReadLine());

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

    int B = Convert.ToInt32(Console.ReadLine());
    int cnt = 0;

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

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

    cnt++;

    Console.WriteLine("Количество элементов массива, лежащих в диапазоне от А до В: {0}", cnt);
    int max = mas[0], maxIndex = 0;

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

    {

    if (mas[i] >= max)

    {

    max = mas[i];

    maxIndex = i;

    }

    }

    Console.WriteLine("Максимальный элемент: {0}", max);

    int s = 0;

    for (int i = maxIndex + 1; i < n; ++i)

    s += mas[i];

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

    bool needSort = true;

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

    {

    if (!needSort)

    break;

    needSort = false;

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

    {

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

    {

    int tmp = mas[j];

    mas[j] = mas[j + 1];

    mas[j + 1] = tmp;

    needSort = true;

    }

    }

    }

    Console.WriteLine("Массив, упорядоченный по убыванию модулей элементов: ");

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

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

    Console.Read();

    }

    }

    }


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



    Рисунок 9 – Результаты работы программы
    1. 1   2   3   4   5   6


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