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

  • Контрольнаяработа № 1 Тема работы

  • Формулировка задания: Дано

  • 1.Решение Контрольнаяработа № 2 Тема работы

  • Контрольная работа № 3 Тема работы

  • Контрольнаяработа № 4 Тема работы

  • Контрольнаяработа № 5 Тема работы

  • Формулировка задания: Заполнение массива прописными латинскими, метод обмена выбором по убыванию.Решение

  • Алгоритмические языки и программирование. Отчет по контрольным работам Вариант 4 Выполнил студент гр з16ист храмченко В. В. Преподаватель


    Скачать 64.8 Kb.
    НазваниеОтчет по контрольным работам Вариант 4 Выполнил студент гр з16ист храмченко В. В. Преподаватель
    АнкорАлгоритмические языки и программирование
    Дата04.09.2020
    Размер64.8 Kb.
    Формат файлаdocx
    Имя файлаotchet_po_yazykam.docx
    ТипОтчет
    #136744

    Министерство образования и науки РФ

    Брянский государственный технический университет

    Кафедра: «Компьютерные технологии и системы»

    Дисциплина: «Алгоритмические языки и

    программирование»

    Отчет

    по контрольным работам

    Вариант № 4

     

     

    Выполнил студент гр: З-16ИСТ

    Храмченко В.В.

    Преподаватель:

    Леонов Ю.А.

    Брянск 2016

    Контрольнаяработа № 1

    Тема работы: Позиционная система счисления.

    Цель работы: целью работы является ознакомление с видами систем счисления (СС) и приобретение практических навыков перевода из одной СС в другую, а также овладение элементарными арифметическими операциями над числами.

    Формулировка задания:

    Дано: 1 число=3010; 2 число=2111; А=5; В=8;

    1. Перевести заданное число из (СС) «А» в «В».

    2. Выполнить сложение и вычитание двух представленных чисел.

    1.Решение
    Контрольнаяработа № 2

    Тема работы: Изучение условных и циклических конструкций.

    Цель работы: целью работы является приобретение практических навыков при построении ветвящихся и повторяющихся процессов с использованием условных и циклических конструкций на примере табулирования функции на заданном числовом отрезке.

    Формулировка задания:

    Необходимо описать алгоритм поставленной задачи в виде блок-схемы и написать программу на языке C#, которая будет реализовывать табулирование функции для заданной системы уравнений на числовом промежутке [a, b] с шагом p. Данные должны выводиться в табличной форме, где каждому значению аргумента соответствует подсчитанное значение функции.
    Решение

    using System;
    namespace ConsoleApplication23

    {

    class Program

    {

    static void Main(string[] args)

    {

    Console.Write("Начало промежутка: "); // Выводит тест с переносом строки на новую

    int a = Convert.ToInt16(Console.ReadLine()); // Присваиваем целочисленной букве "a" с какого числа начинать цикл

    Console.Write("Конец промежутка: ");

    int b = Convert.ToInt16(Console.ReadLine());

    Console.Write("Шаг промежутка: ");

    int p = Convert.ToInt16(Console.ReadLine()); // Шаг изменени переменной, если int то 1,2,3,4..., если поставить float то 0,1 ...(Он может потребовать изменить шаг на более малый)

    double s = 0; // Временная переменная, в нее я записываю ответ на одном шаге цикла, потом она переприсваивается
    for (int i = a; i < b; i += p) // Задаю цикл с счетчиком в диапазоне [a, b] с шагом p

    {

    if (i < 1) // Условие, если x < 0

    s = Math.Exp(3 * i);

    else // Иначе

    s = Math.Acos(1 - 2 * i);
    Console.WriteLine("{0}: {1}", i, s); // Выводим {0} - это место куда засунуть i, {1} - s и т.д.

    }
    Console.ReadKey(); // Нужно чтобы не закрывалась консоль после завершения программы

    }

    }

    }



    Контрольная работа № 3

    Тема работы: Итерационные методы решения задач.

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

    нахождение корней нелинейных уравнений.

    Формулировка задания:

    Написать две программы на языке C# выполняющие два задания:

    1)вычисление суммы сходящегося ряда

    2)нахождение корней уравнения методом половинного деления.

    1.Решение

    namespace ConsoleApp1

    {

    class Program

    {

    static void Main(string[] args)

    {

    const float e = 0.0001f;

    float

    i = 1,

    trem,

    sum = 0;

    Console.Write("Введите x - ");

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

    {

    trem = Convert.ToSingle((9 + Math.Pow(x, i)) / Factorial(i));

    sum += trem;

    i++;

    } while (trem > e);
    Console.WriteLine("Сумма заданного числового ряда = {0}", sum);

    Console.WriteLine("Количество членов ряда = {0}", i);

    Console.Read();

    }
    public static double Factorial(float n) // Функция вывода факториала

    {

    double res = 1;

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

    {

    res *= i;

    }

    return res;

    }

    }

    }

    2.Решение

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;
    namespace ConsoleApp1

    {

    class Program

    {

    static void Main(string[] args)

    {

    const float e = 0.0001f;

    float

    x0,

    x1,

    x2 = 0,

    fx0,

    fx2;
    Console.Write("Введите начало: ");

    x0 = Convert.ToInt32(Console.ReadLine());

    Console.Write("Введите конец числового промежутка: ");

    x1 = Convert.ToInt32(Console.ReadLine());
    while(Math.Abs(x1 - x0) > e)

    {

    x2 = (x0 + x1) / 2;

    fx0 = Convert.ToSingle(Math.Log10(x0) - 2 * Math.Cos(x0));

    fx2 = Convert.ToSingle(Math.Log10(x2) - 2 * Math.Cos(x2));

    if (fx0 * fx2 < 0) x1 = x2;

    else x0 = x2;

    }
    Console.WriteLine("Значение корня уравнения на заданном числовом промежутке = {0}", x2);

    Console.Read();

    }

    }

    }

    Контрольнаяработа № 4

    Тема работы: Работа с массивами.

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

    Формулировка задания:

    1. В одномерном массиве заменить отрицательные элементы на стоящие перед ними. Если первый элемент отрицательный, заменить на 0.

    2. Дан массив размера n × n. Значение элементов массива заполняются случайными числами. Найти сумму минимальных и максимальных элементов главной и побочной диагонали.

    1.Решение

    namespace массив

    {

    class Program

    {

    static void Main(string[] args)

    {

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

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

    int[] mass = new int[size_mass];
    Random rand = new Random(); // Создаю объект класса
    for(int i = 0; i < size_mass; i++)

    {

    mass[i] = rand.Next(-100, 100); // Использую метод из класса, а иименно рандом, от -100 до 100, а в общем я заполняю массив случайными элементами

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

    }
    Console.WriteLine();
    for(int i = 0; i < mass.Length; i++)

    {

    if (i == 0)

    {

    if (mass[i] < 0)

    {

    mass[i] = 0;

    }

    }

    else if(mass[i] < 0)

    mass[i] = mass[i - 1];

    }
    for(int i = 0; i < mass.Length; i++) Console.Write("{0,4}", mass[i]);
    Console.ReadLine();

    }

    }

    }

    }

    2.Решение

    namespace массив

    {

    class Program

    {

    static void Main(string[] args)

    {

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

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

    int[,] mass = new int[size_mass,size_mass]; // Задаем массив, в данном случае - двумерный, типо матрицы

    Random rand = new Random(); // Создаю объект класса
    for (int i = 0; i < size_mass; i++)

    {

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

    {

    mass[i, j] = rand.Next(-10, 10); // Использую метод из класса, а иименно рандом, от -100 до 100, а в общем я заполняю массив случайными элементами

    Console.Write("{0,3}", mass[i, j]);

    }

    Console.WriteLine();

    }
    Console.WriteLine();
    int

    main_tmp_min = mass[0, 0],

    main_tmp_max = mass[0, 0],

    side_tmp_min = mass[0, size_mass - 1],

    side_tmp_max = mass[0, size_mass - 1],

    summ_main_min = 0,

    summ_side_max = 0;
    for (int i = 0, j = size_mass - 1; i < size_mass; i++, j--)

    {

    if (mass[i, i] > main_tmp_max) main_tmp_max = mass[i, i];

    else if (mass[i, i] < main_tmp_min) main_tmp_min = mass[i, i];
    if (mass[i, j] > side_tmp_max) side_tmp_max = mass[i, j];

    else if (mass[i, j] < side_tmp_min) side_tmp_min = mass[i, j];

    }
    summ_main_min = main_tmp_min + side_tmp_min;

    summ_side_max = main_tmp_max + side_tmp_max;
    Console.WriteLine("Главная диагональ: min = {0,4}, max {1,4}", main_tmp_min, main_tmp_max);

    Console.WriteLine("Побочная диагональ: min = {0,4}, max {1,4}", side_tmp_min, side_tmp_max);

    Console.WriteLine("Сумма на главной и побочной диагоналях: min ({2}+{3}) = {0,3}, max({4}+{5}) = {1,3}", summ_main_min, summ_side_max, main_tmp_min, side_tmp_min, main_tmp_max, side_tmp_max);

    Console.ReadLine();

    }

    }

    }



    Контрольнаяработа № 5

    Тема работы: Методы сортировки данных.

    Цель работы: Целью работы является изучение методов сортировки и

    приобретение практических навыков в программировании данных методов.

    Формулировка задания:

    Заполнение массива прописными латинскими, метод обмена выбором по убыванию.

    Решение

    namespace Сортировка

    {

    class Program

    {

    static void Main(string[] args)

    {

    char [] text; // Создаю массив
    Console.Write("Введите строку, содержащую только латинские символы: ");

    text = Console.ReadLine().ToCharArray(); //Заполняю массив значениями
    for(int i = 0; i < text.Length; i++)

    {

    for(int j = 0; j < text.Length - 1 - i; j++)

    {

    if(text[j] < text[j + 1])

    {

    char tmp = text[j];

    text[j] = text[j + 1];

    text[j + 1] = tmp;

    }

    }

    }

    Console.WriteLine(text);

    Console.ReadLine();

    }

    }

    }



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