Алгоритмизация и программирование практикум

Алгоритмизация и программирование практикум


Скачать 0.75 Mb.
Название Алгоритмизация и программирование практикум
страница 1/8
Тип Задача
rykovodstvo.ru > Руководство эксплуатация > Задача
  1   2   3   4   5   6   7   8
РОСЖЕЛДОР

Государственное образовательное учреждение

высшего профессионального образования

«Ростовский государственный университет путей сообщения»

(РГУПС)
В.В. Ильичева


АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ
Практикум

Ростов-на-Дону

2010

УДК 681.3.06 + 06
Ильичева, В.В.

Алгоритмизация и программирование : практикум /  В.В. Ильичева ; Рост. гос. ун-т путей сообщения. ЁC Ростов н/Д, 2010. ЁC 142 с.: ил.

Содержится комплекс лабораторных работ, включающий сведения об основных элементах управления языка Visual Basic for Application, реализации основных алгоритмических структур, примеры разработки программ и задания для самостоятельного решения.

Предназначен для студентов всех специальностей, изучающих дисциплину «Информатика», раздел «Алгоритмизация и программирование».

Рецензент д-р техн. наук, проф. М.А. Бутакова (РГУПС)

© Ильичева В.В., 2010© Ростовский государственный университет

путей сообщения, 2010

Знакомство с VBA
Запись макросов
Задача 1 Планирование личного бюджета
Допустим, Вы решили вести учет своих расходов, с этой целью в конце каждого месяца составляете таблицу (рис. 1) и строите диаграмму для отображения доли каждой статьи расходов вашего бюджета. Чтобы не составлять ежемесячно одну и ту же таблицу с одновременным построением диаграммы, «научим» компьютер создавать таблицу, а потом будем лишь отдавать команду подготовки таблицы, чтобы осталось только внести в нее данные.

Рис. 1. Таблица ежемесячных расходов
Выполнение:

«Обучать» компьютер будет MacroRecorder ѓ{ транслятор, создающий программу (макрос) на языке VBA, которая является результатом перевода на язык VBA действий пользователя с момента запуска MacroRecorder до окончания записи макроса.

• Для активации MacroRecorder выберите команду Сервис / Макрос / Начать запись. Появится диалоговое окно Запись макроса (рис. 2).

• В диалоговом окне Запись макроса в поле Имя макроса введите Расходы, а в поле Описание ѓ{ Расчет месячных расходов и нажмите ОК. Появится плавающая панель инструментов с кнопкой Остановить запись. Теперь все происходящие действия будут записываться до тех пор, пока не будет нажата эта кнопка. Построим шаблон таблицы расходов по следующему алгоритму:

1 В ячейку В1 введите Расходы.

2 В ячейку А2 введите Транспорт.

3 В ячейку А3 введите Коммунальные.

4 В ячейку А4 введите Еда.

5 В ячейку А5 введите Развлечения.

6 В ячейку А6 введите Одежда.

7 В ячейку А7 введите Компьютер.

8 В ячейку А8 введите Машина.

9 В ячейку А9 введите Прочие.

10 В ячейку А10 введите Итого.

11 В ячейку В10 введите формулу =СУММ(В2:В9), вычисляющую суммарные расходы.
12 Выделите диапазон В2:В9, и при помощи раскрывающегося списка Внешние границы панели инструментов Форматирование создайте рамку, окаймляющую этот диапазон.
13 Выделите диапазон А10:В10, и при помощи раскрывающегося списка Цвет заливки панели инструментов Форматирование окрасьте этот диапазон в желтый цвет.
14 Ячейку В1 окрасьте в желтый цвет.

15 Диапазон А2:А9 окрасьте в светло-бирюзовый цвет.
16 Выберите столбец А, измените его ширину так, чтобы введенный в диапазон А2:А9 текст помещался в этом столбце.
17 Выделите диапазон А2:В9, и при помощи мастера диаграмм, вызываемого кнопкой Мастер диаграмм панели инструментов Стандартная, создайте диаграмму.
18 Остановите запись макроса, нажав кнопку Остановить запись.
19 Заполните ячейки таблицы исходными данными (рис. 1), расчет суммарных расходов и построение диаграммы теперь будут происходить автоматически.
20 Для просмотра записанной процедуры необходимо выбрать команду Сервис / Макрос / Макросы, которая вызовет диалоговое окно Макрос (рис. 3).
Рис. 3. Диалоговое окно Макрос

21 В этом диалоговом окне выделите макрос и нажмите кнопку Изменить. Это вызовет появление главного окна редактора VBA (рис. 4). Ниже приведен текст записанного макроса.

Рис. 4. Главное окно редактора VBA

Sub Расходы()

'

' Расходы Макрос

' Расчет месячных расходов

'
'

Range("B1").Select

ActiveCell.FormulaR1C1 = "Расходы"

Range("A2").Select

ActiveCell.FormulaR1C1 = "Транспорт"

Range("A3").Select

ActiveCell.FormulaR1C1 = "Коммунальные"

Range("A4").Select

ActiveCell.FormulaR1C1 = "Еда"

Range("A5").Select

ActiveCell.FormulaR1C1 = "Развлечения"

Range("A6").Select

ActiveCell.FormulaR1C1 = "Одежда"

Range("A7").Select

ActiveCell.FormulaR1C1 = "Компьютер"

Range("A8").Select

ActiveCell.FormulaR1C1 = "Машина"

Range("A9").Select

ActiveCell.FormulaR1C1 = "Прочие"

Range("A10").Select

ActiveCell.FormulaR1C1 = "Итого"

Range("B10").Select

ActiveCell.FormulaR1C1 = "=SUM(R[-8]C:R[-1]C)"

Range("B2:B9").Select

Selection.Borders(xlDiagonalDown).LineStyle = xlNone

Selection.Borders(xlDiagonalUp).LineStyle = xlNone

With Selection.Borders(xlEdgeLeft)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlEdgeTop)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlEdgeBottom)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

