- •Основы программирования
- •Содержание
- •Пояснительная записка
- •Допуск студентов к выполнению практических занятий
- •Порядок выполнения практических занятий
- •Требования к структуре, содержанию и оформлению отчетов по лабораторным работам
- •Порядок защиты практических занятий
- •Порядок оценивания практического занятия
- •Практическое занятие №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
Контрольные вопросы и задания:
В каких случаях используется условный оператор?
Охарактеризуйте логические операции.
Определите приоритет каждой логической операции.
Составьте таблицу истинности для выражения A and B xor not C.
Рекомендуемая литература: 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.8, 2.3, 2.4, 2.5.
Практическое занятие №3
Тема: Решение задач с использованием различных видов цикла. Организация вложенных циклов
Цель: углубление и систематизация знаний по составлению циклических блок-схем, использованию простых и вложенных циклов для решения задач.
Вид работы: фронтальный.
Время выполнения: 2 часа.
Теоретический материал:
В языке Pascal предусмотрено три вида операторов цикла: цикл с предусловием, цикл с постусловием, цикл с параметром.
Оператор цикла с предварительным условием записывается следующим образом:
while условие do оператор;
Каждый раз предварительно проверяется условие, если оно истинно, то выполняется оператор, стоящий сразу за словом Do, после его выполнения, снова проверяется условие и так продолжается до тех пор, пока условие не станет ложным. Если условие ложно, то осуществляется переход на оператор, стоящий сразу после оператора цикла.
Оператор цикла с последующим условием выглядит следующим образом:
repeat
оператор;
until логическое выражение;
Операторы циклической части программы выполняются (по крайней мере, один раз) до тех пор, пока значение логического выражения ложно. Условием прекращения циклических вычислений является истинное значение условия.
Оператор цикла с параметром имеет следующую форму записи:
For i:=m1 to (downto) m2 do Оператор;
Циклическая часть программы выполняется для каждого значения i от начального m1 до конечного m2 включительно с шагом 1 (to) или -1 (downto).
Задания:
Составьте программу для вычисления степени числа a с целым показателем n.
Вычислите сумму всех двухзначных чисел.
Выведите на экран все чётные числа от 2 до n включительно и подсчитайте их количество.
Вычислите значение функции y=cos(x)*tg(pi*x) на интервале [0; pi), где шаг изменения равен 0.1.
Организуйте вывод на экран символа “#” по N раз в строке и строк должно быть M. Количество строк и столбцов вводиться с клавиатуры.
Имеется товар в ящиках по 16, 17 и 21 кг. Как получить 185 кг этого товара, не вскрывая ящиков?
Найдите все делители некоторого целого числа.
Определите 5 первых совершенных чисел. Натуральное число называется совершенным, если оно равно сумме всех своих делителей за исключением самого себя. Например, 6 – совершенное число, т.к. 6=1+2+3, число 8 – несовершенное, т.к. 8<>1+2+4).
Ход работы: Для каждой задачи в тетрадь оформите блок-схему и листинг программы
1. Возведение числа a в степень n определяется последовательным накоплением произведения, т.е. число a умножается само на себя n раз. Нужно учесть, что показатель n может быть как положительным, так и отрицательным числом. Следовательно, если n – положительное число, то конечное произведение и будет являться ответом, в противном случае единица делится на полученное произведение. Для проверки знака показателя используется условный оператор if - then - else. Вычисление произведения осуществляется с помощью параметрического цикла от 1 до abs(n), т.е. n по модулю.
2. Двузначными являются числа от 10 до 99, их сумма вычисляется последовательным накоплением. Начальное значение суммы присваивается нулю, в теле цикла записывается s:=s+i; , где s – сумма, i – параметр, который изменяется от 10 до 99. Таким образом, входных данных нет, выходные – сумма.
3. Для решения этой задачи лучше всего использовать цикл с предусловием (while). Введём обозначения: x – чётные числа, k – количество чётных чисел. С клавиатуры вводится n, начальное значение x присваивает ноль, открывается цикл с предусловием x<=n, в теле цикла будет два действия: x:=x+2 и write(x:4).
4. Начальное значение x присваивает 0, для вычисления y применяется цикл с предусловием x<pi, т.к. диапазон изменения x от 0 включительно до pi не включительно. в тело цикла включается два действия:
y:=cos(x)*sin(pi*x)/cos(pi*x); {тангенс выражен через синус и косинус}
writeln(x: 3: 1, y: 5: 2); {форматный вывод}
x:=x+0.1; {изменение переменной x с шагом 0.1}
5. Вывод на экран любых табличных данных организуется с помощью двух вложенных циклов. Входные данные: n – количество строк, m – количество столбцов. Словесный алгоритм решения можно представить так:
а) описание переменных;
б) ввод количества строк и столбцов (n и m);
в) внешний параметрический цикл по строкам от 1 до n;
г) внутренний параметрический цикл по столбцам от 1 до m;
д) форматный вывод символа ‘#’ на экран;
е) переход на новую строку;
ж) закрытие внешнего цикла;
е) конец алгоритма.
6. Путём элементарных расчётов можно определить, что ящиков по 16 кг понадобится не более 11, по 17 кг – не более 10, по 21 кг – не более 8. Поскольку ящиков три вида организуется три цикла, параметры циклов обозначим соответственно x, y, z. Один из способов решения можно записать так:
а) параметрический цикл по x от 1 до 11 (количество ящиков весом 16 кг);
б) параметрический цикл по y от 1 до 10 (количество ящиков весом 17 кг);
в) параметрический цикл по z от 1 до 8 (количество ящиков весом 21 кг);
г) проверка: если (16*x+17*y+21*z=185), то вывести на экран x, y, z;
д) конец алгоритма.
7. Целое число x является делителем другого целого числа a, если при делении a на x остаток равен нулю. Для определения делителей открываем параметрический цикл по x от 1 до a, в тело цикла заключаем условный оператор: если a mod x = 0, то вывести на экран значение переменной x.
8. Можно модернизировать предыдущее решение, но потребуется два цикла (с предусловием и параметрический). Пусть k – количество совершенных чисел, в начале k:=0, значения совершенных чисел будут записываться в переменную a, которая присваивает единицу. Цикл с предусловием: пока k<=5 определяем, является ли число совершенным. В теле цикла сумму делителей обозначим s, присваиваем ноль. Для определения делителей открываем параметрический цикл по x от 1 до a-1, в тело параметрического цикла заключаем условный оператор: если a mod x = 0, то s:=s+x. После цикла for проверяем: если s=a, то выводим на экран a, т.к. оно является совершенным числом. Затем используется оператор a:=a+1 для перехода к следующему числу.