
Oparin_practical_work_part_II
.pdf
Министерство образования и науки Российской Федерации
ГОУ ВПО «Уральский государственный технический университет – УПИ имени первого Президента России Б.Н. Ельцина»
Д.В. Опарин
ПРАКТИКУМ ПО АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЮ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ QBASIC (часть II)
Учебное электронное текстовое издание Подготовлено кафедрой «Интеллектуальные информационные технологии»
Научный редактор: доцент, канд. техн. наук В.Г. Томашевич
Практикум по дисциплине «Информатика» для студентов всех форм обучения всех специальностей.
Практикум дополняет конспект лекций «Алгоритмизация и программирование на языке высокого уровня QBasic» (2009 г.). Включает семь лабораторных работ, рассматривающих основные вопросы раздела дисциплины «Информатика» «Программирование вычислительных задач с использованием алгоритмического языка высокого уровня». Приведены задания для самостоятельной подготовки и варианты заданий к работе.
ГОУ ВПО УГТУ-УПИ, 2010
Екатеринбург
2010
Содержание
Лабораторная работа 5. |
Обработка матриц.................................................... |
3 |
Лабораторная работа 6. |
Знакомство с подпрограммами .............................. |
7 |
Лабораторная работа 7. Программирование с использованием |
|
|
подпрограмм пользователя .................................................................... |
8 |
|
Библиографический список ........................................................................... |
13 |
2
Лабораторная работа 5
Обработка матриц
Цель работы: овладение практическими навыками работы с матрицами
(двумерными массивами), изучение способов их ввода и вывода, приобретение навыков по программированию типовых алгоритмов вычислений в структурах с вложенными циклами.
Задание для самостоятельной подготовки
1.Изучить:
1.1.способы объявления двумерных массивов;
1.2.организацию вычислительных структур с вложенными циклами;
1.3.правила организации вложенных циклов с учётом порядка пере-
бора элементов матрицы;
1.4.способы ввода и вывода матриц;
1.5.правила использования типовых алгоритмов вычислений в струк-
турах с вложенными циклами.
2.Разработать алгоритм решения в соответствии с заданием.
3.Составить программу решения задачи.
4.Подготовить тестовый вариант исходных данных для проверки пра-
вильности работы программы.
Задание к работе
Обработать на компьютере матрицу в соответствии с вариантом задания
(см. таблицу 4). Количество строк n и столбцов m исходной матрицы (в случае квадратной матрицы – размер n) и её элементы ввести с клавиатуры. Вывести на экран монитора исходную матрицу в общепринятом виде и все результаты с наименованиями выводимых величин. Проверить правильность работы про-
граммы с помощью тестового варианта.
3

Таблица 4
Варианты заданий к лабораторной работе 5
№Задание
Вычислить и запомнить в одномерных массивах S(m) и K(m) суммы и
1.количества положительных элементов каждого столбца матрицы
A(n, m).
Вычислить сумму и количество элементов, находящихся под главной
2.диагональю квадратной матрицы B(n, n), переписать эти элементы в одномерный массив P(n(n–1)/2).
3.
Найти в каждой строке матрицы C(n, m) минимальный элемент и поменять его местами с последним элементом строки.
Вычислить и запомнить в одномерных массивах P(n) и K(n) произве-
4.
дения и количества положительных элементов каждой строки матрицы D(n, m) (считать, что в каждой строке матрицы положительные элементы есть).
5.
Найти в каждой строке квадратной матрицы E(n, n) максимальный элемент и поменять его местами с элементом главной диагонали.
6.
Найти максимальный и минимальный элементы матрицы F(n, m) и поменять их местами.
Вычислить и запомнить в одномерном массиве Sa(n) средние ариф-
7.метические отрицательных элементов каждой строки матрицы
G(n, m).
4

Продолжение табл. 4
№Задание
Найти и вывести на экран монитора для каждой строки целочислен-
8.ной матрицы H(n, m) элементы, кратные трём; подсчитать их количество.
Вычислить и запомнить в одномерных массивах S(n) и K(n) суммы и
9.количества отрицательных элементов каждой строки матрицы
A(n, m).
Вычислить сумму и количество элементов, находящихся над главной
10.диагональю квадратной матрицы B(n, n), переписать эти элементы в одномерный массив Q(n(n–1)/2).
11.
Найти в каждом столбце матрицы C(n, m) максимальный элемент и поменять его местами с первым элементом столбца.
Вычислить и запомнить в одномерных массивах P(m) и K(m) произ-
12.
ведения и количества отрицательных элементов каждого столбца матрицы D(n, m) (считать, что в каждом столбце матрицы отрицательные элементы есть).
13.
Найти в каждом столбце квадратной матрицы E(n, n) минимальный элемент и поменять его местами с элементом побочной диагонали.
Вычислить и запомнить в одномерном массиве S(n) суммы элементов
14.каждой строки матрицы F(n, m), определить номер строки с максимальной суммой элементов.
5

Окончание табл. 4
№Задание
Вычислить и запомнить в одномерном массиве Sg(m) средние гео-
15.
метрические положительных элементов каждого столбца матрицы G(n, m) (считать, что в каждом столбце матрицы положительные элементы есть).
Найти и вывести на экран монитора для каждого столбца целочис-
16.ленной матрицы H(n, m) элементы, кратные пяти; подсчитать их количество.
6