With Selection.Borders(xlEdgeRight)

.LineStyle = xlContinuous

.Weight = xlThin

.ColorIndex = xlAutomatic

End With

Selection.Borders(xlInsideHorizontal).LineStyle = xlNone

Range("A10:B10").Select

With Selection.Interior

.ColorIndex = 6

.Pattern = xlSolid

End With

Range("B1").Select

With Selection.Interior

.ColorIndex = 6

.Pattern = xlSolid

End With

Range("A2:A9").Select

With Selection.Interior

.ColorIndex = 34

.Pattern = xlSolid

End With

Columns("A:A").EntireColumn.AutoFit

Range("A2:B9").Select

Charts.Add

ActiveChart.ChartType = xlColumnClustered

ActiveChart.SetSourceData Source:=Sheets("Лист1").Range("A2:B9"), PlotBy:= _

xlColumns

ActiveChart.Location Where:=xlLocationAsObject, Name:="Лист1"

ActiveChart.HasLegend = False

ActiveSheet.Shapes("Диагр. 1").IncrementLeft 26.25

ActiveSheet.Shapes("Диагр. 1").IncrementTop -30#

ActiveSheet.Shapes("Диагр. 1").ScaleWidth 1.16, msoFalse, msoScaleFromTopLeft

ActiveSheet.Shapes("Диагр. 1").ScaleHeight 1.34, msoFalse, msoScaleFromTopLeft

ActiveSheet.Shapes("Диагр. 1").ScaleWidth 1.13, msoFalse, msoScaleFromTopLeft

ActiveSheet.Shapes("Диагр. 1").ScaleHeight 1.1, msoFalse, _

msoScaleFromBottomRight

End Sub

