Цель работы: научиться программировать циклический алгоритм.
3.1 Краткие теоретические сведения
Оператор цикла For применяется для циклических вычислений и позволяет повторять группу операторов несколько раз.
Синтаксис оператора For:
For = TO [step шаг]
Тело цикла
Next [счётчик_цикла]
Счётчик_цикла – числовая переменная, равная в начале цикла значению начало и в конце цикла значению конец. Шаг по умолчанию равен 1, но может принимать и другие значения. Шаг не обязателен. Тело цикла — это группа операторов, которая должна выполняться несколько раз. Цикл завершается, когда впервые выполнится условие: счетчик_цикла конец
3.2 Постановка задачи
1. Составить программу для нахождения суммы или произведения элементов массива, используя операторы цикла for(таблица 3.1).
2. Составить блок-схему программы, согласно своего варианта.
3.3 Решение типового примера
Вычислить значение функции:
,
где n=1,2,…,6.
Решение:
1. Заполнить диапазон ячеек А1:А6 значениями Х.
2. Вызвать редактор VBA.
3. Выполнить команду Вставка/Модуль.
4. Набрать текст программы
Subqwe()
Y=0
N=6
X=Worksheets(1).Cells(i,1)
Y=Y+log(x/(2^i))
Next i
Worksheets(1).Range(“A7”).Value=”Ответ”
Worksheets(1).Range(“A8”).Value=Y
End Sub
5. Запустить программу.
6. Проанализировать полученный результат.
3.4 Блок-схема программы
Блок-схема программы представлена на рисунке 3.1.
Рисунок 3.1 – Блок-схема алгоритма
3.5 Варианты заданий
Варианты заданий представлены в таблице 3.1.
Таблица 3.1 – Варианты заданий
№ варианта | Вид функции |
Продолжение таблицы 3.1 | |
Продолжение таблицы 3.1 | |
Продолжение таблицы 3.1 | |
4. Лабораторная работа №4
Двумерные массивы
Цель работы: научиться программировать вложенные циклы.
4.1 Краткие теоретические сведения
Двумерные массивы описываются следующим образом:
Dim ( To , To ) As
Пример описания двумерного массива:
DimB(1 To 5, 1 to 7) AsDouble ‘массив состоит из 35 элементов (5 строк и 7 столбцов), тип каждого элемента — Double.
Чтобы обратиться к элементу массива, необходимо указать имя массива, в круглых скобках через запятую указывается номер строки и номер столбца, где размещен элемент в массиве. Например, B(2,4)=12. Элементу, находящемуся во второй строке и четвертом столбце массива В присваивается значение 12.
Массивы можно вводить с листа Excel.
For i=1 to 5
For j=1 to 7
C(i,j)=Worksheets(1).Cells(i,j)
Nexti
Nextj
На блок-схемах вложенные циклы изображаются как показано на рисунке 4.1.
Рисунок 4.1 – Изображение вложенных циклов на блок-схемах
1. Написать программу с вложенными циклами согласно своему варианту.
2. Составить блок-схему.
4.3 Решение типового примера
Дан массив 10 строк, 4 столбца. Посчитать сумму элементов массива.
Текст программы представлен на рисунке 4.2.
Рисунок 4.2 – Текст программы
4.4 Варианты заданий
Варианты заданий представлены в таблице 4.2.
Таблица 4.1 – Варианты заданий
№ варианта | Задание |
В матрице А[4,6] посчитать количество нулевых элементов. Еслитаких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[3,5] посчитать количество положительных элементов. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[4,5] посчитать количество отрицательных элементов. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[6,4] найти сумму отрицательных элементов. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[5,4] найти произведение положительных элементов. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[3,6] найти сумму положительных элементов. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[5,6] найти произведение отрицательных элементов. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[4,8] найти сумму положительных элементов во всех четных столбцах. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[3,9] найти сумму положительных элементов во всех нечетных столбцах. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[3,8] найти произведение положительных элементов во всех четных столбцах. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[4,9] найти произведение отрицательных элементов во всех нечетных столбцах. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
Продолжение таблицы 4.1 | |
В матрице А[8,4] найти сумму положительных элементов во всех четных строках. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[9,4] найти сумму отрицательных элементов во всех нечетных строках. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[8,3] найти сумму положительных элементов во всех нечетных строках. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[9,5] найти сумму отрицательных элементов во всех четных строках. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[10,3] найти произведение положительных элементов во всех четных строках. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[9,5] найти произведение отрицательных элементов во всех нечетных строках. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[9,6] найти произведение положительных элементов во всех нечетных строках. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[8,5] найти произведение отрицательных элементов во всех четных строках. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[6,8] найти сумму элементов значения которых больше первого элемента матрицы. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[7,6] найти сумму элементов значения которых меньше первого элемента матрицы. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[6,7] найти сумму элементов значения которых больше последнего элемента матрицы. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[7,8] найти произведение элементов значения которых меньше последнего элемента матрицы. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[7,9] найти количество положительных элементов в четных строках . Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
Продолжение таблицы 4.1 | |
В матрице А[9,6] найти количество положительных элементов в нечетных строках . Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[7,8] найти количество нулевых элементов в четных строках. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[8,7] найти количество нулевых элементов в нечетных строках. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[6,9] найти количество нулевых элементов в нечетных столбцах. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[6,7] найти количество нулевых элементов в четных столбцах. Если таких элементов нет, то на печать выдать соответствующее сообщение. | |
В матрице А[8,9] найти количество элементов значения которых больше суммы первого и последнего элементов матрицы. Если таких элементов нет, то на печать выдать соответствующее сообщение. |
СПИСОК ЛИТЕРАТУРЫ
1. Исакова А.И. Информационные технологии [Электронный ресурс]: учебное пособие/ Исакова А.И., Исаков М.Н.— Электрон.текстовые данные.— Томск: Эль Контент, Томский государственный университет систем управления и радиоэлектроники, 2012.— 174 c.— Режим доступа: http://www.iprbookshop.ru/13938— ЭБС «IPRbooks», по паролю.
2. Прохорова О.В. Информатика [Электронный ресурс]: учебник/ Прохорова О.В.— Электрон.текстовые данные.— Самара: Самарский государственный архитектурно-строительный университет, ЭБС АСВ, 2013.— 106 c.— Режим доступа: http://www.iprbookshop.ru/20465.— ЭБС «IPRbooks», по паролю.
4. Шереметьев, А.И. Информатика [Электронный ресурс] : учебное пособие / А. И. Шереметьев. — Москва : НИЯУ МИФИ.Ч.1 : Элементы программирования на языке Cu. — [Б. м.], 2011. – Режим доступа: http://library.mephi.ru/Data-IRBIS/book-mephi/Sheremetev_Informatika_ch1_2011.pdf
3. Информатика. Базовый курс [Текст]: учеб. пособие для втузов / под ред. С.В. Симоновича. — 2-е изд. — СПб.: Питер, 2007. — 640 с.: ил. — (Учебник для вузов).
4. Симонович, С.В. Общая информатика. Новое издание [Текст] / С. В. Симонович. — СПб. [и др.]: Питер, 2008. — 428 с.: ил
5. Степанов, А.Н Информатика [Текст]: учеб.для вузов / А. Н. Степанов. — 5-е изд. — СПб. [и др.]: Питер, 2007. — 765 с.: ил. — (Учебник для вузов).
6. Выжигин А.Ю. Информатика и программирование [Электронный ресурс]: учебное пособие / Выжигин А.Ю. – Электрон.текстовые данные. – М.: Московский гуманитарный университет, 2012. – 294 с. – Режим доступа: http://www.iprbookshop.ru/14517. — ЭБС «IPRbooks», по паролю.
Разработано УМО (Учебно-методическим отделом) ВИТИ НИЯУ МИФИ
Утверждено
Подписано в печать
Отпечатано ИПО (Издательско-полиграфическим отделом) ВИТИ НИЯУ МИФИ
Тираж 50 экз.
347360, Россия, Ростовской обл. г. Волгодонск, ул. 50 лет СССР, д.79/91, Национальный исследовательский ядерный университет «МИФИ»
Волгодонский инженерно-технический институт-филиал НИЯУ МИФИ