- •Основы программирования
- •Содержание
- •Пояснительная записка
- •Допуск студентов к выполнению практических занятий
- •Порядок выполнения практических занятий
- •Требования к структуре, содержанию и оформлению отчетов по лабораторным работам
- •Порядок защиты практических занятий
- •Порядок оценивания практического занятия
- •Практическое занятие №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
Контрольные вопросы и задания:
Каким образом в Pascal обозначаются циклы?
В чём заключаются различия между циклами while и repeat?
Какие ограничения налагаются на параметр в цикле for?
Что общего между циклическими операторами и оператором ветвления?
Обозначьте правила организации вложенных циклов.
Может ли цикл одного вида содержать в себе цикл другого вида?
Как организовать параметрический цикл с шагом -1?
Рекомендуемая литература: 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.8, 2.3, 2.4, 2.5.
Практическое занятие №4
Тема: Обработка одномерных массивов
Цель: применение на практике описания одномерных массивов, алгоритмов обработки (замена элементов, подсчёт количества и суммы).
Вид работы: фронтальный.
Время выполнения: 2 часа.
Теоретический материал:
Массив – упорядоченный набор однотипных элементов. Одномерный массив представляет собой строку или столбец элементов, причём каждый элемент имеет свой индекс (номер). Количество элементов в массиве называется размерностью. При описании массивов используется служебное слово - array. Пример описания:
Var x: array[1..5] of integer;
X – это массив целочисленных элементов, состоящий из 5 элементов. К каждому элементу массива можно обратиться по имени с указанием номера в квадратных скобках, например, X[3].
Для задания массивов используют или ручной ввод, или генератор случайных чисел random(n), где n – целое положительное число. Чтобы заполнить массив случайными числами можно записать: x[i]:=random(20) – элементами массива x будут числа от 0 до 19 (последняя цифра не учитывается). Для смены набора случайных чисел применяют оператор – randomize. Обработка массива подразумевает выполнение некоторых действий над элементами: сортировка, поиск, определение суммы, произведения и т.п.
Задания:
Напишите программу для заполнения массива X(10) случайными числами в диапазоне от -15 до 10. Выведите массив в строку с использованием форматного вывода.
Модернизируйте предыдущую программу так, чтобы в ней подсчитывалось количество и сумма всех отрицательных элементов массива.
Заполните массив S(n) символами с клавиатуры. Подсчитайте количество символов ‘z’ в данном массиве.
*Пусть массив A(n) заполнен целыми числами. Отсортируйте массив любым методом сначала по возрастанию, затем по убыванию. На экран необходимо вывести три массива: неупорядоченный, упорядоченный по убыванию, упорядоченный по возрастанию.
Ход работы: Для каждой задачи в тетрадь оформите блок-схему и листинг программы
1. Производится описание массива и переменной i, отвечающей за индекс элементов. В программе необходимо открыть параметрический цикл по i от 1 до 10 (10 – размерность массива по условию задачи). В теле цикла указывается два действия:
x[i]:= random(26)-15; {числа в диапазоне от -15 до 10}
write(x[i]:4); {вывод элементов в строку}
2. В программе для предыдущей задачи в теле цикла добавляется условие:
if x[i]<0 then begin k:=k+1; s:=s+x[i]; end;
, где k и s – количество и сумма отрицательных чисел. В конце программы осуществляется вывод значений переменных k и s на экран.
3. Точное количество элементов не известно (n), следовательно, при описании массива указывается размерность с запасом, например:
var s: array[1..50] of char; {описание символьного массива}
С помощью оператора readln(n) осуществляется ввод количества элементов. В цикле записывается тот же оператор ввода, но применимо к массиву, т.к. по условию задачи заполнение происходит вручную: readln(x[i]). Проверка условия:
If x[i]=’z’ then k:=k+1;
После цикла выводится значение k – количество символов ‘z’ в массиве.
4. Эта задача является дополнительной. Заполнение массива производится случайным образом через генератор случайных чисел. Достаточно записать сортировку по возрастанию, затем скопировать её, поменять знак отношения в условии на противоположный и получится сортировка по убыванию. После каждой сортировки производится вывод массива на экран.