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

  • Лабораторная работа №4. Одномерные и двумерные массивы Вариант 15 Номер зачётной книжки Задание

  • Лабораторная работа асд. Лабораторные работы_по_АСД. Дисциплина Алгоритмы и структуры данных Отчёт по лабораторной работе


    Скачать 3.09 Mb.
    НазваниеДисциплина Алгоритмы и структуры данных Отчёт по лабораторной работе
    АнкорЛабораторная работа асд
    Дата27.06.2022
    Размер3.09 Mb.
    Формат файлаdocx
    Имя файлаЛабораторные работы_по_АСД.docx
    ТипЛабораторная работа
    #616986
    страница3 из 9
    1   2   3   4   5   6   7   8   9

    Блок схема алгоритма решения задачи представлена на рисунке 13:

    Рисунок 12 - Блок схема алгоритма решения задачи 3

    Программа на C#:

    Программа на C#:

    using System;
    namespace ConsoleApp8

    {

    class Program

    {

    static void Main(string[] args)

    {

    Console.WriteLine("Введите год: ");

    var g = int.Parse(Console.ReadLine());

    Console.WriteLine("Введите месяц: ");

    var m = int.Parse(Console.ReadLine());

    var startDay = new DateTime(g, m, 1);

    var endDay = startDay.AddMonths(1);

    int i = 0;

    for (var date = startDay; date != endDay; date = date.AddDays(1))

    {

    i++;

    }

    Console.WriteLine("Количество дней в месяце: {0}", i);

    Console.ReadKey();

    }

    }

    }

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



    Рисунок 13 - Скриншот результата работы программы задачи 3.
    Задача 4.

    Составить блок-схему алгоритма решения задачи своего варианта, используя цикл с предусловием вычисления суммы элементов ряда S = a1+ a2+ a3 + …+an , пока очередной элемент an не станет меньше некоторого значения  , вводимого с клавиатуры ( например, 10-4 ).

    Используя цикл с постусловием: найти номер элемента an при вычислении суммы ряда S = a1+ a2+ a3 + …+an , после которого сумма будет больше некоторого значения V, задаваемого с клавиатуры.

    Все используемые идентификаторы представлены в таблице 8

    Таблица 8 – Идентификаторы

    Имя переменной

    Тип переменной

    Пояснение (возможные ограничения по входным данным, назначение)

    алгоритм

    программа

    Исходные данные

    X, E

    X, E

    double

    Вводимые данные

    Промежуточные данные

    n

    n

    double

    Промежуточные

    Результирующие данные

    S

    S

    double

    Результат


    Блок схема алгоритма решения задачи представлена на рисунке 15:



    Рисунок 14 - Блок схема алгоритма решения задачи 4

    Программа на C#:

    using System;
    namespace ConsoleApp8

    {

    class Program

    {

    static void Main(string[] args)

    {

    double S = 0;

    double n = 0;

    Console.WriteLine("Введите x: ");

    double x = Convert.ToDouble(Console.ReadLine());

    Console.WriteLine("Введите e: ");

    double e = Convert.ToDouble(Console.ReadLine());

    do

    {

    n += 1;

    S = S + (n * x) / Math.Pow(2, (n + 1));

    Console.WriteLine("S = {0}", S);

    } while (S < e);

    Console.WriteLine("Номер ряда = {0}", n);

    Console.ReadKey();

    }

    }

    }

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



    Рисунок 15 - Скриншот результата работы программы задачи 4.

    Лабораторная работа №4. Одномерные и двумерные массивы

    Вариант 15
    Номер зачётной книжки

    Задание

    1. Составить блок-схемы алгоритмов решения шести задач своего варианта (вариант такой же как ЛР2).

    2. Выполнить просчет работы алгоритма при задании трех различных вариантов исходных данных.

    Решение
    Задача 1.

    Найти наибольший среди отрицательных элементов массива C(15).

    Все используемые идентификаторы представлены в таблице 9

    Таблица 9 – Идентификаторы

    Имя переменной

    Тип переменной

    Пояснение (возможные ограничения по входным данным, назначение)

    алгоритм

    программа

    Исходные данные

    a

    a

    int

    Массив

    Промежуточные данные

    i

    i

    int

    Промежуточные

    Результирующие данные

    sum

    sum

    int

    Результат


    Блок схема алгоритма решения задачи представлена на рисунке 17:



    Рисунок 16 - Блок схема алгоритма решения задачи 1

    Программа на C#:

    using System;
    namespace ConsoleApp8

    {

    class Program

    {

    static void Main(string[] args)

    {
    Console.WriteLine("введите размерность массива");

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

    int[] a = new int[n];

    Random rand = new Random();

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

    {

    a[i] = rand.Next(-10, 0);

    Console.Write(" " + a[i]);

    }

    Console.WriteLine("");

    int max = a[0];

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

    {

    if (a[i] < 0 && a[i] > max)

    max = a[i];

    }

    Console.WriteLine("Максимальное среди отрицательных: " + max);

    Console.ReadKey();

    }

    }

    }

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



    Рисунок 17 - Скриншот результата работы программы задачи 1.
    Задача 2.

    Записать 0 вместо элементов массива X(11), удовлет­воряющих условию -0.5i<10.

    Все используемые идентификаторы представлены в таблице 10

    Таблица 10 – Идентификаторы

    Имя переменной

    Тип переменной

    Пояснение (возможные ограничения по входным данным, назначение)

    алгоритм

    программа

    Исходные данные

    a

    a

    int

    Массив

    Промежуточные данные

    i

    i

    int

    Промежуточные

    Результирующие данные

    max

    max

    int

    Результат


    Блок схема алгоритма решения задачи представлена на рисунке 19:



    Рисунок 18- Блок схема алгоритма решения задачи 2

    Программа на C#:

    using System;
    namespace ConsoleApp8

    {

    class Program

    {

    static void Main(string[] args)

    {
    Console.WriteLine("введите размерность массива");

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

    int[] a = new int[n];

    Random rand = new Random();

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

    {

    a[i] = rand.Next(0, 20);

    Console.Write(" " + a[i]);

    }

    Console.WriteLine("");

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

    {

    if (a[i] > 0 && a[i] < 10)

    a[i] = 0;

    Console.Write(" " + a[i]);

    }

    Console.ReadKey();

    }

    }

    }

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



    Рисунок 19 - Скриншот результата работы программы задачи 2.
    Задача 3.

    Дан массив Q(23). Получить сумму тех элементов массива, которые нечетны и отрицательны.

    Все используемые идентификаторы представлены в таблице 11

    Таблица 11 – Идентификаторы

    Имя переменной

    Тип переменной

    Пояснение (возможные ограничения по входным данным, назначение)

    алгоритм

    программа

    Исходные данные

    a

    a

    int

    Массив

    Промежуточные данные

    i

    i

    int

    Промежуточные

    Результирующие данные

    count

    count

    int

    Результат

    Блок схема алгоритма решения задачи представлена на рисунке 21:



    Рисунок 20 - Блок схема алгоритма решения задачи 3

    Программа на C#:

    using System;
    namespace ConsoleApp8

    {

    class Program

    {

    static void Main(string[] args)

    {
    Console.WriteLine("введите размерность массива");

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

    int[] a = new int[n];

    Random rand = new Random();

    int x = 0;

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

    {

    a[i] = rand.Next(-10, 10);

    Console.Write(" " + a[i]);

    }

    Console.WriteLine("");

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

    {

    if ((a[i] < 0) && (a[i] % 2 != 0))

    x = x - a[i];

    }

    Console.Write("Cумма нечетнх и отрицательных элементов " + x);

    Console.ReadKey();

    }

    }

    }

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



    Рисунок 21 - Скриншот результата работы программы задачи 3.

    Задача 4.

    Первые три столбца матрицы Q(3,7) заменить на значение 2.

    Все используемые идентификаторы представлены в таблице 12

    Таблица 12 – Идентификаторы

    Имя переменной

    Тип переменной

    Пояснение (возможные ограничения по входным данным, назначение)

    алгоритм

    программа

    Исходные данные

    a

    a

    int

    Массив

    Промежуточные данные

    I,j

    I,j

    int

    Промежуточные

    Результирующие данные

    sum1, sum2

    sum1, sum2

    int

    Результат

    Блок схема алгоритма решения задачи представлена на рисунке 23:



    Рисунок 22- Блок схема алгоритма решения задачи 4

    Программа на C#:

    using System;
    namespace ConsoleApp1

    {

    class Program

    {

    static void Main(string[] args)

    {

    Console.WriteLine("введите размерность массива");

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

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

    int[,] a = new int[n,m];

    Random rand = new Random();

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

    {

    for (int j = 0; j < m; j++)

    {

    a[i,j] = rand.Next(-10, 10);

    Console.Write(" " + a[i,j]);

    }

    Console.WriteLine(" ");

    }

    Console.WriteLine("");

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

    {

    for (int j = 0; j < m; j++)

    {

    if ((i < 3) && (j < 3))

    {

    a[i, j] = 2;

    }

    Console.Write(" " + a[i, j]);

    }

    Console.WriteLine(" ");

    }

    Console.ReadKey();

    }

    }

    }
    Скриншот результата работы программы представлен на рисунке 24.



    Рисунок 23 - Скриншот результата работы программы задачи 4.

    Задача 5.

    Среди элементов, расположенных выше побочной диагонали матрицы N(6,6), найти элементы, удовлетворяющие условию Nij<=K и Nij>i+j, и сформировать из них одномерный массив Y.

    Все используемые идентификаторы представлены в таблице 13

    Таблица 13 – Идентификаторы

    Имя переменной

    Тип переменной

    Пояснение (возможные ограничения по входным данным, назначение)

    алгоритм

    программа

    Исходные данные

    a

    a

    int

    Массив

    Промежуточные данные

    I,j

    I,j

    int

    Промежуточные

    Результирующие данные

    sum

    sum

    int

    Результат
    1   2   3   4   5   6   7   8   9


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