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

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

  • Лабораторная работа №3. Циклические алгоритмы Вариант 15 Номер зачётной книжки Задание

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


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

    Решение


    Задача 1.



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



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

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

    using System;
    namespace laba1_1

    {

    class Program

    {

    static void Main(string[] args)

    {

    double a = 2;

    double b = 0.5;

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

    double x = Convert.ToDouble(Console.ReadLine());
    double Y = ((x - a) * Math.Atan(a + x) - Math.Pow((Math.Abs(x + a)), 1.0 / 3.0) + x * Math.Log(a + x));
    Console.WriteLine("Y=" + Y + "\n");
    double F = Math.Sqrt(a * Math.Pow(x, 2) + x) + (a * Math.Exp(-a * x)) + Math.Log(Math.Abs(x) - 3);

    Console.WriteLine("F=" + F);
    Console.ReadKey();
    }

    }

    }

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



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

    Выводы: В процессе выполнения лабораторной работы были освоены правила представления алгоритмов в Единой системе программной документации.

    Лабораторная работа №2. Алгоритмы и программы с разветвлениями. Элементы управления Radiobutton и CheckBox


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


    Задание





    1. Составить блок-схемы алгоритмов решения задач своего варианта (3-х задач), выполнить их реализацию в виде программы на языке программирования и представить скрин экрана с результатом работы программы.

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

    3. Описать возможные ограничения по входным данным.

    4. Составить отчет по выполненной лабораторной работе.


    Решение


    Задача 1.

    Перераспределить значения переменных X и Y так, чтобы в X оказалось большее из этих значений, а в Y - меньшее.
    Все используемые идентификаторы представлены в таблице 2.

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

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

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

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

    алгоритм

    программа

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

    x, y

    x, y

    int

    независимая переменная, задаётся пользователем с клавиатуры


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



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

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

    using System;

    using System.Windows.Forms;

    namespace WindowsFormsApp1

    {

    public partial class Form1 : Form

    {

    public Form1()

    {

    InitializeComponent();

    }
    private void button1_Click(object sender, EventArgs e)

    {

    int x = Int32.Parse(textBox1.Text);

    int y = Int32.Parse(textBox2.Text);

    if (x < y)

    {

    x ^= y;

    y ^= x;

    x ^= y;

    }

    textBox3.Text = String.Format("x={0}, y={1}", x, y);

    }

    }

    }

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



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

    Задача 2.

    Подсчитать произведение чисел, значения которых не равны нулю, для последовательности из трех произвольно задаваемых чи­сел.

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

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

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

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

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

    алгоритм

    программа

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

    x, y, z

    x, y, z

    int

    независимая переменная, задаётся пользователем с клавиатуры

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



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

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

    using System;
    namespace ConsoleApp6

    {

    class Program

    {

    static void Main(string[] args)

    {

    Console.WriteLine("Введите 3 числа");

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

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

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

    if ((x * y * z) != 0)

    {

    Console.WriteLine("Ответ: " + x * y * z);

    Console.ReadKey();

    }

    else

    {

    Console.WriteLine("В заданных числах есть 0");

    Console.ReadKey();

    }

    }

    }

    }

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



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

    Задача 3.

    Создайте тест на тему «Блок-схемы алгоритмов»
    Все используемые идентификаторы представлены в таблице 4.

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

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

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

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

    алгоритм

    программа

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

    a, b, c

    a, b, c

    bool

    Результаты теста



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



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

    using System;

    using System.Windows.Forms;
    namespace WindowsFormsApp2

    {

    public partial class Form1 : Form

    {

    public Form1()

    {

    InitializeComponent();

    }
    private void checkBox1_CheckedChanged(object sender, EventArgs e)

    {
    }
    private void checkBox7_CheckedChanged(object sender, EventArgs e)

    {
    }
    private void button1_Click(object sender, EventArgs e)

    {

    bool a, b, c, d, r;
    if (checkBox1.Checked == false && checkBox2.Checked == true && checkBox3.Checked == false)

    a = true;

    else

    a = false;

    if (checkBox4.Checked == false && checkBox5.Checked == false && checkBox6.Checked == true)

    b = true;

    else

    b = false;

    if (checkBox7.Checked == false && checkBox8.Checked == true && checkBox9.Checked == false)

    c = true;

    else

    c = false;

    if (checkBox10.Checked == true && checkBox11.Checked == false && checkBox12.Checked == false)

    d = true;

    else

    d = false;

    if (checkBox13.Checked == false && checkBox14.Checked == false && checkBox15.Checked == true)

    r = true;

    else

    r = false;
    if (a == true || b == true || c == true || d == true || r == true)

    MessageBox.Show("Тест сдан", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information);

    else

    MessageBox.Show("Тест не сдан", "Сообщение", MessageBoxButtons.OK, MessageBoxIcon.Information);

    }

    }

    }

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



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

    Лабораторная работа №3. Циклические алгоритмы

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


    Задание

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

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

    3. Составить отчет по выполненной лабораторной работе.
    Решение

    Задача 1.

    Вычислить функцию Y=f(X) на отрезке [A,B] с шагом H (табл. 2). На каждом шаге выводить на печать значения переменных X и Y (sqrt - функция вычисления квадратного корня).

    Номер варианта

    Вычисляемая функция

    A

    B

    H

    15.

    y=sqrt(ctg2(x)+0.5)

    -P/2

    P/2

    P/10


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

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

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

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

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

    алгоритм

    программа

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

    a, b, h

    a, b, h

    double

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

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

    Y

    Y

    double

    Резульат


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



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

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

    using System;

    namespace ConsoleApp7

    {

    class Program

    {

    static void Main(string[] args)

    {

    double Y;

    double a = -1 * Math.PI / 2;

    double b = Math.PI / 2;

    double h = Math.PI / 10;

    while (a < b)

    {

    Console.Write("Aргумент: {0}\t", a);

    Y = Math.Sqrt(Math.Pow((Math.Cos(a) / Math.Sin(a)), 2) + 0.5);

    Console.OutputEncoding = System.Text.Encoding.Unicode;

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

    a += h;

    }

    Console.ReadKey();

    }

    }

    }

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



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

    Задача 2.

    Логической переменной t присвоить значение True или False в зависимости от того, является натуральное число K степенью 3 или нет.

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

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

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

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

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

    алгоритм

    программа

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

    i

    i

    int

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

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

    Y

    Y

    int

    Резульат


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



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

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

    using System;
    namespace ConsoleApp7

    {

    class Program

    {

    static void Main(string[] args)

    {

    Boolean t = false;

    int num;

    Console.WriteLine("введите число: ");

    num = int.Parse(Console.ReadLine());
    int pow = 0;

    for (int i = 1; pow < num; i++)

    {

    pow = (int)Math.Pow(3, i);

    if (pow == num)

    t = true;

    }

    Console.WriteLine("T: " + t);

    Console.ReadKey();

    }

    }

    }

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



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

    По номеру летнего месяца для текущего года вывести количество дней в этом месяце.

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

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

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

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

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

    алгоритм

    программа

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

    N10

    N10

    integer

    Проверяемое число

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

    N10cicle, N10temp

    N10cicle, N10temp

    integer

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

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

    N10n8

    N10n8

    integer

    Номер цифры 8
    1   2   3   4   5   6   7   8   9


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