• В настоящий момент с этой программой можно работать, не понимая записанные в ней коды. Пока о программе надо знать только ее имя ѓ{ Расходы ЁC и то, что рабочий лист, на котором при помощи этого макроса будет строиться шаблон таблицы с диаграммой, должен иметь имя Лист1. Поэтому, чтобы воспользоваться макросом, надо перед его выполнением переименовать рабочий лист, присвоив ему имя Лист1. После построения таблицы можно изменить имя рабочего листа на новое, например, на имя месяца, для которого строится текущий отчет по расходам.

22 Переименуйте Лист1 в Январь.
23 Перейдите на Лист2 и переименуйте его в Лист1.
24 Выберите команду Сервис / Макрос / Макросы, которая вызовет диалоговое окно Макрос. В этом окне в списке выделите исходный макрос и нажмите кнопку Выполнить. Диалоговое окно закроется и выполнится процедура, создающая на активном рабочем листе шаблон таблицы. Теперь в нее остается ввести новые данные, а расчет суммарных расходов и построение диаграммы будет происходить автоматически.
25 Переименуйте этот лист (Лист1) в Февраль.
26 Проделайте действия пунктов 23ЁC25 для нескольких листов, присваивая каждый раз новому листу перед выполнением макроса имя Лист1, и получите план годового личного бюджета.


Создание функций пользователя
VBA предоставляет также возможность пользователю создавать собственные функции, работать с которыми на рабочем листе можно при помощи мастера функций точно так же, как и с любой встроенной функцией. Рассмотрим пример.

Задача 2 Расчет стоимости товаров
Для привлечения покупателей книг в Вашем издательстве введена следующая система цен. Если продается от 100 до 200 экземпляров книги, то скидка от ее отпускной цены составляет 7 %, если продается от 201 до 300 экземпляров, то скидка составляет 10 %, а если свыше 300 экземпляров ѓ{ 15 %. Кроме того, для постоянных клиентов предусмотрена дополнительная скидка в размере 5 %.

Создайте функцию пользователя с именем Стоимость для расчета стоимости партии книг.

Выполнение:
Аргументы этой функции назовем ЦенаОднойКниги, Количество и Скидка. Для аргумента Скидка предусмотрим только два допустимых значения: 1 ЁC для постоянных клиентов и 0 ЁC в противном случае. Построим пользовательскую функцию Стоимость следующим образом.
1 Выполните команду Сервис / Макрос / Редактор Visual Basic, чтобы открыть окно редактора Visual Basic.
2 Выполните команду Вставка / Модуль (Insert / Module) для создания листа модуля.
3 Выберите значок модуля в окне Проект (Project), чтобы активизировать окно редактора кода на листе модуля.
4 Наберите на листе модуля приведенную ниже процедуру.

Function Стоимость(ЦенаОднойКниги, Количество, Скидка)

'

'Вычисление стоимости без учета скидки для постоянных клиентов

'

If Количество < 100 Then

'

'Продажа до 99 экземпляров

'

СтоимостьБезСкидки = ЦенаОднойКниги * Количество

Else

If Количество <= 200 Then

'

'Продажа от 100 до 200 экземпляров

'


СтоимостьБезСкидки = ЦенаОднойКниги * Количество * 0.93

Else

'

' Продажа от 201 до 300 экземпляров

'

If Количество <= 300 Then

СтоимостьБезСкидки = ЦенаОднойКниги * Количество * 0.9

Else

'

' Продажа свыше 300 экземпляров

'

СтоимостьБезСкидки = ЦенаОднойКниги * Количество * 0.85

End If

End If

End If

'

' Корректировка стоимости с учетом скидки для постоянных клиентов

'

If Скидка = 0 Then

Стоимость = СтоимостьБезСкидки

Else

Стоимость = СтоимостьБезСкидки * 0.95

End If

End Function

Таким образом, функция пользователя Стоимость создана. Она включена в категорию функций, определенных пользователем, мастера функций. Возможность применения русскоязычных имен в VBA обеспечивает простоту использования диалогового окна мастера функций для данной функции.
5 Введите в ячейки А1:D2 исходные данные задачи (рис. 5).
6 В ячейку Е2 поставьте знак равенства и вызовите мастер функций . В открывшемся окне в поле Категория выберите Определенные пользователем. Ниже в текстовом поле Выберите функцию найдите Стоимость. Нажмите ОК.
7 Откроется окно новой, определенной нами функции Стоимость. Заполните ее поля значениями (рис. 5). Нажмите ОК.

• Названия всех параметров функции Стоимость в окне мастера функций выводятся также на русском языке. Доступная для понимания структура диалогового окна позволяет использовать функцию Стоимость любому пользователю, даже не владеющему VBA. Для ее применения достаточно знать только имя этой функции.
8 Измените значения в ячейках В2:D2 и посмотрите, как изменилась стоимость. Проверьте, соответствует ли ее величина условию задачи для трех различных вариантов значений количества проданных книг (от 100 до 200, от 201 до 300, свыше 300 экземпляров).

Рис. 5. Диалоговое окно для заполнения параметров функции Стоимость
Задание:

1) Постройте пользовательскую функцию ОтпускнаяЦена, которая вычисляет стоимость покупки следующим образом. Если куплено товаров на сумму больше 500 р. или количество наименований товаров превышает 7 единиц, то назначается 10 %-ная скидка.
2) Запишите макрос, с помощью которого автоматически будет строиться поверхность и исходные данные для нее (ряд значений х и у), а формулу поверхности будет вводить пользователь.