Лабораторная работа 6
Знакомство с подпрограммами
Цель работы: овладение первоначальными навыками алгоритмизации и
программирования задач с использованием подпрограмм пользователя.
Задание для самостоятельной подготовки
1.Изучить:
1.1.структуру программ, содержащих подпрограммы;
1.2.правила записи подпрограмм различных видов;
1.3.способы обращения к подпрограммам.
2.Разработать алгоритмы решения в соответствии с заданием.
3.Составить программы решения задачи.
Задание к работе
Видоизменить программу вычисления площади треугольника по формуле
Герона (s = p( p a)( p b)( p c) , где a, b, c – стороны треугольника, p – по-
лупериметр, s – площадь) из лабораторной работы 2, оформив вычисление площади в виде:
1)подпрограммы-функции (FUNCTION);
2)подпрограммы-процедуры (SUB).
Ввод исходных данных (a, b, c) и вывод результата (s) осуществить в ос-
новной программе. Найти площадь треугольника при тестовом (a = 3; b = 4; c = 5; s = 6) и произвольном вариантах исходных данных.
7
Лабораторная работа 7
Программирование с использованием подпрограмм поль-
зователя
Цель работы: овладение навыками алгоритмизации и программирова-
ния задач с использованием подпрограмм пользователя, овладение навыками составления подпрограмм и обращения к ним, выбора параметров подпро-
грамм.
Задание для самостоятельной подготовки
1.Изучить:
1.1.назначение формальных и фактических параметров подпрограм-
мы, механизм замены формальных параметров на фактические;
1.2.способы передачи параметров в подпрограмму;
1.3.порядок выполнения программ, содержащих подпрограммы-
процедуры.
2.Разработать алгоритм решения в соответствии с заданием.
3.Составить программу решения задачи.
4.Подготовить тестовый вариант исходных данных для проверки пра-
вильности работы программы.
Задание к работе
Выполнить на компьютере программу, содержащую подпрограмму-
процедуру (SUB), в соответствии с вариантом задания (см. таблицу 5). Размеры массивов (матриц) и их элементы ввести с клавиатуры. Вывести на экран мони-
тора исходные массивы (матрицы) и все результаты с наименованиями выво-
димых величин. Проверить правильность работы программы с помощью тесто-
вого варианта.
8

Таблица 5
Варианты заданий к лабораторной работе 7
№Задание
Найти минимальные элементы матриц A(n1, m1) и B(n2, m2) и их ин-
1.
дексы (n1, m1 – размеры матрицы A, n2, m2 – размеры матрицы B). Нахождение минимального элемента матрицы и его индексов оформить в виде подпрограммы-процедуры.
Найти максимальные элементы массивов X(n1), Y(n2), Z(n3) и их порядковые номера (n1 – размер массива X, n2 – размер массива Y, n3 –
2.размер массива Z). Нахождение максимального элемента одномерного массива и его порядкового номера оформить в виде подпрограм- мы-процедуры.
Вычислить и запомнить в одномерных массивах Sc(m1) и Sd(m2), соответственно, средние арифметические отрицательных элементов каждого столбца матриц C(n1, m1) и D(n2, m2) (n1, m1 – размеры матри-
3.цы C, n2, m2 – размеры матрицы D). Вычисление и запоминание в одномерном массиве средних арифметических отрицательных элементов каждого столбца матрицы оформить в виде подпрограммыпроцедуры.
|
Вычислить z (ln(s1) ln(s2 )) /(k1 k2 ) , где s1 и k1 – сумма и количество |
|
положительных элементов массива V(n1); s2 и k2 – сумма и количест- |
4. |
во положительных элементов массива W(n2) (n1 – размер массива V, |
|
|
|
n2 – размер массива W). Нахождение суммы и количества положи- |
|
тельных элементов одномерного массива оформить в виде подпро- |
|
граммы-процедуры. |
9

Продолжение табл. 5
№Задание
Записать в массивы Ke(n1 m1) и Kf(n2 m2), соответственно, элементы
целочисленных матриц E(n1, m1) и F(n2, m2), кратные трём (n1, m1 –
5.размеры матрицы E, n2, m2 – размеры матрицы F). Запись в одномерный массив элементов целочисленной матрицы, кратных трём, оформить в виде подпрограммы-процедуры.
Вычислить средние арифметические отрицательных элементов массивов X(n1), Y(n2) и Z(n3) (n1 – размер массива X, n2 – размер массива
6.Y, n3 – размер массива Z). Вычисление среднего арифметического отрицательных элементов одномерного массива оформить в виде подпрограммы-процедуры.
Вычислить и запомнить в одномерных массивах Sg(n1), Kg(n1) и Sh(n2), Kh(n2), соответственно, суммы и количества положительных элементов каждой строки матриц G(n1, m1) и H(n2, m2) (n1, m1 – разме-
7.ры матрицы G, n2, m2 – размеры матрицы H). Вычисление и запоминание в одномерных массивах сумм и количеств положительных элементов каждой строки матрицы оформить в виде подпрограммыпроцедуры.
Вычислить средние арифметические максимального и минимального элементов массивов U(n1), V(n2) и W(n3) (n1 – размер массива U, n2 –
8.размер массива V, n3 – размер массива W). Вычисление среднего арифметического максимального и минимального элементов одномерного массива оформить в виде подпрограммы-процедуры.
10