Основы алгоритмизации и программирования

Автор: Пользователь скрыл имя, 30 Января 2011 в 21:11, контрольная работа

Описание работы

Контрольная работа №2, Основы алгоритмизации и программирования, Задание №6 «Табулирование функций», Задание №7 «Подпрограммы», Задание №8 «Одномерные массивы», Задание №9 «Формирование массивов», Задание №10 «Операции с элементами массивов», Задание №11 «Работа со строками»

Работа содержит 1 файл

Информатика 29.docx

— 398.81 Кб (Скачать)

                              Таблица 3.2 - Исполнение алгоритма  
 
 
 
 
 
 
 
 
 
 
 
 
 
 

    

Листинг 3

 

namespace Labaratornay №8 «Одномерные массивы»

{                          

    class Program

    {

        static void Main(string[] args)

        {

            int n = 6; // размерность массива

            int[] a = new int[] { 3, 12, 2, -9, 4, -4 };// список инициализаторов

            Console.WriteLine("Исходный массив: "); // вывод на экран перед массивом

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

                 Console.Write("{0}\t", a[i]);              

            int num = 0;  // задаем переменную с значение 0                                 

            for (int i = 0; i < n; i++) // циклический перебор значений

                if (a[i] == i)  // сценарий при совпадении номера элемента

                {

                    num += a[i]; //сумма элементов массива номера которых совпадают со значением этого элемента

                }

            Console.WriteLine("Сумма элементов совпадающих  с порядковым номером = {0}", num);// вывод ответа на экран

            Console.ReadLine();

        }

    }

}

 

      Задание №9 «Формирование массивов»

Задание №27. Получть  матрицу:

  000...000

  010...010

  010...010      

   :::      :::

  010...010

  000...000

 

                                      Таблица 4.1 Система тестов

Задание Получено программой

  000...000

  010...010

  010...010      

   :::      :::

  010...010

  000...000

  000...000

  010...010

  010...010      

   :::      :::

  010...010

  000...000

 

 

Листинг 4

namespace Labaratornay №9 «Формирование массивов»                         

{                                              

    class Program                              

    {                                          

        static void Main(string[] args)        

        {

            const int m = 5, n = 6; // Зададим колличество  строк и столбцов

            int[,] a = new int[m, n]; // зададим матрицу по размеру [m,n] 

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

            {

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

                {

                    a[i, j] = Convert.ToInt32((j == 1 || j == n - 2) && i > 0 && i < m - 1);

         // преобразуем к нужной нам матрице

                }

            }

            Console.WriteLine("matrix: ");

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

            {

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

                    Console.Write("\t" + a[i, j]); //выведм исходный массив

                Console.WriteLine();

            }

            Console.ReadKey();

        }

    }

}

 

      Задание №10 «Операции с элементами массивов» 

Задание №27. Определить наименьший элемент каждой четной строки матрицы. 

              Таблица 4.1 Система тестов

сгенерированная матрица строка минимальный элемент  четной строки
13  8  17

12  16 3

9  1  7

5  5  16

11  7  20

1

2

3

4

5

 
3 

5

4  12  19

5  5  9

2  4  19

14  2  11

7  19  6

1

2

3

4

5

 
5  

2

 
 
 

 

 

Листинг 5 

namespace Labaratornay10                      //27. Определить наименьший элемент

                                                                        каждой четной строки матрицы.

{

    class Program

    {

        static void Main(string[] args)

        {

            int[,] a = new int[6,3];      // создаётся массив 6x3

            Random rnd = new Random();   // переменная для генерации случайных чисел

            for (int i = 0; i < a.GetLength(0); i++)   

            {

                for (int j = 0; j < a.GetLength(1); j++)

                {

                    a[i, j] = rnd.Next(1, 21);  //заполнения случ. числами массива от 1 до 21

                    Console.Write("{0}\t", a[i, j]);// вывод массива на экран

                }

                Console.WriteLine();

            }

            Console.WriteLine("-------------------------------");

            int min; // ввод переменной min

            for (int i = 2; i < a.GetLength(0); i+=2)

            {

                min = int.MaxValue;

                for (int j = 0; j < a.GetLength(1); j++)

                {

                    if (min > a[i, j])

                        min = a[i, j];

                }

            Console.ForegroundColor = ConsoleColor.Red;

            Console.WriteLine("stroka #{0}: min велечина - {1}", i, min);

//вывод минимального  элемента четной строки матрицы  красным цветом

            }

            Console.ReadLine();

        }

    }

}

 

      Задание №11 «Работа со строками» 

Задание №27. Проверить  одинаковое ли число открывающихся  и закрывающихся скобок в данной строке. 

Таблица 4.1 Система  тестов

введенные данные кол-во открывающихся  скобок кол-во закрывающихся  скобок одинаковое  ли кол-во скобок
Введем  строку

“комитета по внешним  связям (КВС)”

1 1 Количество  скобок одинаковое!
 Введем строку

“Утверждено директором (Баронов В.С. (бывший  зам.ОВ)”

2 1 Количество  скобок разное!
 
 

 
Листинг №6

namespace Labaratornay11       

{

    class Program

    {

        static void Main(string[] args)

        {

            Console.WriteLine("Введите строку");

            int otk = 0, zak = 0; //вводим переменные otk и zak изначально они равны 0

            string s; // вводим переменную последовательных знаков Юникода

            s = Console.ReadLine();            //вводим строку

            char[] a = s.ToCharArray();       //переводит строку в простые символы

            for (int i = 0; i < a.Length; i++) // перебор заданной строки (массива)

      // Length возвращает число элементов  в строке

            {

                if (a[i] == '(')

                {

                    otk++; // подсчет открытывающих скобок

                }

            }

            for (int i = 0; i < a.Length; i++)  // перебор заданной строки

            {

                if (a[i] == ')')

                {

                    zak++; // подсчет закрывающих скобок

                }

            }

            bool f = otk == zak;   

//логический  тип true или false если otk=zak то true если нет то false          

            if (f == true)

            {

                Console.Write("Количество скобок одинаковое!");

            }

            else if (f == false)

            {

                Console.Write("Количество скобок разное!");

            }

            Console.ReadKey();

        }

    }

}

Информация о работе Основы алгоритмизации и программирования