Лабораторная работа №1. Линейный

алгоритм: вычисление арифметического

выражения

Задание:

Даны константы A и B и произвольное x, вводимое с клавиатуры. Вычислить значение выражения µ § и вывести значение y на экран.

Выполнение:

I способ

1 Создайте в своей папке пустой документ Microsoft Office Word.

Назовите его lab1.
2 Откройте Visual Basic for Application.
Это можно сделать двумя способами:
1) Нажатием сочетание клавиш Alt-F11 из любого приложения MS Office (MS Word, MS Excel, MS Access).

2) Меню (в любом приложении MS Office):

Сервис > Макрос > Редактор Visual Basic.
3 Выполните команду Вставка / Модуль (Insert / Module) для создания листа модуля.
4 Наберите на листе модуля процедуру:
Private Sub Лин_алг()
'описание входной переменной

Dim x As Double
'описание выходной переменной

Dim y As Double
'задание констант

Const A = 2.5

Const B = 3
x = InputBox("Введите x") 'ввод значения переменной х
y = Sin(x) + Sqr(Abs(A * B + 3 * x ^ 2)) 'вычисление значения выражения

Res = MsgBox("y= " & y) 'выдача результата в отдельное окно
End Sub

! Обратите внимание:

1) Аргументы любой функции перечисляются в скобках:

неправильно: sin x

правильно: sin(x).

2) Квадратный корень вычисляется с помощью функции sqr().

3) Модуль вычисляется с помощью функции abs().

4) Знак умножения «*» опускать нельзя.

5) Количество открывающих скобок должно соответствовать количеству закрывающих скобок.

6) Операция возведения в степень задается с помощью символа “^” (комбинация клавиш Shift+6 в английской раскладке клавиатуры).

7) Каждая команда (или блок одинаковых команд) может сопровождаться комментарием.

Это делает текст программы понятным и легко читаемым.

5 Сохраните программу.
6 Запустите программу с помощью меню Run (либо клавишей F5, либо соответствующей кнопкой на панели инструментов).
7 Если есть ошибки, исправьте в соответствии с сообщениями компилятора (т. е. отладьте программу).
8 В окне InputBox (рис. 6) введите значение x, например 2.3, и нажмите кнопку ОК.
Рис. 6. Окно InputBox

9 В окне MsgBox отображается результат вычисления y (рис. 7).

Рис. 7. Окно MsgBox

10 Завершить выполнение программы можно нажав кнопку закрытия окна или в меню Run выбрать пункт Reset.

