Федеральное агенство по рыболовству
Балтийская государственная академия рыбопромыслового флота
Алгоритмизация и программирование основных типов вычислительных процессов
Сборник заданий для выполнения
расчетно-графических работ по дисциплине «Информатика»
для курсантов и студентов всех специальностей
Калининград
2008
Оглавление
Введение | 3 |
Методические указания к выполнению заданий | 4 |
Задание 1. Программирование алгоритмов линейной структуры.. | 6 |
Задание 2. Программирование алгоритмов разветвляющейся структуры | 8 |
Задание 3. Программирование алгоритмов циклической структуры с заданным числом повторений | 11 |
Задание 4. Вычисление суммы числового ряда | 13 |
Задание 5. Программирование алгоритмов циклической структуры с незаданным числом повторений. Итерационные циклы. | 15 |
Задание 6. Программирование простых циклов. Обработка одномерных массивов. | 17 |
Задание 7. Программирование сложных циклов. Обработка двухмерных массивов. | 19 |
Список литературы | 23 |
Введение
Сборник заданий предназначен для выполнения расчетно-графических работ по дисциплине «Информатика» при изучении темы «Программирование на языке Visual Basic». Сборник предназначен для курсантов и студентов всех специальностей. В нем содержатся задания, выполнение которых позволит закрепить ранее полученные при выполнении лабораторных работах знания и практические навыки алгоритмизации и программирования основных типов вычислительных процессов.
Основные цели, реализуемые при изучении алгоритмизации и программирования в среде проектирования Visual Basic:
- овладение одним из языков программирования;
- изучение и освоение методов и приемов алгоритмизации и программирования;
- ознакомление с процессом выполнения программы при решении на компьютере, начиная от ввода программы и ее исходных данных до получения ожидаемого результата;
- создание максимально эффективного приложения Visual Basic со всеми присущими ему свойствами;
- получение практических навыков работы по отладке и тестированию программ.
Методические указания к выполнению заданий
Приступая к выполнению предложенных в сборнике заданий, обучаемые должны предварительно изучить типовые приемы алгоритмизации и программирования основных видов вычислительных процессов, иметь навыки работы в среде проектирования Visual Basic. Теоретические основы курса излагаются в материалах лекций, практических занятий, а также в рекомендованной литературе.
При выполнении индивидуальных заданий закрепляются навыки использования в программных кодах управляющих конструкций Visual Basic – IF…THEN, IF…THEN…ELSE, SELECT CASE, циклов с использованием конструкций FOR…NEXT, DO…LOOP. Сборник содержит пять заданий. В предложенных заданиях предполагается использование приемов программирования линейных, разветвляющихся и циклических алгоритмов, программирование простых и сложных циклов, приемы обработки массивов при вычислении суммы, количества, среднего, сортировка массивов, поиск максимального и минимального значений в массивах и другие. При создании приложений применяются основные элементы управления: текстовые поля, кнопки, списки, переключатели и т. д.
Процесс подготовки и решения задачи на компьютере состоит из следующих этапов:
1. Постановка задачи (выдается в виде задания).
2. Математическая формулировка задачи.
3. Разработка алгоритма решения задачи.
4. Создание экранной формы.
5. Написание и ввод программного кода на одном из языков программирования.
6. Тестирование и отладка для получения удовлетворительно работающего приложения.
7. Анализ результатов выполнения задачи.
При выполнении заданий на этапе постановки задачи требуется четко определить конечные цели решения задачи, описание данных (типы данных, диапазонов величин, структуры), как будут вводиться исходные данные, форма выдачи результатов.
На этапе математической формулировки задачи разрабатывается математическую модель ее решения. При этом определяются исходные данные и результаты, записываются необходимые математические соотношения, связывающие результаты с исходными данными.
Алгоритм решения задачи представляет собой последовательность действий, приводящих к результату решения. При выполнении заданий следует представить алгоритм в виде блок-схемы, учитывая требования ГОСТ 19.002-80 и ГОСТ 19.003-80.
Создание экранной формы (окна будущего Windows-приложения) предполагает использование элементов управления, задание свойств этих элементов. Элементы управления позволяют осуществлять взаимодействие с пользователями.
Программирование – определение того, какие события будут происходить в процессе работы приложения, составление алгоритмов процедур для этих событий и написание программы (программных кодов этих процедур).
В процессе отладки работы приложения происходит устранение синтаксических и логических ошибок в процедурах для достижения удовлетворительной работы приложения в среде проектирования.
В процессе тестирования проверить работоспособность проекта на контрольном варианте данных.
После получения результатов выполнения их необходимо проанализировать и обеспечить массовое использование проекта для различных вариантов исходных данных.
По каждому заданию оформляется отчет, который должен содержать:
- постановку и математическую формулировку задачи;
- блок-схему алгоритма решения задачи и ее описание (тип вычислительного процесса, назначение блоков и т. д.);
- вид экранной формы;
- программный код, в котором для внесения пояснений должны быть использованы комментарии.
К отчету должен быть приложен электронный вариант созданного проекта. Работу необходимо защитить – ответить на ряд вопросов по данной теме.
ЗАДАНИЕ 1
Программирование алгоритмов линейной структуры
Составить алгоритм и программу для вычисления значения функции Z по формуле при заданных значениях x, y, a, b. Для ввода исходных данных и вывода значения функции на экранную форму использовать текстовые поля (TextBox).
Таблица 1
№ | Формула | x | y | a | b |
1. |
| -0,23 | 9,4 | -0,36 | 4,78 |
2. |
| -0,05 | 4,0 | 0,3 | -0,21 |
3. |
| 3,42 | 18,6 | -0,07 | -2,31 |
4. |
| 0,97 | 0,27 | 21,7 | -0,29 |
5. |
| -0,08 | 5,4 | -0,75 | 2,0 |
6. |
| 1,12 | 2,0 | 5,6 | 4,31 |
7. |
| 0,15 | 2,35 | -12,7 | -0,03 |
8. |
| 5,35 | 0,73 | - | - |
9. |
| 1,43 | 5,7 | 2103 | 0,09 |
10. |
| -12,9 | 295,7 | - | - |
11. |
| 0,79 | 5,54 | 5,0 | 2,73 |
12. |
| 0,65 | 12,4 | -7,93 | -0,07 |
13. |
| -0,21 | 3,4 | -0,38 | 3,78 |
14. |
| -10,9 | 129,3 | - | - |
Указания. Перед выполнением вычисления функции Z по предложенной формуле необходимо выполнить упрощения. Для этого следует ввести новые переменные для вычисления повторяющихся выражений в формуле.
При отсутствии повторяющихся выражений выполнить предварительные вычисления отдельных частей формулы, что упростит запись формулы для вычисления функции Z.
ЗАДАНИЕ 2
Программирование алгоритмов разветвляющейся структуры
Составить алгоритм и программу для вычисления значения функции Z по одной из заданных формул при указанных значениях a, b, c, d.
Исходные данные ввести через окно ввода InputBox. Вывести значение функции Z, а также порядковый номер формулы, по которой вычислялось значение Z через окно вывода MsgBox.
Таблица 2
№ | Функция и условие | а | b | c | d | |
1. |
|
1,57, в остальных случаях | -5,52 | -2,08 | - | - |
2. |
|
| -1,01 | 4,2 | 0,8 | 81 |
3. |
|
| 4,4 | 79,02 | 2,3 | 0,6 |
4. |
|
| 12,5 | 3,32 | 38 | -2,6 |
5. |
|
| 125 | -0,5 | 1,66 | - |
6. |
|
| 0,27 | 26,7 | 3,44 | 4,09 |
7. |
|
| 0,75 | -3,3 | 6,4 | 0,9 |
8. |
|
| 9,9 | -5 | 0,25 | 2,05 |
9. |
|
| 181,3 | 4,2 | 0,15 | 2,4 |
10. |
|
| 0,77 | - | 0,14 | -12,5 |
11. |
|
| 0,7 | 4,3 | 0,4 | 0,9 |
12. |
|
| 3,03 | 2 | 1,8 | 71 |
13. |
|
| 181,3 | 4,2 | 0,15 | 2,4 |
14. |
|
| 0,27 | 26,7 | 3,44 | 4,09 |
Указания. При программировании разветвляющихся алгоритмов следует использовать в программных кодах управляющие конструкции Visual Basic: IF…THEN, IF…THEN…ELSE или
SELECT CASE.
ЗАДАНИЕ 3
Программирование алгоритмов циклической структуры
с заданным числом повторений
Составить алгоритм и программу для вычисления значений функции Y при заданном диапазоне изменения аргумента X и законе изменения аргумента. Вывести на экранную форму в окна списков (ListBox) значения аргумента и функции. Для программирования циклов использовать оператор цикла с условием Do…Loop.
Таблица 3
№ | Исходная формула | Диапазон изменения аргумента | Закон изменения аргумента |
1. |
|
|
|
2. |
|
|
|
3. |
|
|
|
4. |
|
|
|
5. |
|
|
|
6. |
|
|
|
7. |
|
|
|
8. |
|
(n=5) |
|
9. |
|
(n=10) |
|
10. |
|
|
|
11. |
|
|
|
12. |
|
(n=10) |
|
13. |
|
|
|
14. |
|
(n=5) |
|
Указания. В данном задании необходимо отработать навыки программирования циклов с помощью оператора цикла Do…Loop.
В части предложенных заданий для организации цикла с использованием оператора цикла For…Next программный код получился бы компактнее. Однако другая часть заданий может быть выполнена только с помощью оператора цикла Do…Loop, так как в заданном законе изменения аргумента шаг изменения аргумента отсутствует, задан лишь закон изменения аргумента.
ЗАДАНИЕ 4
Вычисление суммы числового ряда
Составить алгоритм и программу вычисления суммы числового ряда S для «k» вариантов исходных данных (h, x, m). Переменная n изменяется от 1 до m c шагом h. При выполнении и отладке программы значение k принять равным двум.
Вывести на экранную форму номер варианта исходных данных, значения исходных данных, а также значение полученной суммы числового ряда при данном варианте исходных данных.
Таблица 4
№ | Исходная функция | h | x | m |
1. |
| 2 1 | 0,5 1,75 | 21 13 |
2. |
| 1 2 | 1,5 2 | 8 19 |
3. |
| 1 3 | 7,5 12,45 | 25 37 |
4. |
| 1 2 | 3 2 | 7 15 |
5. |
| 2 1 | 0,55 0,76 | 29 35 |
6. |
| 1 2 | 2,3 1,1 | 15 21 |
7. |
| 1 2 | 2,4 0,65 | 10 13 |
8. |
| 2 1 | 1,5 3,1 | 19 17 |
9. |
| 1 3 | 0,75 0,5 | 17 22 |
10. |
| 2 3 | 1,6 5,5 | 21 19 |
11. |
| 1 2 | 3,4 1,65 | 12 15 |
12. |
| 1 2 | 4 3 | 8 16 |
13. |
| 1 2 | 3,4 1,4 | 17 25 |
14. |
| 2 1 | 0,66 1 | 30 25 |
Указания. При выполнении задания следует использовать сложный цикл (цикл в цикле). Внешний цикл организуется для ввода в нем текущих значений исходных данных - h, x, m
Например, фрагмент программного кода может иметь вид:
…
For v=1 To k
h=Val(InputBox(“шаг h”, “Ввод исходных данных”)
…
…
…
Next v
Этот цикл будет выполняться «k» раз. После ввода данных будет осуществляться вычисление суммы числового ряда для этого варианта данных (во внутреннем цикле). Далее внешний цикл повторяется и вводится следующий (второй) вариант данных и т. д.
ЗАДАНИЕ 5
Программирование алгоритмов циклической структуры
с незаданным числом повторений. Итерационные циклы.
Составить алгоритм и программу для вычисления значения функции Y с заданной точностью E. Итерационные вычисления значений функции y производятся по рекуррентной формуле
. Вычисления заканчиваются при выполнении условия
. Вывести на печать значения функции Y и число итераций, выполненных для выполнения поставленного условия.
Таблица 5
№ | Рекуррентная формула | Значение аргумента | Начальные значения | Точность вычисления |
1. |
| - | y0= 5,2 y1= 4,3 |
|
2. |
| - | y0= 1,2 |
|
3. |
| - | y0= 0,55 y1= 0,35 |
|
4. |
| - | y0= 5,8 y1= 4,5 |
|
5. |
| x=226 x=19,6 | y0= 0,5x y0= х |
|
6. |
| x=898 x=186 | y0= 0,4x y0= х |
|
7. |
| x=0,3 x=15,5 | y0= 0,5х y0= 2 |
|
8. |
| x=4,7 x=8,69 | y0= 0,5х y0= 2,4 |
|
9. |
| x=14,6 x=19,7 | y0= х y0= 0,3х |
|
10. |
| - | y0= 0,55 y1 = 0,35 |
|
11. |
| - | y0= 5,8 y1= 4,5 |
|
12. |
| x=898 x=186 | y0= 0,4х y0= х |
|
13. |
| x=14,6 x=19,7 | y0= х y0= 0,3х |
|
14. |
| x=226 x=19,6 | y0= 0,5х y0= х |
|
Указания. При программировании циклов с незаданным числом повторения следует использовать цикл с условием, организуемый с помощью оператора Do… Loop. Цикл будет выполняться до тех пор, пока не будет выполнено условие
. Число итераций – это количество выполненных циклов для достижения заданной точности вычисления.
ЗАДАНИЕ 6
Программирование простых циклов.
Обработка одномерных массивов.
Составить алгоритм и программу для выполнения предложенного задания по обработке одномерного массива X, состоящего из “N” элементов. Массив должен быть сформирован с помощью генератора случайных чисел и заполнен как положительными, так и отрицательными целыми числами. Исходный массив и результаты его обработки вывести на экранную форму.
Таблица 6
№ | Задание |
1. | В массиве X(N) определить сумму и количество элементов, значения которых кратны двум. |
2. | В массиве X(N) определить количество элементов, значения которых принадлежат интервалу от 3 до 5. |
3. | В массиве X(N) определить произведение элементов, значения которых кратны пяти. |
4. | В массиве X(N) определить сумму, произведение и количество отрицательных элементов с четными индексами. |
5. | В массиве X(N) переписать элементы в обратном порядке. Исходный и полученный массивы вывести на экранную форму. |
6. | В массиве X(N) определить количество положительных элементов, стоящих на местах с нечетным индексом. |
7. | В массиве X(N) максимальный элемент и минимальный элемент поменять местами. Исходный и полученный массивы вывести на экранную форму. |
8. | В массиве X(N) все положительные элементы заменить единицами, а отрицательные – нулями. Исходный и полученный массивы вывести на экранную форму. |
9. | В массиве X(N) определить сумму и количество положительных элементов, расположенных с N/2 и до конца. |
10. | В массиве X(N) поменять местами минимальный и первый элементы. Исходный и полученный массивы вывести на экранную форму. |
11. | В массиве X(N) определить среднее арифметическое значение положительных элементов, имеющих нечетные индексы. |
12. | В массиве X(N) каждый положительный элемент массива возвести в квадрат, а отрицательный – в куб. Исходный и полученный массивы вывести на экранную форму. |
13. | В массиве X(N) все элементы с нечетными индексами заменить на 1, а с четными индексами – на 2. Исходный и полученный массивы вывести на экранную форму. |
14. | В массиве X(N) определить среднее арифметическое значение элементов, лежащих в интервале от –3 до 3. |
Указание. В приведенных заданиях рассматривается обработка динамического массива X(N), значения которого формируются с помощью генератора случайных чиcел (RND). Следует помнить, что массив X задан неявно и требуется вводить размер массива (N) до выполнения операций с ним.
ЗАДАНИЕ 7
Программирование сложных циклов.
Обработка двухмерных массивов.
Составить алгоритм и программу для вычисления и вывода на печать в общепринятом виде элементов матрицы Zij по заданной формуле, а также выполнить предложенные индивидуальные задания.
Исходные массивы Xi и Yj ввести с помощью файла последовательного доступа.
Таблица 7
№ | Расчётная формула | Задание |
1. |
i = l - 5, j = 1 - 3 | 1. Сумму квадратов всех значений элементов матрицы. 2. Номер столбца, в котором расположен максимальный по абсолютной величине элемент матрицы. 3. Число строк матрицы, имеющих элементы больше единицы. |
2. |
i= l - 4, j = l - 5 | 1. Сумму значений элементов четных столбцов матрицы. 2. Число строк матрицы, имеющих положительные элементы 3. Минимальные по абсолютной величине элементы в каждой строке матрицы |
3. |
i = l - 5, j = l - 5 | 1. Число строк матрицы, имеющих элементы меньше единицы. 2. Сумму значений положительных элементов в главной диагонали матрицы. 3. Максимальный элемент в каждой строке поменять местами с элементом главной диагонали. Полученную матрицу распечатать. |
4. |
i = l - 6, j = l - 3 | 1. Произведение максимального элемента матрицы на её минимальный элемент 2. Число строк матрицы, для которых сумма значений элементов меньше единицы. 3. Сумму значений положительных элементов каждого столбца матрицы с сохранением результатов в массиве. |
5. |
i = l - 5, j = l - 7 | 1. Сумму всех нечётных значений элементов матрицы. 2. Максимальный по величине элемент в каждой строке матрицы. 3. Число столбцов матрицы, для которых произведение значений элементов меньше единицы. |
6. |
i = l - 4, j = l - 4 | 1. Среднее арифметическое значений элементов главной диагонали матрицы. 2. Минимальный по величине элемент в каждом столбце матрицы. 3. Число строк в матрице, для которых сумма значений элементов отрицательна. |
7. |
i = l - 6, j = l - 6 | 1. Среднее арифметическое значение положительных элементов главной диагонали матрицы. 2. Число строк в матрице, имеющих элементы больше единицы. 3. Сумму значений элементов чётных строк матрицы. |
8. |
i = l - 4, j = l - 7 | 1. Сумму значений положительных элементов каждой строки матрицы с сохранением результатов в массиве. 2. Число столбцов матрицы, имеющих элементы от нуля до трёх. 3. Произведение значений элементов, меньших единицы, в каждой строке матрицы. |
9. |
i = l - 5, j = l - 3 | 1. Сумму и количество значений элементов, больших единицы, в каждом столбце матрицы. 2. Произведение значений элементов в каждой нечётной строке матрицы. 3. Записать на место отрицательных элементов матрицы нули, а вместо положительных – единицы. Полученную матрицу распечатать. |
10. |
i = l - 5, j = l - 6 | 1. Число отрицательных элементов, кратных двум, в каждой строке матрицы. 2. Сумму значений, больших единицы, в каждом столбце матрицы. 3. Среднее арифметическое значений элементов каждой строки матрицы. |
11. |
i = 1 - 7, j = 1 - 3 | 1. Максимальный по величине элемент в каждом столбце матрицы 2. Произведение значений элементов, больших единицы, в каждой строке матрицы. 3. Число столбцов матрицы, для которых сумма значений элементов отрицательна. |
12. |
i =1 - 3, j = 1 - 8 | 1. Максимальный и минимальный по величине элементы в матрице. 2. Число строк в матрице, для которых произведение значений элементов положительно. 3. Сумму и количество значений элементов, больших единицы, в каждой строке матрицы. |
13. |
i = 1 - 4, j = 1 - 4 | 1. Среднее арифметическое значений элементов каждого столбца матрицы. 2. Число строк матрицы, для которых сумма значений элементов больше единицы. 3. Сумму и количество значений элементов главной диагонали матрицы, кратных трём. |
14. |
i = 1 - 4, j = 1 - 7 | 1. Число нулевых по величине элементов в каждой строке матрицы. 2. Произведение значений элементов, больших единицы, в каждом столбце матрицы 3. Число строк в матрице, для которых сумма значений элементов положительна. |
Указания. В текстовом редакторе Блокнот создать файл, в который записать произвольные числовые значения элементов массива Xi и Yj.
Программа должна:
- прочитать данные с файла;
- вывести исходные массивы Xi и Yj на экранную форму;
- вычислить по заданной формуле элементы матрицы Zij и вывести их на экранную форму в общепринятом виде;
- выполнить предложенные индивидуальные задания и вывести результаты на экранную форму.
Список литературы
1. С. Браун. Visual Basic 6: Учебный курс. – СПб.: Питер, 2000.
2. , Федоров Visual Basic 6.0 – СПб.: БХВ - Петербург, 2001.
3. Волчёнков на Visual Basic 6: В 3-х ч. Часть 1. – М.: ИНФРА – М, 2000.
4. Волчёнков на Visual Basic 6: В 3-х ч. Часть 2. – М.: ИНФРА – М, 2000.
5. Волчёнков на Visual Basic 6: В 3-х ч. Часть 3. – М.: ИНФРА – М, 2000.
6. Visual Basic. Освой на примерах. – СПб.: БХВ-Петербург, 2004.
7. Информатика в задачах, примерах, алгоритмах. Visual Basic for Application. М.: СОЛОН-Р, 2005.
8. Visual Basic. Самоучитель для начинающих. – М.- "Диалог-МИФИ", 2004.
9. Семенова средств языка Visual Basic для разработки приложений при программировании основных типов вычислительных процессов. Учебное пособие. – БГАРФ, 2008.

































