|
|||
Пояснительная записка к контрольной работе 1Стр 1 из 3Следующая ⇒ Пояснительная записка к контрольной работе 1 по дисциплине «Основы алгоритмизации и программирования» (заочная форма обучения) Специальность 09.02.04 «Информационные системы (по отраслям)»
Вопросы составлены по темам: «Основные элементы языка программирования», «Основные управляющие структуры языка программирования», «Массивы, строки, указатели и ссылки». Количество вариантов – 10. Вариант содержит один теоретический вопрос и два практических задания. Критерии оценок: Отметка «отлично»,если студент дал правильный ответ на теоретический вопрос и выполнил практические задания (возможны незначительные недочеты). Отметка «хорошо»,если студент ответил на теоретический вопрос и выполнил практические задания с ошибками, не противоречащими основным понятиям дисциплины. Отметка «удовлетворительно»,если студент ответил на теоретический вопрос и выполнил практические задания с существенными ошибками, противоречащими основным понятиям дисциплины. Отметка «неудовлетворительно»,если студент не ответил на теоретический вопрос или не выполнил практические задания.
Методические указания ЗАДАНИЕ 1: Ответом на первый вопрос является подробное изложение теоретического материала по заданной теме с обязательным сопровождением примерами, снабженными комментарием.
ЗАДАНИЕ 2: Результатом выполнения задания 2 является действующая программа на языке С# и отчет по выполнению задания, в котором следует отразить: номер задания, содержание задания, листинг программы с подробным комментарием, краткие выводы.
Оборудование и программное обеспечение: Персональный компьютер IBM PC/AT. Среда программирования Visual Studio.
Метод Random() создает и инициирует переменную класса Random, которой доступны методы, реализующие рандомизированный способ заполнения массива элементами. Метод Next(a, b) возвращает целое случайное число в указанном диапазоне (a, b). Метод NextDouble() возвращает вещественное случайное число в диапазоне (0, 1). Random rnd = new Random(); int n = rnd.Next(1, 100); // целое числоdouble temp = rnd.Next(-5, 18) + rnd. NextDouble(); // вещественное число Примеры описаний одномерного массива: int[] a; // элементов нетw = new int[6]; // выделение памяти int[] b = new int[4]; // элементы равны 0int[] d = new int[] { 61, 2, 5, -9 }; // размерность вычисляетсяint[] e = new int[4] { 61, 2, 5, -9 }; // избыточное описаниеint[] c = { 61, 2, 5, -9 }; // new подразумеваетсяconst int arSize = 5; int[] myAr = new int [arSize] {5, 9, 10, 2, 99};
Пример 1. Программа определяет сумму и количество отрицательных элементов, а также максимальный элемент массива, состоящего из 6 целочисленных элементов. using System; namespace ConsoleApplication1{ class Class1 { static void Main() { const int n = 6; int[] a = new int[n];a[0] = 3; a[1] = 12; a[2] = 5; a[3] = -9; a[4] = 8; a[5] = -4; Console.WriteLine( "Исходный массив:" ); foreach (int elem in a) Console.Write( "\t" + elem ); Console.WriteLine(); long sum = 0; // cумма отрицательных элементов int num = 0; // количество отрицательных элементов for ( int i = 0; i < n; ++i ) if ( a[i] < 0 ) { sum += a[i]; ++num; } Console.WriteLine( "Сумма отрицательных = " + sum ); Console.WriteLine( "Кол-во отрицательных = " + num ); int max = a[0]; // максимальный элемент for ( int i = 1; i < n; ++i ) if ( a[i] > max ) max = a[i]; Console.WriteLine( "Максимальный элемент = " + max ); } }}В C# поддерживаются многомерные массивы. В следующем примере выделяется память для одно-, двух- и трехмерного массивов. int[] a1 = new int[10]; int[ , ] a2 = new int[10, 5]; int[ , , ] a3 = new int[10, 5, 2]; Массив a1 содержит 10 элементов, массив a2 — 50 (10 × 5) элементов, а массив a3— 100 (10 × 5 × 2) элементов. В C# существуют разновидности многомерных массивов: прямоугольные и ступенчатые (невыровненные, неравномерные, зубчатые).
Прямоугольный массив имеет более одного измерения. Примеры описаний двумерного массива: int[,] a; // элементов нет a = new int[2, 3]; // распределение памяти int[,] b = new int[2, 3]; // элементы равны 0 int[,] c = {{1, 2, 3}, {4, 5, 6}}; // new подразумевается int[,] c = new int[,] {{1, 2, 3}, {4, 5, 6}}; // размерность вычисляется int[,] d = new int[2,3] {{1, 2, 3}, {4, 5, 6}};// избыточное описание const int firstldx = 2; const int secondldx = 3; string[,] arr = new string[firstldx, secondldx]; // К элементу двумерного массива обращаются, указывая номера строки и столбца, на пересечении которых он расположен, например: a[1, 4] b[i, j] b[j, i]
|
|||
|