II способ (создание форм):
1 В редакторе Visual Basic создайте форму пользователя. Для этого:
• В меню выберите пункт: Insert > UserForm.
Или
• На панели инструментов нажмите на кнопку: ѓ{ Insert UserForm.

2 Измените заголовок формы:
Для этого в поле Caption (в окне Properties UserForm1) задайте нужное значение: №задания, Фамилия И.О. №группы, например, Задание 1. Иванов И.И. Гр. Д-1-2008.
Окно Properties появится при создании формы в левой части экрана. Его вид представлен на рис. 8.
Поле Caption выделено на рис. 8 темно-серым цветом.

Рис. 8. Окно Properties UserForm1
  1   2   3   4   5   6   7   8

Похожие:

Алгоритмизация и программирование практикум icon Алгоритмизация и программирование
Алгоритм это совокупность строгих предписаний-приказов для исполнителя, выполняя которые он (исполнитель) может достичь цели, в частности...
Алгоритмизация и программирование практикум icon Практикум для студентов по специальности 09. 02. 03 Программирование...
Методические указания предназначены для выполнения практических работ для студентов очной формы обучения специальности 09. 02. 03...
Алгоритмизация и программирование практикум icon 12 Достижения компьютерной техники 15 Программирование
Программирование 3
Алгоритмизация и программирование практикум icon Центр информационных технологий. Огромная библиотека информации
Форумы по различным языкам программирования: от низкоуровневых до высокоуровневых, программирование под Windows, Unix, веб-программирование,...
Алгоритмизация и программирование практикум icon Программирование пду thomson dsi-4000ntv
Программирование пду – недокументированная возможность, и ни Телекомпания нтв-плюс, ни поставщик оборудования не несут ответственности...
Алгоритмизация и программирование практикум icon Рабочая программа спецкурса Олимпиадное программирование 8 и класс...
Рабочая программа элективного курса «Олимпиадное программирование» для 8 специализированного класса инженерно-технологической направленности...
Алгоритмизация и программирование практикум icon Прайс-лист 1
Пцн (опционально с nv pb 26), клавиатура (опционально nv pb 35 / kb 35 ), удаленно по sms, ключей тм, бесплатно clip • Локальное...
Алгоритмизация и программирование практикум icon Практикум по гештальттерапии петербург
Фредерик С. Перлз, Пауль Гудмен, Ральф Хефферлин практикум по гештальттерапии: пер с англ
Алгоритмизация и программирование практикум icon Практикум Федеральное агентство по образованию рв владивостокский государственный университет
Практикум «Английский язык: Читаем и говорим по-английски. Часть 2» предназначен для студентов специальностей «Международные отношения»...
Алгоритмизация и программирование практикум icon «Системное программирование»
Магистерская программа «Системное программирование» сочетает в себе академический подход к изучению предметной области с практической...
Алгоритмизация и программирование практикум icon Средства программирования
«структурное программирование». Структурное программирование представляет собой совокупность рекомендуемых технологических приемов,...
Алгоритмизация и программирование практикум icon Средства программирования
«структурное программирование». Структурное программирование представляет собой совокупность рекомендуемых технологических приемов,...
Алгоритмизация и программирование практикум icon Практикум Министерство образования и науки Российской Федерации Владивостокский...
Практикум по дисциплине «Маркетинг» предназначен для проведения практических занятий и организации самостоятельной работы студенты...
Алгоритмизация и программирование практикум icon Практикум ю. А. Медведев Министерство образования и науки Российской...
Информационные технологии в математике: Практикум / Владим гос пед ун-т. Владимир, 2005. 96 с
Алгоритмизация и программирование практикум icon Учебно-методическое пособие «язык программирования pascal» для студентов...
Методические указания соответствуют рабочей программе по специальности 09. 02. 03 Программирование в компьютерных системах. 2
Алгоритмизация и программирование практикум icon Римское право практикум
Игнатенко А. В., Чорновол Е. П. Римское право: Учебное пособие. Практикум. Екатеринбург: Изд-во Уральской академии государственной...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск