Основы алгоритмизации и программирования


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И
НАУКИ РФ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БюДжЕТНОЕ
ОБРАЗОВАТЕЛЬНОЕ УчРЕжДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«САМАРСКИЙ ГОСУДАРСТВЕННЫЙ
АРХИТЕКТУРНО-СТРОИТЕЛЬНЫЙ УНИВЕРСИТЕТ»
Кафедра прикладной математики
и вычислительной техники
ОСН
РИТМИЗАЦИИ
ГРАММИР
ВАНИЯ
Методические указания
Публикуются по решению редакционно-издательского
совета СГАСУ от 06.02.2015 г.
Самара
УДК
Основы алгоритмизации и программирования [Электрон
ный ре
сурс]:
методические указания / Сост.:
Н.С. Агафонова, Л.В. Сусленкова,
В.В. Козлов.
– Текстовое (символьное) электронное издание (1.20 Mb). –
Самара: СГАСУ, 2015. – Системн. требования: Celeron 1800 Mhz; 128
Mb; Windows 2000/XP; 1 Гб свободного места на жестком диске.
Методические указания разработаны в соответствии с Государственным
образовательным стандартом дисциплины «Информатика».
Методические указания предназначены для выполнения лабораторных
и контрольных работ по разделу «Алгоритмизация и программирование»
курсе «Информатика». Каждая лабораторная работа посвящена одному
типовых алгоритмов или отдельной теме и содержит одно или два задания.
В каждом разделе содержатся:
основные теоретические сведения в объеме, необходимом для вы
полнения заданий, включенных в данную лабораторную работу;
примеры решения задач, аналогичных заданиям, предлагаемым сту
дентам;
примеры оформления заданий;
подробную постановку задачи и набор 30 вариантов индивидуальных
заданий по каждой задаче.
Методические указания предназначены для студентов 1-2 курсов всех
технических специальностей, обучающихся по программе бакалавров. Кро
ме того, данное издание может быть полезно для студентов других курсов,
столкнувшихся с необходимостью выполнения расчетов различной сложно
сти при работе над курсовыми и дипломными проектами.
Рецензент – к. т. н., доцент В.П. Дерябкин.
УДК
© Н.С. Агафонова, Л.В. Сусленкова,
В.В. Козлов,
,
© СГАСУ, 2015
ДЕРжАНИЕ
Введение
Основные теоретические сведения
абораторная работа №
ема: «
инейные алгоритмы и
Основные теоретические сведения
Примеры выполнения заданий
лабораторной работы №
Индивидуальные задания
лабораторной работе №
абораторная работа №
ема: «
азветвленные алгоритмы и
Основные теоретические сведения
Примеры разработки алгоритмов
программ ветвления
Индивидуальные задания
лабораторной работе №
абораторная работа №
ема: «
ростые циклические алгоритмы и
счетчиком)»
Основные теоретические сведения
Примеры выполнения лабораторной работы №
Варианты индивидуальных заданий
лабораторной работе №
Раздел «Алгоритмизация и
программирование» в
курсе
«Информатика» предназначен для расширения кругозора сту
дентов в
вопросе подхода к
техническим расчетам в
процес
се обучения и
дальнейшей работы по
специальности. Кроме
того, тренировки в
составлении алгоритмов и
формализации
задач способствуют развитию логического мышления, а
цесс отладки и
тестирования программ учит студентов кри
тично относиться к
результатам своей работы и
обязательно
добиваться поставленной цели.
Целью курса лабораторных работ по
данному разделу
является знакомство с
основными принципами алгоритми
ческого программирования для повышения эффективности
использования компьютера и
приобретения практических
навыков разработки алгоритмов и
программных модулей для
основных типовых алгоритмов.
Приложение Excel входит в
состав всех выпусков пакета
Microsoft Of�ce. Специалисты считают его лидером среди про
граммных средств, предназначенных для выполнения инженер
ных (и
только) расчетов самого широкого плана. Возможно
сти MS Excel чрезвычайно широки, однако умение писать даже
небольшие и
слишком сложные программы на
встроенном
языке программирования позволяет дополнительно раздвинуть
его возможности, особенно в
плане решения задач, относящих
конкретной профессиональной области.
абораторная работа №
ема «
екоторые типовые алгоритмы
обработки данных»
Основные теоретические сведения
Пример выполнения лабораторной работы №
Индивидуальные задания
лабораторной работе №
абораторная работа №
ема: «Обработка строковых выражений»
Основные теоретические сведения
Пример решения задачи обработки текстовых
Индивидуальные задания
лабораторной работе №
абораторная работа №
ема: «
абота со
списками»
Основные теоретические сведения
Пример решения задачи обработки списков
Индивидуальные задания
лабораторной работе №
Заключение
Библиографический список
В данном курсе в
качестве языка программирования
используется Visual Basic for Applications (VBA), пред
ставляющий собой подмножество визуального языка про
граммирования Visual Basic (VB). Система VBA встрое
на в
линейку продуктов Microsoft Of�ce и
предназначена
для непосредственной работы с
объектами Of�ce. Таким
образом, в
VBA языком программирования является VB,
инструментальная среда программирования реализова
на в
виде редактора VB, который может активизироваться
любого приложения MS Of�ce. VBA
– это современный
язык программирования, позволяющий использовать все
возможности операционной системы WINDOWS и
пакета
прикладных программ Microsoft Of�ce для решения широ
кого круга прикладных задач.
ОСН
РИТМ
– это описанная на
некотором языке, точная
конечная система правил, определяющая содержание и
док действий над некоторыми объектами, строгое выполне
ние которых дает решение поставленной задачи.
Одним из
способов описания алгоритма является его
представление в
виде блок-схемы. Описания структуры алго
ритма с
помощью геометрических фигур с
– связи,
показывающие порядок выполнения отдельных инструкций.
В качестве базовых алгоритмических конструкций обыч
но рассматриваются линейные, разветвленные и
циклические
алгоритмы.
Таблица 1
Обозначение некоторых блоков алгоритма
Блок начала и
конца алгоритма
Блок ввода / вывода данных
Блок выполнения операции
Блок выбора направления выполнения
алгоритма в
зависимости от
некоторых
Действие1 ...
Действие N ...
Блок цикла с
параметром (со
счетчиком),
где:, Действие 1 … Действие N
– тело ци
кла, Ип
– имя переменной, содержащей
параметр, нз
– начальное значение пара
метра, кз
– конечное значение параметра,
– величина изменения параметра по
сле каждого выполнения тела цикла
РЕДА ПР
ГРАММИР
ВАНИЯ
– редактор языка про
граммирования VBA.
Активизация редактора VBA из
Ms Excel выполняется
одним из
способов:
Макросы
Макросы
Ввести имя макроса (на
пример, Задача1_1)
Создать;
Сервис
Макрос
Макросы
Ввести имя макро
са
Создать;
Alt + F8
Ввести имя макроса
Создать (для любой
версии MS Of�ce)
Создание кода программы:
После активизации VBA откроется окно, в котором между
строками Sub имя макроса() и End Sub вводится код программы.
Запуск программы на выполнение из редактора VBA на
этапе отладки осуществляется одним из способов:
Кнопка
на панели инструментов Standart.
Для запуска
готовой программы
рекомендуется использо
вать элемент управления «кнопку», установленную на
Аварийное завершение выполнения программы:
Сохранение программного кода на внешнем носителе:
Программный код сохраняется в составе книги Microsoft Excel.
Перейти в среду Microsoft Excel
Сохранить как
брать папку
Указать имя файла (например, НиколаевПрог).
Все макросы рекомендуется разрабатывать и сохранять в
одной книге Microsoft Excel и всегда иметь резервную копию
этого файла.
ФУ
приве
дены ниже в объеме, необходимом для выполнения заданий,
включенных в лабораторные работы.
Таблица 2
исловые типы данных
Объем
занимаемой
диапазон изменения
2 байта
Целое число принимает значения
от
4 байта
плавающей запятой одинарной
точности от
модулю
4 байта
Целое число двойной точности
от
плавающей запятой двойной
точности от
модулю
Целое число принимает значения от
Таблица 3
атематические операции
Возведение A в
Перемена знака A
Умножение A на
Деление A на
Целочисленное деление A на
B (целая часть от
деления целых чисел)
A Mod B
Деление по
модулю A на
B (остаток от
деления целых чисел)
Сложение A с
Вычитание B из
Таблица 4
атематические функции
Синус числа A
Косинус числа A
Tan (A)
Тангенс числа A
Арктангенс числа A
Показательная функция числа A (e
Натуральный логарифм числа A
Квадратный корень из
числа A
Абсолютное значение числа A (модуль числа A)
Случайное число >0 и
Наибольшее целое число, не
превышающее число A
Целое число, ближайшее к
число A, округлённое до
n знаков после запятой
Таблица 5
екоторые текстовые функции
сцепление строк или
конкатенация
определение длины строки S
Mid (S, P, [K])
выделение подстроки с
позиции P длиной K
выделение подстроки слева длиной K
выделение подстроки справа длиной K
Val (S)
преобразование строки S в
преобразование числа А
строку символов
InStr (S, T)
поиск подстроки T в
строке S
РЯД
РАТ
РАБ
Для каждой задачи своего индивидуального задания по
бораторной работе студент должен:
изучить теоретический материал по
рассматриваемой
разработать блок-схему решения задачи и
согласовать ее
преподавателем;
составить по
разработанной блок-схеме программный
код (программу) на
языке программирования;
набрать программу в
среде программирования;
проверить работоспособность программного кода на
личных тестовых примерах, внося при необходимости
исправления в
программный код;
провести контрольный просчет в
табличном процессоре
сохранить программу на
внешнем носителе;
продемонстрировать преподавателю работу с
мой, загрузив ее с
внешнего носителя;
составить отчет по
задаче, который должен содержать
условие задачи, блок-схему, программный код и
резуль
таты выполнения программы.
РАТ
РНАЯ РАБ
ТА №1
РИТМЫ
ГРАММЫ»
Целью выполнения лабораторной работы является выра
ботка и
студентов навыков:
работы в
системе программирования VBA в
среде таблич
ного процессора Microsoft Excel;
составления блок-схем линейных алгоритмов;
написания и
отладки линейных программ на
языке VBA;
использование системных функций ввода и
вывода инфор
мации.
Состав лабораторной работы: задача 1 и
задача 2.
1.1. Основные теоретические сведения
Линейной называют алгоритмическую конструкцию, реа
лизованную в
виде последовательности действий, в
которой
каждое действие алгоритма выполняется ровно один раз,
причем после
I-того шага выполняется
I+1 шаг, если этот шаг
последний.
Объявление переменных
Объявлять (декларировать) следует
переменные, участ
вующие в
задаче.
Для объявления переменных используется оператор
Формат оператора:
As
Тип переменной
As
Тип
Здесь
Dim
ключевое слово, которое сообщает программе
имя переменной и
резервирует область памяти для хранения ее
значения, ИмяПеременной
идентификатор, определяющий
допустимое имя;
– ключевое слово для определения типа.
Примеры объявления переменных:
As Integer ‘переменная типа целое число
Avr
As Single ‘переменная типа число с
запятой.
Присвоение переменной значения
Для присвоения переменной некоторого значения или из
менения значения переменной используется оператор присва
ивания.
Например:
Справа от
знака равенства может быть записано любое вы
ражение, например:
Системные функции ввода-вывода
Системные функции ввода-вывода используются для вво
да исходных данных и
вывода результатов работы программы
через системное окно.
Пример использования функции для ввода числового зна
Val (InputBox (“
ведите значение переменной
А для вывода числового значения Y:
MsgBox “ Y
”+str (Y)
1.2. Примеры выполнения заданий
лабораторной работы №
АДАчА 1
. Составить алгоритм и
программу нахождения
площади треугольника по
его основанию и
высоте.
Постановка задачи:
Исходными данными в
этой задаче являются длина основа
ния треугольника и
его высота, их надо будет задавать в
цессе работы программы.
Результатом решения задачи является площадь треуголь
ника, значение которой будем выводить на
экран монитора.
Примечание:
в
задаче речь идет о
конкретном объекте (треу
гольнике), поэтому следует в
операторах ввода и
вывода форми
ровать текстовую строку в
форме, понятной для пользователя.
Формализация задачи:
Прежде чем приступить к
составлению блок-схемы и
граммированию, надо определить переменные, которые будут
использоваться в
Обозначим исходные данные:
– длина основания треугольника;
h –высота треугольника.
Размеры элементов треугольника могут принимать и
лые, и
дробные значения, следовательно, их тип может быть
объявлен как Single.
Выходные данные:
– площадь треугольника.
Тогда формула для вычисления площади треугольника че
рез обозначенные переменные будет записана так:

Из формул видно, что переменная и
S может принимать
целые, и
дробные значения, т.
е. в
программном коде ее тип
надо объявить как Single.
Алгоритм решения задачи
1. Блок-схема решения задачи 1
Программный код задачи:
Sub Задача_1 ()
Dim A As Single, H As Single, S As Single
A
Val (InputBox («Введите длину основания
треугольника»))
Val (InputBox («Введите высоту треугольника»))
1 / 2 * A * H
MsgBox “Площадь треугольника
Этапы работы программы задачи
2. Ввод исходных данных и
вывод результатов задачи 1
Контрольный просчет задачи 2
табличном процессоре Ms Excel
3. Сравнение контрольного просчета и
результата
выполнения программы
АДАчА 2
Составить линейные алгоритм и
для вычисления функции:
21
r
где
), a
8, n
Вывести все вычисленные переменные.
Постановка и
формализация задачи:
Исходными данными в
этой задаче являются значения пе
ременных a и
n, и
их надо будет задавать в
процессе работы
Выходным данным в
задаче является значение переменной S.
Переменные r1, r2
– это промежуточные переменные,
значения которых используются при вычислении перемен
ной S.
Формулы для вычисления переменных r1, r2 и
s даны
условии задачи.
Переменные a и
n в
условии задачи принимают целые зна
чения, поэтому в
программе их тип объявим как
Переменные r1, r2 и
s как
, так как из
формул видно,
что они могут принимать дробные значения.
Алгоритм решения задачи представляется в
виде блок-схемы.
4. Блок-схема решения задачи 2
Программный код задачи 2:
Sub Задача_2 ()
Dim S As Single, r1 As Single
Dim r2 As Single, a As Integer, n As Integer
Val (InputBox («Введите значение переменной
Val (InputBox («Введите значение переменной
a / Tan (3.14 / n)
Результаты в
соответствии с
текстом программы будут
выводиться в
3 окна, появляющиеся на
экране по
одному
порядке, описанном в
программе, но
это не
очень удобно.
Можно вывести все три значения в
одном окне (одной про
граммной строкой), если сформировать строку следующим
образом:
MsgBox “r1
” + Str (r1) +” r2
” + Str (r2) + “ S
” + Str (S).
5. Вывод результатов в
одно окно
Контрольный просчет задачи 2
табличном процессоре Ms Excel
Для проверки правильности работы программы решим эту
задачу, используя табличный процессор Ms Excel.
Рисунок 1
– Таблица контрольного просчета в
режиме формул
6. Контрольный просчет
Для запуска готовой программы с
листа Ms Excel без входа
редактор VBA следует установить кнопку на
том листе, где
расположен контрольный просчет для данной задачи.
Установка кнопки:
Для MS Excel 2010:
Закладка «Разработчик»
Вста
кнопка.
Для MS Excel 2003:
Вид
Панели инструментов
Эле
менты управления
кнопка.
После установки кнопка находится в режиме конструктора.
Двойной щелчок мыши по установленной кнопке вызывает
редактор VBA с заготовкой процедуры обработки события (на
жатия кнопки). Достаточно вписать одну строку – имя вызы
ваемой подпрограммы в (данном случае – Задача_2) и отклю
чить режим конструктора. Кнопка готова и может работать.
Пример простейшей процедуры обработки нажатия кнопки:
Задача_2
Рис. 7. Установка кнопки (MS Of�ce 2010)
1.3. ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ
К ЛАБОРАТОРНОЙ РАБОТЕ № 1
АДАчА 1.
Общая постановка задачи:
Составить блок-схему и
программу для решения предло
женной задачи. Исходные данные для расчета считать произ
вольными. Для проверки правильности работы программы
выполнить просчет для двух-трех произвольных значений.
Примечание:
обратите особое внимание на
диалог с
пользо
вателем
– оформление операторов ввода и
вывода информации.
Варианты индивидуальных заданий к
задаче 1:
Составить программу перевода дюйма в
сантиметры,
если известно, что в
Составить программу определения количества бит в
данном количестве Кб, если известно, что 1 байт
бит,
1024 байт.
Составить программу, в
которой определяется сумма де
нег, необходимая для оплаты за
телефонные переговоры,
если известны количество израсходованных минут и
сто
имость одной минуты. Кроме того, к
этой сумме надо
прибавить тарифную плату за
пользование телефоном.
Составить программу перевода заданного количества
пудов в
килограммы, если 1 пуд
кг.
Составить программу расчета длины забора для зе
мельного участка, имеющего вид правильного шести
угольника, если заданы координаты двух соседних его
вершин.
Составить программу перевода килограммов в
пуды.
Определить сколько пудов в
заданном количестве ки
лограммов, если 1 пуд
кг.
Составить программу, в
которой определяется возраст
человека в
днях, если известен его возраст в
годах. Бу
дем считать, что 1 год
Составить программу для определения количества ки
лобайт (Кб), занимаемых вашими фамилией, именем
отчеством, если 1 символ
– 1байт, 1 Кб
1024 байт.
Составить программу определения количества байт в
данном количестве килобайт (Кб), если 1 Кб
1024 байт.
Составить программу определения количества санти
метров в
заданном количестве километров.
11.
Составить программу определения роста человека
футах в
русской системе мер, если 1 ф
Рост человека в
метрах ввести с
клавиатуры.
Составить программу определения возраста человека
годах и
днях, если известен его возраст в
днях. Будем
считать, что 1 год равен 365 дням. Возраст человека
днях ввести с
клавиатуры.
Составить программу, в
которой определяется необхо
димое количество ящиков для упаковки книг, если из
вестно количество книг и
количество книг, умещаемых
одном ящике. Будем считать, что количество книг
кратно количеству ящиков.
Составить программу, в
которой определяется сум
ма денег, необходимая для оплаты за
проезд в
такси,
если известны стоимость посадки, расстояние в
метрах, которые проехал человек, а
также стоимость
проезда 1
Составить программу определения количества кило
заданном количестве бит, если 1 Кб
1024 байт,
8 бит.
Составить программу определения веса человека
фунтах, если 1 фунт
кг. Вес человека в
лограммах ввести с
клавиатуры.
Составить программу распределения премиального
фонда в
бригаде из
трех человек в
соответствии с
кой его работы.
Составить программу расчета количества рабочих дней
заданном количестве недель, если считать, что в
од
ной рабочей неделе 5 рабочих дней.
Составить программу перевода заданного количества
сантиметров в
дюймы, если известно, что в
1 дюйме
Составить программу вычисления гипотенузы и
щади прямоугольного треугольника по
двум катетам.
Значения длин катетов ввести с
клавиатуры.
Составить программу вычисления площади и
боковой стороны равнобедренной трапеции, если из
вестны длины верхнего и
нижнего оснований и
высота
трапеции. Значения длин верхнего и
нижнего основа
высоты трапеции ввести с
клавиатуры.
Составить программу вычисления объема пирами
ды по
формуле





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






. Значения длин
сторон треугольника ввести с
клавиатуры.
Составить программу вычисления расстояния
между двумя точками на
плоскости по
формуле:



, где
x1, y1
координаты
первой точки
x2, y2
координаты второй точки. Значе
ния координат точек ввести с
клавиатуры.
Составить программу вычисления площади правиль
ного восьмиугольника по
формуле


Значение переменной
ввести с
клавиатуры.
Составить программу вычисления стороны треуголь
ника
, если известны стороны
и
и
угол между
Длина стороны
а
вычисляется по
формуле




Значения переменных
b, c,
ввести с
клавиатуры.
Составить программу вычисления объема шара по
муле


для заданного радиуса. Значение
радиуса шара ввести с
клавиатуры.
Составить программу вычисления площади треуголь
ника по
формуле Герона, если известны длины его сто




где
– полупери
метр. Значения переменных
a, b, c
ввести с
клавиатуры.
Составить программу вычисления площади поверх
ности бочки, если известны ее высота и
диаметр
основания.
АДАчА 2.
Общая постановка задачи:
Составить блок-схему и
линейную программу для вычи
сления функции Z и
вывода всех вычисленных переменных.
Протестировать (выполнить) программу с
предложенны
ми значениями исходных данных. Выполнить контрольный
просчет средствами MS Excel, сравнить результаты. Устано
вить кнопку для запуска готовой программы с
листа Ms Excel.
Таблица 6
арианты индивидуальных заданий к
задаче 2
варианта
варианта




















где






2














, где
2







где




4



19








A


5













\r\r
20






t

варианта
варианта








\r\n
atgx
y
Z
v
+
+
==
=
=


где


















s
22





2


















t
9
















M


10
















t
варианта
варианта






xy
Z
y
x,

ye
,
,
v
+
+
==
=




где






x
12











2





s




2


























r


14









dp
Z
v
+
+
==
=
=





где












Продолжение таблицы 6
Продолжение таблицы 6
варианта
варианта











t










РАТ
РНАЯ РАБ
ТА № 2
АЗВЕТВЛЕННЫЕ АЛГ
РИТМЫ
ГРАММЫ»
Целью выполнения лабораторных работ по
теме является
выработка и
студентов навыков:
разработки блок-схем разветвленных алгоритмов расчет
логических задач;
создания и
отладки программ разветвленных алгоритмов
языке VBA в
среде табличного процессора Microsoft
Содержание работы: задача_3 и
задача_4
2.1. Основные теоретические сведения
Ветвление
– выбор пути решения задачи в
соответствии с
полнением или невыполнением некоторого условия выбора.
Для записи условий используются логические выражения,
которые также называют условными выражениями, и
они мо
гут быть простыми и
сложными.
Простое условие
– это два выражения, между которыми
помещается знак сравнения.
Примеры записи простых условий: A>0, C<
D, B<>0 и
т.
Сложное условие
– это последовательность простых ус
ловий, заключенных в
круглые скобки, которые соединены
Окончание таблицы 6
между собой знаками логических операций: And (и), Or
Примеры записи сложных условий: (A>B) AND (B>C),
т.
И простое, и
сложное логическое выражение может при
нимать только два значения: True (истина) или False (ложь).
Для определения значения сложного логического выражения
используется Таблица 7.
Таблица 7
аблица истинности логических операций
начение операндов
езультат операции
А AND В
NOT A
True
True
True
True
True
True
True
True
True
True
Различают неполную развилку (одинарный условный пе
реход) «если
– то» и
полную развилку (двойной условный пе
реход) « если
– то
– иначе».
8. Блок-схема неполной развилки
Для записи неполной развилки в
программном коде
используется условный оператор If, который может быть
записан в
одной из
двух форм (многострочной и
одно
строчной):
<Серия операторов>
<Серия операторов>
В программе
же она может быть записана с
помощью
условного оператора If в
несколько строк или в
одну.
9. Блок-схема полной развилки
Многострочная форма
синтаксиса условного оператора:
Условие
<серия 1операторов>
<серия 2 операторов >
Однострочная форма
синтаксиса условного оператора:
Условие
серия1операторов
серия2 операторов
Когда необходимо выбрать одно из
нескольких
продолже
ний программы, используют оператор выбора SELECT CASE,
алгоритм которого показана на
рисунке 10
10. Блок-схема оператора выбора
Использование оператора SELECT CASE весьма эффек
тивно, если вариантов много и
используются различные спо
собы описания условий (параметр <Список1> в
описании
синтаксиса оператора).
Оператор выбора SELECT CASE имеет формат:
Select Case <Значение условия>
<Оператор1>
< Оператор 2>
< Оператор N>
< Оператор 0>
2.2. Примеры разработки алгоритмов
программ ветвления
АДАчА 3.
Составить блок-схему и
программу расчета функции Y для
произвольного значения
X с
использованием алгоритма пол
ной развилки. Вычислить значение функции в
заданных точ
ках и
выполнить контрольный просчет средствами MS Excel.







\r\f

\n










Постановка и
формализация задачи
Исходные данные:
Значение
X, которое надо будет задавать в
процессе рабо
ты программы. X может принимать и
целые, и
дробные зна
Выходным данные:
Значение Y, вычисленное по
одной из
трех формул в
симости от
значения
X, принадлежащего одному из
трех ин
тервалов.
Обе переменные могут принимать любые числовые значе
ния, значит, в
программном коде тип переменных
X и
Y мо
жет быть объявлен как Single.
Алгоритм решения задачи:
Поскольку стандартный алгоритм и
оператор развилки
ориентированы на
обработку двух вариантов решения, а
даче их три, следует использовать комбинацию двух стандарт
ных блоков развилки (вложенная конструкция).
При записи текста программы рекомендуется использовать
ступенчатую запись
– вложенная структура смещена впра
во по
отношению к
началу строк основной программы. Это
влияет на
работу программы, но
значительно облегчает
зрительное восприятие текста программы.
11. Блок-схема алгоритма решения задачи
Программный код задачи 3:
Sub Задача_3 ()
Dim X As Single, Y As Single
Val (InputBox («Введите значение
If X < –2 Then
Y
Abs (1 / Tan (X))
If X > –0.75 Then
Y
Y
Результаты работы программы задачи 3 для различных
исходных данных:
12. Результаты работы программы задачи 3
Контрольный просчет
выполняем средствами MS Excel.
Основные требования: набор числовых значений должен
включать все возможные варианты исходных данных. Для
данной задачи это означает, что должны быть использованы
хотя
бы по
одному значению для каждого из
трех интерва
лов, определенных в
условии задачи. Разумеется, можно вы
полнить контрольный просчет с
использованием логической
функции «Если», но
для контрольного просчета обычно вы
бирается ограниченное количество значений и
целях повы
шения надежности результатов рекомендуется выполнять са
мым простым способом, т.
е. подобрать для каждого значения
аргумента соответствующую ему формулу по
условию зада
чи, например, так:
13. Вид расчетной таблицы решения задачи 3
режиме формул
АДАчА 4.
Составить блок-схему и
программу ввода числа и
вывода
сообщения «Положительное число», если оно больше 0, «От
рицательное число», если меньше 0 и
«число равно нулю»
противном случае.
Постановка и
формализация задачи:
Исходные данные:
– произвольное число, которое надо будет задавать в
цессе работы программы. Выходным данным является одно
текстовых сообщений, указанных в
условии задачи. Ниже
рассмотрены три варианта решения задач такого типа с
пользованием разных алгоритмических конструкций: полной
развилки, неполной развилки и
оператора «SELECT CASE».
Вариант решения задачи с
использованием схемы пол
Алгоритм решения задачи:
14. Блок-схема решения задачи
Программный код задачи 4:
Sub Задача_4 ()
Dim X As Single
Val (InputBox («Введите число»))
If X > 0 Then
MsgBox «Положительное число»
If X < 0 Then
MsgBox “Отрицательное число”
MsgBox «число равно нулю»
15. Пример выполнения программы
Вариант решения задачи с
использованием схемы не
полной развилки
16. Блок-схема решения задачи
Текст программы:
Sub Задача4_2 ()
Dim X As Single
Val (InputBox («Введите значение переменной
If X < 0 Then MsgBox «число отрицательное»
If X > 0 Then MsgBox «число положительное»
0 Then MsgBox «число равно нулю»
Пример решения задачи с
использованием оператора
адача:
номеру дня недели (переменная N), введен
ного с
клавиатуры, определить половину недели (дни с
1-го
– первая половина недели, 4,5-й
– вторая половина,
– выходной день
– суббота, 7-й
– выходной день
– воскре
сенье).
Постановка и
формализация задачи:
Исходные данные:
– номер дня недели, переменная целого типа может быть
объявлена как Integer.
Результатом работы программы является одно из
тексто
вых сообщений, сформулированных в
условии задачи.
лгоритм решения задачи:
В данной задаче есть смысл использовать оператор
«Select Case», т.
к. вариантов пять (считая возможность
ввода недопустимого значения) и
используются условия
разного типа.
17. Блок-схема решения задачи
Программный код задачи:
Sub Задача_4_3 ()
Dim N As Integer
Val (InputBox («Введите номер дня недели»))
Case 1 To 3: MsgBox “Первая половина недели”
MsgBox «Вторая половина недели»
Case 6: MsgBox «Выходной день
– суббота»
Case 7: MsgBox «Выходной день
– воскресенье»
MsgBox «Недопустимое значение»
Результаты работы программы для некоторых
исходных данных
18. Работа программы
Для задач такого типа контрольный просчет в
MS Excel
нужен, для проверки правильности работы программы
следует просто выполнить ее с
использованием всех возмож
ных вариантов исходных данных.
2.3. Индивидуальные задания к
лабораторной
работе №
АДАчА 3.
Общая постановка задачи:
Составить блок-схему и
программу расчета функции Y
для произвольного значения
X с
использованием алгоритма
полной развилки. Вычислить значение функции в
точках (тестирование программы) и
выполнить контрольный
просчет средствами MS Excel. Установить кнопку для запуска
готовой программы с
листа Ms Excel.
Варианты индивидуальных заданий:



Y












\f \n


















\r
































\n












\r
\f \n




Вариант 11





\r\f 



















\r\f



\n













\r\f
\t
\b

\r










\t\b



































\r

\f 


\r
















\r\f
\n\t\t\n\b\n\b





















\f
















\r












\r




































\f 














\r\f



\t\b




АДАчА 4.
Общая постановка задачи:
Разработать блок-схему и
программу для решения зада
чи, использовать любой алгоритм развилки на
усмотрение
студента. Для проверки правильности работы логики про
тестировать (выполнить) программу с
исходными данными,
соответствующими всем возможным вариантам. Установить
кнопку для запуска готовой программы с
листа Ms Excel.
Варианты индивидуальных заданий к
задаче 4:
Составить проект программы, в
котором определяется,
каком квадранте находится точка, если заданы ее ко
ординаты.
Составить проект программы, в
котором определяет
ся, хватит
ли кирпичей на
строительство дома (учесть
вариант, когда количество кирпичей равно количеству,
необходимому для строительства дома).
Составить проект программы, в
котором проверяется
правильность оплаты за
проезд в
такси (учесть вариант,
когда пассажир оплачивает ровно ту
сумму, которая не
обходима).
Составить проект программы, в
котором проверяется,
ли группа студентов за
занятие набрать и
отла
дить свои программы.
Составить проект программы, в
котором определяет
ся, можно
ли данный квадрат поместить в
данный круг
печатающую длину стороны квадрата, диаметр круга
разность между ними.
Составить проект программы, в
котором определяет
ся, можно
ли данный круг поместить в
данный квадрат
печатающую разность между радиусом и
половиной
стороны квадрата.
Составить проект программы, в
котором определяется,
достаточно
ли у
вас денег на
обед в
столовой (учесть
три блюда).
Составить проект программы, в
котором определяется,
разместится
ли поток студентов в
аудитории (учесть,
когда количество стульев равно количеству студентов).
Составить проект программы, в
котором определяется,
кто старше из
двух собеседников или они ровесники.
Составить проект программы, в
котором определяется,
болен
ли человек, по
температуре тела (если темпера
тура больше 37, то
болен
– высокая температура, если
температура меньше 36, то
болен
– низкая температура,
иначе
– здоров).
11.
Составить проект программы, в
котором определяет
ся, выгодно
ли покупать сезонку на
проезд в
трамвае
(учесть вариант, когда стоимость сезонки равна сумме
стоимостей всех билетов).
Составить проект программы, в
котором определяется,
чья фамилия двух собеседников длиннее по
количеству
букв в
фамилиях или количество букв в
фамилиях оди
наково.
Составить проект программы, в
котором определя
ется размер подоходного налога с
зарплаты за
год:
иначе
Составить проект программы, в
котором определяется,
каком сезоне родился человек по
месяцу рождения.
Составить проект программы, в
котором определяется,
какой сейчас семестр или сейчас каникулы.
Составить проект программы, в
котором проверяется,
находится
ли данная точка внутри заданного круга или
вне его.
Составить проект программы, в
котором определяется,
можно
ли поставить семью в
очередь на
квартиру (нор
ма 13 кв. м на
человека), учесть вариант, когда на
се
мью приходится ровно столько площади, сколько надо.
Составить проект программы, в
котором по
номеру дня
недели определяется название дня недели (понедель
Составить проект программы, в
котором по
номеру ме
сяца определяется название месяца.
Составить проект программы, в
котором определяется,
престижном
ли микрорайоне вы живете (1
– очень
престижный, 2
очень, 3
престижный).
Составить проект программы, в
котором по
туре воздуха определяется, тепло на
улице, холодно
или жарко (более 25
°Cоставить проект программы,
котором определяется, как учится ученик (оценка
– удовлетворительно, 4
– хорошо, 5
– отлично, а
– плохо).
Составить проект программы, в
котором определяется,
какой категории можно отнести человека, если извес
тен его возраст (менее 25
– молодой человек, более или
равно 25 и
менее или равно 45
– человек среднего воз
раста, а
иначе
– пожилой человек).
Составить проект программы, в
котором проверяется
правильность соотношения роста и
веса человека (рост
сантиметрах минус вес в
килограммах менее 100
человек полный, более 100
– человек худой, а
иначе
нормальной полноты).
Составить проект программы, в
котором один человек
задумывает число, а
второй отгадывает, если введенное
число менее задуманного, то
выдается сообщение: за
думанное число больше, а
если введенное число боль
ше задуманного, то
выдается сообщение: задуманное
иначе
– вы угадали.
Составить проект программы, в
котором по
номеру
компьютера печатается фамилия его владельца (всего 3
компьютера, 1
– Иванов, 2
– Петров, 3
Составить проект программы, в
котором по
номеру кур
са выводится словами, на
каком курсе вы учитесь: если
– вывести сообщение о
том, что вы учитесь на
первом
курсе, если 2
– то
на втором и
т.
Составить проект программы, в
котором определяется,
каком сезоне родился человек по
месяцу рождения.
Составить проект программы, в
котором по
номеру
квартиры в
пятиэтажном одноподъездном доме опре
деляется, на
каком этаже вы живете. Будем считать, что
одном этаже 2 квартиры.
Составить проект программы, в
котором по
введенно
му времени суток определяется, какое это время суток:
– “День”, с
– “Ночь”, а
иначе вывести
– ”Другое время суток”.
РАТ
РНАЯ РАБ
ТА № 3
РИТМЫ И
ГРАММЫ
СчЕТчИК
Целью выполнения данной работы является выработка
студентов навыков:
разработки циклических алгоритмов расчетных и
ческих задач на
языке VBA в
среде табличного процессо
составления блок-схем и
программ циклических алго
создания и
отладки программ циклических алгоритмов;
использования листов книги MS Excel для ввода и
выво
да информации.
Состав лабораторной работы: задача 5.
3.1. Основные теоретические сведения
Цикл со
счетчиком (повторение)
Повторение
– это многократное выполнение одного или
нескольких предписаний алгоритма. Цикл
– это оператор
языка программирования, с
помощью которого описывается
алгоритм повторения в
тексте программы. В
языке VBA ци
– многострочные операторы двух видов:
параметром (счетчиком);
19. Блок-схема цикла с
параметром
Для записи цикла с
параметром используется многостроч
ный оператор языка программирования, синтаксис которого
приведен ниже:
For
Знач1
To
Знач2 [
Знач3]
Действие 1

Действие N
Здесь
– это имя переменной, которую называют
счетчиком;
Знач1
– начальное значение счетчика;
Знач2
– конечное значение счетчика;
Знач3
– величина, на
которую изменяется значение счетчи
ка при одном повторении (
шаг цикла).
Все эти переменные могут иметь как целый, так и
вещест
венный тип в
зависимости от
постановки задачи.
Если шаг цикла не
указан, он по
умолчанию считается
Использование листов MS Excel для ввода
вывода информации
При программировании в
среде MS Of�ce часто прихо
дится работать с
данными, размещенными в
книге MS Excel.
В VBA выражение
Cells (номер_строки, номер_столбца)
позволяет работать с содержимым ячейки, находящейся на пе
ресечении указанной строки и столбца, активного в данный
момент листа. Это свойство удобно использовать для ввода и
вывода, данных с использованием листа MS Excel в качестве
источника и приемника информации.
строка: Х
выполняет ввод в
программу (присваивание переменной
Х) значе
ячейки С2 (строка 2, столбец 3) активного листа MS Excel.
Строка: Cells (2,4)
выполняет вывод значения переменной У
ячейку D2 (стро
ка
2, столбец 4).
При работе с
таблицами значение переменных «
номер_стро
ки» и
«номер_столбца»
изменяются при выполнении програм
мы, т.
е. являются не
переменными целого типа
3.2. Примеры выполнения лабораторной работы №
Задача 5.
Разработать алгоритмы и
программы вычисления значе
ний функции Y
–3X-0.5 для разных вариантов исходных
данных. Рассчитать и
вывести на
лист MS Excel таблицу зна
чений аргумента
Х функции У.
Варианты исходных данных (з
начение
1) на отрезке [-2;5] с
шагом H
2) 10 точек на
отрезке [-2;5];
3) шесть произвольных значений аргумента: –2; –1.5; 0.1;
Постановка и
формализация задачи
Обозначим исходные, промежуточные и
выходные данные
задачи:
– начальное значение аргумента;
– конечное значение аргумента;
– шаг, с
которым изменяется аргумент;
– количество всех значений аргумента и
соответствую
щих значений функции;
– текущее значение аргумента;
– значение функции при текущем значении аргумента
– счетчик цикла;
При расчете значений функции в
диапазоне изменения ар
гумента с
постоянным шагом h, количество значений аргумен
та (количество точек) и
шаг связаны формулой:

Соответственно, если задано количество точек, в
которых
требуется вычислить значение функции, шаг изменения аргу
мента можно вычислить по
формуле:


Исходные данные для трех вариантов решения можно
оформить, например, так:
20. Исходные данные задачи 5
В столбце «I» расположены формулы для контрольного
просчета.
Решение задачи 5
– варианты 1 и
21. Алгоритмы решения задачи 5
для 1-го и
2-го варианта
Текст программы для 1-го варианта задачи 5:
Sub Задача5_вариант1()
Dim X As Single, Y As Single
Dim Xn As Single, Xk As Single
Dim j As Integer, h As Single
'Ввод исходных данных
'номер первой строки для вывода результатов
For X Xn To Xk step h
'Начало цикла
Y X ^ 3 - 3 * X - 0.5
'Вывод текущих значений X и Yв
Cells(j , 1) X: Cells(j , 2) Y
'конец цикла
Текст программы для 2-го варианта задачи 5:
Sub Задача5_вариант2()
Dim X As Single, Y As Single, Xn As Single, Xk As Single
Dim j As Integer, N As Integer, h As Single
'Ввод исходных данных
‘Вычисление шага
‘Начальное значение Х
‘Начало цикла
For j 1 To N
Y X ^ 3 - 3 * X - 0.5
'Вывод текущих значений X и Y
Cells(j + 6, 4) X: Cells(j + 6, 5) Y
'конец цикла
Решение задачи 5
– вариант 3
22. Блок-схема алгоритма решения задачи 5 (вариант 3)
Текст программы для 3-го варианта задачи 5:
Sub Задача5_вариант 3 ()
Dim X As Single, Y As Single, Xn As Single, Xk As Single, h
Dim I As Integer, N As Integer
Cells (2, 10) ‘Ввод количества точек
1 To N
+ 2, 7) ‘Ввод текущего значения
Y
Y ‘Вывод Y в
столбец «H»
Результаты решения трех вариантов задачи 5
23. Пример размещения на
листе MS Excel исходных данных
результатов решения трех вариантов задачи 5
3.3. Варианты индивидуальных заданий
к лабораторной работе №
Общая постановка задачи:
Разработать алгоритмы и
программы вычисления значе
ний заданной функции для трех вариантов исходных данных.
Рассчитать и
вывести на
лист MS Excel таблицу значений ар
гумента
Х функции У.
Выполнить контрольный просчет для
варианта 3 (несколько произвольных значений аргумента
Установить кнопку для запуска каждого варианта готовой
листа Ms Excel.
Варианты исходных данных:
На заданном интервале аргумента
Х с
заданным шагом H.
Для заданного количества точек N на
заданном интер
вале аргумента
Несколько произвольных значений аргумента
Варианты индивидуального задания:
ном
вал
роизвольные значения
5,5
4,1
4,4
4,6
3,3
3,4
9,4
7,6
4,2
3,2
5,4
9,2
7,5
5,9
7,1
4,9
0,9
7,4
1,8
5,9
7,9
2,5
2,7
7,9
3,7
7,7
6,1
7,5
4,4
9,7
5,2
3,7
8,1
2,5
8,6
1,9
7,7
3,8
9,9
7,7
1,8
2,8
5,8
5,5
6,3
7,7
0,2
2,7
0,3
1,1
4,1
8,2
6,9
7,5
3,7
0,6
0,1
1,1
7,2
1,7
2,4
1,9
4,2
0,6
1,9
5,3
0,6
2,9
6,8
5,9
4,2
3,9
6,6
8,5
8,6
4,3
0,9
6,7
7,2
5,6
2,8
8,4
9,4
4,6
6,9
2,4
5,8
2,8
7,7
4,2
3,9
4,3
5,1
2,8
3,6
0,5
5,2
5,9
ном
вал
роизвольные значения
2,7
2,2
1,8
8,5
8,6
11/ (X
5,6
3,6
1,7
6,7
5,8
8,5
5,8
3,1
6,1
8,6
0,8
1,3
5,2
1,5
7,9
5,6
9,9
0,4
4,7
7,7
1,1
7,1
9,2
2,6
8,2
0,5
6,1
9,9
0,3
8,8
9,5
0,9
6,3
6,8
4,1
1,4
5,5
4,1
4,4
4,6
3,3
3,4
Окончание таблицы
РАТ
РНАЯ РАБ
ТА № 4
РИТМЫ
БРАБ
Целью выполнения данной работы является выработка
студентов навыков:
разработки и
отладки циклических алгоритмов и
грамм с
условным и
безусловным накоплением на
языке
VBA в
среде табличного процессора Microsoft Excel;
использования листов книги MS Excel для ввода и
выво
да информации.
Состав лабораторной работы: задача 6.
4.1. Основные теоретические сведения
В данной лабораторной работе рассмотрены алгоритмы
условным и
безусловным накоплением суммы, произведе
количества.
Особенности алгоритмов и
накоплением:
Все эти алгоритмы
– циклические
Сумма вычисляется по
формуле:
Сумма
Сумма + очередное слагаемое
Произведение вычисляется по
формуле:
Произведение
Произведение * очередной сомножитель
Количество вычисляется по
формуле:
Количество
Количество + 1
Примечание 1
: все выше обозначенные формулы исполь
зуются в
Примечание 2
: до
начала цикла (до
оператора For) пере
Сумма, Количество, Произведение
должны быть
присвоены начальные значения:
Сумма
Количество
Произведение
4.2. Пример выполнения лабораторной работы №
адача 6.
Запрограммировать функцию и
вычислить сум
му ее значений в
заданных точках, а
также количество значе
ний функции, не
равных 0, и
произведение значений функ
ции, которые больше или равны 0.5 и
меньше или равны 3.33.
()
















Постановка и
формализация задачи:
Обозначим исходные, промежуточные и
выходные данные
задачи:
– текущее значение аргумента;
– значение функции при заданном значении аргумента
– счетчик цикла;
– сумма всех значений функции;
– количество значений функции, не
– произведение значений функции, которые больше или
Формула для вычисления функции указана в
условии за
дачи.
24. Блок-схема алгоритма решения задачи 6
Программный код задачи 6:
Sub Задача_6 ()
Dim X As Single, Y As Single
Dim I As Integer, S As Single, K As Integer, P As Single
0: P
1 To 5
+ 2, 1) ‘Ввод значения
2 Then
Y
If X < 1 Then
Y
Y
Tan (X) ^ 2
Y ‘Вывод значения функции Y
S + Y
If Y <> 0 Then K
If Y >
0.5 And Y <
3.33 Then P
P * Y
P
‘Вывод результатов
Исходные данные, результаты и
контрольный просчет
можно оформить, например, так:

25. Пример размещения данных и
организации контрольного
просчета для задачи 6 (режим формул)
При контрольном просчете формулы для вычисле
ния функции в
столбце «С» выбираются в
соответствии
условием задачи. В
строке 12 (см. рисунок 25) показан
контрольный просчет результатов (суммы, количества
произведения). Из
показанных формул видно, что в
сум
входят все значения Y по
условию задачи (безуслов
ное накопление). По
количеству
накопление выполнялось
условное, но
при заданных числовых значениях
Х все зна
чения функции оказались ненулевыми, поэтому количест
во
5. В
произведение
вошли 3 значения из
5, при контр
ольном просчете их легко выявить визуально по
условию
задачи.
4.3. Индивидуальные задания к
лабораторной
работе №
АДАчА 6.
Общая постановка задачи:
Разработать алгоритм и
программу для решения предложенной
задачи, протестировать программу с
использованием заданного
комплекта исходных данных и
выполнить контрольный просчет
средствами MS Excel. Исходные данные вводить в
программу
листа MS Excel. Промежуточные значения Y вывести в
таблицу
лист MS Excel. Результаты (сумму, произведение и
количество)
выводить любым образом на
усмотрение студента. В
любом слу
чае результаты расчета должны быть оформлены понятно. Уста
новить кнопку для запуска готовой программы с
листа Ms Excel.
Варианты индивидуальных заданий задачи 6
ариант 1.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также количество зна
чений функции больших 3 и
произведение значений функции,






\r\r
\f\r



ариант 2.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также количество
отрицательных значений функции и
произведение значений
функции, не
равных нулю.















ариант 3.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также произведение
значений функции, больших 0.5 и
меньших –3.5, и
количест
во значений функции, больших 3.










ариант 4.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также произведе
ние отрицательных значений функции, количество значений
функции, попавших в
интервал [-1;1].





\r



ариант 5.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также произведение
значений функции >2 и
количество значений функции, попав
интервал [0;1].






\r\f \n\n



ариант 6.
Запрограммировать функцию и
вычислить сум
му ее значений в
заданных точках, а
также количество значе
ний функции, больших 3, и
произведение значений функции,
больших 0 и






\f \n



ариант 7.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также произведение
значений функции <-1 и
>3 и
количество положительных зна
чений функции.





\r

Y

ариант 8.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также количество
значений функции, больших –1 и
меньших 0, и
произведение
отрицательных значений функции.













ариант 9.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также произведение
значений функции больше 1 и
меньше 3 и
количество поло
жительных значений функции.





\f \n


ариант 10.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также количество зна
чений функции, не
равных 0, и
произведение значений функ
ции, которые больше –7 и






\r

Y









ариант 11.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также произведение
значений функции, не
равных 0, и
количество отрицательных
значений функции.








\n\t

Y


ариант 12.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также количество зна
чений функции, больших 0.5, и
произведение значений функ
интервал (1;3].









\r\f


\n





ариант 13.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также количество зна
чений функции, больших 5, и
произведение значений функ
равных нулю.





\r\f \f\n\t


Y

ариант 14.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также произведение
значений функции, больших –1 и
меньших или равных 5,
количество значений функции, меньших 3.





\r
\f 
\r


Y

ариант 15.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также произведение
значений функции, больших 2.2, и
количество значений функ
интервал [0;1].






\r\f
\n\t\t\n\b\n\b


x
ариант 16.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также произведение
значений функции >2 и
<5 и
количество значений функции,
интервал (0;1).








\r\f


ариант 17.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также количество зна
чений функции, больших –3, и
произведение значений функ
ции, больших 1 и









\r
\r
\b

x
ариант 18.
Запрограммировать функцию и
вычислить
сумму ее значений в
заданных точках, а
также произведе
ние значений функции >1 и
3 и
количество значений
функции >3.







\r\f



Y
ариант 19.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также произведение
значений функции <-1 или >3 и
количество положительных
значений функции.


\r
\f




Y

ариант 20.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также количество зна
чений функции, равных 0, и
произведение значений функции,
интервал от









\b


Y

ариант 21.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также произведение
значений функции, не
равных 0, и
количество положительных
значений функции.





\r\f\r


x
Y

ариант 22.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также количество зна
чений функции, меньших 3, и
произведение значений функ








\n

Y
ариант 23.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также количество зна
чений функции, меньших –1, и
произведение положительных
значений функции.






\r

\f

 

Ye
xx


ариант 24.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также количество зна
чений функций, больших –5, и
произведение значений функ
ции, больших 0.





\r\f
 
\n\t

ариант 25.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также произведение
значений функции <
–0.2 и
количество значений функции,
интервал. (–2;0].





\n









ариант 26.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также произведение
значений функции >-5 и
<-4 и
количество значений функции,
интервал (3;5).






\r\f


\n\t\b
\n \t\n\t\t


Y



ариант 27.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также количество
значений функции, меньших –0.5, и
произведение значений
функции, больших –1 и







\r\r\f\r\r \n\t\b



Y
ариант 28.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также произведение
значений функции <0.2 и
>3.3 и
количество положительных
значений функции.




\r\f

\b


Y

ариант 29.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также произведение
значений функции <2 или >12 и
количество отрицательных
значений функции.










\r\f \n



Y
ариант 30.
Запрограммировать функцию и
сумму ее значений в
заданных точках, а
также количество зна
чений функции, не
равных 0 и
произведение значений функ
ции, которые больше 0 и



\t\b






Y








РАТ
РНАЯ РАБ
ТА № 5
ТЕМА: «ОБРАБ
ВЫРАжЕНИЙ»
Цель работы: выработка и
закрепление у
студентов на
выков разработки алгоритмов и
программ обработки стро
ковых выражений в
среде табличного процессора Microsoft
Состав лабораторной работы: задача 7.
5.1. Основные теоретические сведения
Строка
– это упорядоченная последовательность сим
волов тип
Строковая переменная может быть пе
ременной или фиксированной длины. Строка переменной
длины вмещает практически любое количество символов.
Пример объявления строки переменной длины:
Dim S as
При объявлении строковой переменной фиксированной
длины указывается максимально допустимое количество
символов, например, в
переменную, объявленную:
Dim S
as string*6
можно ввести не
более шести символов. При
попытке разместить в
ней строку большей длины, лишние
символы будут обрезаны.
– количество символов в
строке.
Строковое выражение может быть
переменной
или
кон
стантой
. Для обозначения строковой константы использу
ются двойные кавычки (например, “Иванов”).
Выражение “”
– обозначение пустой строки.
Каждый символ в
строке имеет свою
позицию
– порядко
вый номер
при счете слева направо. Например, символ “д”
строке “студент” имеет 4-ю позицию.
Подстрока
– строковое выражение, представляющее со
бой фрагмент другой строки. Например, “ход”
– это подстро
ка строки “пароход”.
Строки можно складывать (иногда говорят «склеивать»),
эта операция называется конкатенацией. Конкатенация обо
значается знаком “+” или “&”.
Примечание. Нельзя путать конкатенацию строк (знак “+”)
сложением чисел. Знак “&” можно использовать в
рациях с
числами, но
при этом числа будут преобразованы
строки.
Например, результат выражения 10+3
– число 13, а
резуль
тат выражения 10 & 3
– строка “103”.
Следующий программный код демонстрирует операцию
над строками:
Значением переменной S будет строка “Самолет”.
Для работы со
строками в
VB существует ряд функций.
Перечень наиболее часто использующихся функций приведен
таблице 5.
5.2. Пример решения задачи обработки
текстовых переменных
АДАчА 7.
Ввести предложение с
точкой в
конце и
вывести каждое
слово на
лист MS Excel прописными буквами с
новой строки.
Постановка и
формализация задачи:
При решении задачи следует исходить из
того, что длина
структура введенной строки заранее неизвестна. Алгоритм
циклический. Для формирования текущего слова использует
ся алгоритм накопления, аналогичный алгоритму накопления
суммы (см. лабораторную работу №
4). Признаком окончания
текущего слова и
вывода его на
лист является символ «про
бел» или точка для последнего слова.
Определим входные и
выходные параметры задачи:
– введенное предложение;
– длина введенной строки;
– параметр цикла и
номер текущего символа;
– текущий символ;
– переменная, в
которой формируется текущее слово;
– номер строки, в
которую выводится слово.
Текст программы с
комментариями:
Sub Задача_7()
Dim S As String, Slovo As String, p As String * 1
Dim i As Integer, L As Integer, Nstr As Integer
' Ввод предложения
S InputBox("Введите предложение")
L Len(S)
' Определение длины предложения
For i 1 To L
'Цикл по символам
'Выделение очередной буквы.
'Если это не пробел и не точка,
If (p <> « » ) And (p <> «.») Then
'перевод символа в проп. букву и добавление в текущее слово
Cells(Nstr, 1) Slovo
'иначе - вывод слова,
'переход на следующую строку
'и очистка текущего слова
'конец цикла
26. Ввод и
вывод информации в
задаче 7
5.3. Индивидуальные задания к
лабораторной работе №
Ввести слово (количество букв в
слове более 5) и
зовать новое слово из
первой, последней, второй и
пред
последней букв.
Ввести слово (количество букв в
слове более 5) и
образо
вать новое слово без первой и
последней букв этого слова.
Ввести предложение и
посчитать количество слов
Ввести слово и
образовать новое слово из
букв, стоя
нечетных местах.
Ввести слово и
образовать новое слово из
букв, стоя
четных местах.
Ввести слово и
вывести все буквы, стоящие на
нечет
ных местах в
строку.
Ввести слово и
вывести все буквы, стоящие на
местах в
строку.
Ввести слово и
вывести все буквы, стоящие на
нечет
ных местах в
столбец.
Ввести слово и
вывести все буквы, стоящие на
местах в
столбец.
Ввести предложение и
посчитать количество букв “а”
11.
Ввести слово и
определить, есть
ли в
слове буква “у”,
стоящая на
четном месте.
Ввести слово и
определить, есть
ли в
слове буква “т”,
стоящая на
нечетном месте.
Ввести слово и
посчитать количество в
нем букв “а”
Ввести слово и
отделить каждую букву пробелом.
Ввести слово и
вывести каждые две буквы в
столбик.
Ввести слово и
образовать новое слово, исключив
него вторую букву от
конца.
Ввести N слов и
образовать новое слово из
всех вторых
букв каждого слова.
Ввести слово и
образовать новое слово, заменив в
третью букву от
конца на
букву «ю».
Ввести слово и
разбить его на
две части. Длина первой
Ввести слово и
образовать новое слово, заменив в
букву, стоящую на
заданной позиции на
другую задан
ную букву.
Ввести слово и
исключить из
него заданное число букв
Ввести N слов и
образовать новое слово из
всех пред
последних букв каждого слова.
Вывести букву, стоящую в
заданном слове на
позиции от
конца слова, а
также часть слова, стоящую
заданной позиции от
начала слова.
Ввести два слова, каждое из
равного количества букв.
Образовать новое слово, перемешивая буквы данных
Ввести слово и
слог и
проверить, встречается
ли задан
заданном слове.
Ввести слово из
N букв и
вывести его «наоборот»
строку.
Ввести фамилию, имя и
отчество и
вывести их в
три
строки по
одному слову.
Ввести фамилии нескольких студентов и
определить,
чья фамилия длиннее, вывести предпоследние буквы
каждой фамилии.
Ввести фамилии нескольких студентов и
определить
среднюю длину их фамилий.
Ввести слово, содержащее четное количество букв.
Образовать новое слово, в
котором сначала идут все
буквы, стоящие на
четных местах, а
потом на
нечетных
местах.
РАТ
РНАЯ РАБ
ТА № 6
ТА С
Цель работы: выработка и
закрепление у
студентов навы
ков разработки алгоритмов и
программ обработки списков
среде табличного процессора Microsoft Excel.
Выработка навыков работы с
листами книги MS Excel.
Состав лабораторной работы: задача 8.
6.1. Основные теоретические сведения
Очень часто возникает необходимость обработки большых
объемов данных на
листе MS Excel на
предмет выборки от
дельных строк или их элементов, отвечающих каким-либо
условиям, формирования из
них новой таблицы на
другом ли
сте и
их математической обработки. Для работы с
разными ли
стами используется свойство Cells с
указанием имени листа.
Например:
Запись FIO
Лист 1.Cells (12,1) присваивает переменной
«FIO» значение из
ячейки А12 листа1.
Запись Лист 2.Cells (3,2)
FIO
– записывает это значение
ячейку В3 листа2.
Эти две операции можно записать одной строкой:
без участия промежуточной переменной
При этом следует помнить, что объект «Лист MS Excel»,
кроме названия, написанного на
ярлычке, имеет еще «насто
ящее» системное имя (свойство Name), которое недоступно
обычном режиме работы с
листом и, следовательно, не
жет быть случайно или намеренно изменено пользователем.
Системные имена листов (Лист 1, Лист 2) можно видеть
окне проекта при работе в
редакторе VBA см.
рисунок 27
новой книге MS Excel имена листов совпадают с
названия
ми на
ярлычках, но
при работе с
книгой ярлычки часто пере
именовывают.
27. Окно проекта
Еще несколько простых выражений для операций с
Посчитать N количество заполненных строк на
Выделить (сделать активным) Лист 2:
Особенности работы с
указателями строк.
При решении задач такого типа обычно используются
как минимум два листа книги MS Excel: один для размеще
ния исходной информации, другой
– для вывода результа
тов. Одна и
та
же запись на
листе 1 и
листе 2 (конечно, если
она попала в
выборку) будет находиться в
разных строках
связи с
тем, что указатели строки на
разных листах изме
няются с
разной частотой. Указатель строки для исходных
данных изменяется на
каждом шаге цикла, а
листе ре
зультатов
– только когда произошло событие (вывод оче
редной строки).
6.2. Пример решения задачи обработки списков
АДАчА 8:
Дан список продаж товаров за
период. Вывести на
другой
лист список продаж определенного товара и
подсчитать коли
чество проданного товара, общую стоимость.
Постановка и
формализация задачи:
При такой постановке задачи длина списка обычно не
извстна и
считается произвольной. Лист, на
который вы
водится таблица результатов, должен быть предварительно
очищен от
результатов предыдущего вывода. Для удобства
работы пользователя программа должна запускаться кноп
кой, расположенной на
листе исходных данных. По
окон
чании работы программы следует сделать активным лист
результатов.
Входные и
выходные данные:
– текущее наименование товара.
Tov
– наименование выбранного товара.
– единицы измерения выбранного товара.
– дата продажи.
– количество проданного товара.
– стоимость товара.
– всего продано (количество).
– всего на
сумму.
– количество занятых строк на
– указатель строки на
листе результатов.
Текст программы:
Dim Name As String, EdIzm As String, Tov As String
Dim N As Integer, Str As Integer, Kol As Single, D As Date,
S As Single
Dim SumKol As Single, Sum As Single, i As Integer
Tov
Лист 1.Cells (1, 8) ‘Искомый товар
его ед.измерения
‘Подготовка листа результатов
«Продажи товара -» + Tov
«Дата»
«количество»
«На сумму»
‘Подготовка к
накоплению суммы и
количества
‘Количество строк на
листе исходных данных
‘Цикл обработки списка
2 To N
Tov Then
Лист 2.Cells (Str, 1)
Лист 2.Cells (Str, 2)
Лист 2.Cells (Str, 3)
‘Вывод итоговых значений
Лист 2.Cells (Str + 1, 1)
«Итого продано « & SumKol &
Лист 2.Cells (Str + 2, 1)
«На сумму « & Sum & « рублей»
Можно написать эту программу короче (особенно часть
программы, выполняющую обработку списка), если отказать
ся от
промежуточных переменных и
обращаться непосредст
венно к
ячейкам листов MS Excel:
Dim SumKol As Single, Sum As Single, i As Integer, N As
Integer, Str As Integer
Лист 2.Cells (1, 1)
«Продажи товара
– « & Лист 1.Cells (1, 8)
«Дата»
«количество»
«На сумму»
2 To N
Лист 1.Cells (1, 8) Then
Лист 2.Cells (Str, 1)
Лист 2.Cells (Str, 2)
Лист 2.Cells (Str, 3)
Лист 2.Cells (Str + 1, 1)
“Итого продано “ & SumKol & “
Лист 2.Cells (Str + 2, 1)
«На сумму « & Sum & « рублей»
Размещение исходных данных и
результаты решения:
Рисунок 2
– Фрагмент таблицы исходных данных на
28. Результат работы программы на
6.3. Индивидуальные задания к
лабораторной
работе №
АДАчА 8.
Общая постановка задачи:
Составить блок-схему задачи, написать программу и
тестировать ее с
различными исходными данными. При ре
шении исходить из
того, что все исходные данные являются
произвольными, в
том числе условие для выборки и
количе
ство строк в
исходной таблице. Количество строк в
исход
ной таблице не
менее 15–20. Кнопку для запуска программы
установить на
листе исходных данных. Результаты выводить
другой лист этой
же книги MS Excel. До
начала вывода
средствами VBA очистить лист результатов и
вывести на
него
заголовки. Выполнение программы заканчивается переходом
лист результатов.
Варианты индивидуальных заданий задачи 8:
Задан список студентов (фамилии) и
почтовый индекс
(6 символов) каждого из
них. Составить программу, пе
чатающую полный перечень студентов, проживающих
территории каждого из
встречающихся в
списке по
чтовых отделений (последние 3 символа).
Заданы оценки каждого из
студентов в
группе на
од
ном из
экзаменов. Составить программу, выбирающую
списка студентов, оценка которых ниже средней
группе.
Для каждого студента известно количество пропущен
ных занятий. Составить список студентов, пропустив
ших более определенного числа занятий и
подсчитать
их количество.
Составить список студентов группы, рост которых
выше среднего роста студентов группы.
Подготовить список сотрудников организации, получа
ющих зарплату больше заданной.
Составьте список товаров, стоимость которых больше
Подготовить список студентов, получивших на
экза
мене по
информатике неудовлетворительные оценки,
сосчитать их количество.
Составить список студентов, получивших на
экзамене
наивысшую оценку и
определить их процент от
общего
состава группы.
Составить список спортсменов, показавших заданный
результат на
спортивных соревнованиях.
Подготовить список сотрудников организации, работа
заданном отделе.
11.
Определить название книги в
библиотеке с
годом изда
ния ранее заданного.
Подготовить список книг заданного автора.
Составьте список товаров, стоимость которых больше
средней стоимости всех товаров на
Составить программу, выбирающую из
списка студен
тов, номер зачетной книжки которых содержит задан
ную цифру.
Имеется список группы и
оценка каждого студента
экзамене по
математике. Составить программу, кото
рая вначале выводит фамилии всех отличников, потом
хорошистов, троечников, а
затем двоечников.
Задан список людей, для каждого из
которых известен
рост (см) и
вес (кг). «Идеальным» будем считать такое
соотношение, когда вес на
100 меньше роста. Соста
вить список людей с
«идеальным» соотношением.
Выбрать из
списка машины, в
номерах которых содер
жится заданный символ.
Сформировать список студентов, фамилии которых на
чинаются на
заданную букву.
Для каждого района г.
Самары известно количество жи
телей, проживающих в
этом районе. Определить райо
ны, в
которых численность населения меньше заданной.
Для каждого студента группы известна средняя оценка
экзаменам за
сессию. А
также известно, что те
сту
денты получат стипендию, средняя оценка которых
превысит данную. Составить список студентов, кото
рые получат стипендию.
Рассчитать, какой процент составляют хорошисты
от
общего числа студентов группы, и
составить список
Составить программу, выбирающую на
складе костюм
(ы) заданного роста и
размера.
Дан перечень футбольных команд, для каждой из
известно количество забитых и
количество пропущен
ных мячей. Вывести список команд, которые забили
мячей больше, чем пропустили.
Известно расстояние до
каждого сельского района
от
г.
Самары. Составить список районов, удаленных
от
г.
Самары на
расстояние больше заданного.
Составить список студентов, получивших на
экзамене
информатике отличные оценки, и
составить слово
первых букв их фамилий.
Распределить премиальный фонд среди студентов
группы, имеющих средний балл выше заданного. Пре
миальный фонд распределяется пропорционально
среднему баллу. Вывести список студентов и
размер
премии, причитающейся каждому.
Выявить на
складе товары, количество которых меньше за
данного и
вывести их сокращенные названия (4 символа).
Определить фамилии студентов, не
сдавших экзамен
информатике, или вывести сообщение о
том, что
сдали все.
За каждый месяц года известна плата за
телефонные
переговоры. Составить перечень месяцев, в
которые
плата составляла сумму, большую средней суммы.
Для предприятия известен перечень видов продукции
количество каждого вида, которые должны быть про
изведены по
плану, а
также известно количество, про
изведенное в
действительности. Подготовить перечень
видов продукции, по
которым план не
выполнен.
АКЛючЕНИЕ
Компьютерные технологии в
настоящее время использу
ются во
всех областях человеческой деятельности, и
грамот
ный технический специалист должен быть способен делать
выводы из
имеющейся информации, принимать быстрые
обоснованные решения.
Выполнение лабораторных работ по
разделу «Алгоритми
зация и
программирование» формирует умение четко фор
мулировать задачу, разрабатывать алгоритмы ее решения и,
главное, достигать поставленных целей, критически отно
полученным результатам.
Данный курс поможет освоить некоторые особенности
офисного программирования студентам, имеющим опреде
ленную подготовку в
этой области, а
для начинающих это
будут небольшие первые шаги в
большой мир компьютер
ных технологий. Последовательное изложение материала
от
самого простого к
более сложному, примеры решения за
дач и
необходимые справочные материалы сделают этот путь
слишком обременительным.
ИБЛИ
ГРА
Уокенбах, Дж.
Excel 2010. Профессиональное програм
мирование на
VBA / Дж.
Уокенбах.
– М.: «Диалектика»,
Фризен, И.
Г.
Офисное программирование. Учебное по
собие / И.
Г.
– М.: «Дашков и
Ко», 2010.
– 238 с.
Слепцова, Л.
Программирование на
VBA в
Of�ce 2010 / Л.
Слепцова.
– М.: «Диалектика, Виль
Эйткин, П.
Интенсивный курс программирования
Excel за
выходные: учебное пособие / П.
– М.:
Издательский дом «Вильямc», 2004.
Прохорова, О.
Прикладные алгоритмы: методиче
ские указания / О.
Прохорова.
– Самара: СГАСУ,
Пиявский, С.
Программирование на
языке Visual
Basic 6: Учебное пособие / С.
Пиявский, Л.
Су
сленкова.
– Самара: СГАСУ, 2006.
Прохорова, О.
Информатика: Учебник с
грифом
УМО / О.В Прохорова.
– Самара: СГАСУ, 2013.
Семакин, И.
Г.
Основы алгоритмического программи
рования / И.Г Семакин.
– М.: Издательский центр «Ака
Кадырова, Г.
Р.
Основы алгоритмизации и
рования: учебное пособие / Г.
Р.
Кадырова.
– Ульяновск:
УлГТУ, 2014.
Прохорова, О.
Методы программирования: методи
ческие указания / О.В Прохорова.
– Йошкар-Ола: МФ
МОСУ, 2007.
11.
Обучение в
интернет: Основы алгоритмизации и
граммирование [Электронный ресурс].
– Режим до
ступа: http://www.lessons-tva.info/edu/e-inf1/e-inf1–4–2.
Киммел, П.
Microsoft Of�ce Excel 2003 и
VBA. Спра
вочник программиста / П.
Киммел, Дж.
Грин, Ст. Бул
– М.: Изд. «Диалектика», 2005.
Свердлов, С.
Языки программирования и
методы
трансляции: учеб. пособие для вузов /С.З. Свердлов.
СПб: Питер-Пресс, 2007.
Свердлов, С.
Языки программирования и
методы
трансляции [Электронный ресурс]: учеб. пособие для
вузов / С.
Свердлов.
– СПб: Питер-Пресс, 2007.
– CD;
Голицына, О.
Языки программирования: учеб. посо
бие /О.Л. Голицына, Т.
Партыка, И.
– М.:
ФОРУМ, 2010.
Лапчик, М.
Информатическая математика или мате
матическая информатика? / М.
Лапчик // Информа
тика и
образование.
 
ГА
ОНОВА
Наталья Спиридоновна
УСЛЕНКОВА
Лидия Семеновна
Вячеслав Васильевич
ОСН
РИТМИЗАЦИИ
ГРАММИР
ВАНИЯ
Методические указания
Редактор и корректор
А.А. Сыромятников
Технический редактор
М.А. Гузов
  \r 05.2015 \f.
.-. . 7,25. \n\t 1,20 \b
\f 7  24.02.2015.
   «\t \f
- »
443001, \f. \t, . \b\f, 194

Приложенные файлы

  • pdf 8820619
    Размер файла: 1 MB Загрузок: 0

Добавить комментарий