- •Предисловие
- •Правила выполнения лабораторных работ
- •Обеспеченность занятия (средства обучения):
- •Порядок выполнения отчета по лабораторной работе
- •Лабораторная работа № 1 «Разработка линейных алгоритмов»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Задания для лабораторной работы:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Контрольные вопросы
- •Лабораторная работа № 3-4 «Использование оператора цикла с параметром»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Контрольные вопросы
- •Лабораторная работа № 5 «Табулирование функций»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Контрольные вопросы:
- •Лабораторная работа № 11-12 «Разработка технического задания с использованием ms Word»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •1 Общие сведения
- •1.1. Полное наименование системы и ее условное обозначение
- •1.3. Термины и определения
- •3.1.4. Безопасность системы
- •3.1.5. Требования по эргономике и технической эстетике
- •3.1.6. Требования к производительности системы
- •3.2. Общие требования к функциям системы
- •3.2.1. Общие требования к способам обработки и хранения информации
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Контрольные вопросы:
- •Лабораторная работа № 15-16 «Использование многомерных массивов»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Контрольные вопросы:
- •Лабораторная работа № 17 «Использование оператора выбора switch-case-default»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Контрольные вопросы:
- •Лабораторная работа № 21 «Разработка программного кода методом половинного деления»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •9: Разложение на множители
- •10: Палиндром
- •11: Вывести нечетные числа последовательности
- •Контрольные вопросы:
- •Лабораторная работа № 26-27 «Обработка структурных данных»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Контрольные вопросы:
- •Лабораторная работа № 28-29 «Использование файловых потоков»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Контрольные вопросы:
- •Лабораторная работа № 30-31 «Использование строк при разработке программного кода»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Контрольные вопросы:
- •Лабораторная работа № 32-33 «Использование динамических массивов структур»
- •Список представляет собой таблицу
- •Задания для лабораторной работы:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Список представляет собой таблицу
- •Задания для лабораторной работы:
- •Контрольные вопросы:
- •Лабораторная работа № 36-37 «Использование классов динамических массивов структур»
- •Образовательные результаты, заявленные во фгос третьего поколения:
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Список представляет собой таблицу
- •Краткие теоретические и учебно-методические материалы по теме лабораторной работы
- •Задания для лабораторной работы:
- •Контрольные вопросы:
Контрольные вопросы:
Может ли массив быть элементом массива?
В каком случае массивы совместны по присваиванию?
Пусть элементами массива A (a[1], a[2], a[3], a[4]) являются соответственно x, -x, x2, -x2.
Можно ли выполнять обход двумерного массива, организовав внешний цикл по столбцам, а внутренний — по строкам?
Целесообразно ли использовать ли вложенные циклы, если совершается обход только главной диагонали квадратной матрицы? одной строки матрицы? одного столбца матрицы?
Лабораторная работа № 15-16 «Использование многомерных массивов»
Цель работы: знакомство и получение навыков при навыков при работе с массивами.
Образовательные результаты, заявленные во фгос третьего поколения:
Студент должен
уметь:
-осуществлять разработку кода программного модуля на современных языках программирования;
- оформлять документацию на программные средства;
- использовать инструментальные средства для автоматизации оформления документации;
знать:
- основные этапы разработки программного обеспечения;
- основные принципы технологии структурного и объектно-ориентированного программирования;
- методы и средства разработки технической документации.
Краткие теоретические и учебно-методические материалы по теме лабораторной работы
По аналогичному принципу располагаются в памяти и массивы большей размерности. Предположим, b – трехмерный массив, имеющий размеры L×M×N.Тогда номер k элемента трехмерного массива b[l][i][j] в последовательности может быть вычислен по формуле
k= (l*M+i)*N+j или k= l*M*N+i*N+j.
Основная форма описания массива размерности R такова:
тип имя_массива [размер1][ размер2] …[размерR]; где размер1, размер2, размерR – количество значений соответствующего индекса массива.
Пример: Первая величина (4) задает количество строк, вторая (3) – количество столбцов. Объект ia определен как массив из четырех строк по три элемента в каждой. Многомерные массивы тоже могут быть инициализированы:
int ia[ 4 ][ 3 ] = {
{ 0, 1, 2 },
{ 3, 4, 5 },
{ 6, 7, 8 },
{ 9, 10, 11 }
};
Внутренние фигурные скобки, разбивающие список значений на строки, необязательны и используются, как правило, для удобства чтения кода. Приведенная ниже инициализация в точности соответствует предыдущему примеру, хотя менее понятна:
int ia[4][3] = { 0,1,2,3,4,5,6,7,8,9,10,11 };
Следующее определение инициализирует только первые элементы каждой строки. Оставшиеся элементы будут равны нулю:
int ia[ 4 ][ 3 ] = { {0}, {3}, {6}, {9} };
Если же опустить внутренние фигурные скобки, результат окажется совершенно иным. Все три элемента первой строки и первый элемент второй получат указанное значение, а остальные будут неявно инициализированы 0.
int ia[ 4 ][ 3 ] = { 0, 3, 6, 9 };
При обращении к элементам многомерного массива необходимо использовать индексы для каждого измерения (они заключаются в квадратные скобки). Так выглядит инициализация двумерного массива с помощью вложенных циклов:
int main()
{
const int rowSize = 4;
const int colSize = 3;
int ia[ rowSize ][ colSize ];
for ( int i = 0; i < rowSize; ++i ) for ( int j = 0; j < colSize; ++j ) ia[ i ][ j ] = i + j j;}
Конструкция
ia[ 1, 2 ]
является допустимой с точки зрения синтаксиса С++, однако означает совсем не то, чего ждет неопытный программист. Это отнюдь не объявление двумерного массива 1 на 2. Агрегат в квадратных скобках – это список выражений через запятую, результатом которого будет последнее значение 2 (см. оператор “запятая” в разделе 4.2). Поэтому объявление ia[1,2] эквивалентно ia[2]. Это еще одна возможность допустить ошибку
