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

  • Федеральное государственное автономное образовательное учреждение высшего образования «СЕВЕРО-КАВКАЗСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

  • Институт цифрового развития Кафедра информационных систем и технологий Отчет по лабораторной работе № 4Тема

  • «Технологии программирования»

  • Цель работы

  • Теоретическая часть

  • Объявить и инициализировать массив можно в одной строке

  • Индивидуальное задание: (Вариант 3)

  • ЛР2-4. Перенаправление потоков вводавывода


    Скачать 244.44 Kb.
    НазваниеПеренаправление потоков вводавывода
    АнкорЛР2-4
    Дата16.10.2022
    Размер244.44 Kb.
    Формат файлаdocx
    Имя файла444.docx
    ТипОтчет
    #736732

    МИНИCTEPCTBO НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

    Федеральное государственное автономное образовательное учреждение

    высшего образования

    «СЕВЕРО-КАВКАЗСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»

    Институт цифрового развития

    Кафедра информационных систем и технологий

    Отчет по лабораторной работе № 4

    Тема: ПЕРЕНАПРАВЛЕНИЕ ПОТОКОВ ВВОДА-ВЫВОДА

    Дисциплина: «Технологии программирования»









    Выполнил:







    Студент группы ИНС-б-о-21-2, направление подготовки: 09.03.02 «Информационные системы и технологии»

    Дедусенко Никита Александрович

    Проверил:

    Ассистент кафедры ИСТ

    Маслова О.И.













    Ставрополь 2022

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

    Задачи лабораторной работы:

    – научиться инициализировать одномерные массивы;

    – научиться реализовывать простейшие алгоритмы на одномерных массивах;

    – научиться вычислять простейшие агрегированные показатели на одномерных массивах.

    Теоретическая часть

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

    Массив определяется типом элементов, содержащимся в нем, за которым следуют квадратные скобки и имя переменной.

    Примеры объявления массивов:



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



    Объявить и инициализировать массив можно в одной строке:



    При инициализации можно также присвоить значения элементам массива (все три способа присвоения элементов массива эквивалентны):



    После того как массив объявлен и инициализирован, можно производить доступ к элементам массива для чтения и записи через индексатор.

    Индексатор – это целочисленный номер элемента массива. Индексатор начинается с 0 (для первого элемента массива) и закачивается числом равным количеству элементов в массиве минус 1.

    Например, определим массив и попробуем обратиться к его элементам:


    Часто (когда размер массива большой) используют циклы для обращения к элементам массива:


    Для больших массивов есть смысл сгенерировать значения элементов массива случайным образом (используя генератор случайных чисел):


    Индивидуальное задание: (Вариант 3)
    Задача: Во входном файле содержится две строки: первая содержит одно целое число N (количество чисел во второй строке), вторая строка содержит N вещественных чисел (каждое от 0 до 105). В результате работы программы должен быть сформирован выходной файл, который содержит следующие значения:

    1) произведение чисел, меньших 50 (если таких чисел нет, то выводится 0);

    2) все числа, большие среднего арифметического через пробел
    Код программы:
    1)

    using System;

    using System.IO;
    namespace ConsoleApp9

    {

    class Program

    {

    static void Main(string[] args)

    {

    int N;

    String FileName;
    Console.Write("Введите N");

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

    Console.Write("Введите имя файла (без пробела) > ");

    FileName = Console.ReadLine();

    FileName += ".txt";
    TextWriter save_out = Console.Out;

    var new_out = new StreamWriter(FileName);

    Console.SetOut(new_out);
    Console.WriteLine(N);
    Random r = new Random(DateTime.Now.Millisecond);

    int x = 0;

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

    {

    x = r.Next(1000);

    Console.Write(x + "");

    }
    Console.SetOut(save_out); new_out.Close();

    Console.WriteLine("File" + FileName + "был создан!!!");

    Console.ReadKey();

    }

    }

    }


    Рисунок 1 – Программа для генерации исходных файлов.


    Рисунок 2 – Генерация исходных файлов.
    w2)

    using System;

    using System.IO;
    namespace ConsoleApp9

    {

    class Program

    {

    static void Main(string[] args)

    {

    TextWriter save_out = Console.Out;

    TextReader save_in = Console.In;

    var new_out = new StreamWriter(@"output.txt");

    var new_in = new StreamReader(@"input2.txt");

    Console.SetOut(new_out);

    Console.SetIn(new_in);
    int N = Convert.ToInt32(Console.ReadLine());

    String str_all = Console.ReadLine();

    string[] str_elem = str_all.Split(' ');
    int[] mas = new int[N];

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

    {

    mas[i] = Convert.ToInt32(str_elem[i]);

    }


    int s = 0;

    float sa = 0;

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

    {

    s += mas[i];

    sa = 1.0f * s / N;

    }

    Console.WriteLine(string.Format("{0:0.000000}", sa));

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

    {

    if (mas[i] <= sa)

    Console.Write(mas[i] + "");
    Console.SetOut(save_out); new_out.Close();

    Console.SetIn(save_in); new_in.Close();
    }

    }

    }

    }


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