- •Министерство образования и науки российской федерации
- •Содержание
- •Пояснительная записка
- •Допуск студентов к выполнению практических занятий
- •Порядок выполнения практических занятий
- •Требования к структуре, содержанию и оформлению отчетов по лабораторным работам
- •Порядок защиты практических занятий
- •Порядок оценивания практического занятия
- •Практическое занятие №1
- •Теоретический материал:
- •Ход работы и задания:
- •Контрольные вопросы и задания:
- •Практическое занятие №2
- •Теоретические сведения:
- •Ход работы:
- •Задания к работе:
- •Контрольные вопросы:
- •Практическое занятие №3
- •Теоретический материал:
- •Задания:
- •Ход работы: Для каждой задачи в тетрадь оформите блок-схему и листинг программы
- •Контрольные вопросы и задания:
- •Практическое занятие №4
- •Теоретический материал:
- •Задания:
- •Ход работы: Для каждой задачи в тетрадь оформите блок-схему и листинг программы
- •Контрольные вопросы и задания:
- •Практическое занятие №5
- •Теоретический материал:
- •Задания:
- •Ход работы: Для каждой задачи в тетрадь оформите блок-схему и листинг программы
- •Контрольные вопросы и задания:
- •Практическое занятие №6
- •Теоретический материал:
- •Задания:
- •Ход работы: Для каждой задачи в тетрадь оформите блок-схему и листинг программы
- •Контрольные вопросы и задания:
- •Практическое занятие №7
- •Теоретический материал:
- •Задания:
- •Ход работы: Для каждой задачи в тетрадь оформите блок-схему и листинг программы
- •Контрольные вопросы и задания:
- •Практическое занятие №8
- •Теоретический материал:
- •Задания:
- •Ход работы: Для второй задачи в тетрадь оформите листинг программы с комментариями
- •Контрольные вопросы и задания:
- •Практическое занятие №9
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь оформите листинг второй программы с комментариями
- •Контрольные вопросы и задания:
- •Практическое занятие №10
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь оформите листинг второй программы с комментариями
- •Контрольные вопросы и задания:
- •Практическое занятие №11
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь оформите листинг второй программы с комментариями
- •Контрольные вопросы и задания:
- •Контрольные вопросы и задания:
- •Практическое занятие №13
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь оформите листинг второй программы
- •Initgraph (g,m,’путь к графическим драйверам’);
- •Контрольные вопросы и задания:
- •Практическое занятие №14
- •Теоретический материал:
- •Задания: в тетрадь оформите листинги программ
- •Ход работы:
- •Контрольные вопросы и задания:
- •Практическое занятие №15
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь оформите блок-схемы и листинги 2, 3, 4 и 5 задач
- •Контрольные вопросы и задания:
- •Практическое занятие №16
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь оформите блок-схемы и листинги программ
- •Контрольные вопросы и задания:
- •Практическое занятие №17
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь оформите блок-схемы (функций и основных программ и листинги программ
- •Контрольные вопросы и задания:
- •Практическое занятие №18
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь запишите функции, использованные при решении задач
- •Контрольные вопросы и задания:
- •Список литературы
- •Основная литература
- •Дополнительная литература
- •Шарафутдинова Светлана Анатольевна основы алгоритмизации и программирования
- •625000, Тюмень, ул. Володарского, 38.
- •625039, Тюмень, ул. Киевская, 52
Контрольные вопросы и задания:
Каково назначение циклов?
Укажите общий вид записи каждой циклической конструкции в С++.
Как работает оператор for?
Каким образом в теле цикла записывается несколько операторов?
Можно ли в условии прекращения цикла использовать логические операции? Почему?
Рекомендуемая литература: 1.3, 1.4, 1.5, 1.7, 2.1, 2.2.
Практическое занятие №16
Тема: Создание одномерных и многомерных массивов
Цель: систематизация знаний о массивах, закрепление умений и навыков по описанию и обработке массивов.
Вид работы: фронтальный.
Время выполнения: 2 часа.
Теоретический материал:
Массив - это упорядоченный набор однотипных элементов. Массивы можно описывать следующим образом:
тип_данных имя_массива [ размер массива ];
Используя имя массива и индекс, можно адресоваться к элементам массива:
имя_массива [ значение индекса ]
Значения индекса должны лежать в диапазоне от нуля до величины, на единицу меньшей, чем размер массива, указанный при его описании.
Вот несколько примеров описания массивов:
char name [20];
int grades [125];
float income [30] [10];
Первый из массивов (name) содержит 20 символов. Обращением к элементам массива может быть name [0], name [1], ...,name[19].
Второй массив (grades) содержит 125 целых чисел. Обращением к элементам массива может быть grades [0],grades [1],...,grades[124].
Третий массив (incom) содержит 300 вещественных чисел, это матрица, т.к. указано два индекса (количество тсрок и столбцов). Обращением к элементам массива может быть income [0] [0], incom[0] [1],...,income[29] [9].
Для обработки одномерного массива применяется один цикл, для совершения операций над матрицами нужны два цикла (для строк и столбцов).
Задания:
Задайте массив S(n) случайным образом. Подсчитайте в нём количество нулевых элементов.
Заполните матрицу случайными целыми числами в диапазоне от -10 до 12. Определите максимальный и минимальный элементы, поменяёте их местами. На экран выведите обе матрицы: исходную и преобразованную.
*Упорядочьте массив Y(n) по возрастанию.
Ход работы: в тетрадь оформите блок-схемы и листинги программ
1. Описание одномерного массива может выглядеть так:
int S[50];
Точная размерность массива вводится с клавиатуры после описания. Для заполнения массива случайным образом используются функции randomize() и random(n) из библиотеки stdlib.h. Функция random(n) генерирует набор случайных чисел в диапазоне от 0 до n-1, а функция randomize() меняет сам набор чисел. Подсчёт количества нулевых элементов осуществляется в том же цикле, где происходит заполнение массива:
if (S[i]==0) k++;
Количество равных нулю элементов обозначено переменной k.
2. Для получения случайных чисел из определённого диапазона, например, от -10 до 12 включительно, применим алгоритм: а) определяется разность между границами и прибавляется единица: 12-(-10) +1 = 23; б) записывается генератор случайных чисел от найденной величины с прибавлением начальной границы диапазона: x[i]=random(23). В результате в массиве x будут записаны числа от -10 до 12 включительно.
Предположим, что максимальным и минимальным является нулевой элемент массива, тогда переменным min и max присваивается значение x[0]. Во вложенных циклах происходит сравнение min и max со всеми остальными элементами матрицы: если x[i][j] меньше min, то min присваивает значение x[i][j] и запоминаются номера элемента (например, mini=i; minj=j). Аналогично выбирается максимальный элемент. Затем мин6имальный и максимальный элементы меняются местами: x[mini][minj]=max; x[maxi][maxj]=min;. На экран выводится преобразованная матрица.
3. *Третья задача является дополнительной. Сортировка массива может быть произведена любым способом.