
- •Основы программирования
- •Содержание
- •Пояснительная записка
- •Допуск студентов к выполнению практических занятий
- •Порядок выполнения практических занятий
- •Требования к структуре, содержанию и оформлению отчетов по лабораторным работам
- •Порядок защиты практических занятий
- •Порядок оценивания практического занятия
- •Практическое занятие №1
- •Теоретический материал:
- •Ход работы и задания:
- •Контрольные вопросы и задания:
- •Практическое занятие №2
- •Теоретический материал:
- •Задания:
- •Ход работы: Для каждой задачи в тетрадь оформите блок-схему и листинг программы
- •Контрольные вопросы и задания:
- •Практическое занятие №3
- •Теоретический материал:
- •Задания:
- •Ход работы: Для каждой задачи в тетрадь оформите блок-схему и листинг программы
- •Контрольные вопросы и задания:
- •Практическое занятие №4
- •Теоретический материал:
- •Задания:
- •Ход работы: Для каждой задачи в тетрадь оформите блок-схему и листинг программы
- •Контрольные вопросы и задания:
- •Практическое занятие №5
- •Теоретический материал:
- •Задания:
- •Ход работы: Для каждой задачи в тетрадь оформите блок-схему и листинг программы
- •Контрольные вопросы и задания:
- •Практическое занятие №6
- •Теоретический материал:
- •Задания:
- •Ход работы: Для каждой задачи в тетрадь оформите блок-схему и листинг программы
- •Контрольные вопросы и задания:
- •Практическое занятие №7
- •Теоретический материал:
- •Задания:
- •Ход работы: Для второй задачи в тетрадь оформите листинг программы с комментариями
- •Контрольные вопросы и задания:
- •Практическое занятие №8
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь оформите листинг второй программы с комментариями
- •Контрольные вопросы и задания:
- •Практическое занятие №9
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь оформите листинг второй программы с комментариями
- •Контрольные вопросы и задания:
- •Практическое занятие №10
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь оформите листинг второй программы с комментариями
- •Контрольные вопросы и задания:
- •Ход работы: в тетрадь оформите листинги программ и модулей с комментариями
- •Контрольные вопросы и задания:
- •Практическое занятие №12
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь оформите листинг второй программы
- •Initgraph (g,m,’путь к графическим драйверам’);
- •Контрольные вопросы и задания:
- •Практическое занятие №13
- •Теоретический материал:
- •Задания: в тетрадь оформите листинги программ
- •Ход работы:
- •Контрольные вопросы и задания:
- •Практическое занятие №14
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь оформите блок-схемы и листинги 2, 3, 4 и 5 задач
- •Контрольные вопросы и задания:
- •Практическое занятие №15
- •Теоретический материал:
- •Контрольные вопросы и задания:
- •Практическое занятие №16
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь оформите блок-схемы и листинги программ
- •Контрольные вопросы и задания:
- •Практическое занятие №17
- •Теоретический материал:
- •Задания:
- •Ход работы: в тетрадь запишите функции, использованные при решении задач
- •Контрольные вопросы и задания:
- •Список литературы
- •Основная литература
- •Дополнительная литература
- •Шарафутдинова Светлана Анатольевна основы программирования
- •625000, Тюмень, ул. Володарского, 38.
- •6 25039, Тюмень, ул. Киевская, 52
Контрольные вопросы и задания:
Каково назначение циклов?
Укажите общий вид записи каждой циклической конструкции в С++.
Как работает оператор for?
Каким образом в теле цикла записывается несколько операторов?
Можно ли в условии прекращения цикла использовать логические операции? Почему?
Рекомендуемая литература: 1.3, 1.4, 1.5, 1.7, 2.1, 2.2.
Практическое занятие №15
Тема: Организация простых циклов. Использование функций и прототипов функций
Цель: закрепление знаний, умений и навыков по составлению циклических блок-схем, использованию циклических операторов С++ для решения задач; крепление навыков по описанию и использованию функций и прототипов функций для решения задач.
Вид работы: фронтальный.
Время выполнения: 1час.
Теоретический материал:
Процесс разработки программного обеспечения предполагает разделение сложной задачи на набор более простых задач и заданий. В С++ поддерживаются функции как логические единицы (блоки текста программы), служащие для выполнения конкретного задания.
Функции имеют нуль или более формальных параметров и возвращают значение скалярного типа, типа void (пусто) или указатель. При вызове функции значения, задаваемые на входе, должны соответствовать числу и типу формальных параметров в описании функции. Если функция не возвращает значения (т.е. возвращает void), то она служит для того, чтобы изменять свои параметры (вызывать побочный эффект) или глобальные для функции переменные.
Например, функция, возвращающая куб ее вещественного аргумента:
double cube( double x )
{
return x * x * x ;
}
Аргумент х типа double специфицируется вслед за первой открывающей скобкой.
Структура каждой функции совпадает со структурой главной программы (main), поэтому функции иногда еще называют подпрограммами.
Функции могут записываться как до main(), так и после, но в последнем случае требуется указать прототип (описание) функции.
Задания:
Напишите функцию для перевода числа из десятичной системы счисления в двоичную. Продемонстрируйте работу функции.
Напишите функцию для перевода числа из двоичной системы счисления в десятичную. Продемонстрируйте работу функции.
Ход работы:
В тетрадь оформите блок-схемы (функций и основных программ
и листинги программ
1. Назовём функцию для перевода числа из десятичной системы счисления в двоичную int dectoby(int n), где n – входной параметр, т.е. число в десятичной системе. Для перевода в двоичную систему применим метод вычисления остатка от деления на два. Определяем остаток и целую часть от деления на два, записываем остаток в массив f (результат в двоичной системе), целую часть снова делим на два и т.д. до тех пор, пока целая часть не станет равна нулю. Функция может быть записана так:
int dectoby(int x) //заголовок функции (результат– число целого типа)
{ //начало тела функции
int y; //описание локальной переменной целого типа
while (x!=0) //цикл с предусловием – пока x не равно нулю
{ //начало тела цикла
y=x%2; //переменная y присваивает остаток от деления x на 2
x=x/2; //переменная x присваивает целую часть от деления x на 2
f[i]=y; //элемент массива f под номером i присваивает остаток
i++; //переменная i (номер элемента) увеличивается на единицу
} //закрывается цикл
return f[i];} //функция dectoby возвращает как результат выполнения массив из нулей и единиц, конец функции
В основной программе с клавиатуры вводится значение числа n в десятичной системе. Вызывается функция с входным параметром n. Осуществляется вывод на экран элементов массива f, начиная с последнего по нулевой элемент (первый элемент в массиве имеет номер ноль).
2. Функцию для перевода из двоичной системы в десятичную назовём int bytodec(int f[n]), где f[n] – двоичное представление числа. Число в двоичной системе вводится с клавиатуры по элементам. В функции элементы массива умножаются на два в соответствующей степени и складываются. Полученная сумма – результат выполнения функции, т.е. число в десятичной системе счисления.