Министерство образования и науки
Российской Федерации
Сибирский федеральный университет
А.Н. Пупков
В.В. Самарин
Р.Ю. Царев
Информатика и программирование
Учебное пособие
Красноярск
СФУ
2011
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ. 4
ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ.. 6
1.1. Понятия «информация», информация и «данные», формы адекватности информации. Меры информации. 6
1.2. Информационные системы. Структура и классификация информационных систем 8
1.3. Понятие «информационные технологии». Виды информационных технологий. 10
1.4. Архитектура персонального компьютера. Назначение основных узлов. Функциональные характеристики компьютера. 12
1.5. Программное обеспечение компьютера. Общая характеристика, состав и назначение основных видов программного обеспечения компьютера. 15
1.6. Архивация данных. Программы-архиваторы.. 16
1.7. Компьютерные вирусы. Антивирусные программы.. 19
1.8. Компьютерные сети. Особенности построения. Назначение и классификация 23
1.9. Глобальная сеть Интернет. Общая характеристика, особенности построения 28
ГЛАВА 2. MICROSOFT WORD.. 32
2.1. Знакомство с программой Microsoft Word 2007. 32
2.2. Как не следует набирать текст. 35
2.3. Редактирование текста. 37
2.4. Форматирование текста. 42
ГЛАВА 3. ПРОГРАММА MICROSOFT EXCEL 2007. 55
3.1. Знакомство с программой Microsoft Excel 2007. 55
3.2. Проведение расчетов в программе Microsoft Excel 2007. 63
ГЛАВА 4. ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ VISUAL BASIC FOR APPLICATION 70
4.1. Основы программирования на языке VBA.. 70
4.2. Операторы языка VBA и реализация основных алгоритмических конструкций 80
Используемая литература. 98
Приложение 1. Задания для Microsoft Word. 99
Приложение 2. Задания для Microsoft Excel 115
Приложение 3. Задания для Microsoft VBA.. 138
ВВЕДЕНИЕ
Термин «информатика» возник в начале 60-х гг. XX в. во Франции для выделения области знаний, связанной с автоматизированной обработкой информации с помощью электронно-вычислительных машин.
Информатика — это научная и прикладная область знаний о законах, методах и способах накопления, обработки и передачи информации с помощью компьютерных и других технических средств.
Информатика изучает свойства, структуру и функции информационных систем, а также происходящие в них информационные процессы. Под информационной системой понимают систему, организующую, хранящую и преобразующую информацию. Подавляющее большинство современных информационных систем являются автоматизированными.
Информатика тесно связана с кибернетикой, но не тождественна ей. Кибернетика изучает общие закономерности процессов управления сложными системами в разных областях человеческой деятельности независимо от наличия или отсутствия компьютеров. Информатика же изучает общие свойства только конкретных информационных систем.
Информатику можно рассматривать как науку, как технологию и как индустрию.
Информатика как наука объединяет группу дисциплин, в которых изучаются различные аспекты свойств информации в информационных процессах, а также применение алгоритмических, математических и программных средств для ее обработки с помощью компьютеров.
Информатика как технология включает в себя систему процедур компьютерного преобразования информации с целью ее формирования, хранения, обработки, распространения и использования.
Основными чертами современной информационной технологии являются:
•дружественный программный и аппаратный интерфейс;
•интерактивный (диалоговый) режим решения задач;
•сквозная информационная поддержка всех этапов решения задачи на основе интегрированной базы данных;
•возможность коллективного решения задач на основе информационных сетей и систем телекоммуникаций;
•безбумажная технология, при которой основным носителем информации является не бумажный, а электронный документ.
Информатика как индустрия — это инфраструктурная отрасль народного хозяйства, обеспечивающая все другие отрасли необходимыми информационными ресурсами. Индустрия информатики включает в себя предприятия, производящие вычислительную технику и ее элементы; вычислительные центры различного типа и назначения (индивидуальные, кустовые, коллективного пользования и др.); предприятия, осуществляющие производство программных средств и проектирование информационных систем; организации, накапливающие, распространяющие и обслуживающие фонды алгоритмов и программ; станции технического обслуживания вычислительной техники.
Роль информатики в современных условиях постоянно возрастает. Деятельность, как отдельных людей, так и целых организаций практически полностью зависит от их информированности и способности эффективно использовать имеющуюся информацию. Внедрение компьютеров, современных средств переработки и передачи информации в различные области индустрии послужило началом процесса, называемого информатизацией общества. Современное материальное производство и другие сферы деятельности не могут существовать без информационного обслуживания и переработки огромного количества информации. Информатизация на основе внедрения компьютерных и телекоммуникационных технологий является реакцией общества на потребность в существенном увеличении производительности труда в информационном секторе общественного производства, где сосредоточено более половины трудоспособного населения.
Результатом процесса информатизации является создание информационного общества, где манипулируют не материальными объектами, а идеями, образами, интеллектом, знаниями. Для каждой страны ее движение от индустриального этапа развития к информационному определяется степенью информатизации общества.
ГЛАВА 1. ТЕОРИТИЧЕСКИЕ ОСНОВЫ ИНФОРМАТИКИ
Информационные системы. Структура и классификация информационных систем
Информационная система — это взаимосвязанная совокупность средств, методов и персонала, используемых для хранения, обработки и выдачи информации используемой в достижения цели управления. В современных условиях основным техническим средством обработки информации является персональный компьютер. Большинство современных информационных систем преобразуют не информацию, а данные. Поэтому часто их называют системами обработки данных.
По степени механизации процедур преобразования информации системы обработки данных делятся на системы ручной обработки, механизированные, автоматизированные и системы автоматической обработки данных.
Важнейшими принципами построения эффективных информационных систем являются следующие.
Принцип интеграции, заключающийся в том, что обрабатываемые данные, однажды введенные в систему, многократно используются для решения большого числа задач.
Принцип системности, заключающийся в обработке данных в различных аспектах, чтобы получить информацию, необходимую для принятия решений на всех уровнях управления.
Принцип комплексности, заключающийся в механизации и автоматизации процедур преобразования данных на всех этапах функционирования информационной системы.
Информационные системы также классифицируются по:
· функциональному назначению – производственные, коммерческие, финансовые, маркетинговые и др.;
· объектам управления – информационные системы автоматизированного проектирования, управления технологическими процессами, управления предприятием (офис, фирма, корпорация, организация) и т. п.;
· характеру использования результатной информации – информационно-поисковые, предназначенные для сбора, хранения и выдачи информации по запросу пользователя; информационно-советующие, предлагающие пользователю определенные рекомендации для принятия решений (системы поддержки принятия решений); информационно-управляющие, результатная информация которых непосредственно участвует в формировании управляющих воздействий.
Структуру информационных систем составляет совокупность отдельных ее частей, называемых подсистемами.
Функциональные подсистемы реализуют и поддерживают модели, методы и алгоритмы получения управляющей информации. Состав функциональных подсистем весьма разнообразен и зависит от предметной области использования информационной системы, специфики хозяйственной деятельности объекта, управления.
В состав обеспечивающих подсистем обычно входит:
1. Информационное обеспечение — методы и средства построения информационной базы системы, включающие системы классификации и кодирования информации, унифицированные системы документов, схемы информационных потоков, принципы и методы создания баз данных;
2. Техническое обеспечение — комплекс технических средств, задействованных в технологическом процессе преобразования информации в системе. В первую очередь это вычислительные машины, периферийное оборудование, аппаратура и каналы передачи данных;
3. Программное обеспечение включает в себя совокупность программ регулярного применения, необходимых для решения функциональных задач, и программ, позволяющих наиболее эффективно использовать вычислительную технику, обеспечивая пользователям наибольшие удобства в работе;
4. Математическое обеспечение — совокупность математических методов, моделей и алгоритмов обработки информации, используемых в системе;
5. Лингвистическое обеспечение — совокупность языковых средств, используемых в системе с целью повышения качества ее разработки и облегчения общения человека с машиной.
Организационные подсистемы по существу относятся также к обеспечивающим подсистемам, но направлены в первую очередь на обеспечение эффективной работы персонала, и поэтому они могут быть выделены отдельно. К ним относятся:
1. Кадровое обеспечение — состав специалистов, участвующих в создании и работе системы, штатное расписание и функциональные .обязанности;
2. Эргономическое обеспечение — совокупность методов и средств, используемых при разработке и функционировании информационной системы, создающих оптимальные условия для деятельности персонала, для быстрейшего освоения системы;
3. Правовое обеспечение — совокупность правовых норм, регламентирующих создание и функционирование информационной системы, порядок получения, преобразования и использования информации;
4. Организационное обеспечение — комплекс решений, регламентирующих процессы создания и функционирования как системы в целом, так и ее персонала.
Вопросы и задания для самоконтроля
1. Дайте определение понятия «Информационная система».
2. Каковы важнейшие принципы построения информационных систем?
3. Охарактеризуйте функциональные подсистемы.
4. Охарактеризуйте организационные подсистемы.
Компьютерные сети. Особенности построения. Назначение и классификация
Появление персональных компьютеров потребовало нового подхода к организации системы обработки данных и созданию новых информационных технологий. Возникла потребность перехода от использования отдельных ЭВМ в системах централизованной обработки данных к распределенной обработке данных.
Распределенная обработка данных — это обработка данных, выполняемая на независимых, но связанных между собой компьютерах, представляющих распределенную систему.
Компьютерная (вычислительная) сеть — это совокупность компьютеров и терминалов, соединенных с помощью каналов связи в единую систему, удовлетворяющую требованиям распределенной обработки данных.
Абонентами сети (т. е. объектами, генерирующими или потребляющими информацию в сети) могут быть отдельные компьютеры, комплексы ЭВМ, терминалы, промышленные роботы, станки с числовым программным управлением и т. д.
В зависимости от территориального расположения абонентов компьютерные сети делятся:
· на глобальные, объединяющие абонентов, расположенных в различных странах, на различных континентах. Глобальные вычислительные сети позволяют решить проблему объединения информационных ресурсов человечества и организации доступа к этим ресурсам;
· региональные связывающие абонентов, расположенных на значительном расстоянии друг от друга. Они могут включать абонентов большого города, экономического региона, отдельной страны;
· локальные объединяющие абонентов, расположенных в пределах небольшой территории. К классу локальных сетей относятся сети отдельных предприятий, фирм, офисов и т. д.
Объединение глобальных, региональных и локальных компьютерных сетей позволяет создавать многосетевые иерархии, обеспечивающие мощные средства обработки огромных информационных массивов и доступ к неограниченным информационным ресурсам.
В общем случае компьютерная сеть представляется совокупностью трех вложенных друг в друга подсистем: сети рабочих станций, сети серверов и базовой сети передачи данных.
Рабочая станция (клиентская-машина, рабочее место, абонентский пункт, терминал) — это компьютер, за которым непосредственно работает абонент компьютерной сети. Сеть рабочих станций представлена совокупностью рабочих станций и средств связи, обеспечивающих взаимодействие рабочих станций с сервером и между собой.
Сервер — это компьютер, выполняющий общие задачи компьютерной сети и предоставляющий услуги рабочим станциям. Сеть серверов — это совокупность серверов и средств связи, обеспечивающих подключение серверов к базовой сети передачи данных.
Базовая сеть передачи данных — это совокупность средств передачи данных между серверами. Она состоит из каналов связи и узлов связи. Узел связи — это совокупность средств коммутации и передачи данных в одном пункте. Узел связи принимает данные, поступающие по каналам связи, и передает данные в каналы, ведущие к абонентам.
Базовыми требованиями, определяющими архитектуру компьютерных сетей, являются следующие:
· открытость — возможность включения дополнительных компьютеров, терминалов, узлов и линий связи без изменения технических и программных средств существующих компонентов;
· живучесть — сохранение работоспособности при изменении структуры;
· адаптивность — допустимость изменения типов компьютеров, терминалов, линий связи, операционных систем;
· эффективность — обеспечение требуемого качества обслуживания пользователей при минимальных затратах;
· безопасность информации — это способность сети обеспечить защиту информации от несанкционированного доступа.
Указанные требования обеспечиваются модульной организацией управления процессами в сети, реализуемой по многоуровневой схеме. Число уровней и распределение функций между ними существенно влияет на сложность программного обеспечения компьютеров, входящих в сеть, и на эффективность сети. Формальной процедуры выбора числа уровней не существует. Классической является семиуровневая схема.
Уровень 1 — физический — реализует управление каналом связи, что сводится к подключению и отключению канала связи и формированию сигналов, представивших передаваемые данные.
Уровень 2 — канальный — обеспечивает надежную передачу данных через физический канал, организованный на уровне 1.
Уровень 3 — сетевой — обеспечивает выбор маршрута передачи сообщений по линиям, связывающим узлы сети.
Уровни 1 – 3 организуют базовую сеть передачи данных как систему, обеспечивающую надежную передачу данных между абонентами сети.
Уровень 4 — транспортный — обеспечивает сопряжение абонентов сети с базовой сетью передачи данных.
Уровень 5 — сеансовый — организует сеансы связи на период взаимодействия процессов. На этом уровне по запросам процессов создаются порты для приема и передачи сообщений и организуются соединения — логические каналы.
Уровень 6 — представительный — осуществляет трансформацию различных языков, форматов данных и кодов для взаимодействия разнотипных компьютеров.
Уровень 7 — прикладной — обеспечивает поддержку прикладных процессов пользователей. Порядок реализации связей в сети регулируется протоколами. Протокол — это набор коммутационных правил и процедур по формированию и передаче данных в сети.
Базовые принципы организации компьютерной сети определяют ее основные характеристики:
· операционные возможности — перечень основных действий по обработке данных. Абоненты сети имеют возможность использовать память и процессоры многих компьютеров для хранения и обработки данных. Предоставляемая компьютерной сетью возможность параллельной обработки данных многими компьютерами и дублирования необходимых ресурсов позволяет сократить время решения задач, повысить надежность системы и достоверность результатов;
· производительность —суммарная производительность компьютеров, участвующих в решении задачи пользователя;
· время доставки сообщений — определяется как статистическое среднее время от момента передачи сообщения в сеть до момента получения сообщения адресатом;
· стоимость предоставляемых услуг.
Локальная вычислительная сеть объединяет абонентов, находящихся на небольшом расстоянии друг от друга (в пределах 10 – 15 км). Обычно такие сети строятся в пределах одного предприятия или организации.
Информационные системы, построенные на базе локальных вычислительных сетей, обеспечивают решение задач хранение данных, обработка данных, организация доступа пользователей к данным, передача данных и результатов их обработки пользователям.
Компьютерные сети реализуют распределенную обработку данных. Здесь обработка данных распределяется между двумя объектами: клиентом и сервером. В процессе обработки данных клиент формирует запрос к серверу на выполнение сложных процедур. Сервер выполняет запрос и результаты выполнения передает клиенту. Сервер обеспечивает хранение данных общего пользования, организует доступ к этим данным и передает их клиенту. Подобная модель вычислительной сети получила название архитектуры клиент — сервер.
По признаку распределения функций локальные компьютерные сети делятся на одноранговые и двухранговые (иерархические сети или сети с выделенным сервером).
В одноранговой сети компьютеры равноправны по отношению друг к другу. Каждый пользователь в сети решает сам, какие ресурсы своего компьютера он предоставит в общее пользование. Таким образом, компьютер выступает и в роли клиента, и в роли сервера. Одноранговое разделение ресурсов является вполне приемлемым для малых офисов с 5 – 10 пользователями, объединяя их в рабочую группу.
Двухранговая сеть организуется на основе сервера, на котором регистрируются пользователи сети.
Для современных компьютерных сетей типичной является смешанная сеть, объединяющая рабочие станции и серверы, причем часть рабочих станций образует одноранговые сети, а другая часть принадлежит двухранговым сетям.
Геометрическая схема соединения (конфигурация физического подключения) узлов сети называется топологией сети. Существует большое количество вариантов сетевых топологий, базовыми из которых являются шина, кольцо, звезда.
1. Шина. Канал связи (КС), объединяет узлы в сеть, образуя ломаную линию — шину. Любой узел может принимать информацию в любое время, а передавать — только тогда, когда шина свободна. Данные (сигналы) передаются компьютером на шину. Каждый компьютер проверяет их, определяя, кому адресована информация, и принимает данные, если они посланы ему, либо игнорирует. Если компьютеры расположены близко друг друга, то организация КС с шинной топологией недорога и проста. Необходимо просто проложить кабель от одного компьютера к другому. Затухание сигнала с увеличением расстояния ограничивает длину шины и, следовательно, число компьютеров, подключенных к ней.
Проблемы шинной топологии возникают, когда происходит разрыв (нарушение контактов) в любой точке страны; сетевой адаптер одного из компьютеров выходит из строя и начинает передавать на шину сигналы с помехами тогда необходимо подключить новый компьютер.
2. Кольцо. Узлы объединены в сеть замкнутой кривой. Передача данных осуществляется только в одном направлении. Каждый узел помимо всего прочего реализует функции ретранслятора. Он принимает и передает сообщения, а воспринимает только обращенные к нему. Используя кольцевую топологию, можно присоединить к сети большое количество узлов, решив проблемы помех и затухания сигнала средствами сетевой платы каждого узла. Недостатки кольцевой организации: разрыв в любом месте кольца прекращает работу всей сети; время передачи сообщения определяется временем последовательного срабатывания каждого узла, находящегося между отправителем и получателем сообщения; из-за прохождения данных через каждый узел существует возможность непреднамеренного искажения информации.
3. Звезда. Узлы сети объединены с центром лучами. Вся информация передается через центр, что позволяет относительно просто выполнять поиск неисправностей и добавлять новые узлы без прерывания работы сети. Однако расходы на организацию каналов связи здесь обычно выше, чем у шины и кольца.
Комбинация базовых топологий — гибридная топология — обеспечивает получение широкого спектра решений, аккумулирующих достоинства и недостатки базовых.
Кроме проблем создания локальных вычислительных сетей имеется также проблема расширения (объединения) компьютерных сетей. Дело в том, что созданная на определенном этапе развития информационной системы вычислительная сеть со временем может перестать удовлетворять потребности всех пользователей. В то же время физические свойства сигнала, каналов передачи данных и конструктивные особенности сетевых компонент накладывают жесткие ограничения на количество узлов и геометрические размеры сети.
Для объединения локальных вычислительных сетей применяются следующие устройства.
Повторитель — устройство, обеспечивающее усиление и фильтрацию сигнала без изменения его информативности. По мере передвижения по линиям связи сигналы затухают. Для уменьшения влияния затухания используются повторители. Причем повторитель не только копирует или повторяет принимаемые сигналы, но и восстанавливает характеристики сигнала: усиливает сигнал и уменьшает помехи.
Мост — устройство, выполняющее функции повторителя для тех сигналов (сообщений), адреса которых удовлетворяют заранее наложенным ограничениям. Одной из проблем больших сетей является напряженный сетевой трафик (поток сообщений в сети). Эта проблема может решаться следующим образом. Компьютерная сеть делится на сегменты. Передача сообщений из сегмента в сегмент осуществляется только целенаправленно, если абонент одного сегмента передает сообщение абоненту другого сегмента. Мост является устройством, ограничивающим движение по сети и не позволяющим сообщениям попадать из одной сети в другую без подтверждения права на переход.
Мосты бывают локальные и удаленные.
Локальные мосты соединяют сети, расположенные на ограниченной территории в пределах уже существующей системы.
Удаленные мосты соединяют сети, разнесенные территориально, с использованием каналов связи и модемов.
Локальные мосты, в свою очередь, разделяются на внутренние и внешние.
Внутренние мосты обычно располагаются на одном компьютере и совмещают функцию моста с функцией абонентской ЭВМ. Расширение функций осуществляется путем установки дополнительной сетевой платы.
Внешние мосты предусматривают использование отдельного компьютера со специальным программным обеспечением.
Маршрутизатор — это устройство, соединяющее сети разного типа, но использующие одну операционную систему. Это, по сути, тот же мост, но имеющий свой сетевой адрес. Используя возможности адресации маршрутизаторов, узлы в сети могут посылать маршрутизатору сообщения, предназначенные для другой сети. Для поиска лучшего маршрута к любому адресату в сети используются таблицы маршрутизации. Эти таблицы могут быть статическими и динамическими.
Шлюз — специальный аппаратно-программный комплекс, предназначенный для обеспечения совместимости между сетями, использующими различные протоколы взаимодействия. Шлюз преобразует форму представления и форматы данных при передачи их из одного сегмента в другой. Шлюз осуществляет свои функции на уровне выше сетевого. Он не зависит от используемой передающей сроеды, но зависит от используемых протоколов обмена данными. Обычно шлюз выполняет преобразования между протоколами.
С помощью шлюзов можно подключить локальную вычислительную сеть к главному компьютеру, а также к глобальной вычислительной сети.
Вопросы и задания для самоконтроля
1. Дайте определение понятия «компьютерная сеть».
2. Назовите и охарактеризуйте основные топологии сетей.
3. Поясните назначение устройства «мост».
4. Каково назначение устройства «коммутатор» (Switch)?
5. Каково назначение устройства «шлюз»?
6. Дайте определение понятий «клиент» и «сервер».
ГЛАВА 2. MICROSOFT WORD
ГЛАВА 3. ПРОГРАММА MICROSOFT EXCEL 2007
ГЛАВА 4. ПРОГРАММИРОВАНИЕ НА ЯЗЫКЕ VISUAL BASIC FOR APPLICATION
Операторы языка VBA и реализация основных алгоритмических конструкций
В языке VВА используется множество инструкций или операторов. Они служат для выполнения каких-либо стандартных действий. Условно из них можно выделить группы.
Оператор комментариев. Данный оператор не выполняет в программе никаких действий и может содержать любой текст. Инструкция комментариев имеет два вида: это инструкция, начинающаяся с ключевого слова REM, за которым следует произвольный текст, или знак апострофа ('), который ставится в начале строки или после любого оператора, и за ним также можно писать любой текст.
Например:
REM произвольный текст комментария
' произвольный текст комментария
Al=5 ' комментарий к строке оператора
Оператор присваивания.Присваивает выражение переменной или константе. Инструкции присвоения всегда включают знак равенства (=).
Синтаксис:
ПЕРЕМЕННАЯ = ВЫРАЖЕНИЕ
Вначале вычисляется выражение, а затем результат запоминается в переменной.
Выделяют следующие алгоритмические структуры:
· линейная, когда все действия выполняются последовательно (без условий) от начала до конца;
· разветвленная, когда на некотором шаге встречается условие, в зависимости от которого процесс решения может пойти по одной из нескольких ветвей;
· циклическая, когда некоторые фрагменты программы должны выполняться несколько раз.
В алгоритмическом языке установлены следующие геометрические фигуры для обозначения действий( рис 4.1).
Начало |
Конец |
Начало блок-схемы |
Конец блок-схемы |
Ввод |
Вывод |
Ввод, вывод данных |
действия |
Формула (присваивание значений переменным – ячейкам памяти) |
Условия |
Логическое условие |
Цикл |
Блок модификации для организации циклов |
Рис. 4.1. Геометрические фигуры для обозначения действий
Программирование алгоритмов линейной структуры. Программа линейного вычислительного процесса представляет собой последовательность операторных строк, содержащих операторы присваивания, а также средства ввода и вывода.
При составлении линейных программ необходимо:
· выделить начальные данные;
· установить последовательность вычислений;
· определить исходные данные до момента их использования;
· желательно снабжать программу комментариями для удобства ее чтения.
Пример. Вычислить значение выражения для любых a и b.
Программа
Sub Lin()
Dim a As Double, x As Double
a = Val(InputBox("Введите а")) 'ввод значения переменной a
x = Val(InputBox("Введите x")) 'ввод значения переменной x
b = 1 / (x) ^ (1 / 4) 'вычисляем значение b'
c = Sin(a ^ 2 + b ^ 2) 'вычисляем значение C
MsgBox ("Ответ=" + Str(c))
End Sub
Пример. Составить программу для вычисления площади S треугольника ABC по заданным значениям сторон a,b,c.
Программа
Sub Geron()
Dim a, b, c, p, s As Double
a = Val(InputBox("Введите a")) 'ввод значения переменной a
b = Val(InputBox("Введите b")) 'ввод значения переменной b
c = Val(InputBox("Введите c")) 'ввод значения переменной c
'P - полупериметр,S - площадь
p = (a + b + c)
s = Sqr(p * (p - a) * (p - b) * (p - c))
Cells(1, 1) = "Площадь="
Cells(1, 2) = s
End Sub
Операторы управления порядком выполнения команд.Обычно выполнение макроса начинается с выполнения инструкций SUB или FUNCTION и продолжается в порядке следования строк с операторами до тех пор, пока не встретится инструкция END SUB или END FUNCTION.
Но часто при проектировании макросов необходимо выполнять различные варианты программы в зависимости от значения каких-либо переменных или параметров (условий), задаваемых пользователем во время выполнения программы. На этот случай в VВА предусмотрен ряд операторов, предназначенных для изменения порядка выполнения операторов в программе.
Оператор безусловного перехода GoТопозволяет изменить порядок выполнения команд. Задает безусловный переход на указанную строку внутри той процедуры, в которой она находится.
Синтаксис:
GoTo строка
Обязательный аргумент строка может быть любой меткой строки или номером строки.
Метка строки — это строка программы, в начале которой указывается имя метки и двоеточие (:). Метки должны иметь уникальные имена в пределах одной процедуры.
Заметим, что слишком большое число инструкций GoTo затрудняет чтение и отладку программ. По воэможности следует использовать структурные управляющие инструкции (Do...Loop, For...Next, If...Then...Else, Select Case). Инструкция GoTo в VBA применяется, главным образом, для обработки ошибок.
Условный оператор If... Then... Else выполняет определённые инструкции или наборы инструкций в зависимости от значения заданных условий.
Синтаксис:
If условие Then [оператор1] [Else оператор2].
Различают условные операторы: строчныйи блочный.Строчный оператор используется в том случае, когда при разветвлении программы необходимо на каждой ветке выполнить по одному оператору, а блочный необходим тогда, когда операторов несколько.
Обязательный параметр условие представляет собой логическое выражение, которое возвращает значение (истина) TRUE или (ложь) FALSE. Если условие равно TRUE, то выполняется оператор1, если условие равно FALSE, то выполняется оператор2. Далее выполняется, если иное не предусмотрено программой в операторах1 или 2, инструкция, следующая по порядку за строкой с инструкцией If... Then...Else.
Часть оператора If, а именно ключевое слово Else и следующие за ним инструкции можно опустить, тогда при условии, равном FALSE выполняется оператор, следующий за строкой с инструкцией If.
Синтаксис:
If условие Then [оператор]
Заметим, что в квадратных скобках обозначены те элементы инструкции, которые не являются обязательными для записи.
В реальных случаях часто требуется обработка нескольких инструкций при выполнении условия. В этих случаях предпочтительнее блочный вид инструкции If.
Синтаксис:
If условие Then
[Блок операторов]
[Else
[Блок операторов]]
End If
Блочная структура If удобнее, так как каждый блок операторов может включать в себя произвольное число утверждений. Кроме того, допускается вложение структур If.
Оператор Select Саsе — это оператор выбора из многих возможных вариантов. Оператор Select Case выполняет одну из нескольких групп операторов в зависимости от значения выражения. В языках высокого уровня такой оператор называется переключателем.
Синтаксис:
Select Саsе выражение
[Case список условий-1
[операторы-1]]
[Саsе список условий-2
[операторы-2]]
…
[Саsе список условий-n
[операторы-n]]
[Case Else
[операторы_ else]]
End Select
Выражение — обязательный параметр, может быть любым выражением любого типа данных VBA, включая числовой, строковый или логический.
Список условий — обязательный при наличии инструкции CASE. Содержит результаты вычисления выражения, записанные в одном из видов:
1. Саsе КОНСТАНТА1, КОНСТАНТА2, KOHCTAHTA3, ...
2. Саsе Is ЗНАК_ ОТНОШЕНИЯ КОНСТАНТА
3. Case КОНСТАНТА1 to КОНСТАНТА2
Выполняется оператор Select Case следующим образом. Сначала вычисляется значение выражения, стоящего после ключевых слов Select Case, затем производится проверка на совпадение значения выражения и одного из Case условий. В случае совпадения выполняются операторы, помещенные за этим Case условием. В случае если совпадения не обнаружено ни в одном из Case условий, то выполняются операторы, находящиеся после ключевых слов Саsе Else. Если список выражений в Саsе условии записан в первой форме, то необходимо, чтобы результат вычислений выражения равнялся одной константе из списка, если Case условие записано во второй форме, то необходимо, чтобы выполнялось условие отношения между значением выражения и константой. Если же в третьей форме, то необходимо выполнение соотношения
КОНСТАНТА1<=выражение<=КОНСТАНТА2.
Программирование алгоритмов разветвляющейся структуры. Алгоритм разветвляющейся структуры – это алгоритм такого процесса, в котором его реализация осуществляется по одному из заранее предусмотренных (возможных) направлений в зависимости от исходных условий или промежуточных результатов. Каждое отдельное направление обработки информации в таком процессе называется ветвью. Выбор ветви определяется проверкой выполнения логического условия, определяющего свойства исходных данных или промежуточных результатов. В каждом конкретном случае процесс обработки данных выполняется лишь по одной из ветвей. Для их реализации используются операторы управления порядком выполнения команд, рассмотренные выше.
Пример. Дано действительное число x. Вычислить y.
Программа.
Sub Raz2()
Dim x, y As Double
x = Val(InputBox("Введите x")) 'ввод значения переменной x
If x > 0 Then y = Sin(x) Else y = 2 * x
MsgBox ("Значение y=" + Str(y#))
End Sub
Пример. Дано действительное число x. Вычислить y.
Программа
Sub Raz3()
Dim x, y As Double
x = Val(InputBox("Введите x"))
If x < 0.1 Then y = Cos(x ^ 2) Else If x > 0.1 Then y = Exp(x) Else y = x ^ 3 - 2
MsgBox ("Значение y=" + Str(y#))
End Sub
Пример. Даны три числа. Выяснить, существует ли треугольник с такими сторонами.
Программа
Sub Treug()
Dim a, b, c As Double
a = Val(InputBox("Введите сторону a"))
b = Val(InputBox("Введите сторону b"))
c = Val(InputBox("Введите сторону c"))
If (a + b) > c And (b + c) > a And (a + c) > b Then MsgBox ("Треугольник существует") Else MsgBox ("Треугольник не существует") ‘оператор печатать в одной строке
End Sub
Пример. Дано действительное число x. Вычислить z,y,h.
Программа
Sub Raz3()
Dim x, z, y, h As Double
x = Val(InputBox("Введите x"))
If x > 0.8 Then
z = 2 * Sin(x)
y = Log(x) + 4 * x
h = Cos(x)
Else
If x = 0.8 Then
z = Sqr(Sin(x))
y = Cos(x ^ 2) + x
h = 2 * x
Else
z = Abs(x - 2)
y = 2 + x ^ 2 * Sin(x)
h = 0
End If
End If
Cells(1, 1) = "x=": Cells(1, 2) = x
Cells(2, 1) = "z=": Cells(2, 2) = z
Cells(3, 1) = "y=": Cells(3, 2) = y
Cells(4, 1) = "h=": Cells(4, 2) = h
End Sub
Программирование алгоритмов циклической структуры. Решение многих практических задач сводится к выполнению вычислений по одним и тем же зависимостям, но при разных значениях входящих в них величин. Такой вычислительный процесс называется циклическим, а многократно повторяющиеся участки этого процесса называются циклами.
Различают регулярные циклы с управляющим параметром (с известным числом повторений), условием окончания которого является достижение параметром цикла своего конечного значения; итерационные циклы, в которых условие повторения или окончания цикла задается по некоторому результату, например, пока не будет достигнута точность вычислений. Реализуются циклы с помощью специальных операторов цикла.
Оператор цикла While... Wend
Синтаксис:
While условие
[операторы]
Wend
Условие — обязательный элемент. Числовое выражение или строковое выражение, которое имеет значение True или False.
Операторы— необязательный элемент. Один или несколько операторов, выполняемых, пока условие имеет значение True.
Этот оператор называют оператором цикла с предусловием. Выполняется оператор While... Wend следующим образом. Если условие имеет значение True, выполняются все операторы до инструкции Wend. Затем управление возвращается инструкции While и вновь проверяется условие. Если условие по-прежнему имеет значение True, процесс повторяется. Если оно не имеет значение True, выполнение возобновляется с инструкции, следующей за инструкцией Wend. В связи с этим элемент условие здесь является условием выполнения цикла. Циклы While... Wend могут иметь любую глубину вложенности.
Оператор цикла Do...Loop также используется для выполнения наборов операторов неопределенное число раз. Оператор имеет синтаксис:
Do
[операторы]
Loop Until [условие]
Условие — необязательный элемент. Числовое или строковое выражение, которое имеет значение True или False.
Операторы — один или несколько операторов, выполнение которых повторяется, пока условие не приобретет значение True.
Этот оператор называют оператором цикла с постусловием. Выполняется оператор Do...Loop следующим образом. Если условие имеет значение False, выполняются все операторы после инструкции Do. Затем управление передается инструкции Until и вновь проверяется условие. Если условие по-прежнему имеет значение False , процесс повторяется. Если оно имеет значение True, управление передается следующему за инструкцией Loop Until оператору. В связи с этим элемент условие здесь является условием выхода из цикла.
Часто при составлении макроса заранее известно количество повторений группы операторов, в таких случаях можно использовать инструкцию For...Next.
Оператор For...Next используется для выполнения наборов операторов указанное число раз. Циклы For используют в качестве счетчика переменную, значение которой увеличивается или уменьшается при каждом выполнении цикла на указанное значение.
Синтаксис:
For счетчик = начало То конец [step шаг]
[операторы]
Next [ счетчик]
Счетчик — обязательный элемент. Это должна быть числовая переменная. Она не может иметь тип Boolean или быть элементом массива.
Начало — обязательный элемент, содержит начальное значение переменной счетчик.
Конец — обязательный элемент, содержит конечное значение переменной счетчик.
Шаг — элемент необязательный, это значение, на которое изменяется счетчик при каждом выполнении тела цикла. Если это значение не задано, по умолчанию шаг равен единице. Шаг может быть как положительным, так и отрицательным.
Операторы— необязательный элемент. Один или несколько операторов между For и Next, которые выполняются указанное число раз.
Инструкция For...Next работает следующим образом: начальное значение элемента счетчик сравнивается с конечным значением. Если шаг положителен и начальное значение меньше конечного или если шаг отрицателен и начальное значение больше конечного, то управление передается внутрь тела цикла. После выполнения всех операторов в теле цикла значение шаг добавляется к текущему значению переменной счетчик. После этого операторы тела цикла либо выполняются еще раз (на основе того же условия, которое привело к начальному выполнению цикла), либо цикл завершается и выполнение продолжается с оператора, следующего за Next.
Допускается вложение циклов For...Next (один цикл For...Next располагается внутри другого). Счетчик каждого цикла должен иметь уникальное имя.
Пример. Составить таблицу значений функции y=x2 на отрезке [2,8] с шагом 0.5.
Программа
Sub Tablica()
Dim x, y As Double, i As Integer
i = 1
Cells(1, 1) = "X": Cells(1, 2) = "Y"
For x = 2 To 8 Step 0.5
y = x ^ 2
i = i + 1
Cells(i, 1) = x: Cells(i, 2) = y
Next x
End Sub
Пример. Вычислить сумму квадратов n чисел: 1,4,9,16,25,… . Число n задать произвольно при вводе.
Программа
Sub sum()
Dim n, i As Integer, s As Double
n = Val(InputBox("Введите количество слагаемых n"))
s = 0
For i = 1 To n
s = s + i ^ 2
Next i
MsgBox ("Сумма s=" + Str(s#))
End Sub
Пример. Вычислить произведение квадратов n чисел: 1,4,9,16,25,… . Число n задать произвольно при вводе.
Программа
Sub Proiz()
Dim n, i As Integer, p As Double
n = Val(InputBox("Введите количество слагаемых n"))
p = 1
For i = 1 To n
p = p * i ^ 2
Next i
MsgBox ("Произведение p=" + Str(p#))
End Sub
Вложенные циклы. Внутри одного цикла могут находиться один или несколько других циклов. В этом случае охватывающий цикл называется внешним, а вложенные в него циклы называются внутренними. Правила организации как внешнего, так и внутренних циклов аналогичны правилам организации простого цикла. Параметры внешнего и внутреннего циклов изменяются не одновременно, т. е. при одном значении параметра внешнего цикла параметр внутреннего последовательно принимает все возможные значения. При организации вложенных циклов необходимо следить за тем, чтобы область действия внутреннего цикла не выходила за область действия внешнего цикла.
Пример. Составить таблицу значений функции на отрезке [1,4] c шагом h=0.5.
Программа
Sub VlCircle()
Dim x, s, a, b, h As Double, i, n, k As Integer
a = Val(InputBox("Введите а"))
b = Val(InputBox("Введите b"))
h = Val(InputBox("Введите шаг h"))
n = Val(InputBox("Введите количество слагаемых n"))
k = 1
Cells(1, 1) = "X": Cells(1, 2) = "S"
For x = a To b Step h
s = 0
For i = 1 To n
s = s + x / i
Next i
k = k + 1
Cells(k, 1) = x: Cells(k, 2) = s
Next x
End Sub
Массивы. Массивом называется последовательность величин одного типа данных, обозначаемая одним именем. Чтобы получить доступ к нужному элементу массива, нужно указать имя массива и индекс этого элемента. Имя массива образуется так же как имя переменной. Различают одномерные и двумерные массивы. Одномерный массив – это список переменных, двумерный массив – таблица, имеющая строки и столбцы. Элементы одномерного массива снабжаются одним индексом, заключенным в круглые скобки. Он определяет порядковый номер элемента в массиве. Элементы двумерного массива снабжаются двумя индексами, заключенными в квадратные скобки и разделенными запятой. Первый индекс номер строки, второй - номер столбца, на пересечении которых расположен элемент в таблице (матрице). Например, A(5)=3, B(2,3)=6. Все используемые массивы должны быть описаны до их использования в программе.
Оператор описания DIM применяется для описания переменных и выделения для них памяти.
Синтаксис:
Dim имя переменной [(индексы)] [As тип]
Имя переменной — обязательный элемент, содержит имя переменной;
Индексы — необязательный элемент. Если индексы отсутствуют, то описана простая переменная;
Тun — необязательный элемент, это тип данных переменной. Если тип данных не указан, по умолчанию переменная получает тип Variant.
Пример.
Dim Num As Integer ‘явно объявляет переменную целого типа.
Если необходимо описать массив, то с помощью индексов указывается размерность массива.
Пример.
Dim B(3,3) As Single
Dim A(11) As Integer
Первый оператор объявляет двумерный массив 3х3 матрицу, состоящую из действительных чисел. Второй оператор объявляет одномерный массив (вектор) из 12 целых чисел, причем по умолчанию первый элемент массива будет А(0), а последний А(11). В этом случае говорят, что 0 - базовый индекс. Можно изменить базовый индекс, написав в области описания модуля инструкцию Option base 1. После этого индексы массивов будут нумероваться с единицы. Другим способом изменения базового индекса является использование ключевого слова To при объявлении массива.
Пример.
Dim B(1 To 3, 1 To 3) As Single
Dim A(1 To 12) As Integer
Массив в программе можно определить поэлементно.
Пример.
Dim B(1 To 2, 1 To 3) As Single
B(1,1)=2: B(1,2)=5: B(1,3)=4:
B(2,1)=7: B(2,2)=1: B(2,3)=3
Для определения одномерных массивов можно использовать функцию Array, преобразующую список элементов, разделенных запятыми, в вектор из этих значений, и присваивающую им тип Variant.
Пример.
Dim A As Variant
A= Array(10,40,60)
Здесь A(0)=10, A(1)=40, A(2)=60.
Удобным способом ввода/вывода массивов является использование рабочего листа Excel. Исходный массив считывается из соответствующих ячеек рабочего листа, выводится массив также в ячейки рабочего листа. В этом случае используется оператор цикла For…Next и свойство Cells() для указания конкретного местоположения элемента массива. Если макрос написан для того же рабочего листа, где располагаются элементы массива, то указание на выбор этого рабочего листа можно опускать.
Рассмотрим примеры реализации некоторых алгоритмов обработки массивов.
Пример. Дан массив A из пяти чисел. Найти максимальный элемент массива и его индекс.
Программа
Sub Massiv()
Dim a(5) As Single
Dim max As Single, i, k As Integer
'ввод массива
For i = 1 To 5
a(i) = Cells(1, i + 1)
Next i
max = a(1)
k = 1 'индекс максимального элемента
For i = 1 To 5
If max < a(i) Then max = a(i): k = i
Next i
MsgBox ("Максимальный элемент=" + Str(max!))
MsgBox ("Индекс максимального элемента k=" + Str(k))
End Sub
Пример. Дан массив А из пяти чисел. Найти количество положительных элементов массива.
Программа
Sub Kol()
Dim a(5) As Single
Dim i, k As Integer
For i = 1 To 5
a(i) = Cells(1, i + 1)
Next i
k = 0
For i = 1 To 5
If a(i) > 0 Then k = k + 1
Next i
MsgBox ("Количество положительных элементов k=" + Str(k))
End Sub
Пример. Дан вектор А(5). Найти элементы вектора В(5) по следующему правилу: bi=sin(ai),I=1,…5.
Программа
Sub NewMassiv()
Dim a(5), b(5) As Single
Dim i As Integer
'ввод массива a(5)
For i = 1 To 5
a(i) = Cells(1, i + 1)
Next i
For i = 1 To 5
b(i) = Sin(a(i))
Next i
'вывод нового массива b(5)
Cells(3, 1) = "Массив b(5)"
For i = 1 To 5
Cells(3, i + 1) = b(i)
Next i
End Sub
Пример. Найти скалярное произведение двух векторов А(5) и С(5).
Программа
Sub SkalProiz()
Dim a(5), c(5) As Single
Dim i As Integer, s As Single
'ввод массива a(5)
For i = 1 To 5
a(i) = Cells(1, i + 1).Value
Next i
'ввод массива c(5)
For i = 1 To 5
c(i) = Cells(7, i + 1).Value
Next i
s = 0
For i = 1 To 5
s = s + a(i) * c(i)
Next i
MsgBox ("Скалярное произведение s=" + Str(s))
End Sub
Пример. Дана матрица А(2,3). Найти минимальный элемент.
Программа
Sub MinMat()
Dim a(2, 3) As Single
Dim min As Single, i, j As Integer
'ввод матрицы
For i = 1 To 2
For j = 1 To 3
a(i, j) = Cells(i + 1, j)
Next j
Next i
min = a(1, 1)
For i = 1 To 2
For j = 1 To 3
If a(i, j) < min Then min = a(i, j)
Next j
Next i
MsgBox ("Минимальный элемент min=" + Str(min))
End Sub
Пример. Дана матрица А(2,3) и вектор В(3). Найти произведение А*В.
Программа
Sub UmnMatNaVec()
Dim a(2, 3) As Single, b(3) As Single, c(2) As Single
Dim s As Single, i, j As Integer
'ввод матрицы
For i = 1 To 2
For j = 1 To 3
a(i, j) = Cells(i + 1, j)
Next j
Next i
'ввод массива
For i = 1 To 3
b(i) = Cells(4, i + 1)
Next i
For i = 1 To 2
s = 0
For j = 1 To 3
s = s + a(i, j) * b(j)
Next j
c(i) = s
Next i
'вывод нового массива b(5)
Cells(6, 1) = "Массив c(2)"
For i = 1 To 2
Cells(6, i + 1) = c(i)
Next i
End Sub
Подпрограммы и функции. При разработке макросов часто требуется выполнять одни и те же законченные действия в различных его частях. Чтобы избежать многократного набора кода для этих действий, целесообразно описать их в виде подпрограммы и обращаться к ней по мере необходимости. Различают подпрограммы-процедуры и подпрограммы-функции. Описываются подпрограммы при помощи инструкций Sub...End Sub— это подпрограмма-процедура, инструкций Function...End Function — это подпрограмма-функция.
Подпрограмма Function и подпрограмма Sub являются самостоятельной программой, которая может получать аргументы, выполнять последовательность операторов и изменять значения своих аргументов. Различие между процедурами и функциями состоит в том, что функция всегда возвращает значение и процедура Function может применяться в правой части выражения, как и любая другая встроенная функция, например, Sqr, Cos или Chr, а процедура Sub не может. Для работы подпрограммам иногда необходимо передать данные, которые носят названия параметров или аргументов подпрограммы. Параметры передаются в подпрограммы при ее вызове при помощи перечисления их после имени подпрограммы. При этом описание действий в подпрограмме осуществляется с использованием формальных параметров. Обращение к подпрограмме осуществляется с фактическими параметрами, которые должны соответствовать формальным по числу, типу и месту расположения.
Оператор Sub...End Sub описывает имя, аргументы и текст программы, составляющий тело процедуры Sub.
Синтаксис инструкции:
Sub имя [(слисока аргументов)]
операторы
End Sub
Имя — обязательный элемент, это имя процедуры Sub, удовлетворяющее =: стандартным правилам именования переменных.
Список аргументов — необязательный элемент. Список переменных, представляющий параметры, которые передаются в процедуру Sub при ее вызове (формальные параметры). Имена переменных разделяются запятой.
Операторы— любая группа операторов, выполняемых в процедуре Sub, находятся между Sub и End Sub.
Не допускается определение процедуры Sub внутри другой процедуры Sub или Function.
Оператор вызова подпрограмм Call - позволяет обратиться к конкретной процедуре по имени процедуры.
Синтаксис оператора:
Call имя подпрограммы [параметры]
Имя подпрограммы — обязательный элемент, содержит имя вызываемой процедуры.
Параметры — необязательный элемент, это разделяемый запятыми список переменных, массивов или выражений, передаваемых в процедуру (фактические параметры).
Для передачи в процедуру полного массива следует воспользоваться именем массива с пустыми скобками.
Оператор Function...End Function описывает имя, аргументы и текст программы, составляющий тело подпрограммы - функции Function.
Синтаксис инструкции:
Function имя [(список аргументов)] [As тип]
операторы
[имя = выражение]
End Function
Имя — обязательный элемент. Содержит имя подпрограммы-функции Function, удовлетворяющее стандартным правилам именования переменных.
Список аргументов — необязательный элемент, это список переменных, представляющий параметры, которые передаются в подпрограмму Function при ее вызове (формальные параметры). Имена переменных разделяются запятой.
Тun — необязательный элемент. Тип данных значения, возвращаемого подпрограммой Function.
Операторы— элемент, содержащий любую группу операторов, выполняемых внутри процедуры Function.
Выражение — возвращаемое значение подпрограммой Function.
Использование подпрограммы Function (нестандартной функции) аналогично использованию стандартных функций. Обращение к ней можно записать, например, в правой части оператора присваивания, при этом указываются имя подпрограммы - функции и в круглых скобках фактические параметры т. е. список аргументов, заменяющих формальные параметры в операторе Function
Пример. Вычислить полярные координаты точки, если известны ее декартовы координаты. Связь полярных и декартовых координат определяется по формулам: x=R Cosa ; y=R Sina .
Программа
Sub PolKoord()
Dim x As Double, y As Double
Cells(1, 7) = "Полярные координаты"
Cells(1, 7).Interior.ColorIndex = Int(Rnd * 10)
x = Val(InputBox("Введите x"))
y = Val(InputBox("Введите y"))
Cells(2, 7) = "Радиус"
Cells(2, 8) = Radius(x, y)
Cells(3, 7) = "Угол"
Cells(3, 8) = Ugol(x, y)
End Sub
Function Radius(x As Double, y As Double) As Double
Radius = (x ^ 2 + y ^ 2) ^ (1 / 2)
End Function
Function Ugol(x As Double, y As Double) As Double
Dim I1, I2, I3 As Boolean
Ugol = Atn(y / x) * 180 / (3.14152654)
I1 = x < 0 And y > 0
I2 = x < 0 And y < 0
I3 = x > 0 And y < 0
If I1 Or I2 Then Ugol = Ugol + 180
If I3 Then Ugol = Ugol + 360
End Function
Пример. Решить систему уравнений методом Гаусса.
Программа
Sub Method()
Dim a(3, 4), x(3), a1(3, 3)
n = 3
For i = 1 To n
For j = 1 To n + 1
a(i, j) = Cells(i + 1, j)
Next j
Next i
For k = 1 To n - 1
Call max(a(), n, k)
Call gauss(a(), n, k)
Next k
Call obr(a(), n, x())
Cells(6, 1) = "Вектор x"
For i = 1 To n
Cells(6, i + 1) = x(i)
Next i
End Sub
Sub max(a(), n, k)
h = Abs(a(k, k))
For i = k To n
If Abs(a(i, k)) > h Then h = Abs(a(i, k)): l = i
Next i
For j = 1 To n + 1
s = a(k, j): a(k, j) = a(l, j): a(l, j) = s
Next j
End Sub
Sub gauss(a(), n, k)
For i = k + 1 To n
d = a(k, k)
w = a(i, k)
For j = k To n + 1
a(i, j) = a(i, j) - a(k, j) / d * w
Next j
Next i
End Sub
Sub obr(a(), n, x())
x(n) = a(n, n + 1) / a(n, n)
For k = n - 1 To 1 Step -1
s = 0
For j = k + 1 To n
s = s + a(k, j) * x(j)
Next j
x(k) = (a(k, n + 1) - s) / a(k, k)
Next k
End Sub
Используемая литература
2. Алексеева И.В. Сборник задач и упражнений по курсу «Информатика». – Обнинск: Обнинский институт атомной энергетики, 2007.
3. Власов В.К., Королев Л.Н. Элементы информатики./ Под. Ред. Л.Н. Королева.- М.: Наука, 2008 г.
4. Информатика.- / Под ред. Н.В. Макаровой. – М.: Финансы и статистика, 2007. – 768 с.
5. Информатика: Учебник для вузов.- / Под ред. С.В. Симоновича. – СПб.: Питер, 2008.
6. Кураков Л.П., Лебедев Е.К. Информатика. – М.: Вуз и школа, 2009. – 636с.
7. Могилев и др. Информатика: Учебное пособие для вузов / А.В.Могилев, Н.И.Пак, Е.К.Хеннер; Под ред. Е.К. Хеннера. - М.: Изд. центр "Академия", 2008
8. Острейковский В.А. Информатика. – м.: Высшая школа, 2007.- 512с.
9. Першиков В.И., Савинков В.М. Толковый словарь по информатике. – 2-е изд. Доп. – М.: Финансы и статистика, 2008.
10. Фигурнов В.Э. IBM PC для пользователей. – М.: 2007.
11. Якубайтис Э.А. Информационные сети и системы: Справочная книга.- М.: Финансы и статистика, 2008
12. www.intuit.ru
13. www.makarova.piter.ru
Приложение 1. Задания для Microsoft Word
Задание 1
1. Установите следующие параметры страницы: ориентация Альбомная, верхнее поле 1 см, нижнее — 4 см, левое — 1см, правое — 10 см.
2. Создайте автозамену фразы MS Word на Microsoft Word .
3. Установите автоматическую расстановку переносов.
4. Наберите предложенный текст.
MS Word
MS Word на глазах завоёвывает всемирную популярность. Конечно, можно использовать MS Word только для написания писем, предложений и заметок, но с помощью того же Microsoft Word вы сможете создать отчёт, брошюру, газету или даже Web-страницу, на которую легко поместить данные электронных таблиц, диаграммы из Excel, слайды из Power Point и адреса из Access.
Если вы не любите печатать, не любите писать или провалили экзамен по русскому языку ещё в школе, вы, наверняка, обрадуетесь возможности с помощью MS Word превратить ваш ПК в своего личного секретаря.
С помощью таких средств MS Word, как проверка орфографии, проверка грамматики и словарь синонимов (Тезаурус), вы сможете выразить свои непричёсанные мысли в виде убедительных слов и предложений, которые поймёт даже ваш преподаватель. MS Word — это интересно!Изучайте MS Word!
5. Исправьте все ошибки (орфографические, синтаксические, лексические).
6. Добавьте в словарь незнакомые слова (если такие будут).
7. Подберите синонимы для выделенных слов.
8. Перед вторым и третьим абзацами вставьте символ «J».
9. Сделайте сноски - расшифровки для слов «ПК» и «Microsoft Word».
Задание 2
1. Используя вставку символов создайте следующую запись:
' номер моего телефона ……………………..
È номер моего сотового ……………………….
* пишите мне по адресу……………………….
J всем привет!!!
2. Создайте нумерованный список (Форматà Список) из пяти пунктов следующего вида:
a) ……………….
b) ……………….
3. Создайте маркированные списки из пяти пунктов следующего вида:
U ………………
L ………………
4. Создайте любой многоуровневый список.
Используя режим табуляции[3], создайте оглавление с заполнителем (……….) следующего вида:
1. Введение............................................................. ............ стр. 2
2. Программное обеспечение................................ стр. 3
2.1. Системные программы........................... стр. 4
2.2. Прикладные программы........................ стр. 6
2.2.1. Пакет MS Office........................... стр. 7
2.2.1.1. Microsoft Word ............. стр. 10
2.2.1.2. Microsoft Excel.............. стр. 13
2.2.1.3. Microsoft Access............ стр. 16
2.2.2. Adobe Photoshop......................... стр. 18
2.3. Языки программирования...................... стр. 20
3. Заключение......................................................... стр. 25
Включите режим отображения непечатных символов ¶. Покажите, какие непечатные символы в этом режиме используются для отображения клавиш Пробел, Enter, Tab.
Задание 3
Наберите предложенный текст.
Примените форматирование к отдельным символам и абзацам (Форматà Шрифт и Форматà Абзац).
2.1. Заголовок:
2.1.1. П (Arial, 48 пт (пунктов), полужирный, чёрный цвет, контур с тенью);
А (Arial, 14 пт, курсив, полужирный);
Р (Courier New, 48 пт, полужирный);
О (Arial, 24 пт, белый цвет, приподнятый);
Л (Times New Roman, 36 пт, полужирный);
И (Arial, 36 пт, полужирный, верхний индекс, выделение серым цветом).
Межсимвольный интервал заголовка — разреженный на 12 пт.
Интервалы между абзацами — 6 пт.
2.4. 1-й абзац — использована Буквица.
Й абзац — межстрочный интервал двойной с отступом первой строки.
Й – 6-й абзацы — использована маркировка каждого абзаца символом Y, шрифт – Arial, 12 пт.
Й абзац — выступ первой строки и граница для всего абзаца.
Й абзац — выравнивание по правому краю.
Организуйте сноску-объяснение для слова «взломан».
Отдельно раскопируйте фразу «Не используйте пароли короче 6-8 символов», используя шрифты Arial, Times New Roman, Courier New, Comic Sans. Запомните их особенности.
5. Используя верхний или нижний индекс, наберите следующее:
5.1. Н2О, Н2SO4, 82+316=
5.2. Пиши в вышестоящие инстанции МЫ ниже подписавшиеся
Вставьте перед текстом вверху справа дату и время. Произведите нумерацию страниц внизу по центру.
7. Добавьте на страницу рамку (Форматà Границы и Заливкаà Страницаà Рисунок).
Пароли
П |
Арольная защита информации является наиболее распространённой. Вы с ней сталкиваетесь везде: входя в сеть, проверяя почту, заглядывая на закрытый сайт… Но есть у паролей и одно неприятное свойство: их надо запоминать. А человек, наоборот, любит забывать, причём, как правило, в самый неподходящий момент.
Поэтому пароли часто записывают на бумажку или используют один и тот же «любимый» пароль всюду, что в значительной степени повышает риск того, что он будет «взломан». Осмелимся дать несколько советов, которые, возможно, смогут облегчить жизнь не только вам, но и системному администратору:
U Постарайтесь избегать таких «сложных» паролей, как ваше имя, имя вашей собаки, день рождения и т.п.
U Не стоит в качестве пароля использовать осмысленные слова – при подборе пароля по словарю такой пароль «ломается» очень быстро.
U Если уж вы записали пароль на бумажку (чего делать не рекомендуется), то хотя бы запишите его в обратном порядке.
U Не используйте пароли короче 6-8 символов.
Ну а если всё-таки вы собрались придумать пароль самостоятельно, то выберите какое-нибудь запоминающееся предложение и образуйте пароль из него, например «Круглосуточное бесплатное кафе длястудентов» è и пароль «Крубекадляст»
УДАЧИ ВАМ! Mr. New Холмс J
Задание 4
1. Наберите предложенные тексты.
2. Добавьте границы к абзацам.
3. Отформатируйте абзацы, используя Форматную кисть.
ВНИМАНИЕ, РУКОВОДИТЕЛИ!
Хотите повысить трудоспособность Вашего коллектива?
Санаторий «Жемчужный» круглый год приглашает
САДАМ ЦВЕСТИ
Чёрная смородина
Чёрная смородина является самой популярной культурой в садах Сибири. Она ценится садоводами Сибири за высокое содержание в ягодах витамина С, а также А, В, В2, В6 и т. д. Чёрную смородину принято считать технической культурой.
Из её ягод готовят высококачественные варенья, джемы, мармелады, соки, компоты, прохладительные напитки. Как лечебный продукт питания ягоды чёрной смородины используются в качестве профилактического средства против сердечно-сосудистых, инфекционных и лучевых заболеваний.
Основные сорта чёрной смородины Красноярского края: Дружная, Зоя, Синяя, Бия, Память Шукшина.
Крыжовник
Крыжовник нередко называют «северным виноградом». И, действительно, по содержанию в ягодах сахара некоторые сорта крыжовника не уступают винограду.
Крыжовник является культурой умеренного климата. Для него предпочтительны хорошо освещённые и защищённые от ветров участки в верхней или средней части склона.
В итоге многолетней работы в Красноярской и Минусинской опытных станциях садоводства отобраны лучшие сорта для края: Муромец, Челябинский Зелёный, Красный Крупный.
Малина
Ягоды малины издавна являются лакомством у населения. Из них готовят соки, компоты, вина, настойки, используют для сушки, замораживания.
Ценится малина и как лекарственное растение. Отвар из сушеных ягод используют в народной медицине при лечении ревматизма, малокровия, кори, экзем.
В Красноярском крае районированы сорта: Новость Кузьмина, Вислуха, Ласка, Полянка.
САДАМ ЦВЕСТИ
ЧЁРНАЯ СМОРОДИНА
Ч |
ёрная смородина является самой популярной культурой в садах Сибири. Она ценится садоводами Сибири за высокое содержание в ягодах витамина С, а также А, В, В2, В6 и т.д. Чёрную смородину принято считать технической культурой. Из её ягод готовят высококачественные варенья, джемы, мармелады, соки, компоты, прохладительные напитки. Как лечебный продукт питания ягоды чёрной смородины используются в качестве профилактического средства против сердечно-сосудистых, инфекционных и лучевых заболеваний. Основные сорта чёрной смородины Красноярского края: Дружная, Зоя, Синяя, Бия, Память Шукшина.
КРЫЖОВНИК
К |
рыжовник нередко называют «северным виноградом». И, действительно, по содержанию в ягодах сахара некоторые сорта крыжовника не уступают винограду. Крыжовник является культурой умеренного климата. Для него предпочтительны хорошо освещённые и защищённые от ветров участки в верхней или средней части склона. В итоге многолетней работы в Красноярской и Минусинской опытных станциях садоводства отобраны лучшие сорта для края: Муромец, Челябинский Зелёный, Красный Крупный.
МАЛИНА
Я |
годы малины издавна являются лакомством у населения. Из них готовят соки, компоты, вина, настойки, используют для сушки, замораживания. Ценится малина и как лекарственное растение. Отвар из сушеных ягод используют в народной медицине при лечении ревматизма, малокровия, кори, экзем. В Красноярском крае районированы сорта: Новость Кузьмина, Вислуха, Ласка, Полянка.
Задание 5
1. Наберите текст.
2. Отформатируйте его по следующим параметрам:
· Установите шрифт Bookman Old Style, 14 пт, курсив, синего цвета, межсимвольный интервал разреженный на 2 пт.
· Абзацы — отступ справа и слева 0,5 см, отступ первой строки 1,5, выравнивание по ширине.
· Для первого абзаца используйте Буквицу (Форматà Буквица).
3. Добавьте две Сноски (Вставкаà Ссылкаà Сноска)
· Заповедник Столбы расположен между 55°38 – 55°58 северной широты и 92°20 и 93°20 восточной долготы.
· Сборник «Енисей в стихах и легендах» (из материалов собирательницы сибирского фольклора М.В. Красножёновой). Красноярск, 1940.
4. Перед сносками вставьте символ G
5. Добавьте Колонтитулы (Видà Колонтитулы):
· верхние — «Красноярские Столбы»;
· нижние — «Край причудливых скал».
6. В нижний правый угол вставьте номер страницы
Было это в глубокой древности. Жил в Сибири своенравный могучий царь Енисей. На гордо поднятой голове носил он прекрасную ледовую корону Саян.
Много дочерей имел Енисей, но самыми прекрасными были Базаиха и Лалетина.
Однажды приехал к царю со своей свитой богатырь, князь Такмак, сватать Лалетину. А Енисей хотел выдать Базаиху — старшей дочерью она была. Но наотрез отказался князь Такмак от такой невесты – слишком уж сварливой и капризной слыла она.
Рассердился тогда Енисей и, поднявшись во весь свой богатырский рост, сказал: «Коль так, — быть тебе, князь Такмак, и всем твоим богатырям каменными столбами. А своих дочерей я сделаю речками, и будете вы стоять подле них веки вечные».
Сказал — и так свершилось. Но слишком высоко к солнцу поднял свою гордую голову царь. Растаял от солнца его ледяной шлем, и сам Енисей превратился в могучую реку.
Так о происхождении красноярских «Столбов» рассказывается в народной легенде, обработанной известным красноярским писателем Николаем Станиславовичем Устиновичем.
Задание 6
1. Используя вставку объектов WordArt и автофигур, создайте объявление.
2. Для фона используйте заливку.
3. Выделите все объекты рисунка и сгруппируйте их в один.
Задание 7
1. С помощью панели WordArt создайте эмблему с круговой надписью. Для этого создайте отдельно надписи «Торговая компания» и «ВОКРУГ СВЕТА». Используя кнопку Форма WordArt этой панели, для первой надписи выберите команду Дуга вверх, для второй надписи — Дуга вниз.
2. Самостоятельно попробуйте создать эмблему с надписью «Самая лучшая туристическая компания».
Задание 8
1. Создайте документ, используя нижеприведённый образец.
2. Добавьте необходимые поля форм.
3. При сохранении документа используйте командуСохранить как,дайте имя файлу«Успеваемость»,в поле Тип файла выберите Шаблон документа,в адресной строке укажите личную папку.
4. Закройте шаблон.
5. Создайте новый документ на основе вашего шаблона.
6. Заполните ведомость, проставив данные студента и оценки.
Текущие оценки на
Студент __________________курс _____группа __________
Предмет | Оценка |
Английский язык | |
История | |
Экономическая теория | |
Информатика | |
Основы высшей математики | |
История экономических учений | |
Основы менеджмента |
Подпись методиста___________________ М.п.
Задание 9
1. Создайте шаблон бланка-заказа пиццы по предложенному образцу.
2. Вставьте необходимые поля форм:
поле со списком сформируйте из 3-4 наименований;
поле DATE (текущая дата) для даты поступления заказа;
поле TIME (текущее время) для времени поступления заказа.
3. Обеспечьте защиту формы.
4. Сохраните файл под названием «Пиццерия ФИО» в своей папке.
5. Проверьте действие шаблона.
Пиццерия
НЯМ – НЯМ
Ул. Вавилова, дом 54, офис. 6
Тел.33-24-55
ЗАКАЗ НА ДОСТАВКУ ПИЦЦЫ НА ДОМ /поле TIME /
Дата поступления заказа /ПолеDATE/
Имя | /Текстовое поле/ |
Адрес | /Текстовое поле/ |
Телефон | /Текстовое поле/ |
выбор | ассортимент | |
пицца | /Поле со списком/ | |
напиток | /Поле со списком/ | |
гамбургер | /Поле со списком/ |
предоплата | наличный расчёт |
Задание 10
1. Используя меню Таблица создайте таблицу и заполните её.
Страна | Столица | Достопримечательности | |
Архитектурные | Великие люди | ||
Задание 11
1. Нарисуйте листок объявления в табличной форме с отрывными листочками для телефона следующего содержания:
детский центр «Вундеркинд» приглашает на работу воспитателей. Адрес: Красноярск, ул. Мира 6, офис 231.
' 22-11-33. Ждём Вас
2. Добавьте в объявление подходящую эмблему.
Детский центр "ВУНДЕРКИНД" | |||||||||||
приглашает на работу воспитателей | |||||||||||
Адрес: Красноярск, ул. Мира, 6, офис 231. '22-11-33 J Ждём Вас | |||||||||||
22-11-33 | 22-11-33 | 22-11-33 | 22-11-33 | 22-11-33 | 22-11-33 | 22-11-33 | 22-11-33 | 22-11-33 | 22-11-33 | 22-11-33 | |
Задание 12
1. Вставьте на страницу текущую дату и время. Создайте верхние и нижние колонтитулы: Сибирский федеральный университет и Кафедра Бизнес-информатика (Arial; 10 пт; курсив).
2. Попробуйте создать вот такую таблицу (3 х 3):
Здесь мы использовали обычный шрифт Comic Sans 11 пт. | Шрифт Arial с выравниванием по центру, 12 пт J | А МОЖНО И ТАК ОФОРМИТЬ | ||||
А здесь немного другой шрифт, Courier New, с выравниванием по левому краю | Тут попытались ввести много-много текста. Так, что читать его очень трудно, но всё-таки возможно (8 пт) И даже поместить два абзаца в одну ячейку. | А здесь вовсе безобразие !? | ||||
Вы читали когда-нибудь перпендикулярные тексты? | Если Вам уже плохо от этих таблиц, звоните | U Работы было много L U Но я сделал это J!!! U Я многое могу! U Главное, не останавливаться. | ||||
Задание 13
1. Для создания таблицы сначала сделайте основу из 8 столбцов и 5 строк. А потом смело объединяйте, передвигайте, стирайте или дорисовывайте, выравнивайте по высоте, добавляйте границы и заливку. Выделив таблицу, скройте сетку (Таблицаà Скрыть сетку).Объясните, в чём разница этого режима отображения таблицы с режимом Отобразить сетку.
Вот такая получилась таблица | |||||||||||||||||
Один | Два | Три | Четыре | ||||||||||||||
УРА!! | |||||||||||||||||
Приложение 2. Задания для Microsoft Excel
Задание 1
В ячейку А1 запишите число 5267,468.
Раскопируйте его в диапазоне А2:В6.
Используя формат ячеек, приведите числа к следующему виду:
5267,47 | 5,27Е+03 |
02.06.14. 11:13 | 526746,80% |
5267,5 | 00000-5267 |
11:13:55 АМ | -5267 |
52,67 1/2 |
Задание 2
В ячейку А1 запишите текст СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ.
Скопируйте его в ячейки А2, В3, С4, D5.
Используя формат ячеек и изменение высоты строк и ширины столбцов, приведите текст к следующему виду:
А | В | С | D | |
СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ | ||||
СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ | ||||
СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ | ||||
СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ |
Задание 3
В диапазон ячеек А1:А5 запишите следующие формулы:
=5*8+54/2-10
=5*(8+54)/2-10
=(5*8+54)/2-10
=5*(8+54/2)-10
=5*(8+54/2-10)
Обратите внимание на результат. Объясните, почему так получилось.
В ячейку В1 запишите число 50.
В ячейку В2 запишите число 10.
В ячейку В3 запишите формулу = В1+В2.
В ячейку С2 запишите следующее выражение:
.
В ячейку D1 поставьте число 20, в D2 – 8, в D3 – 4.
В D4 запишите следующее выражение:
.
Задание 4
Создайте таблицу по следующему образцу:
Renta car |
Марка авто | Объем двигателя | Кол-во лошадиных сил | Стоимость в час | Стоимость в сутки | Стоимость в неделю |
Mazda | 2,0 | 95 | |||
Opel | 3,5 | 300 | |||
Toyota | 2,0 | 100 | |||
Mersedes | 4,0 | 350 | |||
Nissan | 1,6 | 75 | |||
Volvo | 3,5 | 250 |
Рассчитайте стоимость часа, суток и недели аренды авто, если известно следующее: стоимость часа считается по формуле:
,
стоимость аренды за сутки снижается на 15 %, а за неделю на 25 %.
Внимание! Расчет стоимости недели производится от стоимости часа.
Задание 5
Было задумано положительное четное число, которое утроили, разделили пополам и еще раз утроили. В результате вычислений получилось 27.
С помощью построения формулы определите, какое число было задумано, создав следующую таблицу:
Введите результат вычисления | Было задумано число |
Задание 6
Немецкий физик Г. Фаренгейт в 1724 году предложил температурную шкалу, названную его именем. Температура по шкале Фаренгейта связана с температурой по шкале Цельсия соотношением: .
Составьте таблицу, переводящую температуру воздуха, измеренную по шкале Цельсия, в температуру по шкале Фаренгейта.
-35 | |
-14 | |
Задание 7
Составьте формулы для нахождения процентов от общего и внесите изменения в незаполненные ячейки таблицы.
Поверхность земного шара | Северное полушарие | Южное полушарие | Земля в целом | |||
в млн кв. км | в % | в млн кв. км | в % | в млн кв. км | в % | |
Суша | 100,41 | 48,43 | ||||
Вода | 154,64 | 206,62 | ||||
Всего |
Задание 8
Рассчитайте курс доллара на второй, третьей и четвертой неделе, если известно, что на 2-й неделе он на 2% больше чем на первой; курс доллара на третьей неделе уменьшился на один рубль по сравнению со второй неделей, а на четвертой неделе стал в два раза меньше, чем на третьей неделе. В зависимости от рассчитанного курса доллара определите стоимость товаров в рублях на каждой неделе.
Название товара | Стоимость $ | 1-я неделя | 2-я неделя | 3-я неделя | 4-я неделя |
Товар 1 | $586 | ||||
Товар 2 | $890 | ||||
Товар 3 | $460 | ||||
Товар 4 | $1090 | ||||
Товар 5 | $640 | ||||
Товар 6 | $550 | ||||
1-я неделя | 2-я неделя | 3-я неделя | 4-я неделя | ||
Курс $ | 29,00руб |
Задание 9
Рассчитайте заработную плату для сотрудников, если известно, что:
начисление = ставка/количество рабочих дней × количество отработанных дней;
профсоюзный налог = начисление × 1%;
пенсионный = начисление × 1%;
подоходный налог = (начисление – минимальная заработная плата) × 12%;
сумма к выдаче = разность между начислением и суммой налогов с авансом.
Внесите произвольную сумму аванса каждому работнику.
Кол-во рабочих дней в месяце | Минимальная з/п | 100р. | ||||||||
№ | ФИО | Кол-во отработанных дней | Ставка | Начисление | Налоги | Аванс | Сумма к выдаче | |||
Проф | Пенс. | Подох. | ||||||||
1. | Иванов А.Ф. | 2500р. | ||||||||
2. | Иванова Е.П. | 6000р. | ||||||||
3. | Китова В.К. | 1500р. | ||||||||
4. | Котов И.П. | 980р. | ||||||||
5. | Круглова А.Д. | 5250р. | ||||||||
6. | Леонов И.И. | 1500р. | ||||||||
7. | Петров М.В. | 3000р. | ||||||||
8. | Сидоров И.А. | 1500р. | ||||||||
9. | Симонов К.Е. | 2900р. | ||||||||
10. | Храмов А.К. | 7000р. | ||||||||
11. | Чудов Е.Н. | 4650р. | ||||||||
12. | Яблоков Е.Г. | 3900р. | ||||||||
Задание 10
Создайте следующую таблицу:
Стоимость номеров в гостинице «Турист»
Количество дней | Люкс | 1 местный | 2-х местный | 3-х местный |
Питание (1 раз) | $10 |
Проживание в сутки | $97 |
Присвойте имена ячейкам, содержащим стоимость питания и проживания.
Рассчитайте стоимость проживания 1- ого человека в номерах гостиницы, если известно:
· Стоимость каждого складывается из стоимости трех разового питания и проживания;
· Проживание в номере люкс на 5 % дороже;
· Проживание в одноместном номере на 2% дороже;
· В двухместных и трехместных номерах проживание делится на количество человек в номере.
Задание 11
Создайте таблицу по образцу:
№ п/п | Наименование товара | Партия | Оптовая цена за 1 шт. | Цена в розницу за 1 шт. | Доход | Общий доход |
Матрешка | 150,00 руб | |||||
Олимпийский мишка | 20,50 руб | |||||
Самовар | 1070,00 руб | |||||
Короб из бересты | 48,20 руб | |||||
Резная шкатулка | 120,00 руб | |||||
Соломенная корзинка | 37,80 руб | |||||
Шкатулка из мельхиора | 350,00 руб | |||||
Колокольчик | 57,00 руб | |||||
Ручка деревянная, резная | 49,90 руб | |||||
Картина «Русская зима» | 5560,00 руб |
Используя массивы, рассчитайте розничную цену сувениров, если известно, что она выше оптовой на 17%. Исходя из полученных данных, определите доход фирмы от 1-ого изделия, а потом общий доход от партии сувениров.
ВНИМАНИЕ!!
Для того, чтобы рассчитать массив:
· Выделите диапазон, в который должны быть помещены результаты вычисления;
· В первую ячейку запишите формулу с использованием диапазонов, необходимых при расчетах;
· Нажмите комбинацию клавиш SHIFT+CTRL+ENTER.
Задание 12
Создайте таблицу по образцу:
Приход | Расход | Остаток | |||||||
№ п/п | Отдел | Наименование товара | Единицы измерения | Цена прихода, руб | кол-во прихода | Цена расхода | Кол-во расхода | Кол-во остатка | Сумма остатка |
Кондитерский | Зефир в шоколаде | Упаковка | 23,00 | ||||||
Молочный | Молоко | Упаковка | 6,90 | ||||||
Мясной | Колбаса «Докторская» | 1 кг | 58,00 | ||||||
Мясной | Сосиски | 1 кг | 36,00 | ||||||
Кондитерский | Шоколад «Вдохновение» | 1 шт. | 12,00 | ||||||
Вино-водочный | Пепси-кола | Бутылка - 0,33л | 6,70 | ||||||
Кондитерский | Набор шоколадных конфет | Упаковка | 45,00 | ||||||
Кондитерский | Чупа-чупс | 1 шт. | 1,30 | ||||||
Хлебобулочный | Хлеб турецкий | 1 шт. | 4,00 | ||||||
Хлебобулочный | Хлеб ржаной | 1 шт. | 2,30 | ||||||
Кондитерский | Халва | Упаковка | 16,00 |
Рассчитайте цену расхода, количество остатка и сумму остатка по следующим формулам:
цена расхода = цена прихода + 12%накрутка;
количество остатка = количество прихода – количество расхода;
сумма остатка = цена прихода × количество остатка.
Отсортируйте перечень по ключу «Отдел», затем по «Наименование товара».
Измените внешний вид таблицы, оставив в ней графы «Отдел», «Наименование товара», «Единицы измерения», «Количество остатка», «Сумма остатка».
Над списком поставьте функцию текущей даты.
Задание 13
Создайте нижеприведенные таблицы по образцу.
Рассчитайте стоимость тура в рублях.
С помощью функции СУММЕСЛИ определите, сколько денег в $ и рублях потратил каждый клиент на командировки.
Курс $ | 30 руб |
Фамилия | Дата поездки | Страна | Оплата в $ | Оплата в руб. |
Сидоров | Декабрь 2001 | Греция | ||
Петров | Январь 2002 | Франция | ||
Васечкин | Март 2002 | Египет | ||
Иванов | Апрель 2002 | Болгария | ||
Сидоров | Апрель 2002 | Россия | ||
Мышкин | Декабрь 2002 | Турция | ||
Сомов | Июль 2002 | Германия | ||
Васечкин | Июль 2002 | Болгария | ||
Сидоров | Сентябрь 2002 | Россия | ||
Петров | Декабрь 2002 | Египет | ||
Васечкин | Август 2002 | Турция | ||
Иванов | Декабрь 2002 | Греция | ||
Сомов | Декабрь 2002 | Болгария | ||
Мышкин | Февраль 2003 | Россия |
Фамилия | Денег потрачено | |
в $ | в рублях | |
Петров | ||
Сидоров | ||
Васечкин | ||
Иванов | ||
Мышкин | ||
Сомов |
Задание 14
Туристической фирме «Заплати и кати» поступил заказ на разработку проекта нового туристического маршрута, подготовить который нужно в определенный срок.
Вашей задачей является:
· Оформить таблицу по образцу;
· Вместо обозначения года ХХ поставить текущий год;
· С помощью функции ДНЕЙ360 определить количество дней отведенных на весь проект;
· Определить количество дней отведенных на каждый этап проекта.
Начало работ | Окончание работ | Количест-во дней | |
22.02.ХХ | 06.07.ХХ |
Этап 1 | Этап 2 | Этап 3 | Этап 4 | |
Дата начала | 22.02.ХХ | 03.03.ХХ | 16.05.ХХ | 11.06.ХХ |
Кол-во дней |
Задание 15
Используя функцию ДЕНЬНЕД, определите на какой день недели выпадают предложенные вам праздничные дни.
Вместо обозначения года ХХ поставьте следующий год.
Праздничные дни
Название | Дата | № дня недели |
23 февраля 20ХХ г. | ||
8 марта 20ХХ г. | ||
1 мая 20ХХ г. | ||
9 мая 20ХХ г. | ||
1 января 20ХХ г. | ||
Мой день рождения в 20ХХ г. |
Задание 16
Создайте таблицу по образцу, вставляя вместо обозначения года ХХ текущий год:
Страна | Дата отправления | Дата возвращения | № дня недели отправления | № дня недели возвращения | Количество дней |
Турция | 22.03.ХХ | 06.04.ХХ | |||
Греция | 15.03.ХХ | 22.03.ХХ | |||
США | 10.09.ХХ | 24.09.ХХ | |||
Франция | 18.05.ХХ | 19.06.ХХ | |||
ОАЭ | 27.04.ХХ | 14.05.ХХ | |||
Португалия | 08.06.ХХ | 20.06.ХХ | |||
Египет | 30.08.ХХ | 17.09.ХХ | |||
Германия | 02.02.ХХ | 16.02.ХХ | |||
Италия | 11.11.ХХ | 25.11.ХХ |
С помощью функций даты и времени определите номер дня недели отправления и возвращения, а также количество дней отведенных на всю поездку.
На этом же листе постройте гистограмму, отображающую количество дней, отведенных на каждую поездку.
Задание 17
Оформите таблицу по следующему образцу:
Дни недели | Количество рейсов | 1-й класс | 2-й класс | Выручка за день |
Понедельник | ||||
Вторник | ||||
Среда | ||||
Четверг | ||||
Пятница | ||||
Суббота | ||||
Воскресенье | ||||
Планируемая выручка за неделю | ||||
Максимальная выручка | ||||
Минимальная выручка | ||||
Среднедневная выручка |
Самолет авиакомпании «Аэрофлот» производит рейс Красноярск-Москва. Всего в самолете 1220 посадочных мест. В 1-м классе 405 мест. Места во 2-м классе стоят 856 рублей, а в 1-м в два раза дороже.
Рассчитайте планируемую выручку на каждый день недели и на всю неделю, а также максимальную, минимальную и среднедневную выручку.
Задание 18
Турфирма «Заплати и кати» имеет филиалы в четырех городах России. В конце года происходит премирование филиалов по итогам продаж путевок за каждый месяц. Если сумма выручки превышает 100 000 рублей, то филиалу начисляется премия. Исходя из этого:
· при помощи функции СЧЕТЕСЛИ определите, сколько раз за весь год продажи превышали установленную сумму;
· зная количество продаж свыше определенной суммы, рассчитайте премию для каждого филиала.
Таблицу оформите по следующему образцу.
Задание 20
Филиалу фирмы «Бигус» была выделена недельная материальная помощь в размере 900 рублей. Ее нужно поделить между сотрудниками следующим образом:
· тем сотрудникам, у кого недельный заработок меньше 5 минимальных зарплат, делается доплата до 5 минимальных зарплат;
· остаток материальной помощи делится между всеми сотрудниками, пропорционально зарплате каждого.
Создайте таблицу по следующему образцу:
Материальная помощь | 900 руб. | Минимальная з/п | 100 руб. | ||
Ф.И.О. | Недельная зарплата | Помощь | Итого | ||
максимальная | фактическая | ||||
Петров П. П. | |||||
Сидорова О. О. | |||||
Иванов И. И. | |||||
Васечкин В. В. | |||||
Всего | |||||
Определите максимальную помощь и общую максимальную помощь по следующим условиям:
1. Если зарплата меньше 5 минимальных зарплат, то нужно найти разницу между 5 минимальными зарплатами и недельной зарплатой сотрудника.
2. Если зарплата больше 5 минимальных зарплат, то помощь равна 0.
Зная максимальную и общую максимальную помощь, рассчитайте фактическую помощь по следующим условиям:
1. Если общая максимальная помощь меньше выделенной материальной помощи филиалу, то помощь выдается максимальная.
2. Если общая максимальна помощь больше материальной помощи сотрудника, то помощь уменьшается и делится пропорционально планируемой максимальной помощи по такой формуле: помощь максимальная × материальная помощь /общую максимальную помощь.
3. Если есть остаток, материальная помощь делится между всеми работниками пропорционально их зарплате.
4. Если общая фактическая помощь меньше выделенной материальной помощи, то остаток рассчитывается по формуле: материальная помощь – общая фактическая помощь) / общая зарплата × недельная зарплата сотрудника + фактическая помощь.
5. Если общая фактическая помощь больше материальной помощи, то остается фактическая помощь.
Задание 21
Создайте таблицу расчетов с клиентами за наем автомобилей (для столбцов Взято с, Оплачено по и Дата возврата назначьте пользовательский формат даты вида ДД.МММ. чч:мм):
Коэффициент возврата | 0,5 | |||||||||
Коэффициент доплаты | 1,3 | |||||||||
Тип авто | Цена часа | Взято с | Оплачено по | Оплачено | Дата возврата | Разница | Доплата/ Возврат | |||
часов | сумма | часы | сумма | |||||||
Волга | 02.ноя 10:00 | 12.ноя 00:00 | 18.ноя 05:00 | |||||||
БМВ | 13.ноя 01:30 | 21.ноя 10:00 | 21.ноя 10:00 | |||||||
Рено | 04.ноя 09:06 | 14.ноя 00:00 | 16.ноя 08:00 | |||||||
Ауди | 01.ноя 01:00 | 05.ноя 10:00 | 07.ноя 00:30 | |||||||
ВАЗ | 06.ноя 06:30 | 19.ноя 12:00 | 14.ноя 00:00 |
Зная цену часа, дату, время взятия авто и планируемую дату возврата, вычислите время проката в часах и его стоимость.
Зная фактическую дату возврата, найдите разницу в часах и деньгах.
Если клиент вернул машину раньше оплаченного времени, то ему возвращается некоторая сумма денег (сумма × коэффициент возврата), а если позже, то с него берется недостающая сумма, увеличенная в несколько раз (сумма × коэффициент доплаты) за задержку авто в прокате.
Задание 22
Создайте таблицу по образцу:
Питание пассажиров за каждые 1000 км | 50руб. |
Стоимость 1 км полета | |
До 1000 км | 5руб. |
До 3000 км | 10 % |
Свыше 3000 км | 15 % |
Рейс | Расстояние до пунктов посадки | Длина маршрута | Стоимость питания | Стоимость полета | Доставка в аэропорт | Цена билета | ||
1 пункт | 2 пункт | 3 пункт | ||||||
СПБ - Баку | ||||||||
Москва - Казань | ||||||||
Москва - Рим | ||||||||
Москва - Цюрих | ||||||||
Москва - Одесса | ||||||||
Москва - Калининград | ||||||||
Москва - Воронеж | ||||||||
Уфа - Мурманск |
Средняя длина маршрута |
Вычислите цену авиабилета в зависимости от полной протяженности маршрута до всех пунктов посадок
Всего рейсов | |
из них: | |
С двумя посадками | |
С одной посадкой | |
Беспосадочных |
Цена билета состоит из трех слагаемых:
1. Стоимости питания. Пассажиров кормят каждые 1000 км полета.
Внимание!Используйте формулу с функцией ОКРУГЛВНИЗ.
2. Стоимости перевозки пассажира. Определяется умножением длины маршрута на стоимость одного километра.
Если длина перелета менее 1000 км, то она равна 5 руб. за каждый км.
Если длина перелета от 1000 до 3000 км – цена снижается на 10%.
Если длина перелета свыше 3000 км – цена снижается на 15%.
3. Стоимости доставки в аэропорт. Выполняется только для тех пассажиров, которые следуют на расстояние не менее 3000 км, в размере 100 рублей.
После определения цены авиабилетов, используя статистические функции найдите среднюю протяженность маршрутов; общее количество рейсов; количество рейсов с двумя посадками; количество рейсов с одной посадкой; количество беспосадочных рейсов.
Задание 23
С помощью функции БC вычислите значение суммы на расчетном счете по истечении 10 лет, если в банке было размещено 19 000 руб. под 12 % годовых при условии, что проценты начисляются каждый квартал.
С помощью функции БC определите будущую сумму вклада через 1,5 года, если в конце каждого месяца вкладчик вносит 980 руб. под 26 % годовых.
С помощью функции БC вычислите значение суммы на расчетном счете по истечении 9 лет, если в банке было размещено 30 000 руб. под 15 % годовых при условии, что проценты начисляются каждые полгода и в конце каждого периода вкладчику выплачивается 1000 руб.
С помощью функции ПC определите, какую сумму нужно вложить в банк под 23 % годовых сроком на 10 лет, чтобы накопить 50 000 руб.
С помощью функции ПЛТ определите ежемесячные и ежегодные выплаты по взятому вами кредиту в размере 100 000 руб., вносимые в течение 5 лет, при годовой ставке 22 %.
Задание 24
Оформите таблицы по следующему образцу:
Размер ссуды | Годовой Процент | Кол-во платежей | Ежемесячный платеж | Прибыль | |
Ваша организация оформила для турфирмы «Заплати и кати» кредит в размере 100 000 руб. под 47 % годовых сроком на 2 года.
Определите ежемесячный платеж и прибыль, полученную с этого кредита (%, начисленные за 2 года).
Определите, каким туром вы можете воспользоваться на полученную прибыль. В столбце «Результат» должно стоять «подходит» или «не подходит».
Прайс-лист «Заплати и кати»
Курс $ | |||||||
Страна | Начало тура | Окончание Тура | Кол-во дней | Ст-ть в $ | Ст-ть в руб. | Скидка | Результат |
Греция | 27.07.00 | 04.08.00 | $1200 | ||||
Германия | 20.05.00 | 03.06.00 | $1500 | ||||
Болгария | 01.06.00 | 15.06.00 | $900 | ||||
Чехослова-кия | 08.08.00 | 18.08.00 | $400 | ||||
Италия | 14.07.00 | 01.08.00 | $1900 | ||||
США | 18.05.00 | 10.06.00 | $2800 |
Определите количество дней, отведенных на каждый тур, и стоимость в рублях.
В столбце «Скидка» установите скидку 5 %, если длительность тура равна или превышает 14 дней, в противном случае скидки «нет».
Приложение 3. Задания для Microsoft VBA
Задание 1
Создайте новую рабочую книгу и сохраните ее в своей папке под именем «Платежи».
Добавьте рабочие листы, так, чтобы их было 9.
Первый лист назовите «Данные» и на этом листе создайте следующую таблицу:
Страна | Город | Вид | Платеж | Дата |
РФ | Курск | налично | 5 янв | |
Украина | Киев | через банк | 14 янв | |
Беларусь | Минск | налично | 25 янв | |
Беларусь | Брест | через банк | 9 фев | |
РФ | Москва | через банк | 12 фев | |
РФ | Курск | налично | 20 фев | |
Украина | Киев | через банк | 8 мар | |
Украина | Киев | через банк | 18 мар | |
РФ | Москва | налично | 24 мар | |
РФ | Москва | налично | 26 мар | |
Украина | Львов | налично | 1 апр | |
РФ | Курск | через банк | 6 апр | |
Беларусь | Минск | налично | 8 апр | |
Беларусь | Брест | через банк | 20 апр | |
Беларусь | Минск | через банк | 21 апр | |
РФ | Москва | налично | 25 апр |
Скопируйте эту таблицу на все листы.
Второй лист назовите Сортировка и проведите на нем сортировку данных по столбцу «Страна» (по возрастанию), затем по столбцу «Город» (по возрастанию) и в последнюю очередь по столбцу «Платеж» в порядке убывания.
Третий лист назовите Автофильтр1 и проведите на нем отбор платежей, относящихся к Российской Федерации, сделанных в феврале месяце.
Четвертый лист назовите Автофильтр2 и проведите на нем отбор платежей, превышающих 65 тыс. руб., относящихся к Москве и Минску.
Пятый лист назовите Автофильтр3 и проведите на нем отбор наличных платежей, относящихся к апрелю и поступивших из РФ и Беларуси, превышающих 55 тыс. руб.
Шестой лист назовите Итоги1 и подведите итоги по наличному/безналичному расчету, предварительно отсортировав данные по ключам «Страна» и «Вид платежа» по возрастанию.
Седьмой лист назовите Итоги2 и подведите итоги по месяцам платежей, предварительно установив для столбца «Дата» пользовательский формат вида МММ.
Восьмой лист назовите Сводная таблица1 и постройте на нем сводную таблицу, которая отображала бы суммы платежей по странам и городам. Покажите наличные/безналичные платежи, переместив кнопку Вид на ось страниц.
Девятый лист назовите Сводная таблица2 и постройте на нем сводную таблицу, которая отображала бы суммы помесячных платежей по странам (предварительно в списке присвойте для столбца «Дата» пользовательский формат вида МММ).
Создайте макросы перехода с листа «Данные» на все остальные листы и обратно.
Назначьте макросы на кнопки (панель инструментов «Формы» элемент «Кнопка») с соответствующими названиями.
Откройте созданные макросы в редакторе VBA и проанализируйте программный код процедуры.
Задание 2
Запустите Excel, выберите в меню Сервис->Макрос->Редактор Visual Basic (Alt+F11).
Двойным щелчком на объекте ЭтаКнига откройте окно редактирования макросов. Введите такой текст:
Sub Hello()
MsgBox ("Привет !")
End Sub
Первая строка этого макроса является заголовком процедуры, Hello - имя макроса, по которому его можно вызвать. Во второй строке происходит вызов функции вывода диалогового окна с текстом «Привет !». Третья строка - окончание процедуры.
Теперь запустите этот макрос на выполнение. Выберите команду меню Run->Run Sub/UserForm или нажмите F5. В результате на экране появится следующее окно:
Добавьте на Лист 1 кнопку с названием «Привет» и назначьте на нее созданный макрос.
Задание 3
Для объекта «Лист 1» запишите макрос, добавляющий в ячейку А1 число 2, в ячейку А2 число 3, а в ячейке А3 создающий формулу, суммирующую ячейки А1 и А2. Для этого в редакторе VBA дважды щелкните мышкой по объекту «Лист1» в окне «Project» и введите следующий текст:
Sub summA1andA2()
' Суммирует в ячейке А3 числа добавленные в ячейку А1 и А2
Range("a1").Value = 2
Range("a2").Value = 3
Range("a3").Value = ("=a1+a2")
End Sub
На листе 1 создайте кнопку с названием «Расчет» и присвойте ей созданный макрос.
На этом же листе создайте макрос, очищающий диапазон А1:А3. Для этого в редакторе VBA введите следующий текст:
Sub clear()
' Удаляет значения из диапазона А1:А3
Range("a1:a3").clear
End Sub
Создайте кнопку с названием «Очистить» и присвойте ей созданный макрос.
Запишите макрос, выделяющий диапазон ячеек D5:E7 на листе 1. Для этого в редактор VBA напишите следующий текст:
Sub vibor()
‘ Выделяет ячейки D5:E7
Range("d5:e7").Select
End Sub
Создайте кнопку с названием «Выбор» и присвойте ей созданный макрос.
Задание 4
Создайте макрос, заполняющий диапазон ячеек А1:С5 произвольным числом и подсчитывающий в ячейке С7 сумму всех ячеек. По окончании работы макроса должно появляться диалоговое окно с надписью «Расчет окончен».
Создайте кнопку с названием «Мой макрос» и назначьте на нее созданный макрос.
Задание 5
Напишите программу, суммирующую числа от 0 до указанного целого положительного числа.
Последовательность работы программы:
· Выводится диалоговое окно «InputBox» под названием «Определение суммы чисел»c предложением ввести конечное число;
· После ввода пользователем числа, с помощью цикла происходит суммирование от 0 до введенного числа;
· по окончании суммирования выводится окно «MsgBox» с результатом вычисления;
Для выполнения задания необходимо:
· объявить 3 переменные (1 для конечного числа, 2 для цикла, 3 для суммы);
· назначить переменной 1 объект «InputBox» следующим образом: i = Application.InputBox(prompt:="введите конечное число", Title:="определение суммы чисел");
· с помощью цикла провести суммирование чисел и присвоить результат переменной 3;
· вывести окно «MsgBox» c результатом.
[1] Ряд ЭВМ 1950-х и 1960-х годов (БЭСМ-6, М-220) использовали 6-битовые символы в 48-битовых или 60-битовых машинных словах. В некоторых моделях ЭВМ производстваBurroughs Computer Corporation (англ.) (ныне Unisys (англ.)) размер символа был равен 9 битам. В советской ЭВМ Минск-32 использовался 7-битный байт. 8-битные байты были приняты в System/360, вероятно, из-за использования BCD-формата представления чисел: одна десятичная цифра (0-9) требует 4 бита (тетраду) для хранения; один 8-битный байт может представлять две десятичные цифры. 6-битные байты могут хранить только по одной десятичной цифре, два бита остаются незадействованными. Постепенно 8-битные байты стали стандартом де-факто и с начала 1970-х в большинстве компьютеров байты состоят из 8 бит и размер машинного слова кратен 8 битам.
[2] согласно предложению МЭК, название «петабайт» общепринято, но формально неверно, так как приставка пета-, означает умножение на 1015, а не 250. Правильной для 250 является двоичная приставка пеби-. Таким образом, если используется система СИ, то 1 ПБ = 1015 Б, а если стандарт МЭК 60027-2, то 1 ПБ = 250 Б
[3] При необходимости воспользуйтесь справкой. Введите искомые слова «Табуляция», выберите раздел «Использование позиций табуляции», нажмите кнопку Показать. Изучите разделы: «Установка позиций табуляции», «Удаление или перемещение позиций табуляции», «Табуляция с заполнением»