120103 Лабораторный практикум Информатика 2010

advertisement
Лабораторный практикум по информатике
Часть 1
Авторский коллектив:
С.М. Горбенко (раздел 11), С.Ю. Кацко (раздел 4, 9, 10),
С.А. Егорова (раздел 2), Н.В. Деева (раздел 1),
Н.А. Баландина (раздел 3), Н.П. Артемьева (разделы 4-9)
Лабораторный практикум предназначен для практической подготовки студентов
технических специальностей по базовому курсу «Информатика». Часть первая
лабораторного практикума включает разделы: теоретические основы
информатики; системы счисления; логические основы ЭВМ; технические
средства реализации информационных процессов; операционные системы;
офисный пакет MS Office 2007; основы HTML; компьютерная графика. Данный
материал будет полезен для самостоятельной подготовки студентов к
лабораторным работам.
1
СОДЕРЖАНИЕ
Введение ............................................................................................................... 3
Методические рекомендации по подготовке к лабораторным работам......... 4
Лабораторная работа № 1 Представление информации в ЭВМ ..................... 5
Лабораторная работа № 2 Работа с операционными системами и архитектура
ЭВМ ............................................................................................................ 12
Лабораторная работа № 3 Алгебра логики ..................................................... 25
Лабораторная работа №4 Работа в среде текстового процессора MS Word....
..................................................................................................................... 35
Лабораторная работа № 5 Электронные таблицы MS Excel: ввод данных в
ячейки, копирование данных, форматирование данных, функции ...... 50
Лабораторная работа № 6 Электронные таблицы MS Excel: диаграммы,
графики, условия, функции, макросы ..................................................... 54
Лабораторная работа № 7 Электронные таблицы MS Excel: работа с
матрицами .................................................................................................. 64
Лабораторная работа № 8 Электронные таблицы MS Excel: работа со
списками ..................................................................................................... 70
Лабораторная работа № 9 Работа в среде системы управления
реляционными базами данных MS Access.............................................. 75
Лабораторная работа № 10 Создание web-страниц с помощью языка
разметки HTML ......................................................................................... 99
Лабораторная работа № 11 Графический редактор CorelDraw Graphics Suite
X4 .............................................................................................................. 123
2
ВВЕДЕНИЕ
Данный сборник предназначен для помощи в проведении лабораторных
работ по курсу «Информатика». Проведение этих работ позволит изучить
работу ЭВМ. Это дополняет изучаемый в теории материал.
Целью и задачей выполнения этих работ является изучение работы
компьютера и его математического обеспечения.
После выполнения этих работ студент должен уметь переводить числа в те
системы счисления, которые использует в своей работе ЭВМ, работать с
операционными системами MS DOS, Windows XP, текстовым процессором,
электронными таблицами и базами данных, использовать знания для создания
web-страниц, получить навыки работы с графическим редактором CorelDraw.
Сборник содержит описание самих работ, необходимый краткий теоретический
материал для их выполнения, примеры выполнения и варианты исходных
данных для лабораторных работ.
Кроме этого в практикуме есть примеры выполнения этих работ.
В конце практикума присутствует список литературы, позволяющей
самостоятельно изучить дополнительный материал по другим источникам.
После выполнения каждой работы студент должен предоставить в
письменном виде отчет о проделанной работе, в который входят исходные
данные, полученные результаты и выводы.
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ ПО ПОДГОТОВКЕ К
ЛАБОРАТОРНЫМ РАБОТАМ
Каждый студент должен взять у преподавателя свои исходные данные для
выполнения работ, изучить данные методические материалы перед
выполнением работы, выполнить на ЭВМ и предоставить отчет.
В данных лабораторных работах используются ЭВМ, на которых
установлена операционная система Windows XP, офисный пакет MS Office
2007 и графический редактор Corel Draw Graphics Suite X4.
4
ЛАБОРАТОРНАЯ РАБОТА № 1
ПРЕДСТАВЛЕНИЕ ИНФОРМАЦИИ В ЭВМ
Время выполнения – 2 часа.
Цель работы
Научиться переводить числа в те системы счисления, которые использует
ЭВМ, подсчитывать объем занимаемой данными информации и уметь
переводить значения количества информации из одних единиц измерения в
другие.
Задачи лабораторной работы
После выполнения работы студент должен знать и уметь:
1) знать основные приемы работы с позиционными системами счисления;
2) уметь переводить числа из десятичной системы счисления в двоичную,
восьмеричную и шестнадцатеричную;
3) производить обратный перевод из этих систем в десятичную;
4) уметь переводить значения из одних единиц измерения информации в
другие.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер с
операционной системой и методические указания по выполнению работы.
Общие теоретические сведения
Система счисления – это способ представления чисел цифровыми
знаками и соответствующие ему правила действий над числами.
Системы счисления можно разделить:
– непозиционные системы счисления;
– позиционные системы счисления.
В непозиционной системе счисления значение (величина) символа
(цифры) не зависит от положения в числе.
Самой распространенной непозиционной системой счисления является
римская. Алфавит римской системы записи чисел состоит из символов: I –
один, V – пять, X – десять, L – пятьдесят, C – сто, D – пятьсот, M – тысяча.
Величина числа определяется как сумма или разность цифр в числе
(например, II – два, III – три, XXX – тридцать, CC – двести).
Если же большая цифра стоит перед меньшей цифрой, то они
складываются (например, VII – семь), если наоборот – вычитаются (например,
IX – девять).
В позиционных системах счисления значение (величина) цифры
определяется ее положением в числе.
Любая позиционная система счисления характеризуется своим
основанием.
5
Основание позиционной системы счисления – количество различных
цифр, используемых для изображения чисел в данной системе счисления.
Основание 10 у привычной десятичной системы счисления (десять пальцев
на руках). Алфавит: 1, 2, 3, 4, 5, 6, 7, 8, 9, 0.
За основание можно принять любое натуральное число – два, три, четыре и
т. д., образовав новую позиционную систему: двоичную, троичную,
четверичную и т. д.
Позиция цифры в числе называется разрядом.
Представим развернутую форму записи числа:
Aq = an-1∙qn-1 + … + a1∙q1 + a0∙q0 + a-1∙qn-1 + … + a-m∙q-m , где
q – основание системы счисления (количество используемых цифр)
Aq – число в системе счисления с основанием q
a – цифры многоразрядного числа Aq
n (m) – количество целых (дробных) разрядов числа Aq
Пример:
2 1 0 -1 -2
2 3 9, 4 510 = 2∙102 + 3∙101 + 9∙100 + 4∙10-1 + 5∙10-2
a2 a1 a0, a-1 a-2
Двоичная система счисления
Официальное «рождение» двоичной системы счисления (в её алфавите два
символа: 0 и 1) связывают с именем Готфрида Вильгельма Лейбница. В 1703 г.
он опубликовал статью, в которой были рассмотрены все правила выполнения
арифметических действий над двоичными числами.
Преимущества:
1) для её реализации нужны технические устройства с двумя
устойчивыми состояниями:
– есть ток – нет тока;
– намагничен – не намагничен;
2) представление информации посредством только двух состояний
надежно и помехоустойчиво;
3) возможно применение аппарата булевой алгебры для выполнения
логических преобразований информации;
4) двоичная арифметика намного проще десятичной.
Недостаток: быстрый рост числа разрядов, необходимых для записи чисел.
Перевод чисел (8) → (2), (16) → (2)
Перевод восьмеричных и шестнадцатеричных чисел в двоичную систему:
каждую цифру заменить эквивалентной ей двоичной триадой (тройкой цифр)
или тетрадой (четверкой цифр).
Примеры:
53718 = 101 011 111 0012;
5 3 7 1
1A3F16 = 1 1010 0011 11112
1 A 3
F
6
Переведите: 37548 → X2
2ED16 → X2
Перевод чисел (2) → (8), (2) → (16)
Чтобы перевести число из двоичной системы в восьмеричную или
шестнадцатеричную, его нужно разбить влево и вправо от запятой на триады
(для восьмеричной) или тетрады (для шестнадцатеричной) и каждую такую
группу заменить соответствующей восьмеричной (шестнадцатеричной)
цифрой.
Примеры:
11010100001112 = 1 5 2 0 78;
1 101 010 000 111
1101110000011012 = 6 E 0 D16
110 1110 0000 1101
Переведите:
10111110101011002 → X8
10110101000001102 → X16
Перевод чисел (q) → (10)
Запись числа в развернутой форме и вычисление полученного выражения в
десятичной системе.
Примеры:
1101102 = 1∙25 + 1∙24 + 0∙23 + 1∙22 + 1∙21 + 0∙20 = 5410;
2378 = 2∙82 + 3∙81 + 7∙80 = 128 + 24 + 7 = 15910;
3FA16 = 3∙162 + 15∙161 + 10∙160 = 768 + 240 + 10 = 101810.
Переведите:
11000110102 → X10
1628 → X10
E2316 → X10
Перевод чисел (10) → (q)
Последовательное целочисленное деление десятичного числа на основание
системы q, пока последнее частное не станет равным нулю.
Число в системе счисления с основанием q – последовательность остатков
деления, изображенных одной q-ичной цифрой и записанных в порядке,
обратном порядку их получения.
2009
-2005
4
5
401
-400
5
80 5
1 -80
16 5
0 -15 3
1
200910=310145
7510=10010112
7
7510=1138
7510=B16
Переведите:
14110 → X2
14110 → X8
14110 → X16
Для перевода правильных дробей из десятичной системы счисления в
произвольную используется метод последовательного умножения на основание
системы счисления дробных цифр числа до тех пор, пока не получим в дробной
части всех нулей или не достигнем заданной точности (если число не
переводится точно).
Пример. Перевести из десятичной системы счисления в двоичную число
0,125.
0,125
x 2
–––––
0,250
x 2
–––––
0,500
x 2
–––––
1,000
В дробной части получили все нули, т. е. число перевелось в двоичную
систему счисления точно: 0,0012.
Двоичная арифметика
1. Таблица сложения
0+0=0
1+0=1
0+1=1
1 + 1 = 10
2. Таблица вычитания
0–0=0
1–0=1
1–1=0
10 – 1 = 1
3. Таблица умножения
0∙0=0
1∙0=0
1∙1=1
8
Пример.
11011
+
101101
––––––––––
1001000
Количество информации, которое вмещает один символ N-элементного
алфавита, равно i = log2N. Это известная формула Р. Хартли. В 32-значном
алфавите каждый символ несет i = log232 = 5 (бит) информации.
Пример 1. Количество информации в слове «Информатика» при условии,
что для кодирования используется 32-значный алфавит, равно 11* 5 = 55(бит),
т. к. в слове «Информатика» 11 символов.
Пример 2. Растровый графический файл содержит черно-белое
изображение с 2 градациями цвета (черный и белый) размером 800 х 600 точек.
Определите необходимый для кодирования цвета точек (без учета служебной
информации о формате, авторстве, способах сжатия и пр.) размер этого файла
на диске в байтах.
Решение. Поскольку сказано, что изображение двуцветное, следовательно,
для указания цвета одной точки достаточно двух значении, кодирующих белый
или черный цвет. Два значения могут быть закодированы одним битом. Объем
графического файла рассчитывается по формуле V=i*k, где i - глубина
цвета, а k - количество точек.
Тогда объем графического файла равен 800 * 600 * 1 бит = 480 000 6ит,
учитывая, что 8 бит = 1 байт получаем 480 000 / 8= 60 000 байтов. В реальности
в графических документах кроме описания цвета точек присутствует еще и
служебно-дополнительная информация (о формате записи, авторских правах,
способах сжатия и пр.).
В кодировке Unicode на каждый символ отводится 2 байта =16 бит.
Пример 1. При кодировании (Unicode) найти информационный объем
фразы «Ученье - свет, а неученье – тьма!».
Решение. Подсчитаем число символов в заданной фразе, учитывая буквы,
пробелы и знаки препинания (тире, запятую, восклицательный знак). Всего
символов – 33. Вычислим объем фразы: 33 (символа) * 2 (байта) = 66 байт = 528
бит.
Пример 2. Сообщение содержит 4096 символов. Объем сообщения при
использовании равномерного кода составил 1/512 Мбайт. Найти мощность
алфавита, с помощью которого записано данное сообщение.
Решение. Мощность алфавита – количество символов в алфавите.
Переведем информационный объем сообщения в биты.
1
1
(Мбайт) =
 1024  1024  8 = 16384 (бит)
512
512
16384
= 4 (бит ) . Тогда
4096
i
4
мощность алфавита по формуле Р. Хартли равна N= 2 = 2 = 16 .
Для кодирования одного символа отводится
9
i=
Пример 3. Сколько секунд потребуется модему, передающему сообщения
со скоростью 28 800 бит/с для передачи 100 страниц текста в 30 строк по 60
символов каждая в кодировке ASCII.
Решение: В кодировке ASCII каждый символ занимает 8 бит. Тогда объем
текста равен 100  30  60  8 = 1440000 битов. Для его передачи по модему
1440000
потребуется 28800 = 50 секунд.
С дополнительным теоретическим материалом можно ознакомиться в
литературе [2, 7].
Задание
1. Перевести заданные числа из десятичной системы счисления в систему
счисления с основанием q и наоборот.
2. Перевести заданные значения из Кбайт в бит и наоборот.
3. Подсчитать количество информации в вашей фамилии, имени и
отчестве, если они между собой разделены пробелом и закодированы в коде
ASCII, затем – Unicode, подсчитать объем графического файла с этими
данными.
4. Дать описание проведенной работы в письменном виде.
Варианты задания
Для получения своих данных необходимо добавить в пунктах 1, 2, 4 и 5,
указанных ниже, номер по списку из журнала преподавателя в
соответствующей системе счисления.
1. Перевести из произвольной системы счисления в десятичную:
721,1728
–
234,125
–
1011,0012
–
D1A4,F316
–
2. Перевести из десятичной системы счисления в произвольную:
6493510 → X16
–
2910 → X2
–
1310 → X2
–
511010 → X12
–
61310 → X8
–
3. Перевести десятичные дроби в произвольную систему счисления:
0,12510 → X2
–
0,37510 → X8
–
0,32812510 → X2
–
0,02410 → X5
–
0,414062510 → X2
–
4. Перевести из бит в Кбайт:
– 429217 бит
– 424719 бит
5. Перевести из Кбайт в бит:
10
–
–
301 Кбайт
274 Кбайт 317 Байт 2 бит
Содержание отчета
1. Задание и цель работы.
2. Схема перевода чисел.
3. Описание перевода чисел.
Технология выполнения работы
В данной работе необходимо перевести в нужную по заданию систему
счисления числа, записать ход рассуждений и полученные результаты.
Произвести обратный перевод для проверки правильности. Далее необходимо
вычислить количество информации, занимаемое вашими данными по формуле
Р. Хартли. Затем перевести данные из Кбайт в бит и из бит в Кбайт.
Вопросы для защиты работы
1. Во сколько раз увеличится число 10,12 при переносе запятой на один
знак вправо?
2. Какое минимальное основание может иметь система счисления, если в
ней записано число 23?
3. Перевести числа из десятичной системы в требуемую:
4810 → X2
–
1610 → X8
–
11011110112 → X10
–
7B816 → X10
–
4. Сравните числа: 111012 и 1D16.
5. Переведите в нужную систему счисления:
1111010010002 → X16
–
11000011112 → X8
–
4F3D16 → X2
–
7138 → X2
–
6. Как перевести в биты значение, заданное в байтах и Кбайтах?
7. Как перевести в Кбайт значение, заданное в байтах или в битах?
8. Вычислить количество информации в слове «экономист».
11
ЛАБОРАТОРНАЯ РАБОТА № 2
РАБОТА С ОПЕРАЦИОННЫМИ СИСТЕМАМИ И АРХИТЕКТУРА ЭВМ
Время выполнения – 4 часа.
Цель работы
Приобрести практические навыки овладением операционных систем
Windows и MS DOS, файловыми оболочками (Windows Commander, Volkov
Commander, FAR), и ознакомиться с принципами построения архитектуры ЭВМ.
Задачи лабораторной работы
После выполнения работы студент должен уметь:
1) хорошо ориентироваться в интерфейсе ОС Windows XP;
2) работать с папками и файлами в ОС Windows и MS DOS;
3) работать с папками и файлами в файловых оболочках Windows
Commander (WC), Volkov Commander(VC) или FAR;
4) ориентироваться в локальной сети;
5) работать со стандартными приложениями OC Windows XP;
6) правильно писать командную строку OC MS DOS;
7) ориентироваться в наиболее общих принципах построения
вычислительных систем.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со
следующим математическим обеспечением: операционная система семейства
Windows, эмулятор MS DOS, одну из файловых оболочек WC, VC, или FAR.
Общие теоретические сведения
1. Основные принципы работы в операционной системе Windows
В оболочке Windows различают следующие объекты: значок – это
рисунок, обозначающий программу, дисковый накопитель, файл, папку или
другой объект; папка – место для хранения файлов и других папок; файл –
программа или документ, хранящийся на диске; окно – прямоугольный
область экрана, представляющий открытую программу или содержимое
файла или папки; ярлык – значок, связанный с файлом или папкой; буфер
обмена – механизм интеграции результатов работы различных Windowsприложений путем выполнения операций переноса, копирования и вставки
данных.
Блокнот предназначен для создания и редактирования текстовых
файлов, не требующих форматирования. Блокнот работает только с файлами
в формате ASCII (простой текст). Если файл требует форматирования текста,
следует использовать текстовый редактор WordPad.
Графический редактор Paint относится к растровым редакторам и
предназначен для создания, изменения и просмотра рисунков.
12
Пункт "Документы" Главного меню позволяет мгновенно вернуться к
работе с любым из последних открытых документов.
Окно в системе Windows может быть представлено тремя видами:
– стандартное, характеризующееся подвижными границами;
– развернутое, характеризующееся неподвижными границами;
– пиктограммное – в виде значка (ярлыка).
Проводник – это служебная программа, предназначенная для просмотра
содержимого компьютера и сетевых дисков, представленного в виде
иерархической структуры.
Буфер обмена используется как механизм интеграции результатов
работы различных Windows-приложений путем выполнения операций
переноса, копирования и вставки данных.
2. Основные команды MS DOS
Создание текстовых файлов:
copy con (дисковод:) (\ путь\) имя_файла
После ввода команды построчно вводится текст, в конце каждой строки
нажимается клавиша Enter, а после ввода последней строки – клавиши F6 и
затем Enter. Команда выведет сообщение: «1 file(s) copied» (один файл
скопирован) и на диске появится файл с указанным в команде именем.
Удаление файлов:
del (дисковод:) (\ путь\) имя_файла
Перед удалением файла выводится имя файла и запрос «Delete (Y/N)?».
При нажатии клавиши Y файл будет удалён, при нажатии N удаление
отменяется.
Переименование файлов:
ren (дисковод:)(\ путь\) имя_файла_1 имя_файла_2
В результате выполнения команды имя файла_1 заменяется именем
файла_2. Эта команда не обрабатывает файлы с атрибутом «скрытый».
Копирование файлов:
copy (дисковод:)(\путь\) имя_файла_1 (дисковод:) (\ путь\) имя_файла_2
В результате выполнения команды файл 1 копируется на место файла 2.
Если файл с таким же именем, как у копии, уже существует, то он замещается
без каких-либо предупреждений. Файлы с атрибутом «скрытый» не
копируются. В этой команде вместо имён файлов можно использовать
обозначения устройств MS DOS (клавиатуры, монитора, принтера). Если эта
команда используется для объединения содержимого нескольких файлов, то
вместо параметра имя файла_1 перечисляются через знак «+» имена
объединяемых файлов, а затем имя файла, в которое копируется содержимое
объединяемых файлов.
Вывод файла на экран:
13
type (дисковод:) (\ путь\) имя_файла
Очистка экрана:
cls
Команда смены текущего дисковода:
имя дисковода и двоеточие (например, d: )
Изменение текущего каталога:
cd (дисковод:) (\ путь\) имя_каталога
Если задан дисковод, то текущий каталог изменяется на этом дисководе,
иначе - на текущем дисководе. Если в команде отсутствуют параметры, то в
результате выполнения сообщаются текущие диск и каталог. Для перехода в
каталог на другом диске нужно ввести команду перехода на другой диск и
затем данную команду для изменения текущего каталога.
Просмотр каталога:
dir (дисковод:) (\ путь\) (имя файла) (параметры)
Если имя файла не задано, то выводится всё оглавление каталога.
Управление выводом сведений о каталоге осуществляется с помощью
многочисленных параметров команды (например, /Р – по-экранный вывод
оглавления с паузами при заполнении экрана).
Создание каталога:
md (дисковод:) (\ путь\) имя_каталога
Удаление пустого каталога:
rmdir (дисковод:) (\путь\) имя_каталoга
Удаление каталога со всем содержимым:
rmdir /S (дисковод:) (\путь\) имя_каталoга
Если параметр /Q не указан, то выдаётся запрос на подтверждение
удаления каталога, иначе – удаление выполняется без запросов.
Переименование каталога:
ren имя_каталога новое_имя_каталога
У старого имени можно указать диск и путь и тем самым
переименовывать не только подкаталоги текущего каталога, но и других
каталогов.
Структура папок:
tree (дисковод:) (\ путь\)
Графическое отображение структуры папок заданного диска или
заданной папки.
14
Вызов справки:
help
Выводит справочную информацию о доступных внешних командах
Вызов справки по конкретной команде:
help имя_команды (например, help copy)
Выводит справочную информацию об определенной команде.
При написании некоторых команд (dir, copy, del) в командной строке
допускается использовать символы «?» и «*» (их можно использовать в имени и
типе файла). При этом символ «?» будет рассматриваться как один из символов,
допустимых в данной команде, а символ «*» заменяет собой произвольное число
любых допустимых в данной команде символов. Например, командой «del
c:\dos\kl?.*» удалятся все файлы с любым расширением (в том числе и без оного)
в каталоге MS DOS на диске С:, имена которых состоят из 3-х символов (причем
первые два – kl, а третий - произвольный из допустимых).
Команды, которые выполняются последовательно, могут быть записаны
в текстовый файл с расширением .BAT. Такой файл называется командным
файлом. В этом файле каждая команда пишется в отдельную строку.
Адрес файла (или полное имя файла) состоит из имени дисковода, пути к
каталогу, в котором находится файл, и имени файла, разделённых символом
«\». Если дисковод не указан, то искомый файл находится в текущем
дисководе, а если не указан путь, то файл находится в текущем каталоге.
Например,
А: primer.doc – здесь файл primer.doc находится в текущем каталоге
диска на дисководе A:;
А: \ primer.doc – здесь файл primer.doc находится в корневом каталоге
диска на дисководе А:;
PRIM\ primer.doc – здесь файл primer.doc находится в подкаталоге PRIM
текущего каталога и текущего диска.
3. Основные команды файловых оболочек
Запуск VC (FAR или WC) в среде Windows осуществляется двойным
щелчком на соответствующей иконке на рабочем столе.
Основные команды:
<ENTER> – запуск выделенного файла типа *.bat, *.com, *.ехе или
переход в выделенный каталог;
<ТАВ> – активизировать другую панель;
<INSERT> – пометить файл;
< + > – пометить группу файлов;
<->
– отменить пометку;
<Ctrl>+<O>– убрать / показать панели (только для NC);
<Ctrl>+<L>– убрать / показать справочную информацию о текущем
диске;
15
<Alt>+<F1>– назначить диск левой панели;
<Alt>+<F2>– назначить диск правой панели;
<Alt>+<F7>– поиск файла;
<F3> – просмотр файла;
<F4> – редактирование файла;
<F5> – копирование файла (группы файлов);
<F6> – переименование/перемещение файла (группы файлов);
<F7> – создание каталога (в Windows - папки);
<F8> – удаление файла (группы файлов или каталога);
<F9> – меню системы;
<ESC> – отказ от выполнения.
Команды редактора (только NC):
<F1> – справка по редактору;
<F2> – сохранить файл на диск;
<F7> – поиск выражения;
<Ctrl>+<Y>– удаление строки;
<ENTER> – переход на новую строку;
<ESC> – отказ от сохранения файла на диске.
Некоторые полезные действия:
1) назначение дисковода для левой (правой) панели: <Alt>+<F1>
(<Alt>+<F2>);
2) изменить текущий каталог: клавиши управления курсором и
<ENTER>;
3) создать каталог: <F7>, набрать имя, затем <ENTER>;
4) удалить пустой каталог: <F8>, затем <ENTER>;
5) скопировать файл:
– установить в правой панели путь, по которому требуется произвести
копирование: выполнить пункт а), затем б);
– перевести поле курсора в левую панель – <ТАВ>;
– установить в левой панели путь, по которому расположен
копируемый файл: выполнить пункт а), затем б);
– установить поле курсора на копируемый файл, используя клавиши
управления курсором;
– скопировать файл: <F5>, затем <ENTER>.
6) удалить файл: <F8>, затем <ENTER>;
7) переименовать файл: <F6>, набрать имя, затем <ENTER>;
8) просмотреть содержимое файла: <F3>;
9) изменить содержимое файла: <F4>, отредактировать и сохранить на
диске.
4. Краткие сведения об архитектуре ЭВМ
16
Под архитектурой ЭВМ понимают наиболее общие принципы
построения вычислительных систем, реализующие программное управление
работой и взаимодействие основных функциональных узлов.
К архитектуре относят:
– структуру памяти ЭВМ;
– способы доступа к памяти и внешним устройствам;
– возможности изменения конфигурации компьютера;
– систему команд;
– форматы данных;
– организацию интерфейса.
Классические принципы построения архитектуры ЭВМ были
предложены в работе Дж. Фон Неймана, Г. Голдстейга и А. Беркса в 1946 г., и
известны как «принципы фон Неймана». Они таковы:
– использование двоичной системы представления данных;
– принцип хранимой программы;
– принцип последовательного выполнения операций;
– принцип произвольного доступа к ячейкам оперативной памяти.
В ходе эволюции ЭВМ, с созданием микропроцессоров, с появлением
интеллектуальных контролеров совершен переход к шинной архитектуре
ЭВМ. Процессор перестал быть центром конструкции, стало возможным
реализовывать прямые связи между устройствами.
Важную роль стали играть средства сетеобразования. Радикально
увеличилась номенклатура и возможности периферийных устройств
накопления, ввода и вывода информации.
С дополнительным теоретическим материалом можно ознакомиться в
литературе [2, 7, 8].
Задание №1
Выполнить работу с интерфейсом Windows, с папками и файлами, с
сетью, с главным меню системы Windows, со стандартными приложениями
Windows, с проводником.
Технология выполнения работы
Работа с интерфейсом Windows
Измените размеры значков, расположенных на Рабочем столе, а также
шрифты надписей значков. Для этого щелкните правой кнопкой мыши на
свободном месте Рабочего стола и в появившемся меню выберите Свойства.
Создайте фоновый узор под названием Колизей. Для этого щелкните
правой кнопкой мыши на свободном месте Рабочего стола и в появившемся
меню выберите Свойства\Экран.
Скорректируйте настройку времени. Установите дату на вашем
компьютере 2020 год, 1 сентября, 10 часов утра. После этого установите
сегодняшнюю дату и точное время.
17
Работа с папками и файлами
Создайте папку в студенческой директории и назовите ее своей
фамилией. Для создания папки щелкните правой кнопкой мыши и в
контекстном меню выбрать Создать\Папка.
Создайте ярлык программы Калькулятора в своей рабочей папке. Ярлык
– это значок, с которым связана программа, документ или устройство.
Найдите в папке Windows файл Calс, отметьте его мышкой. Для создания
ярлыка выберите в контекстном меню Создать\Ярлык.
Посмотрите, что находится на диске С: вашего компьютера и определите
емкость жесткого диска С:. Для этого в окне Мой компьютер выделите диск
С:, щелкните правой кнопкой мыши и выберите Свойства.
Определите оперативную память вашего компьютера. Для этого следует
в окне Мой компьютер щелкнуть правой кнопкой мыши и выбрать меню
Свойства.
Определите доступный объем на диске D.
Работа с сетью
Определите количество компьютеров в сети. Для этого дважды щелкните
на значке Сетевое окружение. Для просмотра других компьютеров нужно
щелкнуть значок Вся сеть и дважды щелкнуть значок папки, к которой
требуется получить доступ, если таковой имеется.
Работа с главным меню системы Windows
Откройте Главное меню нажатием кнопки Пуск и ознакомьтесь с его
содержанием.
Измените шрифт и цвет букв Главного меню, вызвав в контекстном
Свойства\Экран.
Для изменения вида элементов Рабочего стола выберите Свойства\
Оформление. Чтобы изменить вид только одного элемента на экране,
выберите его в списке Элемент (строка меню) и измените параметр в поле
Шрифт, установив цифру 15.
Добавьте программу в Главное меню. Для этого выполните команду
Пуск\Настройка и затем Панель задач\Пуск\Настройка меню. Нажмите
кнопку Добавить, а затем кнопку Обзор. Выделите нужную программу и
дайте команду Открыть\Далее, а затем дважды щелкните нужную папку,
например, Программы в структуре меню. Введите в поле название новой
команды «Информатика», и нажмите кнопку Готово.
Работа со стандартными приложениями Windows
Напишите в Блокноте свои реквизиты: Ф.И.О., институт, курс,
факультет, группу. Сохраните файл под своей командой Файл\Сохранить,
ввести имя файла в поле Имя файла, а в поле Папка выбрать
соответствующую папку.
Наберите в программе WordPad произвольный текст. Поменяйте местами
абзацы набранного текста. Для этого выделите первый абзац, нажмите
18
правую кнопку и выберите пункт Копировать, далее поместите курсор в
конец второго абзаца, нажмите правую кнопку и выберите пункт Вставить.
Увеличьте размер шрифта заголовка набранного текста. Для этого выделите
заголовок текста. Выберите в меню Формат\Шрифт начертание шрифта
Обычный, и размер более крупный. Сохраните набранный.
Сформируйте область рисования командой Рисунок\Атрибуты, в
диалоговом окне выберите единицы измерения и задайте ширину рисунка 12
см. и высоту 12 см. Проведите вертикальную линию вдоль правой границы
нашей области командой Линия при нажатой клавише <Shift>. Нарисуйте в
нижней области произвольный рисунок или вставьте из файла. Сохраните
файл.
Вычислить на Калькуляторе:
1/n·log(81);
1/n·log(0,001);
(2 + n)!;
(1552 + 333 - 28 -34) / (1/53) ·2 · n·3;
sin(1873 · n), где n – номер варианта.
Работа с проводником
Откройте программу Проводник и папку Рабочий стол. Измените
способы отображения объектов, используя пункт главного меню Вид
последовательно командами: Крупные значки, Мелкие значки, Список,
Таблица.
Отсортируйте значки в папке Рабочий стол с помощью
Вид\Упорядочить значки.
Выполните следующее задание.
1. Открыть папку своей группы.
2. Создать в этой папке свою личную папку с произвольным
именем, если она не была создана ранее (в дальнейшем будем называть ее
рабочей).
3. В рабочей папке создать дерево каталогов по заданному варианту
(см. табл. 1).
4. Скопировать файл f1 методом Drag & Drop.
5. Файл f2 переместить с помощью горизонтального меню.
6. Файл f3 скопировать с помощью контекстного меню.
7. Файл f4 переместить с помощью панели инструментов.
Примечание: в пунктах 5, 6, 7 и 8 файлы копировать и перемещать в
корневую папку.
8. Удалить файл f2.
9. Отыскать файл f2 в корзине и восстановить его.
10. Переименовать все файлы разными средствами с именами
соответственно f11, f12, f13, f14.
11. Папки закрыть. Выйти из Проводника.
12. Снова открыть Проводник.
19
13. Файлы f11, f12, f13, f14 расположить так, как были расположены
файлы f1, f2, f3, f4 в соответствии с заданным вариантом.
14. Создать ярлык на папку КАТ2.
15. Нарисовать в тетради результирующую схему. Показать ее
преподавателю и продемонстрировать на ПК выполнение команд.
16. Очистить папку своей группы.
Задание № 2
По условию (таблица № 1), используя только команды MS DOS,
выполнить задание двумя способами:
1) выполнить команды (табл. № 1) непосредственно в командной строке
MS DOS;
2) создать командный файл, содержащий команды (табл. № 1) и
запустить его на выполнение.
Оформить отчет, содержащий:
– условие задания (табл. № 1);
– исходную схему варианта (табл. № 2);
– распечатку командного файла, содержащего команды MS DOS;
– результирующую схему.
Технология выполнения работы
Для выполнения задания необходимо открыть два окна: окно Проводника
и окно MS DOS. Для этого можно выполнить следующие действия:
– загрузить Проводник, сделать текущей рабочую папку (далее будем
называть ее рабочей главной папкой, в которой будет формироваться схема
(табл. №2). Окно Проводника потребуется только для проверки выполненных
команд.
– загрузить
эмулятор
MS
DOS
по
команде
Пуск\Программы\Стандартные\Командная строка.
В окне MS DOS будет непосредственно выполняться задание (табл. №1).
I способ выполнения.
1. Поочередно в командной строке MS DOS запускать указанные в
таблице № 1 команды для выполнения.
2. Нарисовать результирующую схему и показать ее преподавателю.
3. Продемонстрировать преподавателю команды на ПК.
4. Закрыть окно MS DOS.
5. В окне Проводника почистить рабочую главную папку.
II способ выполнения.
1. Создать командный файл с указанными в таблице №1 командами и
запустить его на выполнение. Командный файл можно создать Блокнотом,
сохранив файл с расширением .bat.
2. Нарисовать результирующую схему (схемы, полученные I и II
способом, должны совпасть).
20
3. Продемонстрировать преподавателю работу командного файла на
ПК.
4. Закрыть окно MS DOS.
5. В окне Проводника почистить рабочую текущую папку.
Задание № 3
По условию (таблица № 1), используя только команды VC (WC или FAR)
выполнить задание для своего варианта (таблица № 2).
Технология выполнения работы
Для выполнения необходимо открыть окно одной из файловых оболочек
VC (WC или FAR). Сделать текущей рабочую папку (далее будем называть ее
рабочей главной папкой), в которой будет формироваться схема (табл. № 2) и
выполняться команды (табл. № 1).
Поочередно в файловой оболочке запускать указанные в таблице № 1
команды для выполнения.
Нарисовать результирующую схему и показать ее преподавателю
(схемы, полученные в задании № 1 и в задании № 2, должны совпасть).
Продемонстрировать преподавателю команды на ПК.
Закрыть окно файловой оболочки.
В окне Проводника почистить рабочую текущую папку.
Команды для выполнения к заданию № 2 и № 3
1. Перейти в рабочий главный каталог.
2. В этой папке сформировать дерево каталогов по схеме заданного
варианта (табл. № 2).
3. Создать текстовые файлы по схеме заданного варианта (табл.
№ 2). В файлы поместить любую информацию.
4. Вывести оглавление главного каталога, оглавления всех
остальных каталогов.
5. Скопировать файл f2 под именем f1dos в каталог, который
содержит файл f3.
6. Вывести оглавление каталога, в котором содержится файл f1dos.
7. Удалить файл f4.
8. Переименовать файл f1 в файл под именем f1file.
9. Переместить файл f1file в главный каталог.
10. Удалить каталог КАТ2.
11. Вывести оглавление главного каталога и оглавления всех
остальных каталогов.
21
Варианты исходных данных к заданию № 2 и № 3
Таблица 1
1
KAT1
KAT2
f3
9
f4
KAT3
f2
KAT1
KAT2
f4
f1
KAT3
f2
f3
f1
2
KAT3
KAT2
KAT1
f4
f1
f3
10
f4
f2
3
KAT1
KAT3
f1
KAT2
f3
f2
11
KAT2
f1
KAT3
KAT1
KAT1
f4
KAT3
KAT2
f2
f3
f2
f3
f4
4
5
KAT3
KAT2
f1
KAT1
f2
f3
f4
f1
12
KAT1
f1
f1
KAT3
f2
13
f3
7
f4
KAT1
KAT3
KAT3
KAT1
f2
f1
8
14
f1
f3
f1
KAT1
f2
KAT2
KAT3
f3
KAT1
f2
f4
f3
KAT2
KAT3
f2
KAT2
f4
f4
15
KAT1
KAT3
f2
KAT2
f1
f3
f4
KAT1
KAT2
f4
KAT3
f3
f1
f3
f1
KAT1
f2
KAT1
f1
f3
KAT2
KAT2
f4
KAT2
6
KAT3
KAT2
f2
KAT2
f3
16
f2
f4
22
f1
Задание № 4
Написать реферат на тему, по указанному преподавателем варианту
(табл. № 2). Реферат можно оформить как в печатном виде на листах формата
А4 (не менее 4 стр.), так и в электронном виде (в том числе в виде
презентаций – не менее 7 слайдов). Тема должна быть раскрыта полностью, с
указанием необходимых для пояснения текста рисунков и схем.
Таблица № 2. Варианты тем рефератов к заданию № 4
№
варианта
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Тема
Детальное описание архитектуры фон-неймановских машин
Детальное описание шинной архитектуры ЭВМ
Системы команд машин различных поколений, адресация
памяти
Развитие архитектуры ЭВМ
Архитектура процессоров машин 2-го и 3-го поколения
Форматы команд и данных
Супер-ЭВМ, назначение, возможности, принципы построения
Микропроцессоры, история создания, использование в
современной технике
Многопроцессорные ЭВМ и распараллеливание программ
Современные накопители информации
Дисплеи, их эволюция, направления развития
Печатающие устройства, их эволюция, направления развития
Сканеры и программная поддержка их работы
Средства ввода и вывода звуковой информации
Проект ЭВМ 5-го поколения: замысел и реальность
Вклад Ч. Бэббиджа в разработку принципов функционирования
автоматических цифровых вычислительных машин
Вопросы для защиты работы
1. Что называется операционной системой?
2. Каковы компоненты операционной системы MS DOS?
3. Что такое файл, каталог, логический диск? Как они именуются?
4. Какова последовательность операций начальной загрузки системы?
5. Перечислите внутренние команды операционной системы. Приведите
примеры их использования.
6. Приведите примеры использования внешних команд ОС.
7. Поясните назначение файлов config.sys и autoexec.bat.
8. Каково назначение файловых оболочек типа Volkov Commander.
9. Каковы основные возможности Volkov Commander?
10. Каковы основные отличия ОС Windows от MS DOS?
11. Какие опции содержит главное меню Windows?
12. Какова структура и свойства окон Windows?
23
13. Как производится настройка Windows?
14. Что означает «документно-ориентированный»?
15. В чем состоят основные открытия Ч.Бэббиджа?
16. В чем заключаются принципы архитектуры ЭВМ фон Неймана?
17. Каким образом в современной вычислительной технике
преодолеваются ограничения, связанные с принципами фон Неймана?
18. В чем заключается классификация ЭВМ по поколениям?
19. Как выглядит структурная схема ЭВМ, построенной на принципах
фон Неймана?
20. Как выглядит структурная схема ЭВМ, построенной на принципах
шинной архитектуры?
21. Что такое шина данных, шина адреса, шина управления?
22. Какие группы команд обработки информации являются
стандартными, не зависящими от конкретной ЭВМ?
23. В чем отличие CISC и RISC подходов в построении системы команд
компьютера?
24
ЛАБОРАТОРНАЯ РАБОТА № 3
АЛГЕБРА ЛОГИКИ
Время выполнения – 4 часа.
Цель работы
Изучить основы алгебры логики.
Задачи лабораторной работы
В результате прохождения занятия студент должен:
1) знать:
– определения основных понятий (простое и сложное высказывания,
логические операции, логические выражения, логическая функция);
– порядок выполнения логических операций;
– алгоритм построения таблиц истинности;
– схемы базовых логических элементов;
– законы логики и правила преобразования логических выражений;
2) уметь:
– применять загоны логики для упрощения логических выражений;
– строить таблицы истинности;
– строить логические схемы сложных выражений.
Общие теоретические сведения
Основные понятия алгебры логики
Логической основой компьютера является алгебра логики, которая
рассматривает логические операции над высказываниями.
Алгебра логики – это раздел математики, изучающий высказывания,
рассматриваемые со стороны их логических значений (истинности или
ложности) и логических операций над ними.
Логическое высказывание – это любое повествовательное предложение,
в отношении которого можно однозначно сказать, истинно оно или ложно.
Пример: «3 – простое число» является высказыванием, поскольку оно
истинно.
Не всякое предложение является логическим высказыванием.
Пример: предложение «Давайте пойдем в кино» не является
высказыванием.
Вопросительные
и
побудительные
предложения
высказываниями не являются.
Высказывательная форма – это повествовательное предложение, которое
прямо или косвенно содержит хотя бы одну переменную и становится
высказыванием, когда все переменные замещаются своими значениями.
Пример: «x+2>5» - высказывательная форма, которая при x>3 является
истинной, иначе ложной.
Алгебра логики рассматривает любое высказывание только с одной точки
зрения – является ли оно истинным или ложным. Слова и словосочетания «не»,
25
«и», «или», «если..., то», «тогда и только тогда» и другие позволяют из уже
заданных высказываний строить новые высказывания. Такие слова и
словосочетания называются логическими связками.
Высказывания, образованные из других высказываний с помощью
логических связок, называются составными (сложными). Высказывания,
которые не являются составными, называются элементарными (простыми).
Пример: высказывание «Число 6 делится на 2» - простое высказывание.
Высказывание «Число 6 делится на 2, и число 6 делится на 3» - составное
высказывание, образованное из двух простых с помощью логической связки
«и».
Истинность или ложность составных высказываний зависит от истинности
или ложности элементарных высказываний, из которых они состоят.
Чтобы обращаться к логическим высказываниям, им назначают имена.
Пример: Обозначим через А простое высказывание «число 6 делится на 2»,
а через В простое высказывание «число 6 делится на 3». Тогда составное
высказывание «Число 6 делится на 2, и число 6 делится на 3» можно записать
как «А и В». Здесь «и» – логическая связка, А, В – логические переменные,
которые могут принимать только два значения – «истина» или «ложь»,
обозначаемые, соответственно, «1» и «0».
Каждая логическая связка рассматривается как операция над логическими
высказываниями и имеет свое название и обозначение (табл. 1).
Таблица 1. Основные логические операции
Обозначение
Альтернативные
Читается
Название операции
операции
обозначения
¬
НЕ
Отрицание (инверсия)
Черта сверху
Конъюнкция (логическое
И
∙&

умножение)
Дизъюнкция (логическое
ИЛИ
+

сложение)
→
Если … то
Импликация

Тогда и
↔
только
Эквиваленция
~
тогда
Либо
Исключающее ИЛИ
XOR

…либо
(сложение по модулю 2)
НЕ Операция, выражаемая словом «не», называется отрицанием и
обозначается чертой над высказыванием (или знаком ¬). Высказывание ¬А
истинно, когда A ложно, и ложно, когда A истинно.
Пример. Пусть А=«Сегодня пасмурно», тогда ¬А=«Сегодня не пасмурно».
И Операция, выражаемая связкой «и», называется конъюнкцией (лат.
conjunctio – соединение) или логическим умножением и обозначается точкой
« · » (может также обозначаться знаками  или &). Высказывание А · В истинно
тогда и только тогда, когда оба высказывания А и В истинны.
26
Пример. Высказывание «Число 6 делится на 2, и число 6 делится на 3» истинно, а высказывание «Число 6 делится на 2, и число 6 больше 10» - ложно.
ИЛИ Операция, выражаемая связкой «или» (в неисключающем смысле
этого слова), называется дизъюнкцией (лат. disjunctio – разделение) или
логическим сложением и обозначается знаком  (или плюсом). Высказывание
АВ ложно тогда и только тогда, когда оба высказывания А и В ложны.
Пример. Высказывание «Число 6 делится на 2 или число 6 больше 10» истинно, а высказывание «Число 6 делится на 5 или число 6 больше 10» ложно.
ЕСЛИ … ТО Операция, выражаемая связками «если …, то», «из …
следует», «... влечет …», называется импликацией (лат. implico – тесно
связаны) и обозначается знаком → . Высказывание А→В ложно тогда и только
тогда, когда А истинно, а В ложно.
Пример. Высказывание «если студент сдал все экзамены на «отлично», то
он получит стипендию». Очевидно, эту импликацию следует признать ложной
лишь в том случае, когда студент сдал на «отлично» все экзамены, но стипендии
не получил. В остальных случаях, когда не все экзамены сданы на «отлично» и
стипендия получена (например, в силу того, что студент проживает в
малообеспеченной семье) либо когда экзамены вообще не сданы и о стипендии
не может быть и речи, импликацию можно признать истинной.
РАВНОСИЛЬНО Операция, выражаемая связками «тогда и только тогда»,
«необходимо и достаточно», «... равносильно …», называется эквиваленцией
или двойной импликацией и обозначается знаком ↔ или ~ . Высказывание
А↔В истинно тогда и только тогда, когда значения А и В совпадают.
Пример. Высказывание «Число является четным тогда и только тогда, когда
оно делится без остатка на 2» является истинным, а высказывание «Число
является нечетным тогда и только тогда, когда оно делится без остатка на 2» ложно.
ЛИБО … ЛИБО Операция, выражаемая связками «Либо … либо»,
называется исключающее ИЛИ или сложением по модулю 2 и обозначается
XOR или . Высказывание АВ истинно тогда и только тогда, когда значения А
и В не совпадают.
Пример. Высказывание «Число 6 либо нечетно либо делится без остатка на
2» является истинным, а высказывание «Либо число 6 четно либо число 6
делится на3» – ложно, так как истинны оба высказывания входящие в него.
Замечание. Импликацию можно выразить через дизъюнкцию и отрицание:
A  B = ¬A  B .
Эквиваленцию можно выразить через отрицание, дизъюнкцию и
конъюнкцию:
A ↔ B = (¬A  B)  (¬B  A) .
Исключающее ИЛИ можно выразить через отрицание, дизъюнкцию и
конъюнкцию:
A XOR B = (¬A  B)  (¬B & A )
27
Вывод. Операций отрицания, дизъюнкции и конъюнкции достаточно,
чтобы описывать и обрабатывать логические высказывания.
Порядок выполнения логических операций задается круглыми скобками.
Но для уменьшения числа скобок договорились считать, что сначала
выполняется операция отрицания («не»), затем конъюнкция («и»), после
конъюнкции – дизъюнкция («или») и исключающего или и в последнюю
очередь – импликация и эквиваленция.
С помощью логических переменных и символов логических операций
любое высказывание можно формализовать, то есть заменить логической
формулой (логическим выражением).
Логическая формула - это символическая запись высказывания,
состоящая из логических величин (констант или переменных), объединенных
логическими операциями (связками).
Логическая функция - это функция логических переменных, которая
может принимать только два значения: 0 или 1. В свою очередь, сама
логическая переменная (аргумент логической функции) тоже может принимать
только два значения: 0 или 1.
Пример. F( A, B ) = A & B  A – логическая функция двух переменных A и B.
Значения логической функции для разных сочетаний значений входных
переменных – или, как это иначе называют, наборов входных переменных –
обычно задаются специальной таблицей. Такая таблица называется таблицей
истинности.
Приведем таблицу истинности основных логических операций (табл. 2)
Таблица 2.
A XOR B
A&B
AB
A
B
¬A
A B
A↔B
1
1
0
1
1
1
1
0
1
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
1
1
0
Опираясь на данные таблицы истинности основных логических операций
можно составлять таблицы истинности для более сложных формул.
Алгоритм построения таблиц истинности для сложных выражений:
1. Определить количество строк:
– количество строк = 2n + строка для заголовка,
– n - количество простых высказываний.
2. Определить количество столбцов:
количество столбцов = количество переменных + количество логических
операций;
– определить количество переменных (простых выражений);
– определить количество логических операций и последовательность их
выполнения.
28
3. Заполнить столбцы результатами выполнения логических операций в
обозначенной последовательности с учетом таблиц истинности основных
логических операций.
Пример 1. Составить таблицу истинности для формулы И–НЕ, которую
можно записать так: ¬( A & B ) .
1. Определить количество строк:
На входе два простых высказывания: А и В, поэтому n=2 и количество
строк =22+1=5.
2. Определить количество столбцов:
Выражение состоит из двух простых выражений (A и B) и двух логических
операций (1 инверсия, 1 конъюнкция), т.е. количество столбцов таблицы
истинности = 4.
3. Заполнить столбцы с учетом таблиц истинности логических операций
(табл. 3).
Таблица 3. Таблица истинности для логической операции ¬( A & B )
¬( A & B )
A&B
A
B
1
1
1
0
1
0
0
1
0
1
0
1
0
0
0
1
Подобным образом можно составить таблицу истинности для формулы
ИЛИ–НЕ, которую можно записать так: ¬(A B) .
Таблица 4. Таблица истинности для логической операции ¬(A B)
¬(A B)
A
B
A B
1
1
1
0
1
0
1
0
0
1
1
0
0
0
0
1
Примечание: И–НЕ называют также «штрих Шеффера» (обозначают | )
или «антиконъюнкция»; ИЛИ–НЕ называют также «стрелка Пирса»
(обозначают ↓) или «антидизъюнкция».
Пример 2. Составить таблицу истинности логического выражения
C = ¬A & B  A & ¬B .
Решение:
1. Определить количество строк:
На входе два простых высказывания: А и В, поэтому n=2 и количество
строк=22+1= 5.
2. Определить количество столбцов:
Выражение состоит из двух простых выражений (A и B) и пяти логических
операций (2 инверсии, 2 конъюнкции, 1 дизъюнкция), т.е. количество столбцов
таблицы истинности = 7.
Сначала выполняются операции инверсии, затем конъюнкции, в
последнюю очередь операция дизъюнкции.
29
3. Заполнить столбцы с учетом таблиц истинности логических операций
(табл. 5).
Таблица 5. Таблица истинности для логической операции C = ¬A & B  A & ¬B
¬A & B
A & ¬B
¬A
¬B
A
B
C
1
1
0
0
0
0
0
1
0
0
1
0
1
1
0
1
1
0
1
0
1
0
0
1
1
0
0
0
Логические формулы можно также представлять с помощью языка
логических схем.
Существует три базовых логических элемента, которые реализуют три
основные логические операции:
логический элемент «И» – логическое умножение – конъюнктор;
логический элемент «ИЛИ» – логическое сложение – дизъюнктор;
логический элемент «НЕ» – инверсию – инвертор.
конъюнктор
A
A&B
дизъюнктор
A
AB
A
1
&
B
инвертор
A
B
Поскольку любая логическая операция может быть представлена в виде
комбинации трех основных, любые устройства компьютера, производящие
обработку или хранение информации, могут быть собраны из базовых
логических элементов, как из “кирпичиков”.
Логические
элементы
компьютера
оперируют
с
сигналами,
представляющими собой электрические импульсы. Есть импульс – логический
смысл сигнала – 1, нет импульса – 0. На входы логического элемента поступают
сигналы-значения аргументов, на выходе появляется сигнал-значение функции.
Преобразование сигнала логическим элементом задается таблицей
состояний,
которая
фактически
является
таблицей
истинности,
соответствующей логической функции, только представлена в форме
логических схем. В такой форме удобно изображать цепочки логических
операций и производить их вычисления.
Алгоритм построения логических схем.
1. Определить число логических переменных.
2. Определить количество логических операций и их порядок.
3. Изобразить для каждой логической операции соответствующий ей
логический элемент.
30
4. Соединить логические элементы в порядке выполнения логических
операций.
Пример. По заданной логической функции F( A, B ) = ¬A & B  A & ¬B
построить логическую схему.
Решение.
1. Число логических переменных = 2 (A и B).
2. Количество операций = 5 (2 инверсии, 2 конъюнкции, 1 дизъюнкция).
Сначала выполняются операции инверсии, затем конъюнкции, в последнюю
очередь операция дизъюнкции.
3. Схема будет содержать 2 инвертора, 2 конъюнктора и 1 дизъюнктор.
4. Построение надо начинать с логической операции, которая должна
выполняться последней. В данном случае такой операцией является логическое
сложение, следовательно, на выходе должен быть дизъюнктор. На него сигналы
подаются с двух конъюнкторов, на которые, в свою очередь, подаются один
входной сигнал нормальный и один инвертированный (с инверторов).
Логические законы и правила преобразования логических выражений
Если две формулы А и В одновременно, то есть при одинаковых наборах
значений входящих в них переменных, принимают одинаковые значения, то они
называются равносильными.
В алгебре логики имеется ряд законов, позволяющих производить
равносильные преобразования логических выражений.
1) Закон двойного отрицания:
A = ¬(¬A) ;
2) Переместительный (коммутативный) закон:
– для логического сложения: A  B = B  A ;
– для логического умножения: A  B = B  A ;
3) Сочетательный (ассоциативный) закон:
– для логического сложения: (A  B)  C = A  (B  C) ;
– для логического умножения: (A  B)  C = A  (B  C) ;
4) Распределительный (дистрибутивный) закон:
– для логического сложения: (A  B)  C = ( A & C )  ( B & C ) ;
31
–
5)
–
–
6)
–
–
7)
–
–
8)
для логического умножения: (A  B)  C = (A  C)  (B  C) ;
Законы де Моргана:
для логического сложения: ¬(A  B) = ¬A & ¬B ;
для логического умножения: ¬(A  B) = ¬A  ¬B ;
Закон идемпотентности:
для логического сложения: A  A = A ;
для логического умножения: A  A = A ;
Законы исключения констант:
для логического сложения: A 1= 1 , A  0 = A ;
для логического умножения: A  1= A , A  0 = 0 ;
Закон противоречия:
A & ¬A = 0 ;
9) Закон исключения третьего:
A ¬A = 1;
10) Закон поглощения:
– для логического сложения: A  (A  B) = A ;
– для логического умножения: A  (A  B) = A ;
11) Правило исключения импликации:
A  B = ¬A  B ;
12) Правило исключения эквиваленции:
A ↔ B = (A  B)  (B  A) .
Справедливость этих законов можно доказать составив таблицу
истинности выражений в правой и левой части и сравнив соответствующие
значения.
Основываясь на законах, можно выполнять упрощение сложных
логических выражений. Такой процесс замены сложной логической функции
более простой, но равносильной ей, называется минимизацией функции.
Пример: Упростить логическое выражение ¬(A  B)  ( A & ¬B) .
Решение:
Согласно закону де Моргана:
¬(A  B)  ( A & ¬B)  A = ¬A & ¬B & ( A & ¬B)  A .
Согласно сочетательному закону:
¬A & ¬B & ( A & ¬B)  A = ¬A & A & ¬B & ¬B  A .
Согласно закону противоречия и закону идемпотентности:
¬A & A & ¬B & ¬B  A = 0  ¬B & ¬B = 0 & ¬B  A .
Согласно закону исключения 0:
0 & ¬B = 0
Окончательно получаем ¬(A  B)  ( A & ¬B)  A = 0  A = A
С дополнительным теоретическим материалом можно ознакомиться в
литературе [2, 7].
32
Задания
1. Составить таблицу истинности логического выражения C.
Варианты задания:
№ варианта
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
C
(¬( A & B )) ↔ (A  ¬B) XOR A
( A & B ) ↔ (¬A & B ) XOR B
( A & B ) ↔ (¬B  ¬A) XOR A
¬(A  B) ↔ (¬A & ¬B) XOR B
(A  B) ↔ ¬( A & ¬B) XOR B
¬( A & B ) ↔ (¬A  B) XOR A
¬(A  B) ↔ (¬A  B) XOR A
(¬A & B ) ↔ (¬B  A) XOR B
(A  ¬B) ↔ ¬( B & A ) XOR A
(¬B & A ) ↔ (A  ¬B) XOR B
(¬A  ¬B) ↔ (¬B & A ) XOR A
(¬B  ¬A) ↔ (A  B) XOR B
¬(B  A) ↔ (¬A  B) XOR A
(¬( A & B )) ↔ (¬A  B) XOR B
(¬A  ¬B) ↔ ( B & A ) XOR B
(¬A  ¬B) ↔ (B  ¬A) XOR A
2. Построить логическую схему функции F(A,B).
Варианты задания:
№ варианта
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
F(A,B)
¬(
A
&
B
)

(¬(B

A))
¬(A

B)

(A
&
¬B)
¬(A

B)

(A

¬B)
¬((¬A

B)

(¬B

A))
(¬A

B)

(¬B

¬A)
(¬A

B)

¬(A

¬B)
¬(¬
A
&
¬B)

(A

B)
(¬A

B)

¬(
A
&
B
)
(
A
&
B
)

((A

B)

¬A)
¬((¬A

B)
&
A
)
¬B
¬(A

¬B)

¬(A

B)
¬
A
&
¬B

¬(A

B)
¬A

B

¬(¬B

A)
(¬
A
&
¬B)

(¬
A
&
B
)
(¬
A
&
B
)
(A
&
¬B)
¬(
A
&
(B

A)

¬B)
33
3. Упростить логическое выражение D.
Варианты задания:
№ варианта
D
(¬A & B )  ( A & ¬B)  ( A & B )
1
(¬A & ¬B)  (¬A & B )  ( A & B )
2
¬( A & B )  (¬(B  C))
3
¬(¬A & C )  ( B & ¬C)
4
¬A  B  ¬(¬B  A)  A & B
5
¬A & B  ¬(A  B)  A
6
¬(A  ¬B)  ¬(A  B)  A & B
7
( A & B )  ((A  B)  (¬A  ¬B))
8
¬((¬A  B) & A )  (¬A  ¬B)
9
(¬A  B)  (B  C)  ( A & C )
10
¬(¬A & ¬B)  ((¬A  B) & A )
11
(¬A  B)  (A  ¬B)  (B  A)
12
(¬A  B)  (¬B  ¬A)  (¬C  A)
13
¬((¬A  B)  (¬B  A))  (A  B)
14
¬(A  B)  (A  ¬B)
15
¬(A  B)  ( A & ¬B)
16
Содержание отчета
1. Текст задания (с данными своего варианта).
2. Представление по каждому пункту задания подробного решения.
Технология выполнения работы
В данной работе необходимо составить таблицу истинности логического
выражения, построить схему логической функции и упростить логическое
выражение заданные каждому студенту в соответствии с его вариантом,
записать ход рассуждений и полученные результаты.
Вопросы для защиты работы
1. Что такое высказывание (приведите пример)?
2. Что такое составное высказывание (приведите пример)?
3. Как называются и как обозначаются (в языке математики) следующие
операции: ИЛИ, НЕ, И, ЕСЛИ … ТО, ТОГДА И ТОЛЬКО ТОГДА, ЛИБО
…ЛИБО?
4. Укажите приоритеты выполнения логических операций.
5. Составьте таблицу истинности для следующих операций: отрицание,
конъюнкция, дизъюнкция, импликация, эквиваленция.
6. Изобразите функциональные элементы: конъюнктор, дизъюнктор,
инвертор.
7. Какие логические выражения называются равносильными?
8. Записать основные законы алгебры логики.
34
ЛАБОРАТОРНАЯ РАБОТА №4
РАБОТА В СРЕДЕ ТЕКСТОВОГО ПРОЦЕССОРА MS WORD
Время выполнения – 4 часа.
Цель работы
Освоение основных приемов работы в текстовом процессоре MS Word.
Задачи лабораторной работы
После выполнения работы студент должен:
– приобрести навыки ввода, редактирования, форматирования
информации при работе с текстовыми редакторами;
– освоить приемы работы по созданию таблиц, списков, рисунков;
– научиться работать с формулами.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер с
операционной системой MS Windows, офисным пакетом MS Office 2007 и
методические указания по выполнению работы.
Общие теоретические сведения
Обработка текстов – один из наиболее распространенных видов работ,
выполняемых на персональном компьютере. Для создания документов
используются специальные программы – текстовые редакторы. Все основные
существующие текстовые редакторы, используют одни и те же принципы
работы. Это позволяет использовать в качестве примера для освоения
технологии обработки текстовой информации текстовый процессор MS Word.
Во внешней памяти компьютера документ, созданный MS Word хранится как
файл с расширением *.docx по умолчанию (MS Word 2007)
В процессе работы необходимо регулярно сохранять редактируемый
документ:
1) нажав на кнопку Office и выбрав команду Сохранить;
2) с помощью комбинации клавиш Shift+F12 (или Ctrl+S).
Для создания копии текущего элемента можно выполнить команду
Сохранить как. Для открытия документа в предыдущих версиях MS Word
необходимо выбрать Документ Word 97-2003.
При щелчке левой кнопки мыши по пункту Сохранить как откроется
диалоговое окно Сохранение документа. Здесь нужно указать новое имя
документа и выбрать папку для его сохранения. После нажатия на кнопку
Сохранить файл под старым именем остается на прежнем месте, а
дальнейшие изменения документа относятся уже к новому файлу.
35
Режимы работы с документами
В редакторе Word имеется пять режимов работы с документами. Требуемый
режим можно установить с помощью инструментов вкладки Вид или кнопок,
находящихся под горизонтальной полосой прокрутки.
Режим Разметка страницы является стандартным для работы с
документом. Он наиболее удобен для выполнения большинства операций по
вводу, редактированию и форматированию текста. Этот режим
рекомендуется для выполнения лабораторной работы.
Режим Веб-документ, или режим электронного документа, показывает, как
документ будет выглядеть при просмотре в веб-браузере.
Режим Структура позволяет работать с заголовками документов.
Режим Чтение для чтения с экрана монитора.
Режим Схема документа. С его помощью можно одновременно
просматривать и содержание документа, и сам документ.
Выделение текста
Прежде чем выполнить какую-либо операцию с текстом, вначале выделяют
фрагмент документа, к которому эта операция должна быть применена. Для того
чтобы выделить фрагмент с помощью мыши, следует установить указатель в
начало фрагмента, затем нажать левую кнопку мыши и, удерживая ее,
перетащить указатель к концу выделяемого фрагмента, после чего отпустить
кнопку.
Чтобы выделить текст с помощью клавиатуры, необходимо установить
курсор в его начало, нажать клавишу Shift и, удерживая ее, перемещать курсор,
используя клавиши со стрелками, в конец выделяемого фрагмента, затем
отпустить клавишу Shift. Есть и другие способы выделения текста.
Упражнение 1. Выделение текста
1. Установить курсор в любом месте текста и, удерживая левую кнопку
мыши, выделить одно предложение.
2. Для выделения слова установить курсор в середине слова и дважды
щелкните на нем.
3. Выделите информацию в конце текста, используя клавиши со
стрелками.
4. Установите курсор в любом месте текста и нажмите сочетание клавиш
Ctrl+A. Должен выделиться весь текст.
Копирование и перемещение
Копирование выделенного фрагмента можно выполнить как через буфер
обмена, так и путем перетаскивания с помощью мыши.
Копирование через буфер обмена:
– выделить фрагмент;
– копировать фрагмент в буфер обмена (Ctrl+C)
– вырезать при перемещении (Ctrl+X);
– вставить фрагмент в нужное место (Ctrl+V).
36
Вкладка Главная на ленте – Буфер обмена.
При вырезании или копировании содержимое ячейки помещается в буфер
обмена и становится доступным не только для работы в текстовом процессоре.
Буфер обмена в MS Word может содержать до 24 объектов.
Метод Drag and Drop:
– выделить фрагмент;
– поместить указатель на выделенном фрагменте, нажать и не отпускать
левую кнопку мыши, затем нажать клавишу Ctrl;
– скопировать в новое место.
При перемещении клавишу Ctrl не нажимать. Операции перемещения и
копирование возможны как в одном документе, так и при работе с несколькими
документами.
Упражнение 2. Использование буфера обмена
Рассмотрим пример работы буфера обмена с несколькими фрагментами
данных. Пусть имеется некоторый текст, в котором встречаются термины,
значение которых нужно уточнить. Из этих слов необходимо составить список
в отдельном документе. Выполнить, используя возможности буфера обмена.
1. Открыть документ, из которого нужно выписать термины. Щелкнуть
по кнопке в виде стрелки, направленной вниз, в нижней части группы Буфер
обмена на вкладке Главная. Если в буфере обмена находятся какие-то данные,
то нажать кнопку Очистить все.
2. Скопировать в буфер обмена все необходимые термины. После
каждого копирования слова проверить помещено ли оно в буфер.
3. После добавления в буфер обмена всех необходимых терминов создать
новый документ или открыть файл, в который необходимо вставить список
слов.
4. Нажать кнопку Вставить все в области задач Буфер обмена.
Проверить вставлены ли все данные из буфера обмена.
5. Если буфер окажется заполненным, необходимо вставить данные,
очистить буфер и продолжить работу.
В буфере обмена может храниться 24 участка информации. Если их будет
больше, то новые данные будут вытеснять старые. Поэтому, собирая данные в
буфер обмена, необходимо следить за их количеством: информация о
скопированных участках текста содержится в заголовке области задач. В случае
необходимости вставьте данные, очистите буфер, а затем вернитесь к
основному документу.
Поиск и замена текста
При работе с документом можно выполнять поиск по заданным условиям.
Для этого нужно воспользоваться кнопкой в группе Редактирование на вкладке
Главная или использовать комбинацию клавиш (Ctrl+F).
Откроется диалоговое окно Найти и заменить.
37
Упражнение 3. Поиск данных
Создать новый документ и набрать несколько слов: Конверсия, Версия,
Вера и Инверсия (запишем каждое слово на новой строке).
Выполнить следующие действия:
1) для вызова окна Найти и заменить нажать сочетание клавиш Сtrl+F;
2) ввести в поле поиска значение Вер;
3) задать Выделение при чтении;
4) нажать кнопку Найти далее. Нажимая эту кнопку несколько раз,
убедитесь, что программа найдет этот фрагмент текста во всех четырех словах;
5) нажать кнопку Больше, чтобы задать дополнительные параметры
поиска;
6) установить флажок Учитывать регистр и снова произвести поиск. На
этот раз будут найдены только значения Версия и Вера;
7) нажать кнопку Закрыть для завершения поиска.
Замена данных
Для замены одного или нескольких символов, слова или участка текста
необходимо перейти на вкладку Заменить диалогового окна Найти и
заменить. Сделать это можно несколькими способами:
– воспользоваться сочетанием клавиш Сtrl+H;
– нажать кнопку Заменить на ленте в группе Редактирование на вкладке
Главная.
Упражнение 4. Замена данных
Открыть документ с названием «Поиск и замена» из предыдущего
упражнения и выполнить следующие действия:
1) для вызова окна Найти и заменить нажать сочетание клавиш Сtrl+F;
2) в поле Найти ввести значение Вер, а в поле Заменить на – 000;
3) нажмите кнопку Найти далее, а затем – Заменить. Фрагмент первого
слова будет заменен;
4) нажмите кнопку Заменить все. Программа заменит данные во всех
остальных словах и сообщит о количестве произведенных замен;
5) нажмите кнопку Закрыть для завершения операции замены.
Упражнение 5. Добавление элемента автозамены
Для добавления нового элемента автозамены выполнить следующее:
1) нажать кнопку Office, а затем нажать кнопку Параметры Word в
нижней части меню Office;
2) в окне Параметры Word выберите раздел Правописание;
3) перейдите к области Параметры автозамены и нажмите одноименную
кнопку. Откроется окно Автозамена;
4) в поле заменить области Заменять при вводе введите слово с ошибкой,
которое часто встречается в тексте (например, слоово);
5) в поле на области наберите правильный вариант написания этого слова
(например, слово);
38
6) нажать кнопку ОК, чтобы подтвердить ввод новых значений. Теперь
Word будет исправлять ошибку автоматически, не спрашивая разрешения
пользователя. Функцию Автозамена можно использовать не только для
устранения опечаток, но и для быстрого ввода каких-нибудь слов и
предложений. Например, если вам часто приходится набирать фразу
нелинейный видеомонтаж, то введите ее в поле на окно Автозамена, а в поле
заменить наберите, например, нели. Теперь после набора этих четырех букв
появится вся фраза.
Документ состоит из объектов, каждый из которых обладает своими
свойствами. Основное содержание документа составляет, как правило, текст
– набор символов, вводимых с помощью клавиатуры. Эти символы образуют
текстовые объекты: слова, предложения и абзацы. Текстовые объекты
располагаются на страницах так, как они будут отображаться на бумажном
носителе при выводе документа на печать. В документе символы – это буквы,
цифры, знаки препинания. Нажатие некоторых клавиш вводит в текст
непечатаемые символы. Эти символы не отображаются в документе при
выводе его на печать. Для того чтобы увидеть эти символы на мониторе
компьютера при подготовке документа к печати, следует использовать кнопку
на вкладке Главная со знаком ¶.
Основные непечатаемые символы:
– табуляция () – обычно применяется для вертикального выравнивания
текстовых фрагментов в нескольких строках или для большого отступа между
двумя словами в предложении;
– символ абзаца ¶ – отображается в конце каждого абзаца (после нажатия
клавиши Enter), а также в пустой строке;
– пробел (•) – разделяет слова в предложении.
Слово – набор символов, ограниченный с двух сторон пробелами или
знаками препинания (точками, запятыми и т. д.).
Строка – набор слов или символов, расположенных в одну линию (без
переносов).
Предложение – набор символов и слов, ограниченный с двух сторон
знаками препинания (точками, восклицательными или вопросительными
знаками, многоточием).
Абзац – произвольная последовательность символов, замкнутая символом
«Возврат каретки» (клавиша Enter).
Страница – часть текста, ограниченная линиями разделения страниц.
Страница представляет собой сложный объект, обязательными элементами
которого являются поля.
Поля – области страницы, где не может размещаться текст. Исключение
составляют верхнее и нижнее поля, в которых может размещаться служебная
информация. Эти элементы страницы называются колонтитулами. В качестве
колонтитула может быть использован текст и/или рисунок (номер страницы,
дата печати документа, название документа, имя файла).
39
Свойства объекта, которые могут быть изменены пользователем,
называются его атрибутами. Для обозначения размера и рисунка символов,
используемых при создании документа с помощью программ обработки
текста, применяется термин «шрифт».
Основные атрибуты шрифта:
– гарнитура шрифта – совокупность наборного материала, имеющего
одинаковый характер рисунка символов, который определяется видом
элементов, составляющих их (символов).
По способу формирования изображения символов шрифты делятся на
растровые и векторные. В среде Windows для работы с документами, как
правило, используются векторные шрифты специального формата TrueType.
Каждый шрифт TrueType имеет название (имя), например: Arial, Times New
Roman, Symbol.
– начертание шрифта. Каждый шрифт имеет четыре варианта
начертания: обычный, полужирный, наклонный (часто называемый курсивом)
и подчеркнутый. Могут также использоваться комбинации начертания,
например, одновременно полужирный, наклонный и подчеркнутый:
– размер символов. Символы имеют размер, называемый кеглем.
Величина кегля измеряется в пунктах (пт, pt). 1 пт = 1/72' (дюйма). Данная
запись означает, что 1 пт равен 1/72 части дюйма (2,54 см).
Кроме этих атрибутов, можно изменять и другие: цвет символов, их
подчеркивание, видоизменения символов, интервал между ними. Другие
атрибуты шрифта можно увидеть в диалоговом окне MS Word Шрифт на
вкладке Главная.
Вкладка Интервал помогает определить расстояние между символами
шрифта. В зависимости от выбранного варианта шрифт может быть
уплотненным, обычным и разреженным.
Для текстового процессора MS Word абзац – это часть текста, введенная
между двумя нажатиями клавиши Enter. Основными атрибутами абзацев
являются выравнивание, отступы и интервалы.
Различается четыре вида выравнивания: по левому краю, по центру, по
правому краю и по ширине.
Представление об атрибутах абзаца дает диалоговое окно форматирования
абзаца в текстовом процессоре MS Word Абзац на вкладке Главная.
Атрибут «отступ» характеризует расстояние от края текста до
соответствующей внутренней границы бокового поля.
Для задания отступов можно использовать не только диалоговое окно
Абзац, но и маркеры на горизонтальной линейке
Атрибут «интервал» позволяет задать:
– интервалы
междустрочные
–
расстояние
между строками
внутри абзаца (интерлиньяж);
– интервалы между абзацами – расстояние от последней строки
предыдущего абзаца до первой строки последующего (отбивки);
– отступ первой строки – определяет положение первой строки абзаца.
Для изменения отступов используйте соответствующие маркеры.
40
С помощью диалоговых окон Шрифт и Абзац можно выполнить
форматирование текста. При форматировании изменяются свойства документа
в целом и его объектов с целью придания им желаемой формы..
Стили форматирования
Часто при работе с текстовыми документами возникает необходимость
изменения нескольких параметров форматирования текста. Для этой цели
рекомендуется использовать стили форматирования. Стили – это наборы
параметров форматирования, которые можно применить ко всем частям
документа сразу. При запуске Microsoft Word создается новый документ, текст
которого оформляется с применением стиля Обычный. Этот стиль является
базовым. Другие стили представлены в виде значков на панели инструментов
Стили. В MS Word 2007 появилось новое средство форматирования – Экспрессстили, которое позволяет просматривать набор стилей перед выбором одного из
них. Для применения экспресс-стиля:
1) выделить фрагмент текста;
2) навести указатель на кнопку выбранного стиля на панели инструментов
Стили;
3) выделенный фрагмент автоматически будет оформлен этим стилем
(временно);
4) щелкнуть мышью по выбранному стилю, чтобы его зафиксировать при
выборе.
На панели инструментов есть кнопка Изменить стили, которая при выборе
пункта Набор стилей открывает список наборов, которые можно использовать
для оформления документов.
Упражнение 6. Создание пользовательского стиля
Текст, оформление которого вы хотите сделать образцом, можно
использовать для создания стиля. Созданный стиль вы сможете применять в
любом месте документа, с которым работаете, а также в других файлах.
Для создания стиля на основе отформатированного текста сделать
следующее:
1) выделить текст, который служит образцом;
2) вызвать меню экспресс-стилей, щелкнув на кнопке Дополнительные
параметры в группе Стили на ленте;
3) выбрать команду Сохранить выделенный фрагмент как новый
экспресс-стиль;
4) в окне Создание стиля ввести название стиля и нажмите кнопку OK;
5) если вы хотите задать дополнительные параметры стиля, нажмите
кнопку Изменить в окне Создание стиля.
Чтобы добавить стиль в меню экспресс-стилей, установите флажок
Добавить в список экспресс-стилей.
41
Отмена и возврат действий
Для исправления ошибок в программе предусмотрена возможность отмены
выполненных
действий.
Последнее
действие
можно
отменить,
воспользовавшись сочетанием клавиш Ctrl+Z или нажав кнопку Отменить на
панели быстрого доступа.
Создание списков
Для создания нумерованных, маркированных и многоуровневых списков
можно использовать соответствующие кнопки в группе Абзац на вкладке
Главная на ленте. Кнопки дают возможность быстро пронумеровать абзацы или
установить перед ними маркеры, а также установить дополнительные
параметры форматирования.
Для создания списка выполнить следующие действия:
1) выделить требуемый участок текста.
2) нажать кнопку Маркеры, Нумерация или Многоуровневый список в
группе Абзац на вкладке Главная на ленте
3) новый маркер будет установлен для каждого абзаца.
Можно создать список и перед началом набора текста. Установить курсор
в том месте, откуда вы желаете начать список, и выполнить описанные выше
действия. Нажать клавишу Enter, чтобы начать новый абзац и новый раздел
списка.
Создание таблиц
Работа с таблицей обычно начинается с ее создания. Чтобы создать
таблицу в Word, воспользуйтесь одним из следующих способов:
– нажать кнопку Таблица в одноименной группе на вкладке Вставка на
ленте. Выбрать количество столбцов и строк;
– нажать кнопку Таблица в одноименной группе на вкладке Вставка на
ленте и выбрать команду Вставить таблицу. В диалоговом окне Вставка
таблицы выбрать количество столбцов и строк и нажать кнопку ОК. Если в
макете не хватает ячеек, выбрать пункт Вставить таблицу.
Рисование таблицы
Таблицу можно нарисовать вручную; для этого выбрать в меню Таблица |
Нарисовать таблицу. При этом мышь приобретет вид карандаша, с помощью
которого можно нарисовать таблицу. Команда Нарисовать таблицу
автоматически активизирует вкладку Работа с таблицами | Конструктор.
Операции со столбцами и строками таблицы
1. Выделение таблицы
Чтобы выделить строку или столбец таблицы, выберите один из
следующих способов:
– выделите нужные участки таблицы по ячейкам, предварительно нажав
и удерживая левую кнопку мыши;
42
– подведите указатель к левой границе строки или к верхней границе
столбца, после чего щелкните мышью.
Если таблица располагается на нескольких страницах, можно выделить
нужный участок, удерживая нажатой клавишу Shift и плавно перемещая курсор
при помощи клавиши.
2. Добавление элементов таблицы
При редактировании таблицы можно добавлять в нее дополнительные
элементы – строки или столбцы. Для этого сделать следующее:
1) выделить столько строк или столбцов, сколько нужно добавить.
2) перейти на вкладку Макет и в группе Строки и столбцы нажать
нужную кнопку:
– вставить слева;
– вставить справа;
– вставить сверху;
– вставить снизу.
Установка параметров страниц
Основными атрибутами страницы являются: ее размер, ширина полей и
ориентация страницы, которая может быть книжной или альбомной.
Совокупность страниц с одинаковыми атрибутами образует раздел.
Кроме того, раздел создается и тогда, когда на одной странице размещается
текст с разным числом колонок. Таким образом, могут иметь место случаи,
когда на одной странице располагается несколько разделов. И наоборот, один
раздел может состоять из нескольких страниц.
Когда пользователь вводит текст, Word автоматически определяет места
разрывов страниц, если текст не помещается на странице, он помещается на
следующую страницу. Если нужно перейти на другую страницу вручную,
нажать комбинацию клавиш Ctrl+Enter.
Разрывы страниц видны во включенном режиме скрытых символов
форматирования. Если документ должен состоять из страниц, имеющих
различные параметры (например, ориентацию), то его следует разделить на
несколько разделов. Каждый раздел имеет свои параметры страниц. Для
вставки в документ нового раздела нужно:
– выполнить команду Разрывы на панели Параметры страницы на
вкладке Разметка страницы;
– выбрать в появившемся диалоговом окне одно из предлагаемых
значений поля Разрывы разделов. Разрывы разделов отображаются в виде двух
прерывистых линий со словами Разрыв раздела (на текущей странице) или
Разрыв раздела (на следующей странице).
1. Поля страницы
Для установки отступов от краев листа бумаги используется кнопка Поля
на панели Параметры страницы. Ориентацию в окне Параметры страницы
можно задать альбомную или книжную.
43
По умолчанию Microsoft Word устанавливает следующие размеры полей:
левое – по 3 см, правое – 1,5 см, верхнее и нижнее – по 2 см.
Поля страниц (так же, как отступы и выступы) можно быстро задавать с
помощью горизонтальной (для правого и левого полей) и вертикальной (для
верхнего и нижнего полей) линеек. Размер поля показывают деления на серой
части линейки.
2. Размер страницы
Установка размера страницы выполняется нажатием кнопки Размер
панели Параметры страницы
3. Нумерация страниц
Если документ состоит более чем из двух страниц, то перед распечаткой
желательно пронумеровать страницы. Благодаря этому в нем будет гораздо
легче ориентироваться. Для некоторых типов документов (например, для
научных работ) нумерация необходима.
Чтобы пронумеровать страницы, сделайте следующее:
1) перейти на вкладку Вставка и нажать кнопку Номер страницы в
группе Колонтитулы;
2) выберите положение номера на странице, используя доступные
варианты в подменю Вверху страницы, Внизу страницы и На полях страницы.
Microsoft Word предлагает самые разные варианты оформления номеров
страниц.
Вставка изображений в документ
Графические объекты можно вставлять в документ Word. Картинку из
любого источника (веб-страницы или другого документа) можно скопировать, а
потом вставить из буфера обмена в нужное место текущего документа. Кроме
того, в Word существуют возможности хранения и открытия различных
графических файлов непосредственно в программе.
Чтобы вставить в документ изображение, которое хранится на вашем
жестком диске, нажать кнопку Рисунок в группе Иллюстрации на вкладке
Вставка на ленте, выбрать графический файл в окне Вставка рисунка и нажать
кнопку Вставить. Для редактирования изображения выделить вставленное
изображение, на ленте появится новая вкладка Работа с рисунками – Формат.
С ее помощью можно производить все операции редактирования рисунка.
Во вкладке Вставка – Рисунок можно включить в документ графические
объекты, созданные в среде различных графических редакторов, например
Adobe PhotoShop, CorelDraw, 3D Studio Max, GIMP. Для включения в текст
документа отдельных графических объектов могут быть использованы
графические приложения, входящие в состав текстового процессора.
44
Вставка рисунка из коллекции
В комплект поставки Word входит коллекция профессионально
выполненных рисунков и других файлов мультимедиа, предназначенных для
оформления документов. Для вставки нужного рисунка выполнить следующее:
1) нажать кнопку Клипы на панели Иллюстрации;
2) указать ключевое слово в поле Искать;
3) в списке Просматривать указать коллекции для поиска;
4) в списке Искать объекты выбрать тип файлов мультимедиа для
поиска;
5) нажать кнопку Начать.
Кроме этих графических объектов пользователь может создать и другие с
помощью инструментов Фигуры.
Надписи
Надписи – это объекты векторной графики, в которые вставлен текст.
Надписи помогают оформить текст документа, сделать его более наглядным.
Они также пригодятся при создании плакатов, объявлений, пояснений и др.
Для создания надписи нажмите одноименную кнопку в группе Текст на
вкладке Вставка на ленте. В Word 2007 содержится большая коллекция разных
надписей, которые помогают в оформлении документа. Для них уже подобраны
параметры форматирования и выравнивания, и пользователю остается только
набрать или вставить текст.
С помощью команды WordArt в текст документа можно ввести
художественно оформленную надпись. Программа позволяет выбрать один из
тридцати вариантов ее оформления.
Упражнение 7. Создание объекта WordArt
Чтобы вставить в документ объект WordArt, сделать следующее:
1) перейти на вкладку Вставка и щелкнуть по кнопке WordArt в группе
Текст;
2) в меню WordArt выберите тип объекта;
3) в диалоговом окне Изменение текста WordArt введите текст надписи, а
также подберите гарнитуру, кегль и начертание шрифта;
4) нажмите кнопку ОК, чтобы подтвердить ввод. Объект WordArt
отобразится в рабочем окне.
Автоматическая проверка правописания является одной из функций
текстового
процессора,
обеспечивающих
автоматизацию
процесса
редактирования документа. Для этого необходимо выполнить команду
Параметры MS Word в кнопке Office и выбрать Языковые параметры.
Установить флажки автоматической проверки правописания можно нажав
кнопку Office, выбрав Параметры MS Word – Правописание.
При автоматическом контроле орфографии и грамматики Word проверяет
ошибки в тексте непосредственно при наборе. В таком случае сразу после того,
45
как слово или предложение набрано, видно, допущена ошибка или нет:
программа подчеркивает слова, содержащие орфографические ошибки,
красным цветом, а грамматические – зеленым.
Для выполнения проверки правописания вручную используется
диалоговое окно Правописание. Для его вызова можно воспользоваться
кнопкой Правописание в одноименной группе на вкладке Рецензирование на
ленте или нажать клавишу F7.
Упражнение 8. Работа в режимах Схема документа и Структура
Для работы в режимах Схема документа и Структура нужен документ,
корректно оформленный при помощи стилей.
1. Перейти на вкладку Вид и установите флажок Схема документа в
группе Показать или скрыть. В левой части окна появилась панель, на которой
представлены все заголовки документа.
2. Щелкнуть на Заголовке 2, чтобы переместиться к соответствующему
месту документа. Переместитесь по документу несколько раз.
3. Перейдите в режим Структура, нажав кнопку Структура в группе
Режимы просмотра документа.
4. На панели инструментов Структура развернуть список Показать
уровень и выбрать пункт Показать уровень 3. Теперь будут отображаются
только заголовки, а основной текст скрыт. Изменить параметры отображения
документа, выбрав другое значение из списка Показать уровни.
5. Выделить Заголовок 2 и нажать кнопку Повысить уровень на панели
инструментов Структура. Уровень этого заголовка изменился.
Упражнение 9. Создание указателя
Когда набор текста будет завершен, и фразы, которые должны
присутствовать в указателе, будут в него внесены, можно перейти к созданию
указателя. Для этого:
1) установить курсор в том месте текста, где должен быть вставлен
указатель;
2) перейти на вкладку Ссылки и нажать кнопку Предметный указатель в
одноименной группе;
3) откроется диалоговое окно Указатель;
4) из списка Форматы выберите формат указателя;
5) чтобы дополнительные элементы располагались под основными,
установите переключатель Тип в положение с отступом. Если переключатель
установлен в положение без отступа, то дополнительные элементы будут
располагаться на одной строке с основными;
6) нажать кнопку ОК, чтобы подтвердить создание указателя. Он
появится в документе. Если после создания указателя текст придется
редактировать снова, указатель обновить. Для этого поместить курсор в поле
указателя и нажать клавишу F9.
46
Упражнение 10. Создание оглавления
Для создания оглавления выполнить следующее:
1) установить курсор в том месте, где будет располагаться оглавление;
2) перейти на вкладку Ссылки и нажать кнопку Оглавление в одноименной
группе;
3) выбрать стиль оглавления из появившегося меню;
4) если не устраивают стили оглавления предложенные по умолчанию,
можно настроить их вручную. Для этого выбрать команду Оглавление в меню
со стилями. Откроется одноименное окно;
5) установить флажок Показать номера страниц для отображения
номеров страниц каждого элемента списка;
6) установить флажок Номера страниц по правому краю для
выравнивания номеров страниц по правому краю;
7) в поле Заполнитель выбрать тип линий (точечные, пунктирные или
сплошные), которые будут вставлены между элементами оглавления и
номерами страниц. Это можно сделать только при установленном флажке
Номера страниц по правому краю;
8) задать количество уровней оглавления в поле Уровни. Количество
уровней не должно быть больше количества стилей заголовков;
9) нажать кнопку ОК, чтобы подтвердить создание оглавления. Оно будет
вставлено в документ;
10) если после создания оглавления в документ вносились правки, то
поместите курсор в поле оглавления и нажмите клавишу F9 для его
обновления. Также можете нажать кнопку Обновить таблицу в группе
Оглавление.
Работа с формулами
Для работы с формулами в MS Word есть специальный редактор формул
Microsoft Equation. На вкладке Вставка можно выбрать команду Формула. При
включении вкладки Формула на экране можно увидеть шаблоны, содержащие
поля для ввода символов. С помощью шаблонов в формулу можно вставить
дроби, интегралы, суммы, верхние и нижние индексы. Заполнение этих полей
может производиться как с клавиатуры, так и с помощью элементов
управления, выбранных на вкладке Формула. Переходы между полями
выполняются с помощью клавиш управления курсором. Ввод и редактирование
формул завершается, если щелкнуть левой кнопкой мыши вне области ввода
формулы. Введенная формула автоматически вставляется в текст. Переместить
формулу в другое место можно через буфер обмена. Для редактирования
формулы достаточно выполнить на ней двойной щелчок.
С дополнительным материалом по теме можно ознакомиться в литературе
[1, 3, 4, 7].
Задание № 1
1. Запустить MS Word 2007.
2. Создать новый документ.
47
3. Задать режим Разметки страницы.
4. Задать вывод на экран непечатаемых (служебных) символов (знак
абзаца) и границы текста.
5. Настроить функцию автосохранения – Автосохранение каждые …
минут (кнопка Office, параметры Word).
6. Отключить проверку правописания.
7. Отключить автоматическую расстановку переносов.
8. Установить Параметры страницы. Задать на вкладке Поля страницы:
левое – 25 мм, правое – 15 мм, верхнее – 25 мм, нижнее – 20 мм.
9. Задать для нижнего поля интервал от края до колонтитула 12 мм (в
нижнем колонтитуле будет размещаться номер страницы).
10. Создать нижний колонтитул для размещения номера страницы.
11. Вставить номер страницы. Выровнять по центру номер страницы.
12. Сохранить документ в рабочей папке. Задать имя файла: Задание1Фамилия_студента.
13. Ввести строку с греческими буквами, используя вкладку Вставка –
Символ.
14. Набрать текст.
Текст должен содержать 3 абзаца (не меньше) и заголовок:
– первый абзац – гарнитура Times New Roman, кегль – 14 пунктов,
сделать выравнивание по центру;
– второй абзац – гарнитура Arial, кегль – 12 пунктов, сделать
выравнивание по левому краю;
– третий абзац – гарнитура Courier New, кегль – 10 пунктов, сделать
выравнивание по правому краю.
15. Выполнить цветное обрамление и заливку фрагментов различными
способами.
16. Для заголовка выбрать готовый стиль из списка стилей.
17. Первый абзац выполнить с разрежением 5 пунктов, шрифт
полужирный. Установить в абзацах красную строку 2,5 см и интервалы по 6 пт.
18. Выполнить рисунок с помощью пиктограммы Фигуры типа орнамента
(копированием), выбрать фигуру, размножить ее и сгруппировать в один
рисунок. Для этого выделить все рисунки (держать нажатой клавишу Shift) и
выполнить группирование с помощью контекстного меню.
19. Сгруппированный рисунок нанести поверх текста, сделать текст
видимым выбрать порядок – позади текста с помощью контекстного меню.
20. Готовый рисунок вставить в начало текста (из библиотеки MS Word).
21. Файл сохранить.
Задание № 2
1. Создать таблицу, состоящую из 5 столбцов и 10 строк. Любые два
столбца соединить общим заголовком с подзаголовками. Таблица может быть
представлена в виде прайс-листа или бизнес-плана.
Приблизительные темы:
1. Бизнес-план ремонта школы.
48
2. Прайс- лист по продаже ПК.
3. Прайс-лист по продаже телевизоров.
4. Бизнес-план ремонта квартиры.
5. Прайс-лист по продаже канцтоваров.
6. Бизнес-план реконструкции помещения.
Бизнес-план должен отражать вид деятельности, исполнителей,
финансирование по месяцам, затраты по кварталам и за год.
Рекламный лист должен содержать не менее 10 наименований товаров,
категорию, стоимость в у.е., пересчет в рублях на текущий курс, суммарную
стоимость всех обозначенных продуктов.
1. За таблицей расположить нумерованный список, в котором
раскрывается содержимое отдельного товара или вида деятельности.
Созданный автоматически список преобразовать в многоуровневый с помощью
кнопок : Увеличить отступ, уменьшить отступ на вкладке Главная.
2. За списком необходимо ввести формулу с помощью редактора формул:
вкладка Вставка – Формула. Формулу получить у преподавателя.
3. Сохранить информацию в файле с названием: Задание2Фамилия_студента.
4. Создать третий файл MS Word с названием Фамилия_студента, в
котором объединить предыдущие два файла.
Содержание отчета
Отчетом является файл MS Word Фамилия_студента, созданный в
результате выполнения задания.
Технология выполнения работы
Заполнение файла MS Word Фамилия_студента должно быть выполнено в
соответствии с заданными параметрами шрифта, абзацев и параметров
страницы. Рисунок должен соответствовать заданию. Файл должен содержать
таблицу, соответствующую требованиям задания 2, список и формулу.
Вопросы для защиты работы
1. Режимы отображения информации в MS Word
2. В каких единицах измеряется размер шрифта?
3. Что такое гарнитура шрифта?
4. Отличие буфера обмена в MS Word от буфера обмена Windows.
5. Какие режимы копирования (перемещения) используются в MS Word?
6. Что такое интерлиньяж?
7. Отличие понятия форматирование от редактирования.
8. Какие бывают списки?
9. Как включить формулу в текст документа?
10. Как выполнить редактирование таблицы?
49
ЛАБОРАТОРНАЯ РАБОТА № 5
ЭЛЕКТРОННЫЕ ТАБЛИЦЫ MS EXCEL: ВВОД ДАННЫХ В ЯЧЕЙКИ,
КОПИРОВАНИЕ ДАННЫХ, ФОРМАТИРОВАНИЕ ДАННЫХ, ФУНКЦИИ
Время выполнения – 2 часа.
Цель работы
Освоение приемов ввода и редактирования и форматирования данных в
электронных таблицах.
Задачи лабораторной работы
После выполнения работы студент должен:
1) уметь работать с интерфейсом программы MS Excel;
2) освоить приемы автозаполнения ячеек;
3) знать особенности ввода формул;
4) освоить форматирование таблиц.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со
следующим обеспечением: операционная система Windows и MS Office 2007 и
выше.
Общие теоретические сведения
Для представления данных в удобном виде используют таблицы.
Компьютер позволяет представить их в электронном виде, что дает
возможность их обрабатывать. Такие таблицы называются электронными.
Одним из самых распространенных средств работы с документами,
имеющими табличную структуру, является программа MS Excel. Она
входит в пакет Microsoft Office и предназначена для подготовки и обработки
электронных таблиц. Файл MS Excel 2007 имеет расширение *.xlsx. В
терминах MS Excel такой файл называется рабочая книга. В каждом файле
могут размещаться от 1 до 255 таблиц, каждая из которых называется рабочим
листом. Рабочий лист – документ, который состоит из 16384 строк и 256
столбцов. Строки пронумерованы от 1 до 16384, а столбцы A, B, C и т. д. На
пересечении строки и столбца располагается основной структурный
элемент таблицы – ячейка. Для указания на конкретную ячейку
используется адрес, который составляется из обозначения столбца и номера
строки (Al, C2, F6 и т. п.).
Если мы хотим работать с группой смежных ячеек, то нужно указать через
двоеточие начальную ячейку и конечную ячейку (А1:С2).
Для указания номера листа можно записать адрес в виде Лист 8!А1:В2. В
Excel есть удобный способ ссылки на ячейку с помощью присвоения этой
ячейки произвольного имени. Имя можно задать на вкладке Формулы.
Чтобы ввести данные в конкретную ячейку необходимо её выделить
щелчком левой кнопки мыши, а затем ввести данные. Чтобы исправить
50
введенные данные необходимо перейти в режим редактирования, дважды
щелкнув левой кнопкой мыши по ячейке.
В любую ячейку можно записать: число, формулу, текст. Числа
автоматически сдвигаются к правой стороне. Число можно записать в
стандартном виде: 257 или в экспоненциальном виде: 2.0Е-20. Если
последовательность начинается со знака =, то электронная таблица считает её
формулой (=А2+СЗ+В6).
Если вводимая информация, не число и не формула, то Excel считает, что
это текст. Если вводимый текст превысит по длине видимую ширину столбца,
то возможны 2 случая:
1) если следующие ячейки пустые, тогда визуально текст накроет эти
ячейки;
2) если в следующих ячейках есть данные, тогда правая часть текста
скроется за этими ячейками.
На вкладке Главная можно открыть вкладку Шрифт и откроется
диалоговое окно, в котором можно задать верхний или нижний индекс, выбрать
числовые форматы, задать размер шрифта и гарнитуру, выравнивание, границу,
заливку, защиту. На вкладке Главная можно выбрать стили ячеек.
Редактирование таблицы может быть выполнено с помощью контекстного
меню: можно добавить или удалить лист, строки, столбцы, переименовать лист.
Особенность электронных таблиц состоит в возможности применения
формул для описания связи между значениями различных ячеек. Аргументами
в формулах могут быть: числа, функции, ссылки. Ссылка определяет адрес
ячейки, где находится нужное значение. Различают абсолютные,
относительные и смешанные адреса. Абсолютный адрес ячейки позволяет
определить местоположение нужного значения в данной ячейке, адрес которой
остается фиксированным при любых операциях и манипуляциях с таблицей. В
записи абсолютного адреса ячейки перед именем столбца и перед номером
строки пишется знак “$”. Например, $B$19. Относительный адрес ячейки
(без использования знака “$”) определяет не только местоположение ячейки, но
и относительное взаиморасположение ячеек. Функциональное различие
абсолютного и относительного адресов ячейки проявляется при переносе
формулы в другую ячейку рабочего листа. При этом в формулах абсолютные
адреса ячеек не меняются, а относительные изменяются так, что на новом месте
относительное взаиморасположение ячеек – аргументов и ячеек с формулой
сохраняется.
В случае если необходимо закрепить только номер строки или номер
столбца, используют смешанные адреса ячеек. Например, в адресе $F1
закрепленным является столбец F, а в адресе B$7 – строка 7.
Расчет по заданным формулам осуществляется автоматически. Изменение
содержимого одной ячейки приводит к пересчету всех ячеек, которые связаны
формулой. В формулах могут быть использованы стандартные функции,
которые находятся в библиотеке MS Excel. Для вызова таких функций
предназначен мастер функций. Мастер функций может быть вызван
пиктограммой в строке формул или во вкладке Формула (рис. 1).
51
Рис. 1. Библиотека функций на Ленте MS Excel 2007
Копирование формул
MS Excel позволяет скопировать готовую формулу в смежные ячейки,
причем адреса ячеек будут изменены автоматически. Для этого необходимо
выделить ячейку, содержащую формулу, установить указатель мыши на
черный квадратик в правом нижнем углу курсорной рамки (указатель примет
форму черного крестика). После этого нажать левую кнопку мыши и, не
отпуская, сместить указатель по горизонтали или вертикали в зависимости от
того, куда распространяется формула. При копировании влево (вправо)
смещение на одну ячейку по горизонтали уменьшает (увеличивает) каждый
номер столбца в формуле на единицу. При копировании вверх (вниз) по
вертикали уменьшает (увеличивает) каждый номер строки в формуле на
единицу. Этим способом можно копировать в смежные ячейки числа и тексты.
Пример. Вычисление по формулам.
Вычислить значение функции F(x,y) по формуле F(x,y)=4x3 -3y2 +6x для
х=1 и у=2.
1 способ.
В ячейку А1 записать x, в ячейку B1 – y, в ячейку C1 – F(x,y).
В ячейку А2 записать значение 1, а в ячейку B2 значение 2. В ячейку С2
ввести вышеуказанную формулу, используя для операции возведение в степень
символ ^ и для операции умножения символ *.
Адреса ячеек в формулу можно вводить с клавиатуры либо выбирая
нужную ячейку мышкой.
А
В
С
1
x
y
F(x,y)
2
1
2
=4*А2^3-3*B2^2+6*A2
После нажатия клавиши Enter в ячейке С2 получаем результат.
Для второго варианта присвоить ячейке А2 со значением х имя х,
а ячейке В2 со значением у имя у. Присвоить имя ячейке можно на вкладке
Формула.
С дополнительным материалом по теме можно ознакомиться в литературе
[1, 3, 4, 7].
Задание. Составить таблицу значений функции двух переменных F(x,y), в
прямоугольной области [a,b]×[c,d], для аргументов xi=a+ihx, yj=c+jhy,
где i=0..Nx, j=0.. Ny, ( hx=(b-a)/Nx, hy=(d-c)/Ny). Результат сохранить в книге.
Nx, Ny принять равными по 10 итераций.
52
№
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
F(x,y)
xy+5,6(x+y)
xy-5,6(x-y)
xy+x2+y2
x(x+y)
(x+xy)+y
(xy+x)+xy
2,5(x+y)
y(x+y)+xy
(x-y)+5xy
y+(2,5x+y)
(xy+1,4x)+xy
5,2 (x+y)
xy(x+y)
xy+(x+y)-4
x(x+y)+y
xy(x+y)
(x+xy)+xy-2
xy(x+y)+xy
x(x-y)+5,3y
x+y(xy+1)
y(x+1)+y
y(x+y)+xy
x+(x+y)
xy+(xy+4,7)
(x+y)(x+3,1)
a
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
Варианты заданий
b
c
1
0
3
0
1
0
1
0
3
0
1
0
1
0
3
0
1
0
1
0
3
0
1
0
1
0
3
0
1
0
1
0
3
0
1
0
1
0
3
0
1
0
1
0
3
0
1
0
1
0
d
1
2
1
1
2
1
1
2
1
1
2
1
1
2
1
1
2
1
1
2
1
1
2
1
1
hx
0,1
0,2
0,1
0,1
0,2
0,1
0,1
0,2
0,1
0,1
0,2
0,1
0,1
0,2
0,1
0,1
0,2
0,1
0,1
0,2
0,1
0,1
0,2
0,1
0,1
hy
0,1
0,2
0,1
0,1
0,2
0,1
0,1
0,2
0,1
0,1
0,2
0,1
0,1
0,2
0,1
0,1
0,2
0,1
0,1
0,2
0,1
0,1
0,2
0,1
0,1
Содержание отчета
Отчетом является файл Таблица значений_Фио_студента.xlsx, созданный в
результате выполнения задания.
Технология выполнения работы
Заполнение файла Таблица значений_Фио_студента.xlsx по заданному
варианту должно быть выполнено с использованием правил ввода информации
в ячейки, автозаполнения и копирования формул.
1.
2.
3.
4.
Вопросы для защиты работы
Охарактеризовать основные элементы окна MS Excel.
Назвать типы данных, используемых в электронных таблицах.
Как выполняется Автозаполнение в электронных таблицах?
Описать абсолютные и относительные ссылки.
53
ЛАБОРАТОРНАЯ РАБОТА № 6
ЭЛЕКТРОННЫЕ ТАБЛИЦЫ MS EXCEL: ДИАГРАММЫ, ГРАФИКИ,
УСЛОВИЯ, ФУНКЦИИ, МАКРОСЫ
Время выполнения – 4 часа.
Цель работы
Освоение навыков вычислений с помощью функций, использование
диаграмм для анализа табличных данных, работа с макросами.
Задачи лабораторной работы
После выполнения работы студент должен:
1) уметь работать с диаграммами;
2) правильно использовать оператор условия;
3) применять функции для расчетов в электронных таблицах;
4) освоить работы с макросами.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со
следующим обеспечением: операционная система Windows и MS Office 2007 и
выше.
Общие теоретические сведения
Анализ данных в электронных таблицах
В табличном процессоре для анализа табличных данных можно
использовать графическое их представление, списки и методы. В табличном
процессоре MS Excel для представления данных в графической форме можно
использовать почти два десятка различных типов диаграмм, причем каждый
тип содержит несколько форматов. Каждый тип диаграмм служит для
определенных целей.
Основные типы диаграмм: графики, гистограммы, круговые,
лепестковые, точечные диаграммы.
Построение диаграмм и графиков можно выполнить с помощью мастера
диаграмм, пиктограммы диаграмм можно видеть на вкладке Вставка (рис. 2).
Рис. 2. Область Диаграммы на Ленте MS Excel 2007
Последовательность построения задается мастером диаграмм. Тип
диаграммы можно выбрать также с помощью пиктограмм вкладки Вставка.
Основной объект диаграммы – ряд Данных. Ряд данных – это совокупность
данных, содержащая количественные характеристики объекта. Эти данные
54
содержатся в одном из векторов (в столбце или в строке), составляющих
таблицу. В качестве имен рядов данных Excel использует заголовки столбцов
или строк данных. Имена рядов отображаются в легенде диаграммы.
Отображением рядов данных на диаграмме являются маркеры данных.
Геометрические размеры маркера соответствуют численному значению
отображаемых данных. Каждый маркер соответствует одному значению
данных вектора, использованного в качестве ряда данных. С понятием «ряды
данных» тесно связано понятие «категории данных», отражающее качество
(свойство) элементов в ряду. В качестве имен оси категорий Excel использует
заголовки тех столбцов или строк таблицы, которые не используются в
качестве рядов данных.
Другими объектами диаграмм являются:
1) легенда – текст, идентифицирующий отдельные элементы
диаграммы;
2) ось – одна из сторон диаграммы. По горизонтальной оси обычно
отображаются категории и/или названия рядов. По вертикальной оси – данные;
3) сетка – множество линий, являющихся продолжением деления осей,
которые способствуют лучшему восприятию данных на диаграмме и облегчают
их анализ. Кроме того, сетка помогает определить точное значение данных.
На первом этапе пользователь имеет возможность выбрать те диаграммы,
которые в наибольшей степени соответствуют целям анализа. Следующий этап
заключается в выборе или уточнении диапазона данных, используемых для
построения диаграммы. Для этого используется вкладка Диапазон данных. При
активной вкладке выделить диапазон значений функции. При активной вкладке
Ряд в строке Подписи оси Х активизировать курсор и выделить диапазон
исходных данных. Кроме того, с помощью команд, доступных при переходе к
вкладке Ряд, можно добавить или удалить ряды данных. Затем, на третьем
шаге, пользователь может выбрать дополнительные объекты для включения в
состав диаграммы и задать некоторые их характеристики и содержание
надписей. На заключительном, четвертом этапе пользователь должен решить
вопрос размещения диаграммы – на отдельном листе или на том листе, где
расположены данные. Если свойства объектов, включенных в диаграмму не
устраивают пользователя, то ее следует переформатировать.
Большое место в MS Excel занимают функции. Для работы с функциями
существует специальное средство – Мастер функций. Диалоговое окно Мастер
функций можно выбрать во вкладке Вставка или кнопкой fx в строке формул. В
открывшемся диалоговом окне выбрать нужную категорию функций и
требуемую функцию. В следующем окне Аргументы функции задать данные
для расчета (список аргументов).
Использование математических функций
Среди математических функций значительное место занимают
тригонометрические функции. В их число входят прямые и обратные
тригонометрические, а также гиперболические функции. Для вычисления этих
функций следует ввести только один аргумент – число. Для функций
55
SIN(число), СОS(число) И ТАN(число) аргумент число – это угол в радианах, для
которого определяется значение функции. Если угол задан в градусах, его
следует преобразовать в радианы путем умножения его на ПИ()/180 или
использования функции РАДИАНЫ.
Пример. Составить таблицу значений функции у=sin(x) для х,
принадлежащего отрезку [20o,60o] с шагом h=3o
Построить по данным таблицы график функции у=sin(x).
1
2
А
№
1
2
В
Х(град)
20
23
…
60
С
Х(радианы)
=радианы(В2)
D
У
=sin(C2)
Столбцы А и В заполнить, используя автозаполнение. Для этого поместить
в ячейки В2 и В3 соответственно значения х в градусах 20 и 23, выделить обе
ячейки, подвести указатель мыши к маленькому черному квадрату, нажать
левую кнопку мыши и, не отпуская ее, провести по всем ячейкам данного
столбца. Таким же образом, заполнить столбец А. Установить курсор в ячейку
С2 и вызвать мастер функций. Выбрать категорию функций Математическая в
открывшемся диалоговом окне и в списке отыскать функцию радианы для
перевода угла из градусов в радианы. В следующем диалоговом окне указать
адрес ячейки, для которой выполняется операция. Адрес ячейки рекомендуется
указывать с помощью мыши. За черный квадрат распространить формулу на
остальные ячейки.
Аналогичные действия выполнить для столбца D (рис. 3).
56
Рис. 3. Составленная таблица значений функции y=sin(x)
Для построения графика выделить столбец х(радианы) или столбец
х(град), нажать клавишу Ctrl и, не отпуская ее, выделить столбец у. Вызвать
мастер диаграмм, выбрать Точечная (рис. 4).
Рис. 4. Построенный точечный график функции y=sin(x) при x[20;59]
Использование логических функций
Опыт показывает, что из всех логических функций чаще всего
употребляются функции: И, ИЛИ и ЕСЛИ. Объясняется это тем, что они
позволяют в процессе решения задач организовать ветвление, т. е. реализовать
57
выбор нескольких вариантов вычисления. Известно, что для организации
ветвления используются высказывания. При этом простое высказывание
содержит одно утверждение, что позволяет проверить выполнение только
одного условия. Функции И и ИЛИ позволяют создавать сложные
высказывания, с помощью которых можно проверить выполнение (или
невыполнение) сразу нескольких условий.
Синтаксис функции И:
И(логическое_значение1; логическое_значение2; …),
где логическое_значение1, логическое_значение2, … – это от одного до
тридцати проверяемых условий (простых высказываний), каждое из которых
может иметь значение либо ИСТИНА либо ЛОЖЬ.
Аргументы должны быть логическими значениями, массивами или
ссылками, которые содержат логические значения. Если аргумент, который
является ссылкой или массивом, содержит тексты или пустые ячейки, то
такие значения игнорируются.
Синтаксис функции ИЛИ:
ИЛИ(логическое_значение1; логическое_значение2; …),
где логическое_значение1, логическое_значение2, … – это, как и в
предыдущем случае, от одного до тридцати проверяемых условий (простых
высказываний), каждое из которых может иметь значение либо ИСТИНА, либо
ЛОЖЬ.
Синтаксис функции ЕСЛИ:
ЕСЛИ(лог.выражение;значение,_если_истина; значение,_если_ложь),
где лог.выражение – это любое значение или выражение (в том числе
простые и сложные высказывания), принимающее значения ИСТИНА или
ЛОЖЬ;
значение,_если_истина – значение, которое будет введено в вычисляемую
ячейку, если лог.выражение истинно. Это значение может быть формулой;
значение,_если_ложь – значение, которое будет введено в вычисляемую
ячейку, если лог.выражение ложно. Это значение может быть формулой.
Пример.
Задача. Если х>0 и x<y найти сумму чисел, иначе вычислить разность
чисел. Построить график зависимости результирующего значения функции
от х.
А
В
С
D
1
x
y
И
ЕСЛИ
2
-50
=А2+5
=И(А2>0;А2<В2)
=ЕСЛИ(С2;А2+В2;А2-В2)
3
-45
Решение.
1. Задать столбик значений х с шагом 5 от -50 до 50.
2. Вычислить столбик значений у по формуле у=х+5 (адреса ячеек
выбирать мышкой).
58
3. Установить курсор в С2, с помощью мастера функций выбрать
категорию Логические и функцию И.
4. В диалоговом окне Аргументы функции задать необходимые
параметры:
– логическое условие 1 для ячейки со значением -50 будет А2>0;
– логическое условие 2 для ячейки со значением -50 будет А2<B2 и
подтвердить ОК.
5. Скопировать формулу в другие ячейки столбца С.
6. Установить курсор в D2, с помощью мастера функций выбрать
категорию Логические и функцию Если.
7. В диалоговом окне Аргументы функции задать необходимые
параметры:
– логическое выражение – адрес C2, в строке значение, если истина –
А2+В2, в строке значение, если ложь – А2-В2.
8. Полученное значение скопировать в остальные ячейки столбца D
(рис. 5).
Рис. 5. Таблица значений для построения графика функции
9. Построить график зависимости результирующего значения функции
от х (рис. 6).
59
Рис. 6. Построенный график зависимости результирующего значения функции
от х
Часть функций предназначена для обработки массивов данных, векторов,
матриц.
Функция СУММЕСЛИ(диапазон; критерий; диапазон_суммирования).
Диапазон – диапазон ячеек, содержащий определенный признак.
Критерий – условие, записанное в форме числа, выражения или текста,
определяющего требования к значению признака.
Диапазон_суммирования – диапазон ячеек, значения данных в которых
суммируются, если признак этих ячеек соответствует условию.
С помощью этой функции можно вычислить сумму значений,
записанных в ячейках из «диапазона_суммирования», если значения в
соответствующих им ячейках «диапазона» удовлетворяют «критерию». Если
«диапазон_суммирования» опущен, то суммируются значения ячеек в
«диапазоне».
Функция СУММПРОИЗВ также может оказать существенную помощь
при обработке массивов данных. Ее действие заключается в вычислении
суммы произведений соответствующих элементов заданных массивов.
Синтаксис этой функции:
СУММПРОИЗВ(массив1; массив2; массивЗ; …)
Массив1, массив2, массив3, … – от 2 до 30 массивов, чьи компоненты нужно
перемножить, а затем сложить.
Аргументы, которые являются массивами, должны иметь одинаковые
размерности. Если это не так, то функция СУММПРОИЗВ возвращает
значение ошибки #ЗНАЧ!. При этом данная функция воспринимает
нечисловые элементы массивов как нулевые. Пример использования
функции приведен на рисунке ниже.
60
А
1
2
3
4
5
6
В
Вид товара
Товар1
Товар2
Товар3
Общая стоимость товаров
=СУММПРОИЗВ(В2:В4;С2:С4)
Цена
10
20
30
С
Количество
5
6
7
В результате использования данной функции будет получено то же
значение, что и при применении формулы =СУММ(В2*С2; ВЗ*СЗ; В4*С4).
Значение функции в ячейке А6 в данном случае будет равно 380.
Макросы
Если часто приходится выполнять одни и те же действия, то эффективность
работы можно заметно увеличить при помощи макросов. Макросы – это
небольшие программы на языке Visual Basic.
Макросы всегда выполняются в активном документе.
Макрос можно создать путем протоколирования действий пользователя.
Записав последовательность команд один раз, можно будет вызывать
макрос щелчком мыши, когда нужно выполнить такие действия.
Для записи макросов выполнить следующее:
1) щелкнуть по стрелке под кнопкой Макросы в одноименной группе на
вкладке Вид на ленте. Выбрать команду Запись макроса в меню;
2) в диалоговом окне Запись макроса дать макросу имя, задать клавишу
быстрого вызова и указать место хранения текста макроса (в личной книге
макросов, в текущей или новой рабочей книги), а также ввести его описание,
затем выполнить те команды, которые будут записываться в макрос;
3) после выполнения нужной последовательности действий, которую мы
запоминаем в макросе, нужно остановить запись. Все действия над объектом
запоминаются в макросе и могут быть выполнены при нажатии
соответствующей клавиши быстрого вызова, либо запуска из меню.
С дополнительным материалом по теме можно ознакомиться в литературе
[1, 3, 4, 7].
Лабораторная работа включает несколько заданий. Каждое задание должно
быть представлено на отдельном листе рабочей книги MS Excel.
Результаты сохранить в книге с названием Лаб.работа2_№ варианта.
Задание № 1
Составить таблицу, содержащую фамилии студентов (не менее 5 фамилий)
и оценки за первые два сданных экзамена. Найти среднюю оценку по каждому
экзамену из числа успешно сдавших сессию студентов.
По результатам построить гистограмму и записать макрос. Листу
присвоить имя Гистограмма.
61
Задание № 2
Составить таблицу значений функции по заданному варианту.
Построить по данным таблицы график зависимости у от х и записать
макрос. Листу присвоить имя График.
№
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Варианты заданий:
Функция
Y=2sin(x)cos(x)
Y=tg(x)
Y=sin(x)+cos(x)
Y=xsin(x)
Y=xcos(x)
Y=sin2(x)
Y=cos2(x)+x
Y=ctg(x)
Y=tg(x)+ctg(x)
Y=x2sin(x)
Y=ex
Y=ln(x)
Y=xln(x)
Y= exln(x)
Y=x2ln(x)
Отрезок
[00;3600]
[00;1800]
[-1800;1800]
[00;3600]
[-1800;3600]
[300;1800]
[200;900]
[-1800;1800]
[00;3600]
[200;900]
[1;5]
[1;10]
[1;6]
[2;20]
[2;20]
Шаг
450
300
300
300
300
100
50
600
450
50
1
1
1
2
2
Задание № 3
Составить таблицу значений логической функции ЕСЛИ по заданным
критериям в соответствии с заданным вариантом.
Построить график зависимости результирующей функции от исходных
данных.
Лист назвать Условие.
Варианты заданий
1. Если х>5 или х≤-20, вычислить у=1+tg(x), иначе вычислить у=х2.
2. Задать изменение х от -100 до 100 с шагом 10.
3. Если х принадлежит интервалу (4;20), вычислить значение функции по
формуле y=х2+1, иначе вычислить значение функции по формуле y=sin(х),
задать изменение х от -60 до 60 с шагом 4.
4. Если х<-15 или х>10, вычислить у=x+5, иначе вычислить у=ln(x).
5. Задать изменение х от -40 до 40 с шагом 5.
6. Если х принадлежит отрезку [5;8], вычислить значение функции по
формуле y=cos(x), иначе вычислить значение функции по формуле y=x2+x,
задать изменение х от -5 до 10 с шагом 1.
7. Если х<-1 или х<20, вычислить у=ex, иначе вычислить у=sin(x+4)
8. Задать изменение х от -50 до 50 с шагом 5.
62
9. Если х>-10 и х<40, вычислить у=x+2, иначе вычислить у=cos(x) + x.
Задать изменение х от -50 до 50 с шагом 5.
10. Если x>0 и y<-4 вычислить произведение чисел, иначе сумму. Задать
изменение х от -20 до 20 с шагом 5, у вычислить по формуле y=х-2.
11. Если х<-5 или х>10, вычислить у=x3+5, иначе вычислить у=ln(x+2).
Задать изменение х от -40 до 40 с шагом 5.
12. Если х принадлежит отрезку [3;10], вычислить значение функции по
формуле y=xcosx, иначе вычислить значение функции по формуле y=x+4,
задать изменение х от -4 до 20 с шагом 2.
13. Если х>10 или х≤-20, вычислить у=sin(x)+cos(x), иначе вычислить у=х2.
Задать изменение х от -50 до 50 с шагом 10.
14. Если х принадлежит интервалу (8;30), вычислить значение функции по
формуле y=х2+1, иначе вычислить значение функции по формуле y=2sin(х+2),
задать изменение х от -60 до 60 с шагом 10.
15. Если x>-6 и y<х, вычислить произведение чисел, иначе разность. Задать
изменение х от -20 до 20 с шагом 5, у вычислить по формуле x2.
16. Если х принадлежит интервалу (-10;30), вычислить значение функции
по формуле y=х2+1, иначе вычислить значение функции по формуле
y=tg(x)+ctg(x), задать изменение х от -60 до 60 с шагом 10.
17. Если х не принадлежит отрезку [-4;10], вычислить значение функции
по формуле y=2cos(x), иначе вычислить значение функции по формуле y=x+2,
задать изменение х от -10 до 20 с шагом 2.
Содержание отчета
Отчетом является файл Лаб.работа2_№вар.xlsx, созданный в результате
выполнения задания.
Технология выполнения работы
Заполнение файла Лаб.работа2_№вар.xlsx по заданному варианту должно
быть выполнено с использованием мастера функций и мастера диаграмм.
1.
2.
3.
4.
5.
6.
Вопросы для защиты работы
Назвать и охарактеризовать основные типы диаграмм.
Описать процесс создания диаграмм.
Дать определение понятиям “Ряд данных” и “категория данных”.
Описать синтаксис и правила использования логических функций.
Что такое макрос?
Как записать макрос?
63
ЛАБОРАТОРНАЯ РАБОТА № 7
ЭЛЕКТРОННЫЕ ТАБЛИЦЫ MS EXCEL: РАБОТА С МАТРИЦАМИ
Время выполнения – 2 часа.
Цель работы
Научиться приемам работы с матрицами.
Задачи лабораторной работы
После выполнения работы студент должен:
1) знать приемы работы с матрицами;
2) уметь решать системы линейных алгебраических уравнений;
3) уметь выполнять проверку решения.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со
следующим обеспечением: операционная система Windows и MS Office 2007 и
выше.
Общие теоретические сведения
Система mn чисел, расположенных в прямоугольной таблице из m строк и
n столбцов, называется матрицей. Если m=n, то матрица называется
квадратной, иначе прямоугольной. Над матрицами могут быть выполнены
операции сложение матриц, умножение матрицы на число, на вектор.
Если матрица имеет размер 1 x n, то она называется вектором-строкой, а
m x 1 – вектором-столбцом.
Если в матрице переставить строки и столбцы местами, то получим
транспонированную матрицу.
Обратной матрицей по отношению к данной, называется матрица,
которая, будучи умноженной как справа, так и слева на данную матрицу, дает
единичную матрицу. При умножении матриц результирующая матрица имеет
такое количество строк, как матрица слева, а количество столбцов как матрица
справа. Для освоения методов работы с матрицами рассмотрим пример.
Пример 1. Умножить матрицу А2,3 на матрицу В3,3 и получить матрицу С2,3.
1. Задать значения элементам матриц A2,3, В3,3.
А
1
2
3
4
5
6
7
8
9
10
A2,3=
В
1
3
С
3
4
D
2
5
В3,3=
1
1
2
2
4
3
3
1
3
С2,3=
64
E
F
1. Выделить место для результирующей матрицы С2,3.
2. В строку формул записать знак равно (=).
3. С помощью мастера функций найти функцию МУМНОЖ.
4. Задать для нее исходные данные (указать с помощью мыши адреса
матриц А и В).
5. Активизировать строку формул.
6. Нажать 3 клавиши Ctrl+Shift+Enter.
7. В результирующей матрице получим результат (рис. 1).
Рис. 1. Результат перемножения матриц
Пример 2. Решение системы линейных алгебраических уравнений.
Задана система линейных уравнений (1)
x1+2·x2+3·x3 = 4
4·x1+3·x2+2·x3=1
(1)
x1+3·x2+2мx3 = 4
В матричной форме система (1) имеет вид
А3,3 · Х3,1 =В3,1 (2), где А3,3-матрица коэффициентов при неизвестных
A
3 3
1 2 3
  4 3 2  ( 3)


1
3
2


65
B3,1 – вектор правых частей.
Вектор неизвестных Х3,1 может быть найден по формуле
Х3,1=А3,3-1 · В3,1 (5)
А3,3-1 – обратная матрица.
4
( 4)
B
  1 
3 1  
4
Решение задачи выполнить в таблице.
A
1
2
3
4
5
6
7
8
А3,3=
B
C
Матрица исходных
коэффициентов
1
2
4
3
1
3
Обратная матрица
D
3
2
2
А3,3-1=
E
F
В3,1=
H
Вектор правых
частей
4
1
4
Вектор
неизвестных
Х3,1=
1. Ввести в таблицу значения матрицы коэффициентов А3,3.
2. Ввести в таблицу значения вектора В3,1.
3. Выделить место для обратной матрицы А3,3-1.
4. Вызвать мастер функций, отыскать функцию МОБР для вычисления
обратной матрицы.
5. Ввести в диалоговое окно параметров функции адрес исходной
матрицы коэффициентов мышью. Проверить записанный адрес. Если все
нормально, щелкнуть мышью по строке формул (в ней появится курсор) и
нажать 3 клавиши одновременно Ctrl+Shift+Enter. В выделенных ячейках
появятся значения обратной матрицы.
6. Выделить место для результата (вектор неизвестных) Х3,1.
7. С помощью мастера функций найти функцию МУМНОЖ.
8. Ввести в диалоговое окно два адреса:
– адрес обратной матрицы (массив1);
– адрес вектора правых частей (массив2).
9. Активизировать строку формул, чтобы в ней появился курсор и нажать
клавиши Ctrl+Shift+Enter (рис. 2).
66
Рис. 2. Решение системы линейных алгебраических уравнений
Пример 3. Решение системы линейных алгебраических уравнений методом
Крамера (через определители). Работа со склеенными листами.
Если данные для каких-то таблиц повторяются, то их лучше набирать в
режиме «склеенных листов». Можно склеивать подряд стоящие листы, не
подряд стоящие или вообще все листы рабочей книги.
Пусть необходимо склеить три подряд стоящих листа (Лист1, Лист2,
Лист3). Для этого производим щелчок левой кнопки мыши по ярлычку Лист1,
затем нажимаем клавишу Shift и производим щелчок по ярлычку Лист3. Тогда
все три ярлычка станут светлее. Чтобы расклеить листы, выполнить щелчок
правой кнопкой мыши по ярлычку Лист1 и выбрать команду Разгруппировать
листы.
Для выполнения задания склеим 4 листа. Матрицу исходных
коэффициентов и вектор правых частей поместить на склеенные листы. Затем
расклеить листы. На листах 2, 3, 4 столбцы при неизвестных заменить
векторами правых частей для вычисления определителей неизвестных: на
листе2 в 1-ый столбец, на листе3 во 2-ой столбец и на листе4 в третий столбец.
Вычислить определители на каждом листе, используя функцию МОПРЕД. Для
вычисления
значения
неизвестных
разделить
определитель
для
соответствующей переменной на общий определитель для матрицы исходных
коэффициентов, так для вычисления х1 разделить определитель на листе2 на
определитель на листе1, для х2 – определитель на листе3 на определитель на
листе1 и т. д. Ввод формул выполнять только в строку формул.
С дополнительным материалом по теме можно ознакомиться в литературе
[1, 3, 4, 7].
67
Задание
1. Найти для матрицы A2,3 транспонированную матрицу, используя
функцию ТРАНСП.
2. Для матрицы В3,3 найти обратную матрицу с помощью функции МОБР.
3. Решить систему линейных алгебраических уравнений (СЛАУ) методом
обратной матрицы по заданному варианту.
4. Решить систему линейных алгебраических уравнений методом
Крамера.
Варианты заданий
1 вариант
2 вариант
2·х1+х2-5·х3+х4=8
х1-3·х2-6·х4=9
2·х2-х3+2·х4=-5
х1+4·х2-7·х3+6·х4=0
3·х1-х2=5
-2·х1+х2+х3=0
2·х1-х2+4·х3=15
3 вариант
7,9·х1+5,6·х2+5,7·х3-7,2·х4=6,68
8,5·х1-4,8·х2+0,8·х3+3,5·х4=9,95
4,3·х1+4,2·х2-3,2·х3+9,3·х4=8,6
3,2·х1-1,4·х2-8,9·х3+3,3·х4=1
4 вариант
6·х1-х2-х3=11,33
-х1+6·х2-х3=32
-х1-х2+6·х3=42
5 вариант
3·х1+х2-х3+2·х4=6
-5·х1+х2+3·х3-4·х4=-12
2·х1+х3-х4=1
х1-5·х2+3·х3-3·х4=3
6 вариант
10·х1+х2+х3=12
2·х1+10·х2+х3=13
2·х1+2·х2+10·х3=14
7 вариант
2·х1-х2-х3=-3
3·х1+5·х2-2·х3=1
х1-4·х2+10·х3=0
8 вариант
х1-0,2·х2-0,2·х3=0,6
-0,1·х1+х2-0,2·х3=0,7
-0,1·х1-0,1·х2+х3=0,8
9 вариант
3·х1-х2= 5,2
-2·х1+х2+х3=0
2·х1-х2+4·х3=15,4
х1+4·х2-7·х3+6·х4=0
10 вариант
2·х1+х2-5·х3+х4=8
х1-3·х2-6·х4=9
2·х2-х3+2·х4=-5
11 вариант
6·х1-х2-х3=11,33
-х1+6·х2-х3=32
-х1-х2+6·х3=42
12 вариант
х1+3·х2-2·х3-2·х5=0,5
3·х1+4·х2-5·х3+х4-3·х5=5,4
-2·х1-5·х2+3·х3-2·х4+2·х5=5,0
-2·х1-3·х2+2·х3+3vх4+4·х5=3,3
х2- 2·х3+5·х4+3·х5=7,5
13 вариант
14 вариант
68
3·х1+х2-х3+2·х4=6
-5·х1+х2+3·х3-4·х4=-12
2·х1+х3-х4=1
х1-5·х2+3·х3-3·х4=3
4·х1+0,24·х2-0,08·х3=8
0,09·х1+3·х2-0,15·х3=9
0,04·х1-0,08·х2+4·х3=20
Сравнить результаты вычислений.
Решение системы уравнений проверить, умножив матрицу исходных
коэффициентов на вектор неизвестных, в результате должен получиться вектор
правых
частей.
Результаты
заданий
сохранить
в
файле
Матрицы_№вар_Фио_студента.xlsx.
Содержание отчета
Отчетом является файл Матрицы_№вар_Фио_студента.xlsx, созданный в
результате выполнения задания.
Технология выполнения работы
Заполнение файла Матрицы_№вар_Фио_студента.xlsx по заданному
варианту должно быть выполнено с использованием приемов работы с
матрицами. Решение системы уравнений должно быть выполнено двумя
методами с проверкой решения.
Вопросы для защиты работы
1. Какие СЛАУ можно решать методом обратной матрицы?
2. Какие три клавиши нужно нажать, чтобы получить результат при
работе с матрицами?
3. Можно ли матрицу отнести к структурированным данным?
4. Как выполнить проверку решения СЛАУ?
5. Какие методы вы знаете для решения СЛАУ?
69
ЛАБОРАТОРНАЯ РАБОТА № 8
ЭЛЕКТРОННЫЕ ТАБЛИЦЫ MS EXCEL: РАБОТА СО СПИСКАМИ
Время выполнения – 2часа.
Цель работы
Освоение приемов использования списков для анализа табличных данных.
Задачи лабораторной работы
После выполнения работы студент должен:
1) научиться редактировать списки;
2) уметь выполнять сортировку данных и вычисление итоговых данных в
списках;
3) уметь применить фильтры для поиска данных в списках.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со
следующим обеспечением: операционная система Windows и MS Office 2007 и
выше.
Общие теоретические сведения
Табличный процессор MS Excel дает в руки пользователя мощные
средства анализа данных, если таблица, где они хранятся, организована особым
образом, называемым списком. Список – способ хранения данных в таблице,
совокупность поименованных строк, содержащих однородные данные (набор
строк таблицы, содержащий связанные данные).
Существует ряд требований, которым должны отвечать списки:
– на листе рабочей книги может размещаться только один
список;
– если на этом листе размещаются данные, не входящие в
список, то их должны отделять от списка не менее одного
пустого столбца и одной пустой строки;
– первая строка списка должна содержать заголовки столбцов;
– оформление
заголовков
столбцов
должно
отличаться
от
данных,
для
этого
используется
их
выделение
с
помощью
шрифта, выравнивания, форматов и рамок;
– во всех ячейках столбца размещаются однотипные данные,
при этом используется один формат;
– перед содержимым ячейки не должно быть пробелов;
– для поиска записи, подлежащей удалению или изменению, следует
нажать кнопку Критерии и ввести в соответствующие поля условия поиска.
Затем с помощью кнопок Далее и Назад найти записи, соответствующие этим
условиям. Для поиска необходимых данных можно, так же как и в текстовом
процессоре MS Word, использовать команду Редактирование/ Найти (рис. 1).
70
Рис. 1. Область Редактирование на Ленте MS Excel 2007
В этом случае для организации поиска используется Раскрывающийся
список Найти и выделить. Табличный процессор MS Excel позволяет
производить сортировку по нескольким показателям (до трех). Очевидно, что в
первую очередь сортировка производится по той категории, которая включает
в себя наибольшее число записей, так как последующая сортировка
осуществляется уже внутри нее. Для упорядочения данных в ячейках по
значениям (без учета формата) в Microsoft Excel предусмотрен определенный
порядок сортировки – по возрастанию или по убыванию, причем этот порядок
зависит от типа данных.
Фильтрация данных
Фильтрация – это способ поиска подмножества данных в списке в
соответствии с заданными условиями. В табличном процессоре MS Excel
используется два способа фильтрации списков: Автофильтр для простых
условий отбора и Расширенный фильтр для более сложных условий. В
отличие от сортировки при фильтрации порядок записей в списке не изменяется. При фильтрации временно скрываются строки, которые не требуется
отображать. Строки, отобранные при фильтрации в Microsoft Excel, можно
редактировать, форматировать и выводить на печать, а также создавать на их
основе диаграммы, не изменяя порядок строк и не перемещая их.
Чтобы отфильтровать список с помощью Автофильтра, небходимо
выделить
одну
из
ячеек
списка
и
выбрать
команду
Данные/Фильтр/Автофильтр (рис. 2).
Рис. 2. Область Сортировка и фильтр на Ленте MS Excel 2007
После выполнения этой команды в нижнем правом углу ячеек с
заголовками столбцов появится черный треугольник, обращенный вершиной
вниз, означающий появление в этой ячейке элемента управления «Поле со
списком». Список в этом поле содержит условия отбора Автофильтра. Чтобы
отфильтровать список по двум или более значениям, встречающимся в
столбце, или с использованием операторов сравнения, следует из
развернувшегося набора значений выбрать строку «Условие...». Эта процедура
применяется для фильтрации списка с наложением одного или двух условий
отбора значений ячеек отдельного столбца. Для того чтобы наложить одно
условие отбора, надо выбрать из разворачивающихся наборов в полях
71
первого условия необходимые оператор сравнения и значение сравнения
(рис. 3).
Рис. 3. Пользовательский автофильтр
Для задания второго условия следует установить переключатель в
положение И или ИЛИ и выбрать из разворачивающихся наборов в полях
второго условия необходимые оператор и значение сравнения. В расширенном
фильтре условия отбора вводятся в диапазон условий на листе книги. Команда
Расширенный фильтр применяется, чтобы отфильтровать данные в тех
случаях, когда для отбора записей требуется записать:
– условия в два или более столбцов;
– более двух условий в одном столбце;
– условие, которое использует значение, вычисляемое формулой.
Чтобы отфильтровать список с помощью расширенного фильтра, следует
рядом со списком создать диапазон условий. Для этого нужно в пустую строку
создаваемого Диапазона ввести или скопировать заголовки фильтруемых
столбцов, а в нижележащие строки ввести условия отбора. Диапазон условий и
фильтруемый список должны быть разделены. по крайней мере, одним
пустым столбцом или строкой. Затем для запуска процесса фильтрации
необходимо указать ячейку в фильтруемом списке и выбрать команду
Данные/Фильтр/Расширенный фильтр. В результате появится диалоговое окно
Расширенный фильтр (рис. 4).
Рис. 4. Расширенный фильтр
72
С помощью переключателя Обработка, расположенного в этом окне,
пользователь должен указать программе, где следует размещать
отфильтрованные записи – на месте или в другом диапазоне. Чтобы поместить
отфильтрованные записи за пределами существующего списка, следует
установить переключатель Обработка в положение Скопировать результат в
другое место, а в поле Поместить результат в диапазон указать верхнюю
левую ячейку области вставки. Затем необходимо ввести в поле Диапазон
критериев ссылку на диапазон условий отбора, включая заголовки.
С дополнительным материалом по теме можно ознакомиться в литературе
[1, 3, 4, 7].
Задание
1. Создать список в виде таблицы 1.
Таблица1
№ N сад.
уч-ка
ФИО
владел
ьца
размер участка
стоимость земли
плод. непл уч-к
плод. неплод. уч-к
земл од.
под
земля земля
под
я
земля строен.
строен.
Общий
размер
Общая
стоим.
2. Ввести 5 записей.
3. Поля Общий размер и Общая стоимость сделать вычисляемыми.
4. Общий размер вычислить как сумму ячеек с адресами D3+E3+F3.
5. Общая стоимость должна быть вычислена по формуле
D3*G3+E3*H3+F3*I3.
6. Выполнить сортировку данных по номеру садового участка и ФИО.
Для этого выделить данные. Во вкладке Данные выбрать сортировку. С
помощью вкладки на ленте Данные выбрать Автофильтр и отобрать данные о
садовых участках, у которых самые неплодородные земли. Выделить данные
без 1-ой строки и выполнить команду Данные-Фильтр-Автофильтр.
В строке заголовка таблицы появятся стрелки раскрывающегося списка.
Щелкнуть столбец неплодородные земли и задать условие отбора. Условие
задать таким образом, чтобы в списке осталось 3-4 владельца садового участка.
Результат показать преподавателю и восстановить базу данных.
7. Расширенный фильтр. Выдать на экран владельцев, у которых самые
плодородные земли и больше всего строений.
Для этого скопировать БД (базу данных) на новый лист и назвать лист
Расширенный. Задать диапазон условий ниже БД. Скопировать область
заголовка на свободное место за БД и задать условия отбора в полях
Плодородные земли и строения. Затем установить курсор в БД и выдать
команду Данные – Фильтр - Расширенный фильтр.
Откроется диалоговое окно, в котором необходимо:
73
– установить флажок - Скопировать результат на новое место;
– в строке исходный диапазон указать адрес БД;
– в строке условие задать диапазон условий;
– для результата отвести место на свободном поле после диапазона
условий.
Если такие записи есть в вашей БД, то они будут выведены на экран. Для
задания условий использовать операции отношения <,>,<>,>=,<=,=.
8. Выдать список владельцев садовых участков, у которых самые
неплодородные земли и меньше всего строений, т.е. нуждающихся в
материальной помощи. Скопировать БД на новый лист и выбрать таких
владельцев с помощью расширенного фильтра. Скопировать список на новый
лист. Оформить с заголовком Список, поместить в список дату с помощью
функции Сегодня. Список должен содержать следующие столбцы: Имя
владельца, номер садового участка, общий размер участка, размер
неплодородной земли и количество строений, остальные столбцы выделить и
скрыть: Формат – Столбцы – Скрыть.
Работу сохранить в книге База данных_ФИО_студента.xlsx.
Содержание отчета
Отчетом является файл База данных_ФИО_стутента.xlsx, созданный в
результате выполнения задания.
Технология выполнения работы
В данной работе должна быть создана база данных, определены условия
для отбора информации, с помощью автофильтра и расширенного фильтра
отобраны нужные записи и составлен список с указанием даты (функция
Сегодня).
1.
2.
3.
4.
Вопросы для защиты работы
Описать технологию отбора записей с помощью Автофильтра.
Когда нужно для отбора данных использовать Расширенный фильтр?
Как выполнить сортировку записей?
Требования, которым должны удовлетворять списки?
74
ЛАБОРАТОРНАЯ РАБОТА № 9
РАБОТА В СРЕДЕ СИСТЕМЫ УПРАВЛЕНИЯ РЕЛЯЦИОННЫМИ
БАЗАМИ ДАННЫХ MS ACCESS
Время выполнения – 6 часов.
Цель работы
Освоение технологии работы в MS Access 2007.
Задачи лабораторной работы
После выполнения работы студент должен:
1) освоить интерфейс программы;
2) уметь создавать структуру базы данных;
3) освоить приемы создания объектов базы данных (таблиц, форм,
запросов, отчетов);
4) научиться устанавливать связи между таблицами;
5) уметь производить отбор данных по заданным критериям.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со
следующим обеспечением: операционная система Windows и MS Office 2007 и
выше.
Общие теоретические сведения
Современные информационные системы характеризуются большими
объемами хранимых данных, их сложной организацией, а также высокими
требованиями к скорости и эффективности обработки этих данных. Это
становится возможным при использовании специальных программных средств
– систем управления базами данных (СУБД).
База данных (БД) – это поименованная совокупность данных
относящихся к определенной предметной области.
Система управления базами данных (СУБД) – это комплекс
программных и языковых средств, необходимых для создания обработки баз
данных и поддержания их в актуальном состоянии.
Почти все современные СУБД основаны на реляционной модели данных.
Название "реляционная" связано с тем, что каждая запись в такой базе данных
содержит информацию, относящуюся (related) только к одному объекту. Все
данные в реляционной БД представлены в виде таблиц. Каждая строка таблицы
содержит информацию только об одном объекте и называется записью.
Столбец таблицы содержит однотипную для всех записей информацию и
называется полем. Для успешного функционирования базы данных важна
правильная организация данных в ней. При определении структуры данных в
базе выделяют следующие основные понятия.
75
Класс объектов - совокупность объектов, обладающих одинаковым
набором свойств. Например, в базе данных о ВУЗе классами объектов могут
быть студенты, преподаватели, предметы.
Свойство (атрибут) - определенная часть информации о некотором
объекте. Хранится в виде столбца (поля) таблицы. Например, фамилия, имя,
отчество - это свойства для объекта Студент.
Связь (отношение) - способ, которым связана информация о разных
объектах.
Типы связей между объектами
Основным структурным компонентом базы данных, как правило, является
таблица. При определении состава таблиц следует руководствоваться
правилом: в каждой таблице должны храниться данные только об одном классе
объектов.
Если в базе данных должна содержаться информация о разных классах
объектов, то она должна быть разбита на отдельные таблицы. Связь между
таблицами осуществляется с помощью общих полей.
Связи между любыми двумя таблицами относятся к одному из трех типов:
один-к-одному (1:1), один-ко-многим (1:М) и многие-ко-многим (М:М).
При установке связи типа "один-к-одному" (1:1) каждой записи в одной
таблице соответствует не более одной записи в другой таблице.
Связь типа "один-ко-многим" (1:М) означает, что каждой записи в одной
таблице соответствует несколько записей в связанной таблице. Этот наиболее
распространенный тип связей. Для его реализации используются две таблицы.
Одна из них представляет сторону "один", другая – сторону "много".
Связь типа "много-ко-многим" (М:М) используется, когда множеству
записей в одной таблице соответствует множество записей в связанной
таблице. Большинство современных СУБД непосредственно не поддерживают
такой тип связи. Для ее реализации такая связь разбивается на две связи типа
один-ко-многим. Соответственно, для хранения информации потребуется уже
три таблицы: две со стороны "много" и одна со стороны "один". Связь между
этими тремя таблицами также осуществляется по общим полям.
Структура MS Access
MS Access – это функционально полная реляционная СУБД, работающая в
среде Windows. В Access база данных включает в себя все объекты, связанные с
хранимыми данными (таблицы, формы, отчеты, запросы, макросы, модули).
Все объекты Access хранятся в одном файле с расширением .accdb. В таблицах
хранятся данные, которые можно просматривать, редактировать, добавлять.
Используя формы, можно выводить данные на экран в удобном виде,
просматривать и изменять их. Запросы позволяют быстро выбирать
необходимую информацию из таблиц. С помощью отчетов можно создавать
различные виды документов, для вывода на печать, макросы и модули
позволяют автоматизировать работу с базой данных.
Запуск Access осуществляется двойным щелчком мыши по значку «MS
Access» на рабочем столе, или в подменю «Microsoft Office» меню «Пуск».
76
После запуска на экране появится окно Приступая к работе с Microsoft
Office Access, с помощью которого можно создать новую базу данных, выбрать
нужный шаблон базы данных из Интернета или открыть локально
расположенную базу данных.
При нажатии на кнопку Новая база данных правая часть окна изменится. В
ней необходимо указать название файла новой базы данных и её будущее
местоположение. Затем нажать кнопку Создать (рис. 1).
Рис. 1. Создание новой базы данных MS Access 2007
Откроется окно новой базы данных с новой таблицей для дальнейшей
работы. Верхняя строка представляет собой Ленту MS Office 2007. Она
содержит вкладки и кнопки для выполнения определенных действий. Лента
позволяет работать с таблицами, формами, запросами и отчетами базы данных
(рис. 2).
Рис. 2. Созданная база данных с новой таблицей
Создание новой таблицы с помощью Конструктора
Для создания новой таблицы на вкладке Создание Ленты выбрать
пиктограмму Конструктор таблиц. На экран будет выведено окно таблицы в
режиме Конструктора, в котором можно задать имена, типы и свойства полей
для вновь создаваемой таблицы.
77
Каждая строка в столбце Тип данных является полем со списком,
элементами которого являются типы данных Access. Тип поля определяется
характером вводимых в него данных (рис. 3).
Рис. 3. Создание таблицы в режиме конструктора
Среди типов данных Access есть специальный тип – Счетчик. В поле этого
типа Access автоматически нумерует строки таблицы в возрастающей
последовательности. Редактировать значения такого поля нельзя.
Набор свойств поля зависит от выбранного типа данных. Для определения
свойств поля используется бланк Свойства поля в нижней части окна
конструктора таблиц.
Создание запросов
Для создания запроса выбрать на ленте вкладку Создание и нажать
Мастер запросов. Появится окно для выбора способа построения запроса
(рис. 4).
Рис. 4. Мастер построения запросов
78
Существуют простые запросы и перекрестные запросы.
Простой запрос создает простой запрос из определенных полей.
Перекрестный запрос создает запрос, данные в котором имеют
компактный формат, подобный формату сводных таблиц в Excel. С помощью
перекрестного запроса можно более наглядно представить данные итоговых
запросов, предусматривающих группировку по нескольким признакам (по
двум, в частности).
В этом случае значение полей по первому признаку группировки могут
стать заголовками строк, а по второму - заголовками столбцов.
Запросы имеют три режима отображения:
– режим конструктора – пример представлен выше. Этот режим
рекомендуется для создания запросов. Запрос в этом режиме существует
только в оперативной памяти;
– режим SQL – содержит команды на языке SQL (Structured Query
Language – структурированный язык запросов) и указания, в каких таблицах и
какие данные нужны пользователю.
Пример запись SQL-запроса, в котором производится выбор поля1и поля2
из таблицы с заданным именем для записей, если поле2 равно 0.
SELECT имя таблицы.[поле1], имя таблицы.[поле2]
FROM имя таблицы
WHERE(имя таблицы.[поле2]=0);
В таком виде запрос сохраняется в файле БД.
– режим таблицы – в этом режиме отображаются данные, отобранные с
помощью запроса. На экране монитора данные, отвечающие условиям запроса
представлены в форме таблицы.
Вычисляемые поля
Можно задать вычисления над любыми полями таблицы и сделать
вычисляемое значение новым полем в запросе.
Для этого в строке Поле бланка QBE (бланк запроса) вводится формула
для вычисления, причем имена полей, которые участвуют в вычислениях
заключаются в квадратные скобки.
Например:
=[ Оклад]*0.15.
При создании выражений для вычисляемых полей можно использовать
Построитель выражений. Для этого нужно щелкнуть по пустому полю в
бланке запроса, а затем по кнопке панели инструментов Построить, откроется
окно Построитель выражений.
Все имена объектов, из которых строится выражение для вычисления,
заключены в квадратные скобки, причем перед именем поля может стоять
восклицательный знак (!) разделяющий имя поля и имя таблицы.
Выражение создается в верхней части окна. Можно самим ввести
выражение, но проще использовать различные кнопки, расположенные под
областью ввода.
Составление отчетов
79
Анализ данных в MS Access, может быть выполнен с помощью отчетов.
Основным предназначением отчетов, является представление данных для
их просмотра как в электронной, так и в печатной форме. Возможность
использовать отчеты для анализа данных обусловлена тем, что в них можно не
только включать необходимые данные других объектов БД (таблиц, запросов
и форм), но и использовать для их обработки формулы и выражения.
Существует два режима отображения отчетов. В режиме
предварительного просмотра отчет отображается так, как он будет выглядеть
при печати. Режим конструктора предоставляет пользователю доступ к макету
отчета. При этом можно придать отчету необходимые свойства, а также
изменить состав и свойства объектов отчета. В этом режиме можно создавать
отчет. Однако обычному пользователю целесообразно для этого использовать
мастер создания отчетов.
Сортировка записей
Сортировку записей MS Access может осуществлять по одному
признаку, который выбирается пользователем путем установки курсора в
нужный столбец таблицы, или нескольким признакам. В последнем случае
выделяются поля, содержащие признаки, по которым должна
осуществляться сортировка. Однако при этом следует учитывать, что
сортировка производится только по признакам, записанным в смежных
столбцах. Она осуществляется поочередно в каждом столбце, слева
направо. Это означает, что для такой сортировки необходимо сначала
изменить макет таблицы таким образом, чтобы соответствующие столбцы
располагались рядом. При этом слева должны располагаться признаки,
значения которых принимает большее количество записей.
Для фильтрации данных в таблицах БД можно использовать два типа
фильтров: фильтр «по выделенному» или расширенный фильтр. С этой целью
используется команда Записи/Фильтр... (для того чтобы эта команда стала
доступной пользователю, необходимо открыть таблицу). Затем пользователь
выбирает тип фильтра.
При применении фильтра «по выделенному» программа оставляет
доступными для просмотра только записи, содержащие признак,
совпадающий с тем, который выбрал пользователь. Такой фильтр можно
установить, выделив в таблице часть поля, одну или несколько смежных ячеек,
содержащих данные, которые должны быть в соответствующих полях
результирующего набора. MS Access отобразит записи, совпадающие с
выделенным образцом.
Особую разновидность фильтра «по выделенному» представляет собой
результат выполнения команды Записи/ Фильтр/Исключить выделенное. В этом
случае отбираются записи, не содержащие выделенных данных.
В случае использования расширенного фильтра СУБД открывает
диалоговое окно с макетом фильтра.
В верхней части макета размещается окно с перечнем полей таблицы, а в
нижней – бланк для записи условий фильтрации.
80
С дополнительным материалом по теме можно ознакомиться в литературе
[1, 3, 4, 7].
Упражнение 1.
Создать базу данных с названием "Студенты-Экзамены".
Решение.
В диалоговом окне Приступая к работе с Microsoft Office выбрать Новая
база данных, задать имя файла базы данных и выбрать место расположения.
Будет создана новая база данных вместе с новой таблицей (рис. 5).
Рис. 5. Создание новой базы данных «Студенты-Экзамены»
Упражнение 2.
Создать новую таблицу с названием «Студенты», включающую поля:
1) ФИО;
2) номер зачетки;
3) дата рождения;
4) группа;
5) адрес;
6) стипендия;
7) телефон.
Поле Номер зачетки установить ключевым полем.
Решение.
1. Закрыть появившуюся автоматически Таблицу1 (нажать правой
кнопкой мыши на вкладке «Таблица1» под лентой).
2. Выбрать на ленте вкладку Создание, в разделе Таблицы выбрать
Конструктор таблиц.
3. Задать необходимые имена полей согласно заданию.
4. Определить и установить соответствующий тип каждого поля
(текстовый, числовой, дата/время, денежный) (рис. 6).
Рис. 6. Заполнение структуры таблицы
81
5. Для поля Группа в нижней части окна в разделе Свойства поля задать
значение Размер поля 10.
6. Задать ключевое поле Номер зачетки (Выделить поле Номер_зачетки и
нажать кнопку Ключевое поле или задать с помощью контекстного меню)
(рис. 7).
Рис. 7. Создание ключевого поля
7. Сохранить таблицу с именем Студенты.
Упражнение 3.
В режиме Таблица ввести 2 записи в таблицу Студенты.
Решение.
1. Перейти в режим Таблицы с помощью ленты, выбрать вкладку
Конструктор, кнопку Режим.
2. Ввести 2 записи (рис. 8).
Рис. 8. Ввод двух записей в таблицу
Ввод данных в таблицу можно выполнить с помощью форм.
Access предлагает следующие способы создания форм:
– Конструктор форм – позволяет разрабатывать собственные экранные
формы с заданными свойствами для просмотра, ввода и редактирования
данных.
– Мастер форм – позволяет достаточно быстро создать форму на основе
выбранных для нее данных.
– Автоформа: в столбец, ленточная, табличная.
– Диаграмма – позволяет создавать форму, данные в которой
представлены в виде диаграммы.
По сравнению с простыми автоформами, формы, созданные с помощью
Мастера более разнообразны по стилю оформления, могут содержать
выбранные поля, в т. ч. и из нескольких связанных таблиц.
Для запуска Мастера форм нужно на ленте во вкладке Создание выбрать
раскрывающийся список Другие формы – Мастер форм.
На 1 шаге Мастера форм необходимо определить поля будущей формы.
После указания имени таблицы/запроса в списке Доступные поля появляется
перечень всех полей данной таблицы.
Необходимо из этого перечня перенести все необходимые поля в список
Выбранные поля.
На 2 шаге предлагается задать внешний вид формы: в один столбец,
ленточный, табличный, выровненный.
На 3 шаге выбирается стиль формы из списка вариантов стилей.
82
На 4 шаге открывается последнее окно Мастера форм, где нужно ввести
имя создаваемой формы (по умолчанию ей дается имя базовой
таблицы/запроса) и вариант дальнейшей работы (открытие формы для
просмотра, изменение макета формы).
Создавать и редактировать формы любой степени сложности позволяет
только Конструктор форм. Также в режиме Конструктора можно
отредактировать формы, созданные Мастером, или автоформы.
Для создания формы в режиме Конструктора перейти в ленте на вкладку
Создание и выбрать Конструктор форм. На экране откроется окно
Конструктора форм.
В окне конструктора форм элементы, расположенные в разделах заголовка
и примечания формы, отображаются только в заголовке и примечании формы.
Элементы, расположенные в области данных, отображаются для каждой записи
базовой таблицы/запроса.
Упражнение 4.
С помощью мастера форм создать форму для заполнения таблицы
Студенты и ввести 2 записи в форму.
Решение.
1. Выбрать на ленте вкладку Создание, в разделе Формы выбрать Другие
формы – Мастер форм.
2. Следовать указаниям мастера форм (выбрать поля из таблицы
Студенты (рис. 9).
Рис. 9. Мастер форм
3. Перейти с помощью формы до 3 записи с помощью указателей-стрелок
или нажать на кнопку Новая (пустая) запись внизу окна формы.
4. Ввести 2 новые записи (рис. 10).
83
Рис. 10. Созданная форма с 4 записями
Упражнение 5.
Создать в режиме конструктора новую таблицу с названием «Экзамены» с
полями: Номер зачетки, Экзамен1, Экзамен2, Экзамен3. Ключевое поле не
создавать, поля Номер зачетки, Экзамен1, Экзамен2 и Экзамен3 задать
числовыми.
Упражнение 6.
Установить тип поля Номер зачетки в таблице с помощью мастера
подстановок, используя данные из таблицы Студенты.
Мастер подстановок позволяет формировать для нужного поля список
значений, который может содержать данные другой таблицы или запроса, либо
состоять из фиксированного набора значений. В обоих случаях Мастер
подстановок облегчает ввод данных, так как поле Номер зачетки является
общим для обеих таблиц.
Комбинированный список для поля Номер зачетки формируется на основе
данных связанной таблицы Студенты.
Решение.
1. Войти в режим конструктора таблицы Экзамены.
2. Перейти в колонку Тип данных для поля Номер зачетки.
3. Из списка доступных типов полей выбрать элемент Мастер
подстановок (рис. 11).
84
Рис. 11. Выбор Мастера подстановок из списка Тип данных
Первое диалоговое окно Мастера подстановок предлагает выбрать
источник формирования списка: на основе данных таблицы/запроса или
фиксированного набора значений. В данном случае нужно выбрать первый
вариант (рис. 12).
Рис. 12. Окно «Создание подстановки». Шаг 1
В следующем окне из приведенного списка таблиц/запросов следует
выбрать таблицу/запрос, являющуюся источником данных для списка. В нашем
примере такой таблицей является таблица Студенты, так как она служит
источником данных для списка номеров зачеток (рис. 13).
85
Рис. 13. Окно «Создание подстановки». Шаг 2
В третьем окне Мастера подстановок из списка Доступные поля нужно
выбрать поля, значения которых используются в списке. В данном случае
можно выбрать поле ФИО, которое сделает список более информативным
(рис. 14).
Рис. 14. Окно «Создание подстановки». Шаг 3
Выбрать сортировку списка «ФИО» по возрастанию (рис. 15).
86
Рис. 15. Окно «Создание подстановки». Шаг 4
Задать ширину столбцов, которые содержат столбец подстановки.
Нажать кнопку Готово для завершения процесса проектирования
комбинированного списка.
4. Сохранить таблицу Экзамены.
5. В режиме Таблица ввести 2 записи в таблицу Экзамены.
Упражнение 7.
С помощью мастера форм создать форму для заполнения таблицы
Экзамены и ввести 2 записи в форму.
Решение.
1. Выбрать на ленте вкладку Создание, в разделе Формы выбрать Другие
формы – Мастер форм.
2. Следовать указаниям мастера форм (выбрать поля из таблицы
Экзамены).
3. Перейти с помощью формы до 3 записи с помощью указателей-стрелок
или нажать на кнопку Новая (пустая) запись внизу окна формы.
4. Ввести 2 новые записи.
Упражнение 8.
Установить связь один-ко-многим между таблицами.
Решение.
Для установления (изменения) связей между таблицами необходимо
закрыть все открытые таблицы, формы, отчеты и запросы. На Ленте выбрать
вкладку Работа с базами данных. Нажать кнопку Схема данных. Появляется
Схема данных, включающая 2 таблицы и связи между ними. Связь между
таблицами Студенты и Экзамены мы создали при установке мастера
подстановок (рис. 16).
87
Рис. 16. Схема данных
Перед созданием новой связи необходимо удалить старую. Для этого на
линии между таблицами щелкнуть правой кнопкой мыши, выбрать Удалить.
После этого нажать правой кнопкой мыши по названию каждой из таблиц и
нажать Скрыть. Закрыть Схему данных, сохранив изменения.
Вновь открыть Схему данных. Для добавления в схему данных таблиц
нажать кнопку Отобразить таблицу на Ленте или с помощью контекстного
меню выбрать Добавить таблицу.
В окне Добавление таблицы нужно выделить имена таблиц, добавляемых в
схему данных, и нажать на кнопку Добавить. После этого данное окно закрыть.
В окне Схема данных появятся имена всех указанных таблиц вместе со
списками полей (рис. 17).
Рис. 17. Окно «Добавление таблицы» в Схеме данных
Добавить таблицу Экзамены и закрыть окно «Добавление таблицы».
Для связи нужных полей (в нашем случае Номер зачетки) нужно выделить
ключевое поле Номер зачетки ключевой таблицы Студенты, нажать левую
кнопку мыши, перетащить ее курсором на аналогичное поле в связываемой
таблице Экзамены, после чего кнопку мыши отпустить. В результате появится
диалоговое окно Связи. В этом окне Access заполнит первую строку именем
88
поля, по которому связывались таблицы. Чтобы в связанных таблицах не
нарушалась целостность данных, нужно щелкнуть по флажку Обеспечение
целостности данных. После этого Access сделает невозможным запись в не
ключевую таблицу такого значения общего поля, которого нет в ключевой
таблице. После установления целостности данных Access включает две
дополнительные опции: Каскадное обновление связанных полей и Каскадное
удаление связанных полей (рис. 18).
Рис. 18. Окно «Изменение связей»
Если выбрать первую опцию, то при изменении какого-либо значения
ключевого поля в ключевой таблице Access автоматически обновит значения
этого поля для соответствующих записей во всех связанных таблицах.
Например, если у одного из студентов изменился номер зачетки в таблице
Студенты, то он автоматически должен измениться и в таблице Экзамены.
Выбор второй опции при удалении одной из записей в ключевой таблице
приведет к удалению тех записей в таблице со стороны "много", которые
имеют такое же значение ключа. Например, если из таблицы Студенты
удалить запись об одном из студентов, то записи о результатах сданных им
экзаменов будут удалены автоматически. Включим опции Каскадное
обновление связанных полей и Каскадное удаление связанных записей.
Для завершения процесса создания связей, нужно щелкнуть по кнопке
Создать. Access нарисует линию между таблицами в окне Схема данных,
указывающую на наличие связи Один-ко-многим между ними. На конце линии
у таблице со стороны "один" будет стоять цифра 1, а на другом конце, у
89
таблицы со стороны "много" – символ бесконечности ∞ . После закрытия этого
окна все установленные связи будут сохранены (рис. 19).
Рис. 19. Созданная связь «один-ко-многим» между таблицами
Упражнение 9.
Создать форму для заполнения сразу обеих таблиц с помощью мастера
форм и ввести поля: из первой таблицы Студенты: ФИО, Номер_зачетки,
Дата_рождения, Группа, Адрес, Телефон, Стипендия; из второй таблицы
Экзамены: Экзамен1, Экзамен2, Экзамен.
Ввести дополнительно 3 записи с помощью созданной формы.
Решение.
1. Выбрать на ленте вкладку Создание, в разделе Формы выбрать Другие
формы – Мастер форм.
2. Следуя указаниям мастера форм выбрать необходимые поля из таблиц
Студенты и Экзамены.
3. На втором шаге выбрать вид представления данных «Подчиненные
формы».
4. Далее выбрать внешний вид подчиненной формы «Табличный».
5. Стиль выбрать по желанию.
6. На следующем шаге имена форм оставить установленными по
умолчанию.
7. Открыть созданную форму, перейти с помощью формы до 5 записи с
помощью указателей-стрелок или нажать на кнопку Новая (пустая) запись
внизу окна формы.
8. Ввести 3 новые записи.
Упражнение 10.
Создать запрос в режиме конструктора с сортировкой по возрастанию по
дате рождения и группе и вывести на экран только хорошистов (тех, у кого все
оценки за экзамены не ниже 4), с указанием поля ФИО и номера зачетки
студентов.
Решение.
1. Перейти на вкладку Создание и нажать Конструктор запросов.
Появится окно для построения запроса (рис. 20).
90
Рис. 20. Окно «Добавление таблицы» в конструкторе запросов
2. В окне Добавление таблицы выбрать нужные таблицы.
3. В Поле указать нужные поля из таблиц, перечисленных в задании
(ФИО, номер зачетки, дата рождения, группа, Экзамен1, Экзамен2, Экзамен3).
4. Установить сортировку по возрастанию для Даты_рождения и Группы.
5. В Условие отбора в столбце Экзамен1, Экзамен2, Экзамен3 установить
>3, что означает оценки которые больше 3. Второй вариант: установить 4 or 5.
6. Установка в одной строке Условия отбора означает, логическую
операцию И Экзамен1 >3 , И Экзамен2>3 , И Экзамен3 >3. То есть все три
условия должны выполняться одновременно (рис. 21).
Рис. 21. Созданный запрос
91
7. Перейти в режим таблицы или нажать кнопку Выполнить для
просмотра результата запроса (рис. 22).
Рис. 22. Результат выполнения запроса
Упражнение 11.
Создать запросы в режиме конструктора с использованием союзов И,
ИЛИ:
– вывести студентов, ФИО которых начинается на букву П и оценка за
Экзамен1 «Не 3»;
– вывести студентов, родившихся между 01.01.1990 и 01.10.1992 или у
кого стипендия не меньше 1000 руб.
Решение.
Для вывода ФИО, которые начинаются на определенную букву задать
условие: Like “П*”.
Для обозначения отрицания НЕ используется оператор Not (рис. 23).
Рис. 23. Созданный запрос
Для обозначения МЕЖДУ используется оператор Between. Например, для
задания даты рождения в определенном интервале: может быть задан шаблон
Between #дата1# and #дата2#.
При необходимости использования союза ИЛИ в запросе, условия
размещаются в следующих строках (или), расположенных ниже строки Условие
отбора (рис. 24).
Рис. 24. Созданный запрос
92
Упражнение 12.
По созданному запросу1 составить отчет в режиме мастер отчетов. В
режиме конструктора заменить название отчета на Список студентов.
Решение.
Перейти на вкладку Создание и выбрать Мастер отчетов. Для отчета
использовать Запрос1 и следовать указаниям мастера отчетов. Для изменения
имени отчета выбрать Конструктор отчетов и в поле названия отчета сделать
изменения (рис. 25).
Рис. 25. Созданный отчет
Упражнение 13.
Добавить в таблицу Студенты новое поле Пол. В форму Студенты
добавить группу переключателей с названием «Пол». Ввести значения с
помощью формы.
Решение.
1. Добавить в таблицу Студенты новое поле Пол после поля ФИО в
режиме Конструктор. Тип данных поля – текстовый. В описании поля (третий
столбец в режиме конструктора) введите «1-мужской, 2-женский». Описание
будет выводиться в левой части строки состояния (расположена в нижней части
окна).
2. Таблицу Студенты сохранить и закрыть.
3. Открыть форму Студенты в режиме конструктора.
4. Увеличить свободное пространство формы (белая область с сеткой)
путем перемещения нижней строки Примечание формы.
5. При выборе режима Конструктора на Ленте включается вкладка
Инструменты конструктора форм, которые позволяют вставлять объекты в
форму.
6. На Ленте во вкладке Конструктор в группе Элементы управления
нажать кнопку Группа переключателей.
93
7. Щелкнуть на свободном пространстве формы. Ввести в окне Мастера
по созданию Группы значения: мужской; женский (рис. 26).
Рис. 26. Создание группы переключателей. Шаг 1
8. В следующем диалоговом окне не задавать переключатель,
используемый по умолчанию.
9. В третьем диалоговом окне оставить значения, установленные
автоматически.
10. В четвертом диалоговом окне установить переключатель в пункт
«Сохранить значение в поле» и выбрать из списка необходимое поле Пол.
11. На следующем шаге оставить все настройки без изменений.
12. На последнем шаге задать подпись для группы переключателей – Пол.
Нажать кнопку Готово (рис. 27).
94
Рис. 27. Размещенная группа переключателей на форме
Упражнение 14.
Задать значение поля Пол для каждой записи таблицы Студенты.
Решение.
1. Перейти в режим Формы (Двойной щелчок на имени Формы) и
пролистать все записи и для каждой установить переключатель в нужное
положение.
2. Закрыть форму и открыть таблицу и просмотреть поле Пол.
Упражнение 15.
С помощью фильтра вывести из таблицы Студенты на экран студентов
одной группы.
Решение.
1. Открыть таблицу Студенты в режиме таблицы.
2. Установить курсор в поле Группа.
3. На вкладке Главная нажать кнопку Фильтр.
4. Установить галочку на номере одной нужной группы. Нажать ОК.
Произойдет автоматическое включение фильтра. Данные будут отфильтрованы
по установленному параметру.
5. Кнопка Применить фильтр позволяет включать и выключать
установленный фильтр.
Задания для самостоятельной работы
Перед выполнением задания выполнить все упражнения, описанные выше.
95
Задание 1
Создать базу данных для фирмы, торгующей комплектующими для
компьютеров в виде 3-х таблиц:
1) Таблица1 – Продажи, характеризуется атрибутами: Учетный № (тип
счетчик), Дата заказа (Дата/время), Номер заказа (тип текстовый), Артикул
(уникальный номер единицы товара, тип текстовый).
2) Таблица2 – Комплектующие включает атрибуты: Артикул (тип
текстовый), Наименование (тип текстовый), Описание комплектующих (тип
текстовый).
3) Таблица3 – Цены характеризуется атрибутами: Артикул (тип
текстовый), Цена (тип числовой), Скидка (тип числовой).
В таблицах Комплектующие и Цены в качестве ключевого поля
использовать атрибут артикул. Таблица Продажи не должна иметь ключевого
поля.
Для создания таблиц использовать режим конструктора.
Ввести 4 записи в таблицу Комплектующие. Таблицу Цены заполнить с
помощью мастера подстановки, используя артикул из таблицы
Комплектующие. В таблицу Продажи ввести 6 записей.
Задание 2
Создать формы для заполнения каждой таблицы с помощью мастера форм
и ввести по 3 записи в формы. Количество записей в таблице Продажи должно
превышать количество записей в таблицах Комплектующие и Цены. В таблице
Продажи должны быть записи с одинаковыми артикулами.
Задание 3
Установить связи между таблицами. Эта база данных включает в себя три
отношения: Продажи, Комплектующие и Цены. Эти отношения связать через
атрибут Артикул. Для отношения Продажи это связь «многие-к-одному».
Задание 4
Создать запрос на выборку, который должен содержать данные о
наименовании и стоимости комплектующих по заказу 2 (в режиме Конструктор
запросов).
Задание 5
Составить отчет по выше составленному запросу с помощью мастера
отчетов.
Задание 6
С помощью группового запроса определить количество единиц
комплектующих и суммарной стоимости каждого наименования по всем
заказам.
96
Рекомендации: выбрать Групповые операции (Σитоги) и в поле Учетный
номер таблицы Продажи задать функцию Count для определения количества
комплектующих, а в поле Цена для подсчета суммарной стоимости по всем
заказам функцию Sum в режиме Конструктора.
Включить поле артикул. Запрос сохранить под именем Количество
комплектующих.
Задание 7
Составить перекрестный запрос, который группирует записи по номерам
заказов из таблицы Продажи и наименованию из таблицы Комплектующие,
подсчет суммарной стоимости выполнить в столбце Цена таблицы Цены.
Рекомендации: выбрать Перекрестный запрос в режиме Конструктора
запросов, для заголовка строк использовать поле Наименование, для заголовка
столбцов-номера заказов, в поле Цена задать значение и групповую операцию
Sum.
Задание 8
Создать запрос вычисления суммарной стоимости комплектующих одного
наименования.
Рекомендации по созданию вычислительного поля: вычислительное поле
стоимости составить с помощью построителя выражений в виде:
Стоимость:[Цены] ! [Цена] *[Количество Комплектующих] ! [CountУчетный №].
Количество Комплектующих – это запрос, который был создан выше. В
поле Артикул задать функцию Count, задать поля Наименование, Цена и в
вычисляемом поле Стоимость задать Группировка.
Задание 9
Составить запрос на создание таблицы.
Запрос Создание таблицы должно выполняться в режиме Конструктор,
добавить таблицы Комплектующие, Продажи, Цены.
В новую таблицу вставить все поля Продажи.*, Наименование, Цена и
Скидка. Вычислить цену со скидкой.
Цена со скидкой:[Цены]![Цена] - [Цены]![Цена]*[Цены]![Скидка] .
В диалоговом окне задать имя новой таблицы.
Задание 10
Сформировать инструкцию на SQL для создания запроса на выборку
данных.
Рекомендации: выбрать вкладку на ленте Создание/Конструктор
запросов/закрыть окно добавить таблицы.
1. Выбрать Конструктор/Режим SQL.
2. В появившемся окне сформировать инструкцию:
SELECT Продажи.[Учетный №],Продажи.[Дата заказа], Продажи.[Номер
заказа], Продажи.[Артикул]
97
FROM Продажи
WHERE ((Продажи.[Дата заказа]=#2/2/2005#) AND (Продажи.[Номер
заказа]=”1”));
Закрыть окно и просмотреть запрос.
Сохранить результаты работы в файле СУБД_ФИО_студента.accdb
Содержание отчета
Отчетом является файл СУБД_ФИО_студента.accdb,
результате выполнения задания.
созданный
в
Технология выполнения работы
В данной работе должна быть создана база данных из трех таблиц,
определены условия отбора информации и создание форм, запросов и отчета.
1.
2.
3.
4.
5.
6.
7.
Вопросы для защиты работы
Что включает понятие структура базы данных?
Что такое ключевое поле?
Зачем создаются связи между таблицами?
Какие объекты СУБД вы знаете?
Для какой цели используются формы в MS ACCESS?
Какие запросы вы знаете?
В каком режиме создается запрос на выборку?
98
ЛАБОРАТОРНАЯ РАБОТА № 10
СОЗДАНИЕ WEB-СТРАНИЦ С ПОМОЩЬЮ ЯЗЫКА РАЗМЕТКИ HTML
Время выполнения – 4 часа.
Цель работы
Познакомиться с основами языка разметки HTML и научиться создавать
собственные web-страницы с применением форматирования на основе HTML.
Задачи лабораторной работы
После выполнения работы студент должен:
1) знать понятия: "HTML", "браузер", "гиперссылка", "тег";
2) уметь применять основные теги для оформления web-страниц;
3) знать назначение &-последовательностей, комментариев в языке
HTML;
4) научиться создавать и оформлять web-страницы.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер с
операционной системой и методические указания по выполнению работы.
Общие теоретические сведения
Внимательно ознакомьтесь с теоретическим материалом. Дальнейшие
задания лабораторной работы будут ссылаться на представленный материал.
1. Понятие об HTML
Гипертекстовые документы создаются на специальном языке, который
называется HTML (Hyper Text Markup Language – язык разметки гипертекста).
Разработка этого стандарта позволила снять две существенные проблемы,
которые возникали у пользователей больших сетей.
Первая из них – время доставки информации, оно существенно зависит от
объема передаваемого файла. В стандарте HTML вводится иерархическая
структура документов: вся информация по некоторой теме разбивается на
небольшие смысловые блоки и посылается пользователю только по мере
возникновения необходимости в ней. Это существенно сокращает время
ожидания ответа на возникший вопрос и делает работу в сети более
комфортной и дешевой. Для организации такого режима работы в языке HTML
введено средство гиперссылка (см. п. 10).
Вторая проблема – распознавание пришедшей по запросу информации.
Способы кодировки одних и тех же сведений в разных текстовых редакторах
часто бывают разными. И если компьютер-получатель оснащен не тем
текстовым редактором, на котором создавался документ, он не всегда может
интерпретировать пришедшую на него информацию. Чтобы преодолеть это, в
языке HTML установлены специальные правила.
99
1. Весь документ набирается только текстовыми символами (их коды
понятны всем редакторам), т. е. его можно набрать в любом текстовом
редакторе (например, "Блокнот", "WordPad").
2. Символы и конструкции, которые непонятны браузеру (программе,
позволяющей просматривать web-страницы), игнорируются (а текстовые
редакторы обычно прекращают интерпретировать документ, если встречают в
нем непонятные коды).
3. В текст документа можно добавлять разнообразные команды, которые
указывают, как следует изображать на экране тот или иной фрагмент текста.
Эти команды называют тегами. Они так же, как и документ, набираются
текстовыми символами, но отделяются от него угловыми скобками: < >.
4. Файлы c HTML-кодом должны помечаться расширением .html или
.htm.
2. Структура тегов
Каждый тег обязательно содержит пару угловых скобок < >, между
которыми находится ключевое слово, обозначающее основную функцию тега.
Например, ключевое слово HR в теге <HR> означает, что тег вставляет в
документ серую горизонтальную линию (Horizontal Row) по всей ширине
страницы и толщиной в один пиксел.
Действие тега детализируется с помощью атрибутов. Например,
применительно к тегу <HR> можно уточнить, какой длины, толщины и цвета
должна быть линия. Каждому ключевому слову сопоставляется свой
собственный набор атрибутов и стандартные значения для них.
Атрибуты размещают после ключевого слова и перечисляют в
произвольном порядке через пробел. После каждого атрибута ставят знак = и
нужное значение. Например, тег <HR WIDTH=50% SIZE=4> означает, что в
документ следует вставить горизонтальную линию, которая должна доходить
только до середины строки и иметь ширину четыре пиксела. Значения
атрибутов в некоторых случаях полагается заключать в двойные кавычки.
Атрибуты, соответствующие одним и тем же свойствам, в разных тегах
часто, но не всегда, обозначаются одинаковыми словами. Например,
выравнивание текста в пределах строки, ячейки таблицы или около картинки
задается одинаковым словом ALIGN. А свойство «цвет шрифта» для документа
в целом задается атрибутом TEXT, но для отдельно взятого фрагмента
документа – атрибутом COLOR. Соответствующие теги, задающие темносиний цвет шрифта, выглядят так:
<BODY TEXT=NAVY>, <FONT COLOR=NAVY>.
Многие теги являются парными. Открывающий тег включает какое-нибудь
действие, закрывающий прекращает его. В этом случае ключевое слово у обоих
тегов одинаковое, но в открывающем теге дополнительно перечисляются все
необходимые атрибуты, а в закрывающем атрибутов нет, и перед ключевым
словом ставится знак /. Парные теги называются контейнерами. Например,
контейнер <B>Я изучаю язык HTML</B> означает, что текст Я изучаю язык
100
HTML следует изобразить жирным шрифтом, а дальнейшие символы – так, как
до него.
Замечания:
1) в ключевых словах и атрибутах строчные и прописные регистры букв
не различаются;
2) URL файлов-ссылок заключаются в двойные кавычки, и регистры букв
в них учитываются;
3) в последовательности пробелов, идущих подряд, учитывается только
первый, остальные игнорируются;
4) признак начала новой строки игнорируется. Поэтому при составлении
кода можно клавишей <Enter> разрывать его на строки так, как код удобно
просматривать и редактировать. На виде документа в окне браузера это не
отражается. Если нужно сохранить при просмотре через браузер введенные в
код HTML пробелы и разрывы строк, следует воспользоваться тегами
компоновки текста (см. п. 6).
Списки основных тегов, их функций и атрибутов приведены в табл. 1, 2, 3.
Пояснения по основным группам тегов – в п.п. 4-10.
Таблица 1. Основные теги форматирования и компоновки текста
Теги
<B>…</B>
<I>…</I>
<BIG>…</BIG>
<SMALL>…</SMALL>
<SUB>…</SUB>
<SUP>…</SUP>
<H1>…</Н1>
<H2>…</Н2>, … <H5>…</Н5>
<H6>…</Н6>
<BR>
<P>…</P>
<HR>
<PRE>…</PRE>
<OL>…</OL>
<UL>…</UL>
<LI>
<TABLE>…</TABLE>
<CAPTION>…</ CAPTION>
<TR>…</TR>
<TH>…</TH>
<TD>…</TD>
Действие
Полужирный шрифт
Курсив
Более крупный шрифт
Более мелкий шрифт
Нижний индекс
Верхний индекс
Самый крупный размер заголовка
Промежуточные размеры заголовков
Самый мелкий размер заголовка
Переход на новую строку
Новый абзац
Горизонтальная линия
Компоновка текста, как в коде
Нумерованный список
Маркированный список
Элемент списка
Таблица
Заголовок таблицы
Строка таблицы
Ячейка заголовка
Ячейка данных
Таблица 2. Теги внесения ссылок на дополнительную информацию
Теги
<A HREF="URL файла-ссылки">…</A>
Действие
Ссылка на текстовый файл или рисунок
<A NAME="#имя метки">…</A>
Установка метки внутри файла
<IMG SRC="URL файла-изображения">
Вставка изображений
101
Таблица 3. Основные атрибуты тегов
Действие атрибута
В каких тегах
используется
Задает цвет линий и
шрифта в тексте или
таблице
<HR>,
<FONT>
Задает цвет фона
<TABLE>,
<TR>, <TH>,
<BODY>
Задает цвет внешнего
контура таблицы
<TABLE>
Задает цвет шрифта в
документе в целом
<BODY>
Цвета соответственно
непосещенных,
посещенных и активных
ссылок
<BODY>
"URL" файла с
изображением для фона
Создает фон-картинку
<TABLE>,
<TH>, <TD>,
<BODY>
Целое число без
размерности
Задает толщину
окантовки для
изображения или
таблицы
<IMG>,
<TABLE>
ALIGN=
LEFT, CENTER, RIGHT
<P>, <H1>,
Горизонтальное
<H2>, …,
выравнивание текстового <H6>,
фрагмента или таблицы в <TABLE>,
целом
<HR>, <TH>,
<TD>
ALIGN=
BOTTOM, ТОP
Размещение заголовка
над или под таблицей
<CAPTION>
ALIGN=
BOTTOM, LEFT, RIGHT,
ТОP, MIDDLE
Размещение текстового
пояснения к картинке
<IMG>
VALIGN=
MIDDLE, TOP, BOTTOM
Вертикальное
<TABLE>,
выравнивание фрагмента <TH>, <TD>
Атрибут
Возможные значения
GRAY (серый), AQUA
(аквамарин), BLACK
(черный), BLUE (синий),
FUCHSIA (яркий пурпурнокрасный), GREEN (зеленый),
BGCOLOR=
LIME (зеленоватый),
MAROON (темноBORDERCOLOR= бордовый), NAVY (темносиний), OLIVE (оливковый),
PURPLE (пурпурный), RED
(красный), SILVER
(серебристый), TEAL,
TEXT=
YELLOW (желтый), WHITE
(белый). Возможны также те
же слова с приставками
LIGHT и DARK, например
LINK=, VLINK=, LIGHTGREEN (светлозеленый), DARKBLUE
ALINK=
(темно-голубой)
COLOR=
BACKGROUND=
BORDER=
102
Целое число без
размерности или со знаком
%
Длина/высота фрагмента
в пикселах или в
процентах от
ширины/высоты окна.
Для всех ячеек,
<TABLE>,
находящихся в
<HR>, <TH>,
строке/столбце,
<TD>, <IMG>
используется
максимальное значение
из заданных в ее/его
ячейках
Целое число без
размерности (по
умолчанию 1)
Толщина линии, размер
шрифта
<HR>,
<FONT>
TYPE=
1, A, a, i, I
Тип нумерации
элементов
упорядоченного списка
<OL>
START=
Номер первого элемента в выбранном типе нумерации
WIDTH=
HEIGHT=
SIZE=
Примечание. Первое из перечисленных значений атрибутов тегов –
значение по умолчанию.
3. &-последовательности, комментарии
Иногда в документе приходится использовать такие знаки, которые имеют
в языке HTML специальный смысл. Например, двойные кавычки " " выделяют
значение атрибута, и если их использовать вне тега, браузер не поймет
конструкцию и пропустит ее. Чтобы этого не произошло, для отображения
служебных символов используют специальные последовательности знаков,
начинающиеся с символа & и заканчивающиеся знаком ; (точка с запятой) – так
называемые &-последовательности. Основные из них:
– последовательность < (от английского "less than") – вместо символа
< (меньше);
– последовательность > (от "greater than") – вместо символа >
(больше);
– последовательность " (от "quotations mark") – вместо символа "
(двойные кавычки);
– последовательность & (от "ampersand") – вместо символа &;
– последовательность   (от nonbreaking space – неразрывный
пробел) – вместо пробела, который не следует игнорировать при выдаче
документа в окно браузера. Эта &-последовательность как бы вставляет в текст
невидимую глазу букву, которую браузер воспринимает как реальную и
оставляет для нее место на экране. Она используется для заполнения пустых
ячеек таблицы, пустых абзацев, для склеивания слов (если набрать
TOP 100, то у вас никогда не получится, что TOP останется в одной
строке, а 100 перенесется на следующую, например, при изменении шрифта
или размера окна браузера).
103
Внимание: &-последовательности должны набираться только в нижнем
регистре, точка с запятой в конце последовательности обязательна. Пример:
чтобы пользователь увидел на экране слова крейсер "Аврора", в HTMLдокументе должен быть следующий код:
крейсер "Аврора"
Чтобы код HTML было легче понимать и править, полезно вводить в него
комментарии, которые были бы видны только при работе с кодом, но не
отражались бы в окне браузера при просмотре документа. Для этой цели
используют специальный контейнер, написанный не по стандартным правилам.
Он выглядит так: <!-- … -->
Примеры:
<!-- Это мой комментарий -->
<!-- А этот комментарий занимает в тексте несколько строк -->
Внимание: в текст комментария не допускается вставлять два и более
дефисов подряд: -- или ----- (разные браузеры по-разному реагируют на это).
4. Структура документа HTML
Каждый HTML-документ состоит из трех главных частей.
1. Объявление HTML-кода – контейнер <HTML> …</HTML>
2. Заголовок документа – контейнер <HEAD> … </HEAD>
3. Тело документа – контейнер <BODY> … </BODY>
Заголовок и тело документа вкладываются внутрь объявления HTML по
следующей схеме:
<HTML>
<HEAD>
…..........
</HEAD>
<BODY>
…..........
</BODY>
</HTML>
В заголовок помещаются теги, определяющие информацию о документе в
целом. Наиболее употребительный из них – контейнер <TITLE>:
<TITLE> Краткая расшифровка содержания документа (не более 64
символов) </TITLE>.
Пример.
<TITLE> Гостиницы для участников конференции </TITLE>
Текст, помещенный в <TITLE>, заменяет системную информацию в
заголовке браузера. При просмотре большого количества файлов это облегчает
ориентировку среди них.
В разделе «тело документа» размещается содержание документа, которое
выдается в рабочее окно браузера. Атрибуты тега <BODY> задают следующие
свойства:
104
– TEXT – цвет текста там, где он не указан специальными средствами.
По умолчанию черный.
– BGCOLOR – цвет фона. По умолчанию белый.
– BACKGROUND – фоновое изображение (аналогично рисунку на
Рабочем столе). Значением является URL файла–изображения.
– LINK,VLINK, ALINK – соответственно цвета непосещенных,
посещенных и активных в данный момент гиперссылок.
Примеры:
<BODY TEXT=SILVER BGCOLOR=NAVY>
<BODY TEXT=SILVER BACKGROUND="море.jpg">
Первый тег задает для базового оформления документа светло-серый
шрифт на темно-синем фоне. Все отступления от этого стандарта в дальнейшем
надо будет оговаривать дополнительными тегами внутри документа. Второй в
качестве фона использует изображение, находящееся в файле море.jpg,
расположенном в том же каталоге, что и вызывающий его документ (подробнее
см. п. 8). Цвет шрифта так же, как и в первом примере, – светло-серый.
Основные теги, определяющие вид документа в окне браузера,
рассмотрены ниже и приведены в виде справочника в табл. 1, 2, 3.
5. Теги форматирования шрифта
В HTML существуют два подхода к шрифтовому оформлению текста – так
называемые физические и логические стили. Здесь рассматриваются только
физические стили. Под ними подразумевают прямое указание браузеру на
изменение текущего шрифта. Теги физических стилей – контейнерные.
Например, между тегами <B> и </B> будет жирный шрифт (Bold), а между <I>
и </I> – курсив (наклонный – Italic). Основные контейнеры физических стилей:
<B> … </B>
– жирный шрифт;
<I> … </I>
– курсив;
<U>… </U>
– подчеркнутый текст;
<STRIKE>… </STRIKE>,
– перечеркнутый шрифт;
<S> … </S>
<BIG> … </BIG>
– шрифт большего размера;
<SMALL> … </SMALL>
– шрифт меньшего размера;
<SUB> … </SUB>
– подстрочный индекс;
<SUР> … </SUР>
– надстрочный индекс;
<FONT> … </FONT>
– изменение типа, цвета и размера шрифта.
В теге <FONT> допускаются атрибуты:
– SIZE – размер букв, возможные значения: 1, 2, 3, …, 7. По умолчанию
3;
– COLOR – цвет шрифта. Можно указывать шестнадцатеричными
кодами или английскими словами. По умолчанию BLACK;
– FACE – изменение типа шрифта, возможные значения: ARIAL,
COURIER и т. д. По умолчанию VERDANA.
105
Теги могут комбинироваться, но при этом надо следить, чтобы контейнеры
имели вложенную структуру (контейнер, открытый позже, должен быть закрыт
до того, как будет закрыт внешний). Например, для комбинации жирного и
наклонного шрифтов можно использовать такой код:
<B> <I> пример </I> </B>
В окне браузера мы получим:
пример
Помимо перечисленных выше тегов существуют шесть контейнерных
тегов, удобных для оформления заголовков: <H1>...</H1>, <H2>...</H2>, …,
<H6>…</H6>. Заголовки отличаются от текста и между собой толщиной и
высотой букв (в заголовке <H1> самые крупные символы, в <H6> – самые
мелкие), а также увеличением интервала по вертикали между заголовком и
прочей информацией. Атрибут ALIGN управляет выравниванием заголовков по
горизонтали. По умолчанию он принимает значение LEFT. Другие возможные
значения: CENTER, RIGHT.
Пример:
<H4 ALIGN=CENTER> 6. Теги выделения смысловых частей текста </H4>
Результат действия тега похож на заголовок следующего параграфа.
6. Теги выделения смысловых частей текста
Абзацы в тексте выделяются контейнером <P>…</P>. Атрибут ALIGN
задает выравнивание по горизонтали. По умолчанию он принимает значение
LEFT. Другие возможные значения: CENTER, RIGHT. При просмотре
браузером абзацы отделяются друг от друга пустой строкой. Закрывающий тег
</P> необязателен. Его можно использовать только тогда, когда было заказано
нестандартное выравнивание текста.
Примеры:
<P> Этот абзац расположен слева </P>
<P ALIGN=CENTER> Этот абзац по центру </P>
<P ALIGN=RIGHT> А вот этот абзац справа </P>
Приведенный выше код при просмотре выглядит так:
Этот абзац расположен слева
Этот абзац по центру
А вот этот абзац справа
Чтобы перейти на новую строку, не вставляя пустую строку в текст,
применяется тег <BR>. Закрывающего тега у него нет.
Иногда полезно разделять смысловые части документа горизонтальной
чертой. Это делается с помощью одиночного тега <HR>. Его атрибуты:
SIZE – толщина линии в пикселах. По умолчанию 1 пиксел.
WIDTH – длина линии в пикселах или процентах от ширины экрана. По
умолчанию 100%.
ALIGN – выравнивание линии, возможные значения: LEFT, CENTER,
RIGHT. По умолчанию LEFT.
106
COLOR – цвет линии. По умолчанию GRAY.
NOSHADE – линия рисуется без тени. По умолчанию тень есть.
Пример. Код, в котором использованы теги <BR> и <HR>:
<B> Жизненная позиция </B>
<HR NOSHADE WIDTH=250>
Хорошо на свете жить, <BR>
Информатику учить! <BR>
<HR SIZE=4 WIDTH=50% ALIGN=CENTER>
В окне браузера этот код изображается так:
Жизненная позиция
Хорошо на свете жить,
Информатику учить!
7. Оформление списков
Списки облегчают нахождение нужной информации при перечислении
сведений, объединенных общим смыслом: пункты меню, списки товаров,
перечень сотрудников и т. п. В HTML предусмотрено несколько вариантов
оформления списков, которые чаще всего используются в документации. Здесь
будут рассмотрены только маркированные и нумерованные списки.
Для того чтобы оформить фрагмент документа в виде маркированного
списка, его помещают в контейнер <UL>… </UL> (Unordered List). Для
нумерованного – в контейнер <OL> … </OL> (Оrdered List). Затем текст в
контейнере разбивается на отдельные пункты списка тегами <LI> (List Item –
элемент списка). Закрывающий тег </LI> в конце каждого пункта ставить
необязательно. В маркированном списке все пункты автоматически помечаются
одинаковыми маркерами, в нумерованном – элементы нумерует сам браузер.
Примеры кода:
<UL>Список
дисциплин: <OL>Список
дисциплин:
<LI>Информатика
<LI>Информатика
<LI>Физика
<LI>Физика
<LI>История
<LI>История
</UL>
</OL>
Это дает на экране следующие списки:
Список дисциплин:
Список дисциплин:
– Информатика
1. Информатика
– Физика
2. Физика
– История
3. История
Можно организовать многоуровневые списки (разумно ограничиться
тремя уровнями вложения). Для этого после каждого <LI> следует разместить
контейнеры <UL>… </UL> или <OL> … </OL> с разбивкой информации этого
пункта на дополнительные подпункты.
В теге <OL> могут использоваться следующие атрибуты:
107
TYPE – определяет стиль оформления меток для элементов списка,
подробнее ниже;
START – (только для нумерованного списка <OL>) определяет значение
первого элемента списка, задается всегда числом (по умолчанию 1). В
зависимости от значения атрибута TYPE этому числу сопоставляются разные
символы, подробнее ниже;
VALUE – (только для метки <LI> списка <OL>) устанавливает номер
текущего элемента списка. Как и в предыдущем случае, метка пункта может
быть нечисловой, хотя значение атрибута – всегда число.
Для нумерованного списка в зависимости от стиля нумерации значением
атрибута TYPE могут быть:
1 – арабские цифры (1,2,3,...)
a – строчные буквы (a, b, c,…)
A – прописные буквы (A,B,C,...)
i – римские цифры строчные (i,ii,iii,...)
I – римские цифры прописные (I,II,III,...)
По умолчанию значения TYPE устанавливаются в зависимости от степени
вложенности списка.
Число, указанное в атрибуте START, показывает порядковый номер
элемента в ряду знаков, заданных в TYPE. С этого элемента следует начинать
нумерацию пунктов списка.
8. Создание таблиц
Средства HTML для создания таблиц удобно использовать не только при
представлении табличных данных. Их также применяют для точного
выравнивания элементов на экране или комбинирования изображений и
текстов. В качестве примера рассмотрим код, который создает простейшую
таблицу:
Простая таблица
<TABLE BORDER=1 WIDTH=200 ALIGN=CENTER>
<CAPTION> Простая таблица </CAPTION>
Ячейка 1 Ячейка 2
<TR>
Ячейка 3 Ячейка 4
<TD>Ячейка 1</TD>
<TD>Ячейка 2</TD>
</TR>
<TR>
<TD>Ячейка 3</TD>
<TD>Ячейка 4</TD>
</TR>
</TABLE>
Как видно из примера, начало и конец таблицы оформляются тегами
<TABLE> и </TABLE>. Все остальные теги, создающие структуру таблицы и
ее содержание, вкладываются в этот контейнер. Для того, чтобы создать рамку
вокруг таблицы, можно задать атрибут BORDER=n, где n – толщина рамки в
108
пикселах. По умолчанию таблицы не имеют рамок, т.е. n = 0. Атрибут
WIDTH=n%, где n – целое число, позволяет занять таблицей нужный процент
от ширины экрана. Если знак процента опущен, то считается, что n задает
размер таблицы в пикселах.
Сразу после тега <TABLE> можно вставить контейнер, создающий
заголовок таблицы: <CAPTION> текст заголовка </CAPTION>. Заголовок по
умолчанию располагается над таблицей слева. Другое выравнивание задается
атрибутом ALIGN:
LEFT – значение по умолчанию, заголовок над таблицей слева;
TOP –заголовок над таблицей по центру;
RIGHT – заголовок над таблицей справа;
BOTTOM – заголовок под таблицей по центру.
Если таблица имеет сложную структуру и какие-то ячейки занимают
несколько столбцов или строк, следует в тегах <TH> или <TD> добавить
атрибуты соответственно COLSPAN=n или ROWSPAN=n, где n – количество
столбцов (строк), на которые растянута данная ячейка. Например, COLSPAN=3
означает, что ячейка по ширине будет простираться на 3 колонки,
ROWSPAN=2 означает, что ячейка по высоте занимает две строки таблицы.
Пример. Фрагмент кода, создающего показанную слева таблицу:
<TABLE ВORDER=1>
4
6 <TR>
3
<TH> 1 </TH> <TH COLSPAN=3> 2 </TH>
7
8
9 10 11 12 </TR>
<TR>
<TH ROWSPAN=2> 3 </TH> <TH> 4 </TH>
<TH> 5 </TH> <TH > 6 </TH>
</TR>
<TR>
<TH> 7 </TH> <TH COLSPAN=2> 8 </TH>
</TR>
<TR>
<TH> 9 </TH> <TH> 10 </TH> <TH> 11 </TH>
<TH> 12 </TH>
</TR>
</TABLE>
Таблица создается по строкам. Для каждой строки создается контейнер
<TR>…</TR>, определяющий, какие ячейки и информация должны находиться
в этой строке. Атрибут ALIGN со значениями LEFT, CENTER или RIGHT
задает горизонтальное выравнивание во всех ячейках строки. Атрибут VALIGN
со значениями TOP, MIDDLE или BOTTOM – вертикальное выравнивание (по
умолчанию MIDDLE – по центру).
Для оформления ячеек используются два вида контейнеров: <TH>…</TH>
(Table Head) и <TD>…</TD> (Table Data). Первый свою информацию
выравнивает по центру и изображает жирным шрифтом, второй выравнивает по
1
2
5
109
левому краю и использует обычный шрифт. Обычно <TH>…</TH> используют
для ячеек с заголовками строк или столбцов, а <TD>…</TD> – для ячеек с
данными таблицы. Можно также оставить ячейку пустой, но, чтобы она была
отображена на экране, следует внести в нее &-последовательность   (см.
п. 3).
Для оформления данных, скомпонованных в виде таблицы, в теги
<TABLE>, <TR>, <TH>, <TD> добавляют атрибуты.
Основные атрибуты тега <TABLE>:
WIDTH – определяет ширину таблицы в пикселах или процентах, по
умолчанию ширина таблицы определяется содержимым ячеек;
ALIGN – определяет расположение таблицы в документе. По умолчанию
таблица прижата к левому краю страницы. Допустимые значения атрибута:
LEFT , CENTER и RIGHT;
BORDER – устанавливает толщину рамки в пикселах. По умолчанию – 0
(таблица рисуется без рамки);
BORDERCOLOR – устанавливает цвет рамки, по умолчанию черный. Цвет
можно задавать английским словом или шестнадцатеричным числом;
CELLSPACING – определяет расстояние между рамками ячеек таблицы в
пикселах;
CELLPADDING – определяет промежуток в пикселах между рамкой
ячейки и текстом внутри нее;
BGCOLOR – устанавливает цвет фона для всей таблицы. По умолчанию
белый. Цвет можно задавать английским словом или шестнадцатеричным
числом;
BACKGROUND – заполняет фон таблицы изображением (см. п. 9).
Значением атрибута является URL нужного файла.
Тег <TR>, открывающий строку таблицы, может иметь такие атрибуты:
ALIGN – устанавливает горизонтальное выравнивание текста во всех
ячейках строки. Может принимать значения LEFT (по умолчанию), CENTER и
RIGHT;
VALIGN – устанавливает вертикальное выравнивание текста в ячейках
строки. Допустимые значения: TOP (выравнивание по верхнему краю),
MIDDLE (выравнивание по центру – это значение принимается по умолчанию),
BOTTOM (по нижнему краю);
BGCOLOR – устанавливает цвет фона для строки.
Ячейки таблицы начинаются тегами <TН> или <TD>. Для них
предусмотрены следующие атрибуты:
ALIGN – устанавливает горизонтальное выравнивание текста в ячейке.
Может принимать значение LEFT, CENTER и RIGHT;
VALIGN – устанавливает вертикальное выравнивание текста в ячейке.
Допустимые значения: TOP, CENTER (это значение принимается по
умолчанию), BOTTOM;
WIDTH – определяет ширину ячейки в пикселах;
HEIGHT – определяет высоту ячейки в пикселах;
110
NOWRAP – присутствие этого атрибута показывает, что текст должен
размещаться в одну строку;
BGCOLOR – устанавливает цвет фона ячейки;
BACKGROUND – заполняет фон ячейки изображением. Значением
атрибута является URL нужного файла.
9. Использование изображений
Внесение в документ изображений, как правило, существенно улучшает
его внешний вид и делает его привлекательным для просмотра. Файлы
рисунков можно использовать как фон для основной информации или же
включать в документ как самостоятельные объекты. В Интернете обычно
используют изображения в формате GIF и JPEG (файлы с расширениями .gif и
.jpg). Современные браузеры понимают и другие форматы графических файлов
(например, .png, .svg). Все они хорошо сжимают изображение, но в то же время
прилично сохраняют его цветовую гамму и детали.
Чтобы использовать рисунок в качестве фона, применяют атрибут
BACKGROUND. Его можно указывать в теге <BODY> (см. п. 3) и табличных
тегах <TABLE>, <TR>, <TH>, <TD> (см. п. 8). Если размер рисунка больше
размера площади, которую следует закрыть фоном, то берется левая верхняя
часть изображения, если меньше – рисунок повторяется, пока вся отведенная
под фон площадь не будет закрыта.
Рисунок в качестве самостоятельного объекта (логотип фирмы,
фотография и т. п.) вставляется тегом <IMG> (IMaGe – изображение).
Обязательный атрибут – SRC (SouRCe – источник). Значением этого атрибута
является URL файла с изображением.
URL обязательно надо выделять двойными кавычками и следить, чтобы
пробелы и регистры букв в названиях папок и файлов в точности
соответствовали оригиналу.
Примеры.
<IMG SRC="picture.gif"> – рисунок picture.gif находится в том же каталоге,
что и текущий документ;
<IMG SRC="images/picture.gif"> – из текущего каталога перейти в
подкаталог images и взять файл picture.gif оттуда;
<IMG SRC="../images/picture.gif"> – подняться в родительский каталог,
оттуда перейти в каталог images и взять там рисунок picture.gif;
<IMG SRC="http://www.fortunecity.com/business/artics/practic/myphoto.gif">
– указание полного пути к файлу. Обычно применяется, если рисунок
находится на другом сервере или используется файл с другого сайта.
Остальные атрибуты тега <IMG>, перечисленные ниже, оговаривают
размеры и положение рисунка на странице, а также то, где должен
располагаться поясняющий текст:
BORDER=n – рамка вокруг рисунка, где n – ее толщина в пикселах;
WIDTH=n – задается ширина изображения в пикселах или в процентах от
ширины экрана браузера (тогда после n следует знак %);
111
HEIGHT=n – высота изображения в пикселах или в процентах от высоты
экрана;
HSPACE=n – отступ слева и справа от картинки шириной в n пикселов (т.е.
свободное пространство между рисунком и текстом или чем-то иным);
VSPACE=n – вертикальный отступ от картинки в пикселах;
ALIGN=BOTTOM
–
по
умолчанию.
Сопровождающий
текст
выравнивается по нижнему краю рисунка справа от него. Другие значения
атрибута ALIGN, приводящие к выравниванию текста справа от рисунка по его
высоте: TOP – по верхнему краю рисунка, CENTER или MIDDLE – по центру
рисунка. Чтобы текст обтекал рисунок, используются значения LEFT или
RIGHT. Рисунок прижимается соответственно к левому или правому краю
экрана, а остальное пространство рядом с ним занимает текст;
ALT="какой-то текст" – альтернативный текст. Текст, который появляется
вместо картинки, если по какой-либо причине загрузка изображения не
состоялась.
Пример:
<IMG SRC="picture.gif" ALT="Здесь должен быть рисунок"> – рисунок
picture.gif находится в том же каталоге, что и текущий документ. В том случае,
если его не удается найти или открыть, в рамку, отведенную под рисунок, будет
выдан текст: Здесь должен быть рисунок
10. Теги гиперссылок
Ссылки – инструмент, позволяющий связывать между собой различные
документы или обеспечивать быстрый переход от одной части документа к
другой. Браузер обычно выделяет ссылку цветом и подчеркиванием. Курсор
при наведении его на ссылку приобретает вид указательного пальца. По
двойному щелчку на ссылке браузер включает поисковые средства и
раскрывает заказанный документ либо поверх старого, либо в специально
оговоренном окне.
Ссылки создаются с помощью контейнера <A >…</A> (Add – добавлять).
Обязательный атрибут – HREF (Hiper REFerence – гиперссылка). При
минимальном наборе атрибутов структура ссылки выглядит так:
<A HREF="URL вызываемого файла"> якорь ссылки </A>
Примеры.
<A HREF="filename.html"> нужный документ </A> – по двойному щелчку
на тексте нужный документ браузер раскроет документ filename.html,
находящийся в том же каталоге, что и текущий документ;
<A HREF="folder/filename.html"> нужный документ </A> – по двойному
щелчку на тексте нужный документ браузер раскроет документ filename.html в
подкаталоге folder текущего каталога;
<A HREF="../folder/filename.html"> нужный документ </A> – по двойному
щелчку на тексте нужный документ браузер из каталога, в котором расположен
вызывающий документ, поднимется в родительский каталог, затем перейдет в
его подкаталог folder и раскроет находящийся там документ filename.html.
112
<A HREF="http://www.fortunecity.com/business/fax/339/index.html">
нужный документ </A> – ссылка с указанием полного адреса файла на другом
компьютере. По двойному щелчку на тексте нужный документ установится
связь с нужным компьютером и раскроется документ index.html, находящийся
там по адресу /business/fax/339/.
Другие атрибуты тега <A>:
TITLE ="поясняющий текст"– всплывающая подсказка с пояснением к
ссылке;
TARGET="имя окна" – указывает, в каком окне следует раскрывать
вызванный документ (подробнее см. п. 11).
Пример (прокомментируйте сами):
<A HREF="май/ОтчетПродажиМай.html" TITLE="Майский отчет по
продажам" > просмотр отчета </A>
Замечание. Якорем ссылки может быть любой объект, видимый в окне
браузера, например, рисунок. Для этого разместите <IMG SRC="..."> между
тегами <A HREF="..."> и </A>. Вокруг рисунка появится рамка, которая
показывает, что он является ссылкой. Ширина рамки задается атрибутом
BORDER в теге <IMG...>. Если рамка портит внешний вид документа, то
укажите в атрибутах рисунка BORDER=0. То, что это гиперссылка, будет видно
только по форме курсора, наведенного на рисунок.
Ресурсом, который вызывается по гиперссылке, может быть любой файл,
доступный через Интернет.
Примеры:
<A HREF="ftp://servername/directory/file.exe"> нужная программа </A>
Такая ссылка по щелчку на словах нужная программа запустит протокол
передачи файлов (ftp) и произведет выгрузку файла file.exe из каталога directory
сервера servername на жесткий диск пользователя.
Пишите письма <A HREF="mailto://username@mail.ru" TITLE="Ссылка на
почтовый ящик Администратора сайта"> автору </A>
В окне браузера появится текст:
Пишите письма автору
Если навести курсор на слово автору, то появится всплывающая подсказка
Ссылка на почтовый ящик Администратора сайта. По двойному щелчку на
слове автору будет запущена почтовая программа в режиме создания
сообщений, и в поле Кому автоматически будет введен адрес username@mail.ru
Ссылки можно делать не только на внешнюю информацию, но и на
внутренние места документа. Это облегчает просмотр больших документов.
Разберем это на примере. Допустим, электронный вариант этих методических
указаний создается по гипертекстовому стандарту. Тогда в начале каждого
параграфа необходимо создать метку, на которую будет указывать
гиперссылка.
Пример:
<A NAME="п. 10"> </A> или <A NAME="п. 10"> 10. </A>
В первом случае после метки должен идти заголовок параграфа вместе с
номером, во втором – просто заголовок, т. е. при организации метки
113
поясняющий текст в контейнере <A>…</A> необязателен. Если он вставлен, то
он не подчеркивается и выглядит как обычный текст. Теперь Содержание
можно оформить как список гиперссылок. Символ # означает, что дальше идет
метка внутри документа. Пункт Содержания со ссылкой на п. 10 должен
выглядеть так:
<LI><A HREF="#п.10"> 10. Теги гиперссылок </A>
На эту же метку можно будет перейти и из любого другого места
методических указаний. Например, ссылку со стр. 1 (п. 1) следует оформить
так:
<A HREF="#п.10"> (см. п. 10) </A>
Если гиперссылка указывает на внешний документ, то по умолчанию в
окно браузера выдается его начало. Если же нужная в нем информация
расположена дальше и обозначена меткой, то можно сразу же открыть
документ на этом месте, указав после имени файла метку (так же, как мы
открываем книгу с закладкой).
Пример:
http://www.sarf.spb.ru/study.htm#begin
Обратите внимание, что браузеры чувствительны к регистру ссылок. Если
Вы вместо "http://webs.web.com" наберете "http://webs.Web.com", то получите
нерабочую ссылку. Та же ситуация и с расширениями: если у Вас ссылка на
файл "index.htm", а там находится "index.html", то результат тот же – нерабочая
ссылка.
С дополнительным материалом по теме можно ознакомиться в литературе
[3, 5].
Задание 1
Составить свое резюме по следующему плану (в общей сложности 4-5
строчек, вместо многоточий и пояснений в скобках вставить свои данные):
Я, … (ФИО), родился … (дата и год рождения) в городе … (место, где
родились).
В 20… году окончил … школу (лицей, гимназию) с углубленным
изучением …, средний балл аттестата …
В 20… году поступил на специальность … СГГА. Средний балл по первой
сессии (аттестациям) …
В свободное от учебы время увлекаюсь … (перечислить не менее трех
увлечений помимо учебы).
Порядок выполнения.
1. Прочтите общие сведения о языке HTML (п.п. 1, 2 теоретических
сведений об HTML).
2. Подготовьте бланк для HTML-кода Вашего резюме. Для этого следует:
– выполнить команду Пуск → Программы → Стандартные → Блокнот →
Файл → Сохранить как…;
– задать имя файла Резюме_Фамилия.html (вместо Фамилия должна
стоять Ваша фамилия), сохранить файл в своей рабочей папке.
114
Если все сделано правильно, то в папке Вашей группы появится этот файл
со значком обозревателя, в противном случае – со значком блокнота. Тогда
следует удалить созданный файл и повторить все снова.
3. Введите в созданный документ стандартные теги:
<HTML>
<HEAD>
</HEAD>
<BODY>
</BODY>
</HTML>
Теги набираются с помощью латинских букв, регистр (прописные или
строчные) значения не имеет. Подробнее об этих тегах см. п. 4.
4. Внутри контейнера <BODY> напечатайте свое резюме. Сохраните
файл.
5. Посмотрите, как выглядит набранный текст без «украшательств». Для
этого следует открыть созданный файл из папки своей группы.
6. Проведите первую коррекцию кода. Для этого следует:
– не закрывая браузер, перейти в окно Блокнота;
– вставить в контейнер <HEAD> … </HEAD> контейнер <TITLE>
Резюме ФИО </TITLE> (вместо ФИО должна стоять Ваша фамилия);
– сохранить файл, перейти в окно браузера, нажать кнопку Обновить
(или F5).
Посмотрите, как повлиял тег <TITLE> на информацию в заголовке
браузера.
7. Проведите вторую коррекцию кода. Для этого следует:
– не закрывая обозреватель, перейти в окно Блокнота;
– в открывающий тег <BODY> вставить атрибуты TEXT и BGCOLOR,
значения цветов выбрать самим. Подробнее об этих атрибутах в п. 4;
– сохранить файл, перейти в окно браузера, нажать кнопку Обновить
(или F5).
Посмотрите, как изменился вид информации в окне браузера.
Если какой-то атрибут «не сработал», значит, допущены ошибки в
написании английских слов или пропущены пробелы между атрибутами.
Следует найти ошибки и повторить цикл коррекции кода.
Итак, один цикл коррекции кода включает следующие действия: внесение
и сохранение исправлений в окне блокнота, переход в окно браузера и
обновление его информации кнопкой Обновить (F5). В дальнейших пунктах
инструкции будут просто указываться изменения, которые следует внести в
код, а все остальные действия перечисляться не будут.
8. Проведите третью коррекцию кода. Для этого следует:
– после раздела «ФИО, где и когда родился», поставить тег абзаца <P>;
– после раздела «какую школу кончил, средний балл аттестата» – тег
разрыва строки <BR>;
115
– перед разделом «увлечения помимо учебы» вставить в код тег
горизонтальной линии <HR>.
Подробнее об этих тегах см. п. 6.
Посмотрите через браузер, в чем разница действий тегов <P> и <BR>, как
действует тег <HR> со значениями атрибутов по умолчанию.
9. Оформите линию нестандартным способом. Для этого следует внести в
тег <HR> атрибуты длины, толщины, цвета и выравнивания линии (см. п. 6).
Задайте длину 20 % – 50 % от ширины окна, выравнивание по центру, толщину
4 – 10 пикселей, цвет – любой.
Посмотрите через браузер, как действуют атрибуты на линию, созданную
тегом <HR>.
10. Измените вид шрифтов в разных частях резюме. Для этого следует
контейнером <H1> выделить свою фамилию, контейнером <I> – город, где Вы
родились, контейнером <H6> – информацию о школе, контейнером <FONT> с
атрибутами SIZE=7 COLOR=RED – информацию о факультете, контейнером
<FONT> с атрибутами SIZE=1 COLOR=GREEN – информацию о приятелях,
контейнером <В> выделить какое-нибудь увлечение. Подробнее об этих тегах
см. п. 5.
Просмотрите через браузер, как действуют эти теги.
11. Оформите часть текста в виде списка. Для этого следует контейнером
<OL> выделить блок об увлечениях, разбить его на пункты тегами <LI>
(подробнее см. п. 7). Аналогично контейнером <UL> и тегами <LI> оформить в
виде маркированного списка перечень Ваших приятелей.
Посмотрите, как выглядят стандартные списки.
12. Измените нумерацию в списке. Для этого с помощью атрибутов TYPE
и START поменяйте нумерацию в списке увлечений (подробнее см. п. 7).
Посмотрите, как изменится стандартный нумерованный список при новых
атрибутах.
Задание 2
Создать HTML-документ, в котором представлены сведения о гостиницах
для размещения участников некоторой конференции. Эти сведения оформить в
виде таблицы:
Таблица. Характеристики гостиниц
Название
Адрес
Тип номера
Цена за день
Люкс
$150
одноместный
Центральная Пр. Мира, д. 4
Люкс
$250
двухместный
Одноместный
$80
Одноместный
$50
Спортивная
Бульвар Профсоюзов, д. 15
Двухместный
$80
Вокзальная
Привокзальная пл., д. 3
Четырехместный $50
Порядок выполнения.
116
1. Подготовьте бланк для HTML-документ и сохраните файл в своей
рабочей папке под именем Таблица_Фамилия.html (вместо Фамилия должна
стоять Ваша фамилия).
2. Введите в созданный документ стандартные теги:
<HTML>
<HEAD>
<TITLE> Таблица ФИО </TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>
Вместо ФИО в контейнере <TITLE> должна стоять Ваша фамилия.
3. Внутри контейнера <BODY> вставьте скелетные теги таблицы (см.
п. 8):
<TABLE>
<CAPTION>
Характеристики гостиниц
</CAPTION>
<TR>
</TR>
<TR>
</TR>
……..
<TR>
</TR>
</TABLE>
Количество контейнеров для строк рассчитывается так же, как в редакторе
Word (по самому мелкому дроблению). В нашем примере – 7.
Отцентрируйте заголовок таблицы. Расположите ее на цветном фоне.
Выберите цвет для шрифта (см. лабораторную работу № 1).
4. Заполните первую строку таблицы. Так как это «шапка» с названиями
столбцов, для ячеек используйте контейнеры <TH> … </TH>. Окончательно
контейнер первой строки выглядит так:
<TR>
<TH> Название </TH>
<TH> Адрес </TH>
<TH> Тип номера </TH>
<TH> Цена за день </TH>
</TR>
5. Заполните вторую строку таблицы. Так как это уже содержание
таблицы, для ячеек используйте контейнеры <TD> … </TD>. Первая и вторая
117
ячейки по высоте занимают 3 строки. Чтобы объединить их, добавьте атрибуты
ROWSPAN=3. Окончательно контейнер второй строки выглядит так:
<TR>
<TD ROWSPAN=3> Центральная </TD>
<TD ROWSPAN=3> Пр. Мира, д. 4</TD>
<TD> Люкс одноместный </TD>
<TD> $150 </TD>
</TR>
6. Заполните контейнер третьей строки таблицы. Для ячеек по-прежнему
используйте контейнеры <TD> … </TD>. Первая и вторая ячейки входят в
объединенные раньше блоки, их объявлять не надо. А третья и четвертая
ячейки
содержат
новую
информацию.
Скопируйте
контейнеры
соответствующих ячеек из второй строки и поменяйте в них содержимое.
Окончательно контейнер этой строки выглядит так:
<TR>
<TD> Люкс двухместный </TD>
<TD> $250 </TD>
</TR>
7. Аналогично п. 6 заполните контейнер четвертой строки. Сохраните
документ и просмотрите его через браузер. В таблице пока нет разлиновки, но,
если все сделано правильно, структура расположения информации должна
просматриваться.
8. Добавьте в таблицу сведения о гостинице Спортивная. Они
располагаются в пятой и шестой строках. Похожие строки находятся во второй
и третьей строках таблицы, и теги, создающие их, уже сформированы.
Скопируйте теги из второй и третьей строк соответственно в контейнеры пятой
и шестой строк, замените содержание ячеек. Так как здесь первая и вторая
ячейки по высоте занимают только 2 строки, поменяйте значение атрибута
ROWSPAN. Получаем для новых строк:
<TR>
<TD ROWSPAN=2> Спортивная </TD>
<TD ROWSPAN=2> Бульвар Профсоюзов, д. 15 </TD>
<TD> одноместный </TD>
<TD> $50 </TD>
</TR>
<TR>
<TD> двухместный </TD>
<TD> $80 </TD>
</TR>
9. Добавьте в таблицу сведения о гостинице Вокзальная. Они
располагаются в седьмой строке. В ней нет объединения ячеек, все четыре
ячейки содержат новую информацию. Можно скопировать теги второй строки,
убрать в них атрибуты ROWSPAN и просто заменить информацию в
контейнерах ячеек:
<TR>
118
<TD> Вокзальная </TD>
<TD> Привокзальная пл., д. 3 </TD>
<TD> Четырехместный </TD>
<TD> $50 </TD>
</TR>
Сохраните документ и просмотрите его через браузер.
10. Форматирование таблицы. Добавьте в тег <TABLE> атрибуты
BORDER=3
WIDTH=70%
ALIGN=CENTER
BGCOLOR=YELLOW
BORDERCOLOR=MAROON (можно взять свои значения атрибутов).
Посмотрите через браузер, как действуют эти атрибуты на вид таблицы.
Добавьте
атрибут
CELLSPACING=0,
потом
измените
его
на
CELLSPACING=10. Посмотрите через браузер, за что отвечает этот атрибут.
Подробнее см. п. 8.
11. Форматирование ячеек. Выделите сведения, относящиеся к разным
гостиницам, разной заливкой. Выровняйте по центру ячеек цены номеров.
Необходимые для этого сведения – в п. 8.
Задание 3
В документ Таблица_Фамилия.html вставить файл-картинку в виде фона
для одной ячейки таблицы, затем для таблицы в целом, затем для документа в
целом. После таблицы вставить гиперссылку на администратора конференции.
В документ Резюме_Фамилия.html вставить файл-фотографию, проверить
разные варианты обтекания изображения текстом.
Порядок выполнения.
1. Подготовьте необходимые для работы файлы. Для этого нужно:
– с помощью функции Windows "Найти Файлы и папки" найти все файлы
на диске С с расширением *.jpg;
– из полученного списка выбрать три файла с изображениями пейзажей и
один с изображением человека, скопировать их в в свою рабочую папку;
– в своей папке создать новую папку с именем Сайт_Фамилия;
– открыть в папке своей группы файл Таблица_Фамилия.html;
– в окне браузера выполнить команду Вид → Показать код HTML.
2. Создайте фон в разных частях документа. Для этого нужно:
– в открывающий тег какой-нибудь ячейки таблицы вставить атрибут
BACKGROUND="имя файла-пейзажа с расширением". В результате тег должен
выглядеть примерно так:
<TD BACKGROUND="море.jpg">
– сохранить код с исправлением и просмотреть его в окне браузера. В
ячейке в виде фона отображен левый верхний угол картинки;
– скопировать атрибут BACKGROUND="…" в открывающий тег
<TABLE>, заменить название файла на файл другого пейзажа. Сохранить код с
исправлением и просмотреть его в окне браузера. Теперь вся таблица
изображается на фоне второй картинки, а в ячейке по-прежнему сохраняется
предыдущий фон;
119
– скопировать атрибут BACKGROUND="…" в открывающий тег
<BODY>, заменить название файла на файл третьего пейзажа. Сохранить код с
исправлением и просмотреть его в окне браузера. Фон, указанный в <BODY>,
заполняет все окно браузера, а фон, заказанный во внутренних тегах,
распространяется только на область их действия.
Вывод: внутренние назначения заменяют внешние.
3. Проанализируйте способы указания адресов нужных файлов (URL).
Для этого сделайте следующие манипуляции:
– перенесите в папку Сайт_Фамилия все файлы пейзажей, нажмите
кнопку Обновить в окне браузера. Фон пропал;
– в атрибутах BACKGROUND="…" добавьте перед именами файлов
название папки, в которой они находятся. В результате получим примерно это:
BACKGROUND="Сайт_Иванов\море.jpg"
Сохраните изменения и просмотрите их через браузер. Фон появился.
Прочтите п. 6 (фрагмент про относительный URL) и просмотрите примеры п. 9
при разных ссылках на файлы. В нашем примере мы сделали ссылку на файл в
дочерней папке;
– поменяйте местами файл с таблицей и файлы пейзажей (файл с
таблицей – в папку Сайт…, а файлы пейзажей – в папку своей группы),
закройте окно браузера и откройте таблицу снова из папки Сайт… Фон опять
пропал;
– в атрибутах BACKGROUND="…" замените название дочерней папки
на значок родительской. В результате получим примерно это:
BACKGROUND="..\море.jpg"
Сохраните изменения и просмотрите их через браузер. Фон появился. В
этом примере мы сделали ссылку на файл в родительской папке.
Вывод: самый простой URL получается, если все файлы, необходимые для
просмотра документа, находятся в одной папке. В противном случае надо
указывать пути к ним.
4. Добавьте первую гиперссылку. Для этого нужно:
– в код документа с таблицей после закрывающего тега </TABLE>
добавить текст.
Ответственный за размещение гостей <A HREF="..\Резюме …html"> …
(Ваша фамилия) </A>
Внимание! В атрибуте HREF при указании пути и названия файла Вашего
резюме следует соблюдать все регистры букв и пробелы. Сохраните изменения
и просмотрите их через браузер;
– сделайте двойной щелчок на появившейся гиперссылке. Если
гиперссылка не раскрыла Ваше резюме, проверьте правильность составления
пути и названия файла в атрибуте HREF контейнера <A> …</A>. Чтобы
вернуться к документу с таблицей, следует нажать кнопку Назад в окне
браузера или вставить в код резюме другую гиперссылку примерно такого
вида:
<A HREF="Сайт …(Ваша фамилия) \Таблица …(Ваша фамилия).html">
Вернуться к таблице? </A>
120
Подробнее о гиперссылках и их атрибутах см. п. 10.
5. Добавьте гиперссылку на почтовый ящик e-mail. Для этого нужно в код
документа с таблицей после контейнера с первой гиперссылкой добавить
строку:
Сообщите нам о нужном Вам номере по <A HREF="mailto://adm@mail.ru">
e-mail </A>
Сохраните изменение и просмотрите результат. Сделайте двойной щелчок
на этой гиперссылке. Просмотрите окно создания сообщения. Прочтите в п. 6 о
структуре URL и разберите в п. 10 примеры различных гиперссылок. Добавьте
во все гиперссылки атрибут TITLE с какими-нибудь поясняющими надписями.
6. Вставьте изображение как самостоятельный объект. Для этого откройте
файл с Вашим резюме. После сведений о том, где Вы родились, вставьте тег
<IMG SRC="…"> (вместо многоточия укажите URL своего файла с
изображением человека). Сохраните и просмотрите изменение. Добавьте в тег
<IMG> атрибуты размеров картинки, сделайте ей окантовку в виде толстой
рамки, поэкспериментируйте с вариантами разного расположения текста около
нее. Необходимые для этого сведения см. в п. 9.
Варианты задания
Создать сайт из 5 документов на выбранную тему. Минимальный набор
средств языка HTML, который должен быть использован в документах:
– разные приемы форматирования текста;
– оформление списков;
– оформление таблиц;
– гиперссылки;
– использование изображений.
Возможные темы сайтов: любимая вокальная группа, театральный
коллектив, спортивная команда, автор любимых книг, Ваш город, какой-нибудь
курорт, вид спорта, отдыха, реклама какой-нибудь фирмы, себя любимого и
т. п.
В документе Приветствие.html можно использовать в качестве
самостоятельного объекта изображение логотипа фирмы, фотографию на тему
сайта, а также разместить краткое пояснение того, чему посвящен Ваш сайт в
целом, как двигаться по нему.
В документах Пункт1.html, Пункт2.html, Пункт3.html, Пункт4.html можно
разместить разные группы информации по выбранной теме. Например, если
выбрана тема «спортивная команда», Пункт1.html может содержать текстовые
сведения об истории ее создания, Пункт2.html – список игроков, Пункт3.html –
таблицу игр.
Документ Приветствие.html должен содержать гиперссылки на
Пункт1.html, Пункт2.html, Пункт3.html, Пункт4.html.
Содержание отчета
121
После выполнения работы составить отчет, включающий исходный код
html-страниц, описание основных использованных тегов и снимки экрана
(скриншоты).
Технология выполнения работы
В данной работе с помощью языка разметки HTML должны быть созданы
5 web-страниц, оформленных с помощью основных html-тегов.
Вопросы для защиты работы
1. Дайте определение понятиям "HTML", "гиперссылка", "браузер", "тег".
2. Общая структура тегов.
3. В каких случаях используются &-последовательности и комментарии?
4. Расскажите об общей структуре html-документа.
5. Перечислите теги форматирования шрифта.
6. Как оформляются смысловые части текста и списки?
7. Создание таблиц с помощью языка HTML.
8. Приведите примеры использования графических изображений в htmlдокументе.
9. Как создать гиперссылку?
122
ЛАБОРАТОРНАЯ РАБОТА № 11
ГРАФИЧЕСКИЙ РЕДАКТОР CORELDRAW GRAPHICS SUITE X4
Время выполнения – 4 часа.
Цель работы
Научиться создавать и редактировать компьютерные изображения с
помощью графического редактора CorelDraw.
Задачи лабораторной работы
После выполнения работы студент должен знать и уметь:
1) знать основные приемы работы с векторным графическим редактором
Corel Draw;
2) уметь создавать и редактировать векторные графические изображения.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер с
операционной системой, графическим редактором Corel Draw Graphics Suite X4
и методические указания по выполнению работы.
Общие теоретические сведения
1. Работа с текстом
Corel Draw представляет возможность работать с текстом в так
называемых графическом и параграфическом режиме. Текст в графическом
представлении используется, как правило, в оформительских целях – его можно
размещать вдоль контуров и преображать путем задания различных эффектов.
Текст в рамке (параграфический) – это, как правило, тексты большого объема,
которые применяются не с целью оформления рисунка, а для передачи
информации. Их можно разбивать на столбцы и текстовые блоки. При
обработке текста в рамке существует возможность использования всех
известных функций текстовых редакторов, таких как поиск определенных слов
и их замена, проверка правописания и пр.
Для ввода текста в графическом исполнении необходимо выполнить
следующие действия:
1) выполнить щелчок на пиктограмме «Текст» в палитре инструментов;
2) установить указатель мыши в той части рабочего листа, где должен
находиться текстовый фрагмент;
3) выполнить щелчок в позиции первого символа;
4) ввести текст с клавиатуры;
5) для завершения ввода щелкнуть на любой пиктограмме в палитре
инструментов.
После ввода текст можно перемещать, как графический объект,
производить его форматирование, вращать и размещать текст вдоль объектов.
Для размещения текста вдоль объекта следует:
123
1) ввести текст и создать объект, вдоль которого будет располагаться
текст (в данном примере – эллипс) (рис. 1 а);
2) активизировать инструмент «Указатель» и, удерживая нажатой
клавишу Shift, щелкнуть мышкой на тексте, а затем на графическом объекте
(рис. 1 б);
3) вызвать команду Текст вдоль пути из раздела верхнего меню Текст.
а
б
в
Рис. 1. Размещение текста вдоль объектов
С помощью дополнительного меню (рис. 2) можно установить:
– расстояние между текстом и объектом;
– положение текста относительно контура (сверху или снизу);
– смещение текста по горизонтали.
Рис. 2. Панель управления текстом
2. Работа с интерактивными инструментами.
Инструмент «Интерактивный контур» позволяет создать ряд
подобных фигур. Для работы с этим инструментом необходимо
создать исходную фигуру (рис. 3 а), затем активизировать инструмент,
и в меню параметров (рис. 4) выбрать:
1) положение объекта;
2) размер объекта;
3) расположение контуров:
– до центра;
– внутри объекта;
– снаружи объекта;
4) количество контуров;
5) расстояние между контурами;
6) параметры цветового перехода;
7) цвет абрисы;
8) цвет заливки.
124
а
б
в
Рис. 3. Работа с интерактивными контурами
Рис. 4. Панель параметров инструмента «Интерактивный контур»
В результате вокруг или внутри исходной фигуры появляется ряд контуров
(рис. 3 б).
Для получения фигуры, изображенной на рис. 3 в в можно воспользоваться
стандартными заготовками.
Инструмент
«Интерактивное
перетекание»
позволяет
осуществить пошаговый переход от одного объекта к другому через
серию промежуточных форм, числом которых можно управлять.
Переход можно произвести по любой произвольной траектории. Для
получения эффекта следует создать исходные объекты (на рис. 5 а – две звезды
и овал), выделить левую звезду, активизировать инструмент и, нажав левую
клавишу мышки в центре звезды, протянуть линию со стрелкой до овала.
Аналогичные действия произвести, взяв за исходную фигуру овал. Результат
представлен на рис. 5 б.
Количество промежуточных форм и другие параметры перехода можно
выбрать на панели параметров (рис. 6).
а
б
Рис. 5. Создание интерактивного перетекания
Рис. 6. Панель параметров инструмента «Интерактивное перетекание»
Инструмент «Интерактивное выдавливание» позволяет
придавать объектам объем. Для создания объемного изображения
125
необходимо создать плоский объект, активизировать инструмент (рис. 7 а) и,
удерживая левую клавишу мышки в нажатом состоянии, указать направление и
глубину объема (рис. 7 б). Для готового трехмерного объекта можно установить
подсветку, цветовое заполнение (заполнение цветом объекта, заполнение
новым цветом или заполнение цветовым переходом) или произвести вращение
объекта (рис. 7 в).
а
б
Рис. 7. Создание объемных объектов
в
Инструмент «Интерактивная тень» используется для создания
эффекта тени.
Следует создать исходный объект (текст или рисунок),
активизировать инструмент и выбрать параметры тени (направление, размер,
расстояние от объекта и пр. (рис. 8)
Рис. 8. Панель настроек инструмента «Интерактивная тень»
В результате можно получить следующие эффекты (рис. 9).
Рис. 9. Эффекты, полученные с использованием инструмента «Интерактивная
тень»
С помощью инструмента «Интерактивная оболочка» можно
деформировать графический объект, сохранив при этом возможность
восстановления исходной формы. Можно создать эффект надписи,
находящейся на развивающемся флаге, вписать текст в любую геометрическую
фигуру и пр.
Для получения эффекта необходимо ввести текст в графическом режиме,
активизировать инструмент и выбрать параметры оболочки на панели свойств
инструмента (рис. 10).
Рис. 10. Панель свойств инструмента «Интерактивная оболочка»
126
В результате можно добиться следующих эффектов (рис. 11).
Рис. 11. Результат использования инструмента «Интерактивная оболочка»
С дополнительным материалом по теме можно ознакомиться в литературе
[3, 7].
Задание 1
Создать следующие объекты (рис. 12):
Рис. 12. Текст вдоль контура
Для создания параграфического текста следует:
1) установить указатель на инструменте «текст»;
2) нажать левую клавишу мышки и, удерживая ее в нажатом состоянии,
нарисовать на рабочем листе прямоугольник, в котором будет располагаться
текст;
3) отпустить кнопку мыши и ввести текст.
После ввода текста можно его форматировать и редактировать, как в
обычном текстовом редакторе, используя команды верхнего меню Текст.
Задание 2
Создать следующий текстовый фрагмент.
Параметры текста:
– шрифт – ARIAL, 14. Выравнивание – по ширине;
– текст разбить на две колонки одинаковой ширины;
– вставить в текст буквицу (высота буквицы – 3 строки);
127
–
выделить второе предложение курсивом и полужирным шрифтом.
Создать следующие
«Интерактивный контур».
Задание 3
фигуры (рис. 13)
с
помощью
инструмента
Рис. 13. Интерактивные контура
Задание 4
Создать
нижеприведенные
объекты
«Интерактивное перетекание».
с
помощью
инструмента
Рис. 14. Интерактивное перетекание
Задание 5
Создать следующие объекты с помощью инструмента «Интерактивное
выдавливание».
Рис. 15. Интерактивное выдавливание
128
Задание 6
Создать следующие объекты с помощью инструмента «Интерактивная
тень» (рис. 16).
Рис. 16. Интерактивная тень
Задание 7
Создать следующие объекты с помощью инструмента «Интерактивная
оболочка» (рис. 17).
Рис. 17. Интерактивная оболочка
Задание 8
В качестве примера для демонстрации работы с узлами создадим логотип
Запорожского автомобильного завода (ЗАЗ) (рис. 18).
Рис. 18 Логотип ЗАЗ
Создание логотипа разобьем на следующие этапы:
– создаем прямоугольник (рис. 19);
Рис. 19. Исходный объект
129
– нажав правую клавишу мышки, выполняем преобразование объекта в
кривые, активизируем инструмент «Форма», добавляем узел в нижний сегмент
и перемещаем его на нужное расстояние (рис. 20);
Рис. 20. Объект после добавления узла
–
для полученной фигуры создаем контур (рис. 21);
Рис. 21. Объект после добавления контура
– на левом внутреннем сегменте добавляем узлы и перемещаем их в
соответствии с рис. 22;
Рис. 22. Объект после добавления и перемещения узлов
– создаем многоугольник (рис. 23), закрашиваем его однотонной
заливкой и помещаем в созданный объект. Результатом является логотип ЗАЗ
(рис. 24).
Рис. 23. Вспомогательный многоугольник
130
Рис. 24. Готовый логотип ЗАЗ
Задание 9
Создать логотипы автомобильных заводов ЗИЛ и ВАЗ (рис. 25).
Рис. 25. Логотипы ЗИЛ и ВАЗ
Задание 10
Создать рекламные объявления (рис. 26)
Рис.26. Рекламные объявления
Содержание отчета
Отчетом являются созданные в редакторе Corel Draw графические
изображения.
Вопросы для защиты работы
1. Работа с текстом в Corel Draw.
2. Опишите работу с основными интерактивными инструментами.
131
Библиографический список
1. Глушаков, С.В. Office 2007. Лучший самоучитель [Текст] / С.В.
Глушаков, А.С. Сурядный. – М.: АСТ, 2008. – 448 с.
2. Информатика [Текст]: учеб. пособие. Ч. 1 / Т.Ю. Бугакова, С.Ю. Кацко,
С.А. Егорова, Н.В. Деева, Н.А. Баландина, Е.В. Михайлович; под общ. ред.
С.Ю. Кацко. – Новосибирск: СГГА, 2010. – 234 с.
3. Информатика [Текст]: учеб. пособие. Ч. 2 / С.М. Горбенко, Т.Ю.
Бугакова, С.Ю. Кацко, Н.П. Артемьева, Е.В. Михайлович; под общ. ред.
С.Ю. Кацко. – Новосибирск: СГГА, 2010. – 260 с.
4. Калабухова, Г.В. Компьютерный практикум по информатике. Офисные
технологии [Текст] / Г.В. Калабухова, В.М. Титов. – М.: Инфра-М, 2007. –
336 с.
5. Макарова, Н.П. Информатика. Практикум по технологии работы на
компьютере [Текст] / Н. В. Макарова, Е. И. Култышев, А. Г. Степанов, В. Л.
Широков. – М.: Финансы и статистика, 2008. – 256 с.
6. Могилев, А.В. Практикум по информатике [Текст] / А. В. Могилев, Н.
И. Пак, Е. К. Хеннер. М.: Академия, 2009. – 608 с.
7. Симонович, С.В. Информатика. Базовый курс: Учебник для вузов
[Текст] / С.В. Симонович. – СПб.: Питер, 2008. – 640 с.
8. Сырецкий, Г.А. Информатика. Фундаментальный курс. Том I. Основы
информационной и вычислительной техники [Текст] / Г.А. Сырецкий. – СПб.:
БХВ-Петербург, 2005. – 832 с.
9. Фигурнов, В.Э. IBM PC для пользователя [Текст] / В.Э. Фигурнов. –
М.: ИНФРА-М, 2006. – 640 с.
132
Лабораторный практикум по информатике
Часть 2
Авторский коллектив:
С.М. Горбенко (раздел 1), С.Ю. Кацко (раздел 12-14), С.А. Вдовин (раздел 5-7),
Е.В.
Михайлович
(раздел
16-19),
С.А.
Егорова
(раздел
8-11),
Н.В.
Деева
(раздел
5-7),
Н.П.
Артемьева
(разделы
2-4),
П.Ю. Бугаков (раздел 12-15)
Лабораторный практикум предназначен для практической подготовки студентов
технических специальностей по базовому курсу «Информатика». Вторая часть
лабораторного практикума включает разделы: алгоритмизация и программирование;
разработка программ на языке VBA; программирование в средах разработки Borland C++ и
Borland C++ Builder; вычисления в Mathcad. Данный материал будет полезен для
самостоятельной подготовки студентов к лабораторным работам.
133
содержание
Введение 135
Методические рекомендации по подготовке к лабораторным работам 136
Лабораторная работа № 1 Алгоритмизация и программирование 137
Лабораторная работа № 2 Программирование в среде разработки Borland Delphi 145
Лабораторная работа № 3 Работа с массивами в среде программирования
Borland Delphi 154
Лабораторная работа № 4 Работа с графикой в среде программирования Borland Delphi
158
Лабораторная работа № 5 Visual Basic for Applications (VBA). Линейные алгоритмы
162
Лабораторная работа № 6 Visual Basic for Applications (VBA). Условные алгоритмы
171
Лабораторная работа № 7 Visual Basic for Applications (VBA). Циклические алгоритмы.
Работа с массивами 179
Лабораторная работа № 8 Программирование в среде разработки Borland C++.
Линейные алгоритмы 187
Лабораторная работа № 9 Программирование в среде разработки Borland C++.
Разветвляющиеся алгоритмы 199
Лабораторная работа № 10 Программирование в среде разработки Borland C++.
Циклические алгоритмы 203
Лабораторная работа № 11 Программирование в среде разработки Borland C++.
Обработка массивов данных 207
Лабораторная работа № 12 Программирование в среде разработки Borland C++ Builder.
Основы работы 210
Лабораторная работа № 13 Программирование в среде разработки Borland C++ Builder.
Обработка массивов данных 230
Лабораторная работа № 14 Программирование в среде разработки Borland C++ Builder.
Сортировка массивов 238
Лабораторная работа № 15 Программирование в среде разработки Borland C++ Builder.
Поиск элемента в массиве 243
Лабораторная работа № 16 Вычисления в Mathcad. Построение графиков функций 247
Лабораторная работа № 17 Вычисления в Mathcad. Линейная алгебра 255
Лабораторная работа № 18 Вычисления в Mathcad. Дифференциальное и интегральное
исчисление 268
Лабораторная работа № 19 Вычисления в Mathcad. Программирование в Mathcad 281
Библиографический список 293
134
Введение
Данный сборник предназначен для помощи в проведении лабораторных работ по курсу
«Информатика». Проведение этих работ позволит изучить основы алгоритмизации и
программирования. Это дополняет изучаемый в теории материал.
Целью и задачей выполнения этих работ является получение навыков составления
алгоритмов решения задач и программирования с помощью различных языков.
Сборник содержит описание самих работ, необходимый краткий теоретический
материал для их выполнения, примеры выполнения и варианты исходных данных для
лабораторных работ.
Кроме этого в практикуме есть примеры выполнения этих работ.
В конце практикума присутствует список литературы, позволяющей самостоятельно
изучить дополнительный материал по другим источникам.
После выполнения каждой работы студент должен предоставить в письменном виде
отчет о проделанной работе, в который входят исходные данные, полученные результаты и
выводы.
135
Методические рекомендации по подготовке к лабораторным работам
Каждый студент должен взять у преподавателя свои исходные данные для выполнения
работ, изучить данные методические материалы перед выполнением работы, выполнить на
ЭВМ и предоставить отчет.
В данных лабораторных работах используются ЭВМ, на которых установлена
операционная система Windows XP, офисный пакет MS Office 2007, интегрированные среды
разработки Borland C++, Borland C++ Builder, Borland Delphi, MathCad.
136
Лабораторная
Алгоритмизация и программирование
работа
№1
Время выполнения – 6 часов.
Цель работы
Усвоить понятия: алгоритм как фундаментальное понятие информатики, способы
описания, основные типы алгоритмов, освоить принципы решения задач с использованием
основных алгоритмических конструкций.
Задачи лабораторной работы
После выполнения работы студент должен знать и уметь:
знать назначение алгоритма и его определение;
знать формы представления алгоритма;
уметь работать с основными алгоритмическими конструкциями;
уметь представлять алгоритм в виде блок-схемы;
уметь приводить примеры алгоритмов и применять их для построения блок-схем;
уметь составлять и записывать алгоритм одним из способов.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь методические указания по
выполнению работы.
Общие теоретические сведения
Решение любой задачи на ЭВМ можно разбить на следующие этапы: разработка
алгоритма решения задачи, составление программы решения задачи на алгоритмическом
языке, ввод программы в ЭВМ, отладка программы (исправление ошибок), выполнение
программы на ПК, анализ полученных результатов.
Первый этап решения задачи состоит в разработке алгоритма.
Алгоритм – это точная конечная система правил, определяющая содержание и порядок
действий исполнителя над некоторыми объектами (исходными и промежуточными данными)
для получения после конечного числа шагов искомого результата.
Алгоритм может быть описан одним из трех способов:
словесным (пример в начале раздела);
графическим (виде специальной блок-схемы);
с помощью специальных языков программирования.
Блок-схема – распространенный тип схем, описывающий алгоритмы или процессы,
изображая шаги в виде блоков различной формы, соединенных между собой стрелками.
Линейный алгоритм – это такой алгоритм, в котором все операции выполняются
последовательно одна за другой.
Алгоритмы разветвленной структуры применяются, когда в зависимости от некоторого
условия необходимо выполнить либо одно, либо другое действие.
Алгоритмы циклической структуры.
Циклом называют повторение одних и тех же действий (шагов). Последовательность
действий, которые повторяются в цикле, называют телом цикла.
Циклические алгоритмы подразделяют на алгоритмы с предусловием, постусловием и
алгоритмы с конечным числом повторов. В алгоритмах с предусловием сначала выполняется
проверка условия окончания цикла и затем, в зависимости от результата проверки,
выполняется (или не выполняется) так называемое тело цикла.
Задание 1. Определить площадь трапеции по введенным значениям оснований (a и b) и
высоты (h).
137
Запись решения задачи на алгоритмическом языке:
алг трапеция
вещ a,b,h,s
нач
ввод f,b,h
s:=((a+b)/2)*h
вывод s
кон
Запись алгоритма в виде блок-схемы (рис. 1):
Начало
Ввод
a,b,h
S:=((a+b)/2)*h
Выв
од S S
Конец
Рисунок 1 – Блок-схема линейного алгоритма
Задание 2. Определить среднее арифметическое двух чисел, если a положительное и
частное (a/b) в противном случае.
Запись решения задачи на алгоритмическом языке:
алг числа
вещ a,b,c
нач
ввод a,b
если a>0
то
с:=(a+b)/2
иначе с:=a/b
все
вывод с
кон
Запись алгоритма в виде блок-схемы (рис. 2):
138
Нача
ло
Ввод
a,b
a
>0
c:=(a+b)/
c:=a/b
2
Выво
дс
Коне
ц
Рисунок 2 – Блок-схема алгоритма с ветвлением
Задание 3. Составить алгоритм нахождения суммы целых чисел в диапазоне от 1 до 10.
Запись решения задачи на алгоритмическом языке:
алг сумма
вещ a,s
нач
S:=0;
A:=1;
нц
пока a<=10
S:=S+a;
A:=a+1;
кц
вывод S
кон
Запись алгоритма в виде блок-схемы (рис. 3):
139
Начало
S:=
0
a:=
1
н
a<
ет
=10
д
а
Выво
S:=
дS
S+a
a:=
Конец
a+1
Рисунок 3 – Циклический алгоритм с предусловием
В алгоритме с постусловием сначала выполняется тело цикла, а затем проверяется
условие окончания цикла. Решение задачи нахождения суммы первых десяти целых чисел в
данном случае будет выглядеть следующим образом:
алг сумма
вещ a,s
нач
S:=0;
A:=1;
нц
S:=S+a;
A:=a+1;
пока a<=10
кц
вывод S
кон
Запись алгоритма в виде блок-схемы (рис. 4):
140
Начало
S:=
0
a:=
1
S:=
S+a
a:=
a+1
д
а
a<
=10
н
ет
Выво
дS
Конец
Рисунок 4 – Циклический алгоритм с постусловием
Варианты задания
Задание 1. Составить алгоритм решения задачи с помощью алгоритмического языка
псевдокод и с помощью блок-схем, используя конструкцию линейного алгоритма.
Вычислить площадь поверхности и объем усеченного конуса по следующим формулам
S = р (R + r) l + рR2 + рr2 ;
V = (1/3) р (R2 + r2 + Rr) h .
Вычислить координаты центра тяжести трех материальных точек с массами m1, m2, m3
и координатами (x1,y1), (x2,y2), (x3,y3) по формулам:
xc = (m1x1 + m2x2 + m3x3) / (m1 + m2 + m3) ;
yc = (m1y1 + m2y2 + m3y3) / (m1 + m2 + m3) .
Вычислить площадь треугольника со сторонами a, b, c по формуле Герона:
,
где p – полупериметр, вычисляемый по формуле
,
Вычислить координаты точки, делящей отрезок а1а2 в отношении n1:n2 по формулам:
;
,
где
.
Вычислить медианы треугольника со сторонами a, b, c по формулам:
141
;
;
;
Вычислить площадь круга и длину окружности по введенному значению радиуса.
Вычислить площадь S и периметр L эллипса по введенным значениям полуосей a и b:
;
.
Вычислить объем V и площадь боковой поверхности цилиндра S по введенным
значениям радиуса основания R и высоты цилиндра H.
;
.
Вычислить объем V и площадь боковой поверхности конуса S по введенным значениям
радиуса основания r, высоты h и образующей l:
;
.
Вычислить объем V и площадь поверхности S сферы по введенному значению радиуса
r:
;
.
Дано целое четырехзначное число. Используя операции div и mod, найти сумму его
цифр.
Дана сторона равностороннего треугольника. Найти площадь этого треугольника и
радиусы вписанной и описанной окружностей.
Даны координаты трех вершин треугольника (x1, y1), (x2, y2), (x3, y3). Найти его
периметр и площадь.
Дана длина окружности. Найти площадь круга, ограниченного этой окружностью.
Дана площадь круга. Найти длину окружности, ограничивающей этот круг.
Задание 2. Составить алгоритм решения задачи с помощью алгоритмического языка
псевдокод и с помощью блок-схем, используя конструкцию алгоритма с ветвлением.
Составить программу для решения квадратного уравнения ax2 + bx + c = 0.
Определить максимальное четное число из двух введенных.
Определить, можно ли из отрезков с длинами х, y и z построить треугольник.
Ввести два числа а и b. Большее число заменить утроенным произведением, меньшее –
полусуммой.
Если среди трех чисел a, b, c имеется хотя бы одно четное, то найти максимальное
число, иначе – минимальное.
Определить, в каком квадранте находится точка с координатами x и y и вывести номер
квадранта на экран.
Найти квадрат наибольшего из двух чисел а и b. Вывести на экран число 1, если
наибольшим является число а, число 2 – если наибольшим числом является b.
Определить, попадает ли точка с координатами x и y в круг радиусом R. Если точка
попадает в круг, вывести на экран единицу, в противном случае – ноль.
Написать алгоритм решения задачи, которая решает уравнение ax + b = 0 относительно
x для любых чисел a и b, введенных с клавиатуры. Все числа считаются действительными.
142
Написать алгоритм решения задачи, которая определяет, лежит ли точка А(х,у) внутри
некоторого кольца («внутри» понимается в строгом смысле, т.е. случай, когда точка А лежит
на границе кольца, недопустим). Центр кольца находится в начале координат. Для кольца
заданы внутренний и внешний радиусы r1, r2. Координаты x и у вводятся с клавиатуры.
Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить
каждой переменной произведение этих значений, а если равны, то присвоить переменным
нулевые значения.
Даны две переменные целого типа: A и B. Если их значения не равны, то присвоить
каждой переменной минимальное из этих значений, а если равны, то присвоить переменным
нулевые значения.
Даны целочисленные координаты точки на плоскости. Если точка не лежит на
координатных осях, то вывести 0. Если точка совпадает с началом координат, то вывести 1.
Если точка не совпадает с началом координат, но лежит на оси OX или OY, то вывести
соответственно 2 или 3.
Даны вещественные координаты точки, не лежащей на координатных осях OX и OY.
Вывести номер координатной четверти, в которой находится данная точка.
Дано целое число, лежащее в диапазоне от –999 до 999. Вывести строку – словесное
описание данного числа вида "отрицательное двузначное число", "нулевое число",
"положительное однозначное число" и т.д.
Задание 3. Составить алгоритм решения задачи с помощью алгоритмического языка
псевдокод и с помощью блок-схем, используя конструкцию циклического алгоритма.
Найти сумму чисел, кратных трем, в диапазоне от 0 до 50.
Найти сумму первых десяти чисел, кратных пяти.
Найти произведение четных чисел в диапазоне от 2 до 30.
Вводятся положительные числа. Прекратить ввод, когда сумма введенных чисел
превысит 100.
Требуется найти сумму чисел, кратных 7, в диапазоне от 0 до 100. Вывести на экран
сумму чисел и их количество.
Определить количество целых чисел, кратных 3 (от 3 и далее), дающих в сумме число,
превышающее 200.
Вводятся 10 чисел. Вывести на экран суммы положительных и отрицательных чисел и
их количество.
Вывести на экран значения функции у=sin(x) для 0≤x≤180 c шагом в 10.
Подсчитать площади десяти кругов с радиусами от 1 см с шагом 2 см и вывести
значения площадей на экран.
Вводятся положительные числа. Прекратить ввод чисел, когда их сумма превысит 100.
Результат вывести на экран.
Вводятся числа. Прекратить ввод чисел, когда сумма положительных чисел превысит
100. Результат вывести на экран.
Вывести на экран значения произведений чисел a и b. Числа а изменяются от 1 до 11 с
шагом 1, b – от 1 до 3 с шагом 0,2.
Вывести на экран таблицу перевода километров в мили в диапазоне от 2 до 20
километров с шагом 2 км.
Вы положили в банк 1500 рублей. Определить, сколько денег будет на Вашем вкладе
через 1 год, если каждый месяц вклад увеличивается на 0.76 % от суммы предыдущего
месяца.
Решив заняться легкой атлетикой, Вы пробежали в первый день 2 км. Сколько
километров Вы пробежите за 2 недели, если каждый день Вы увеличиваете дистанцию на
10 % от предыдущего дня?
Технология выполнения работы
143
В рамках выполнения работы необходимо составить алгоритм решения задачи в виде
блок-схемы и с помощью языка псевдокода.
Содержание отчета
Цель работы и задание.
Условие задачи.
Алгоритм, написанный с помощью псевдокода и блок- схемы.
Вопросы для защиты работы
Что такое алгоритм?
Свойства алгоритма.
Способы записи алгоритма.
Основные элементы блок-схемы.
Виды алгоритмов.
Отличительные особенности алгоритмов с предусловием и постусловием.
144
Лабораторная
работа
Программирование в среде разработки Borland Delphi
№2
Время выполнения – 4 часа.
Цель работы
Научиться программировать процессы, которые позволяют сделать выбор того или
иного действия.
Задачи лабораторной работы
После выполнения работы студент должен знать и уметь:
знать, как отличить алгоритм выбора от других алгоритмов и как его можно
реализовать в среде Delphi;
уметь самостоятельно написать программу для любого процесса выбора.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со следующим
математическим обеспечением: операционная система Windows 2003 и выше и система
визуального программирования Delphi на основе 6-ой версии.
Общие теоретические сведения
Интегрированная среда разработки Delphi представляет собой многооконную систему
(рис. 1).
Гл
авное
окно
Окн
о
Инспекто
ра
объектов
Окно
Окно
кода модуля
формы
Рисунок 1 – Пользовательский интерфейс интегрированной
среды разработки Delphi
формы окна:
После загрузки интерфейс Delphi включает следующие
Главное окно – Project1, осуществляет основные функции управления проектом
создаваемой программы.
Окно Инспектора объектов Object Inspector содержит две страницы Properties
(Свойства) и Events (События).
Окно Конструктора формы Form1 представляет проект интерфейсной части будущего
проекта.
145
Окно Редактора кода – Unit1.pas предназначено для создания и редактирования текста
программы на языке Object Pascal.
Пункт меню View позволяет увидеть окна на экране при их отсутствии. В зависимости
от настроек можно видеть окна:
окно обозревателя дерева объектов Object Tree View;
окно Проводника кода – Exploring Unit1.pas.
Delphi – однодокументная среда и может работать только с одним приложением.
Закрытие Delphi – закрытие главного окна.
Project1 включает:
главное меню, которое содержит команды доступа к функциям Delphi;
панели инструментов (часто используемые команды главного меню);
палитру компонентов (содержит строительные блоки для форм приложения).
Имеется 6 панелей инструментов:
Standard (стандартная).
View (просмотра).
Debug (отладки).
Custom (пользователя).
Desktop (рабочий стол).
Internet (интернет).
Все компоненты разбиты на группы, каждая из которых в Палитре компонентов
располагается на отдельной странице. Нужная страница выбирается щелчком мыши на ее
ярлычке.
Основные страницы Палитры компонентов:
Standard (стандартная)
Additional (дополнительная)
Win32 (32-разрядный интерфейс Windows)
System (доступ к системным функциям)
Data Access (работа с информацией из базы данных)
Data Controls (создание элементов управления данными)
BDE (доступ к данным с помощью процессора баз)
Qreport (составление отчетов)
Dialogs (создание стандартных диалоговых окон)
Окно конструктора формы находится в центре экрана с заголовком Form1.
В нем выполняется проектирование формы. На форму из палитры компонентов
помещаются компоненты. Окно редактора кода Unit1.pas находится под окном конструктора
формы – это обычный текстовый редактор, используется для редактирования текста модуля
и в начале содержит исходный код модуля. Окно проводника кода (Exploring Unit1.pas)
содержит и отображает все объекты модуля формы.
Окно инспектора объектов (Object Inspector) находится в левой части экрана и
отображает свойства и события объектов для текущей формы Form1. Страница Properties
(Свойства) отображает информацию о текущем компоненте и позволяет изменять свойства
компонентов.
Events (События) определяет процедуру, которую должен выполнить компонент при
возникновении события. Компонент, расположенный на форме, можно выбрать щелчком
мыши на нем или выбором в списке Инспектора объектов (Object Inspector).Каждый объект
имеет свой набор свойств и событий, определяющий его особенности.
Разработка приложения
Разработка приложения включает:
146
Создание интерфейса приложения.
Определение функциональности приложения.
Интерфейс приложения определяет способ взаимодействия пользователя и приложения
т. е. внешний вид формы. Интерфейс создается путем размещения в форме компонентов,
которые называются интерфейсными или управляющими компонентами и выполняется с
помощью конструктора формы.
Функциональность приложения определяется процедурами, которые выполняются при
возникновении определенных событий, например, при действиях пользователя с
управляющими элементами формы. В процессе создания приложения на форму помещаются
компоненты, для которых создаются обработчики событий.
Создание интерфейса приложения
Интерфейс приложения составляют компоненты, которые разработчик выбирает из
Палитры компонентов и размещает на форме. При этом выполняются следующие операции:
выбор компонента в Палитре компонентов и размещение на форме;
изменение свойств компонента.
Выбор компонента выполняется щелчком мыши на нужном компоненте, в результате
пиктограмма принимает утопленный вид и, если щелкнуть на свободном месте формы на
ней, появится выбранный компонент и его пиктограмма принимает обычный вид.
Пиктограммы компонентов отражают назначение компонентов. В обозначении типа
объектов Delphi, в том числе и компонент указывается буква T. Это означает, что объект
принадлежит классу T, например, TForm1, T - это имя класса, созданного по образцу
стандартного класса TForm.
Определение функциональности приложения.
Для компонентов, размещенных на форме, разработчик может определить нужную
реакцию на те или иные действия пользователя, например, что должно произойти, если
нажать кнопку на форме. На форме, как правило, размещены компоненты, образующие
интерфейс приложения, и разработчик должен для этих компонентов определить нужную
реакцию на те или иные действия пользователя. Например, на нажатие кнопки или
включение переключателя. Эта реакция и определяет функциональность приложения. Так,
если при создании интерфейса на форме размещена кнопка Button1, то ее можно нажимать с
помощью мыши; она отображает нажатие на себя визуально, но никаких действий она не
выполняет до тех пор, пока не будет создана процедура обработки этого события. Для
создания этой процедуры нужно выделить кнопку на форме и перейти на страницу событий
инспектора объектов (Events), где указаны все возможные события для кнопки. При нажатии
на кнопку возникает событие OnClick и необходимо создать обработку этого события.
Двойной щелчок на кнопке и Delphi автоматически создает в модуле формы заготовку
процедуры-обработчика, при этом окно редактора кода переводится на передний план, а
курсор устанавливается в место, куда должны быть внесены изменения.
Компиляция выполняется с помощью меню или клавишами Ctrl + F9. В результате
компиляции создается готовый к выполнению файл с расширением *.exe. Языком
программирования Delphi является язык Object Pascal, который представляет собой
объектно-ориентированное расширение стандартного языка Pascal. В версии Delphi 7 язык
Object Pascal переименован в язык Delphi, который почти идентичен языку Object Pascal.
Отличие касается работы с базами данных и Интернет.
Рассмотрим реализацию процесса выбора из двух вариантов.
Пример 1.
147
Если переменная х задана на отрезке [0,1] вычислить площадь квадрата, иначе
вычислить площадь круга (переменную использовать соответственно как сторону квадрата
или радиус круга).
Конструирование формы
Для формы Form1 в инспекторе объектов Object Inspector можно задать следующие
свойства:
Caption – заголовок окна (например, «Вычисление»);
Height – 400 (высота окна);
Width – 600 (ширина окна).
Поместить на форму компоненты:
панель Panel1 (в верхней части экрана для ввода информации);
панель Panel2 (в нижней части для вывода информации) (страница Standard).
Для панелей с помощью свойства Caption очистить поле заголовка.
На панели Panel1 разместить компоненту Edit1 – для ввода переменной х (страница
Standard).
Поле Text – очистить для ввода переменной x.
Label1 – использовать для задания метки для х (страница Standard).
Для Label1 задать свойство Caption – x=.
На панели Panel2 разместить метку Label2.
Caption задать – Результат.
Управлять вычислением будет кнопка Button1, разместить ее на панели Panel1 и задать
Caption – Вычислить. Для Button1 необходимо создать обработчик события OnClick (нажатие
кнопки).
Форма будет иметь вид (рис. 2):
Рисунок 2 – Форма с размещенными объектами
Для создания обработчика надо перейти на вкладку Events Инспектора объектов Object
Inspector, выбрать мышкой нужную компоненту (Button1) и найти требуемое событие
OnClick.
Двойной щелчок на этой кнопке и на экране окно кода программы.
Курсор устанавливается в процедуру – обработчика события, которая должна иметь
следующий вид:
procedure Tform1.Button1Click(Sender:Tobject);
begin
148
<место курсора>
End;
Ниже представлена программа обработки заданного события.
procedure Tform1.Button1Click(Sender:Tobject);
Var
x,s:real; // описание переменных
begin
x:=StrToFloat(Edit1.Text); // ввод переменной х и преобразование ее из строкового в
вещественный тип в соответствии с заданием
If
(x>=0)
and(x<=1)
then
begin
S:=x*x;
Panel2.Caption:=’Площадь
квадрата=’+FloatToStr(s) end // вывод результата с преобразованием его в строковый тип
данных для вывода в форму
else
begin s:=3,14*x*x; Panel2.Caption:=’Площадь круга=’+FloatToStr(s)
end;
end;
Вывод результата выполнен в заголовок панели Panel2.
Переменная х и результат s в форме – строкового типа, поэтому в программе
переменная х преобразована в вещественный тип данных (StrToFloat), а при выводе s
преобразуется в строковый тип данных (FloatToStr).
Множественный выбор
Для выполнения множественного выбора используются переключатели.
Delphi для работы с переключателями предлагает следующие компоненты:
переключатель с независимой фиксацией (CheckBox), флажок этой компоненты можно
переключать щелчком мыши;
переключатели с зависимой фиксацией – RadioButton (кнопки выбора), RadioGroup
(группа переключателей RadioButton).
Если в группе зависимых переключателей выбран один, то в отличие от независимого
переключателя, его состояние нельзя изменить повторным щелчком. Для отмены выбора
зависимого переключателя нужно выбрать другой переключатель из этой группы.
Пример 2.
Вывести на экран произведения одного из пяти известных поэтов. Вывод выполнить с
помощью зависимого переключателя RadioGroup.
Конструирование формы
Для ввода фамилий поэтов выберем компонент RadioGroup (группа зависимых
переключателей).
Items этого компонента – список (зададим заголовки переключателей: (А.С. Пушкин,
М.Ю. Лермонтов, С. Есенин, А. Блок, В. Маяковский).
ItemIndex указывает, какой из списка выбран переключатель: -1 – выбран никакой, 0 –
первый и т. д.).
Добавить компонент Panel2 для вывода результата и метку. Label2 с заголовком Caption
– Произведения известных поэтов.
Для запуска программы выберем компоненту Button и поместим ее на Panel1 в верхней
части формы. Свойство Caption у кнопки зададим – Выполнить (рис. 3).
Все выбранные компоненты находятся на странице Standard.
149
Рисунок 3 – Форма с размещенными объектами
Для установки обработчика события выберем компоненту Button1.
Двойной щелчок на этой компоненте и мы попадаем в редактор кода программы. В
процедуре для получения результата используется оператор множественного выбора case of.
Результат зависит от месторасположения поэта.
procedure Tform1.Button1Click(Sender:Tobject);
Var
c:string;
begin
case RadioGroup1.ItemIndex of
0: c:='Поэмы: Руслан и Людмила, Бахчисарайский фонтан';
1: c:='Поэмы: Мцыри, Демон';
2: c:='Поэмы: Анна Снегина, Пугачев';
3: c:='Стихи О прекрасной даме';
4: c:='Поэмы: Хорошо, Облако в штанах';
end;
Panel2.Caption:=c;
end;
Так как в процедуре нет никаких вычислений и результат символьный (тип string), то и
нет никаких преобразований данных в отличие от предыдущего примера. Полный текст
модуля будет иметь вид:
unit Unitradio1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
RadioGroup1: TRadioGroup;
Button1: TButton;
150
Label1: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
Var
c:string;
begin
case RadioGroup1.ItemIndex of
0: c:='Поэмы: Руслан и Людмила, Бахчисарайский фонтан';
1: c:='Поэмы: Мцыри, Демон';
2: c:='Поэмы: Анна Снегина, Пугачев';
3: c:='Стихи О прекрасной даме';
4: c:='Поэмы: Хорошо, Облако в штанах';
end;
Panel2.Caption:=c;
end;
end.
Варианты заданий
Задание 1. Создать форму и процедуру обработки процесса выбора по заданному
варианту.
Вычислить площадь прямоугольника, если его стороны положительные.
Вычислить S=x-x3/6,если 0.1<=x<=1, иначе y=sin(x).
Произвести расчет по формуле z=a2+b2+(a-b)2, если a – положительное, b –
отрицательное, иначе расчет не выполнять.
Даны числа a, b, c. Найти наибольшее из них.
Вычислит S=x- x3/6 +x5/120, если 0.1<=x<=1, иначе y=e2x.
Вычислить значение функции:
y=sin(x), если x>0;
y=x2/4, если x<=0.
Написать программу, которая определяет, принадлежит ли число N заданному
интервалу [k,m].
Среди чисел A и B, найти большие 20 и вывести их на экран.
Заданы числа x и y. Если их сумма положительна, вывести на экран эти числа, иначе
вывести на экран их разность.
Задать значения переменным C и D. Если они имеют отрицательные значения, вывести
на экран сумму квадратов этих чисел, иначе квадрат суммы.
151
Задать значения переменным целочисленного типа X и Y. Если X<Y вывести остаток
от деления X на Y, иначе вывести на экран целую часть от деления X на Y.
Задать значения для целочисленной переменной X и для вещественной переменной Y.
Найти сумму этих чисел, если X>0, в противном случае, найти результат от деления X на Y и
поместить его в целую переменную Z.
Среди заданных чисел X и Y, найти отрицательные и вывести на экран модули этих
чисел.
Вывести на экран целую часть вещественного числа x вычисляемого с помощью
выражения x=у +20у, если значение у отрицательное.
Среди чисел x и у, вводимых оператором ввода, найти положительные и вывести на
экран целую и дробную части вещественных чисел х и у отдельно.
Задание 2. Создать форму и процедуру обработки процесса множественного выбора по
заданному варианту.
Вычислить y, если
0<x<1 y=x+0.2+x2 ;
1<=x<2 y=x+1/x2 ;
x>=2 y=0;
Для выбора использовать условия задачи, а для задания значения х однострочный
текстовый редактор Edit.
Составить программу для вычисления площади одной из фигур: квадрата, круга или
прямоугольника по значению x, интерпретируемому как сторона квадрата, радиуса или
основание прямоугольника, высота прямоугольника превышает основание в 2 раза. Для
задания х использовать однострочный текстовый редактор Edit.
Для заданного x вычислить y
y=100, если x=2;
y=100x2, если x>2;
y=100-x2, если x<2;
Для выбора использовать условия задачи, а для задания х однострочный текстовый
редактор Edit.
Определить знак функции
y=-1, если x<0;
y=0, если x=0;
y=1, если x>0.
Составить программу, которая вычисляет сумму, разность, произведение двух чисел в
зависимости от выбора операции. Значения чисел задать с помощью однострочного
текстового редактора Edit.
В зависимости от выбора вывести на экран название двух фруктов, двух трав, двух
овощей.
Вывести в форму в зависимости от выбора фамилии двух известных писателей, двух
поэтов или двух художников.
Для заданных значений радиусов 10, 20, 40, 80 вычислить площадь круга и вывести в
форму в зависимости от выбранного значения.
Вывести в форму в зависимости от выбора произведения четырех русских писателей.
По каждому из любых четырех устройств компьютера вывести в форму назначение
каждого устройства в зависимости от выбора.
В зависимости от выбора вывести в форму: радиус, длину окружности, площадь круга.
Величину радиуса задать с помощью однострочного текстового редактора Edit.
Вывести в форму значения единиц информации: 1-го байта, 1-го Кбайта, 1-го Мбайта в
битах.
Вывести в форму назначение основных этапов решения задач на ЭВМ. Этап выбрать с
помощью RadioGroup.
152
Вывести в форму названия основных логических операций: И, ИЛИ, НЕ.
Вывести на экран тип файла: MS Word, MS Excel, MS Access, Borland Pascal.
Технология выполнения работы
В данной работе сначала создается форма приложения, а затем процедура обработки
процесса.
Содержание отчета
Задание и цель работы.
Описание формы.
Текст процедуры обработки процесса.
Вопросы для защиты работы
Назначение Инспектора объектов (Object Inspector).
Что такое интерфейс приложения?
Для какой цели используется палитра компонентов?
Что такое функциональность приложения?
Какой язык программирования используется при работе с Delphi?
153
Лабораторная
работа
Работа с массивами в среде программирования Borland Delphi
№3
Время выполнения – 4 часа.
Цель работы
Научиться разрабатывать программы, использующие данные, организованные в виде
массивов.
Задачи лабораторной работы
После выполнения работы студент должен:
знать основы работы с массивами данных в среде Delphi;
уметь самостоятельно написать программу, работающую с массивами данных.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со следующим
математическим обеспечением: операционная система Windows 2003 и выше и система
визуального программирования Delphi на основе 6-ой версии.
Общие теоретические сведения
Для работы с массивами удобно использовать компоненты StringGrid и Memo.
Основные свойства StringGrid:
Name – имя компонента;
Colcount – количество столбцов;
RowCount – количество строк;
Cells – ячейка таблицы;
FixedCols – количество зафиксированных столбцов;
Options.goEditing – признак допустимости редактирования содержимого ячеек (true,
false);
Options.goTab – разрешает (true) или запрещает (false) использование клавиши TAB для
перемещения курсора в следующую ячейку таблицы;
Options.goAlways – признак нахождения компонента в режиме редактирования;
DefaultColWidth – ширина колонок таблицы;
DefaultRowHeight – высота строк таблицы;
GridLineWidth – расстояние от левой границы поля таблицы до левой границы формы;
Left – расстояние от верхней границы поля таблицы до верхней;
Top – границы формы;
Height – высота поля таблицы;
Width – ширина поля таблицы;
Font – шрифт для отображения содержимого таблицы;
ParentFont – признак наследования характеристик шрифта формы.
Пример.
Задать массив из 5-ти элементов. Найти произведение элементов массива,
превышающих значение 1-го элемента. Переставить местами 1-ый и последний элементы
массива. Вывести элементы массива в строку компоненты Memo.
Для выполнения задания необходимо выполнить следующие действия.
Поместить на форму компоненты: панели Panel1 (в верхней части экрана для ввода
информации) и Panel2 (в нижней части для вывода информации) (страница Standard).
Для панелей задать свойство Caption – пустое (очистить место для вывода результата).
Разместить метки для панелей Label1 и Label2 (страница Standard).
Задать Caption для следующих объектов:
154
Label1 – ввод массива (панель Panel1);
Label2 – результаты ( вывод результата в панель Panel2)
Разместить кнопку Button1 (страница Standard).
Установить для кнопки следующее свойство Caption – Вычислить.
Добавить компонент StringGrid1 и задать следующие свойства:
ColCount – 5 (количество столбцов);
FixedCols – 0 (количество фиксированных столбцов);
RowCount – 1 (количество строк);
DefaultRowHeight – 24 (высота строки);
DefaultColWidth – 64 (ширина столбца).
Задать опции для редактирования информации (Options):
Options.go.Editing – true;
Options.goTabs – true;
Options.go.Always – true.
Для вывода массива на экран будем использовать компоненту Memo1 (Многострочный
редактор).
Управлять вычислением будет кнопка Button1.
Полученная форма будет иметь вид (рис. 1):
Рисунок 1 – Форма с размещенными объектами
Для кнопки Button1 необходимо создать обработчик события OnClick (нажатие
кнопки).
Двойной щелчок на этой кнопке приводит к появлению на экране окна кода
программы.
Курсор устанавливается в процедуру-обработчика события, которая должна иметь
следующий вид:
procedure Tform1.Button1Click(Sender:Tobject);
Var
a:array[1..5] of integer; // описание массива а
pr,I,с:integer;
// pr – переменная для вычисления произведения элементов
массива, i – индекс элементов массива, с-переменная для перестановки местами 1-го и 5-го
элементов массива
stroka:string;
begin
// ввод массива
155
// считаем, если ячейка пустая, то соответствующий элемент массива равен 0
for i:=1 to 5 do
if Length (StringGrid1.Cells[i-1,0])<>0
then a[I]:= StrToInt(StringGrid1.Cells[i-1,0])
else a[I]:=0;
// проверка наличия значения элемента массива в ячейке
компоненты StringGrid1
// Обработка массива
Pr:=1;
for i:=1 to 5 do
if a[i]>a[1] then pr:=pr*a[i];
// вычисление произведения элементов массива
// вывод произведения элементов массива в заголовок панели Panel2
Panel2.Caption:=’Произведение элементов=’ +IntToStr(pr) ;
// перестановка местами 1-го и 5-го элементов массива
c:=a[1]; a[1]:=a[5]; a[5]:=c;
// вывод массива в строку
Stroka:=’ ’;
// в строку помещаем пробелы
Memo1.Lines.Add(‘Массив после обработки’);
for i:=1 to 5 do
stroka:=stroka+ IntToStr(a[i]);
Memo1.Lines.Add(stroka);
end;
При нажатии клавиш Ctrl+F9 выполняется компиляция кода программы.
Если компиляция выполнена успешно (ошибок нет) то можно выполнить Project1 с
помощью клавиши F9. Преобразование значений элементов массива из формы выполняется
в соответствии с описанием в тип Integer (StrToInt), а результат – произведение элементов
массива при выводе в форму преобразуется в тип String (IntToStr).
Варианты заданий
Задание. Создать форму и процедуру обработки процесса выбора по заданному
варианту.
Найти максимальный элемент в массиве X1, X2, ..., Xn и его порядковый номер, n –
длина массива. Массив вывести на экран.
Для n пар произвольных чисел ai и bi подсчитать mi =2ai/cbi, где c –наибольшее из
чисел ai и bi. Исходные данные: a1, a2, ..., an и b1, ..., bn массивы, n – длина массивов.
Массивы вывести на экран.
В массиве X1, X2, ..., Xn подсчитать количество чисел, принадлежащих отрезку [a,b] и
сумму всех остальных. Исходные данные: n – длина массива; a,b – границы интервала, X1,
X2, ..., Xn – массив. Массив вывести на экран.
Найти среднеарифметическое значение элементов вещественного массива A1, A2, ...,
An, предшествующих первому элементу, большему 50. Исходные данные: n – длина массива,
A1, A2, ..., An – массив. Массив вывести на экран.
В массиве X1, X2, ..., Xn найти отрицательные элементы, их количество и поместить их
в отдельный массив. Оба массива вывести на экран.
Даны два одномерных массива вещественных чисел. Найти в них максимальные
элементы и поменять их местами. Массивы вывести на экран.
Дан массив радиусов R1, R2, ..., Rn. Для нечетных радиусов вычислить площадь круга,
а для четных длину окружности. Результаты вывести на экран.
156
В массиве A[k] найти минимальный элемент и вывести его на экран. Переставить
местами первый и последний элементы массива. Массив вывести на экран до и после
перестановки.
Найти произведение элементов массива B[m] значение которых не равно значению
первого элемента. Переставить местами 2 и 3 элементы массива. Массив вывести на экран до
и после перестановки.
Вычислить объемы 5 цилиндров по формуле V=рRi2Hi. Исходные массивы: массив
радиусов R1, R2, …, R5 и массив высот H1, H2, ..., H5.
Задан массив A[n]. Найти сумму элементов, значение которых превышает значение
последнего элемента массива и заменить последний элемент этой суммой. Массив вывести
на экран до и после перестановки.
Задан массив B[n]. Разделить его элементы на второй элемент массива. Найти сумму
квадратов элементов вновь полученного массива. Массив и сумму вывести на экран.
Вычислить в заданных точках значение полинома по схеме Горнера Pn(x)=(((AnX+An1)X+An-2)X+...)X+A0, исходные данные A0, A1, ..., An – массив коэффициентов; X –
переменная; n – степень полинома.
Составить программу нахождения элементов в массиве A[m], значения которых
превышает 20. Переставить местами 1 и 2 элементы массива. Массив вывести на экран.
Заменить значения элементов массива, превышающие число 10 на нулевое и найти
сумму элементов массива. Массив вывести на экран.
Технология выполнения работы
В данной работе сначала создается форма приложения, а затем процедура обработки
массива.
Содержание отчета
Задание и цель работы
Описание формы.
Текст процедуры обработки процесса
Вопросы для защиты работы
Какие компоненты используются при работе с массивами?
Как описывается массив в Object Pascal?
С помощью какой функции работы со строками проверяется наличие значения в ячейке
компоненты StringGrid?
Можно ли вывести элементы массива в компоненту StringGrid?
Как вывести элементы массива в компоненту Memo в столбец?
157
Лабораторная
работа
Работа с графикой в среде программирования Borland Delphi
№4
Время выполнения – 4 часа.
Цель работы
Научиться разрабатывать программы для построения изображений в среде Borland
Delphi.
Задачи лабораторной работы
После выполнения работы студент должен:
знать основы работы с графическими процедурами в среде Delphi;
уметь самостоятельно написать программу для построения изображений средствами
языка программирования Delphi.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со следующим
математическим обеспечением: операционная система Windows 2003 и выше и система
визуального программирования Delphi на основе 6-ой версии.
Общие теоретические сведения
Общие замечания
Программа может выводить графику на поверхность объекта (формы или компонента
Image), которой соответствует свойство Canvas.
Для того чтобы на поверхности объекта появился графический элемент необходимо к
свойству Canvas этого объекта применить соответствующий метод.
Цвет, стиль и толщину линий, вычерчиваемых методами Line, Ellipse, Rectangle и т. д.
определяет свойство Pen объекта Canvas.
Цвет закраски внутренних областей геометрических фигур, вычерчиваемых методами
Line, Ellipse, Rectangle и т. д, определяет свойство Brush объекта Canvas.
Характеристики шрифта текста, выводимого методом TextOut, определяет свойство
Font объекта Canvas.
Процедуры работы с линиями
Line(x1, y1, x2, y2:integer) – проводит линию текущего цвета между точками с
координатами x1, y1, x2, y2.
LineRel(Dx, Dy: integer) – проводит линию из текущей позиции в точку, сдвинутую
относительно исходной позиции на величины Dx и Dy.
LineTo(x, y) – проводит линию из текущей позиции в точку с заданными координатами
x, y.
MoveRel(Dx, Dy: integer) – перемещение указателя на заданное расстояние Dx, Dy по
отношению к предыдущему положению.
MoveTo(x, y:integer) – перемещение указателя координат в точку окна с координатами
x и y.
Процедуры построения фигур из линий
RecTangle(x1, y1, x2, y2:integer) строит контур прямоугольника текущим цветом;
x1, y1 – координаты верхнего левого угла прямоугольника;
x2, y2- координаты правого нижнего угла прямоугольника.
158
Bar3D(x1, y1, x2, y2:integer, Dept:Word, Top:Boolean) – строит закрашенный
параллелепипед с координатами левого верхнего (x1, y1) и правого нижнего (x2, y2) углов;
Dept – ширина боковой грани;
Top – признак включения верхней грани (True – вычерчивается, иначе не
отображается).
DrawPoly(NumPoints:Word; var PolyPoints) – строит контур многоугольника с
заданными параметрами и цветом;
NumPoints – число вершин многоугольника;
PolyPoints – переменная без типа, содержащая NumPoint пар координат вершин
многоугольника (координаты перечисляются в той последовательности, как они идут по
контуру; первая вершина повторяется в конце).
FillPoly(NumPoints:Word; var PolyPoints) – строит многоугольник, закрашенный
текущим орнаментом и цветом заполнения. Параметры – по аналогии с DrawPoly.
Процедуры построения криволинейных фигур
Arc(x, y:integer; StAng, EndAng, Rad:Word) – рисует дугу окружности текущим цветом;
x, y – координаты центра дуги;
StAng – угол до начальной точки дуги, отсчитываемый против часовой стрелки от
горизонтальной оси, направленный слева направо;
EndAng – угол до конечной точки дуги, отсчитываемый против часовой стрелки от
горизонтальной оси, направленный слева направо;
Rad – радиус дуги.
Ellipse(x, y:integer; StAng, EndAng, XRad,YRad:Word) – рисует дугу эллипса текущим
цветом;
x, y – координаты центра эллипса;
StAng – угол до начальной точки эллипса, отсчитываемый против часовой стрелки от
горизонтальной оси, направленный слева направо;
EndAng – угол до конечной точки эллипса, отсчитываемый против часовой стрелки от
горизонтальной оси, направленный слева направо;
XRad,YRad – горизонтальная и вертикальная полуоси эллипса.
Circle(x, y:integer, Rad:Word) – рисует окружность текущим цветом;
x, y – координаты центра окружности;
Rad – радиус окружности.
FillEllipse(x, y:integer; XRad,YRad:Word) – рисует эллипс, закрашенный текущим
цветом;
x, y – координаты центра эллипса;
XRad,YRad – горизонтальная и вертикальная полуоси эллипса.
PieSlice(x, y:integer; StAng, EndAng, Rad:Word) – рисует сектор круга, закрашенный
текущим цветом;
x, y – координаты центра сектора круга;
StAng – начальный угол сектора, отсчитываемый против часовой стрелки от
горизонтальной оси, направленный слева направо;
EndAng – конечный угол сектора, отсчитываемый против часовой стрелки от
горизонтальной оси, направленный слева направо;
Rad – радиус сектора.
Sector(x, y:integer; StAng, EndAng, XRad,YRad:Word) – рисует сектор эллипса,
закрашенный текущим орнаментом и цветом заполнения;
x, y – координаты центра сектора эллипса;
StAng – начальный угол эллипса, отсчитываемый против часовой стрелки от
горизонтальной оси, направленный слева направо;
EndAng – конечный угол эллипса, отсчитываемый против часовой стрелки от
горизонтальной оси, направленный слева направо;
159
XRad,YRad – горизонтальная и вертикальная полуоси эллипса.
Основную работу по выводу графики на поверхность формы должна выполнять
функция обработки события OnPaint.
Пример.
Написать программу, которая на поверхности формы рисует флаг Российской
Федерации (рис. 1).
Рисунок 1 – Изображение флага Российской Федерации
Программный код.
// обработка события OnPaint
// процедура рисует флаг Российской Федерации
Procedure TForm1.FormPaint(Sender: TObject);
Const
L=200; //ширина флага(полосы)
H=40; // высота полосы
Var
X,y:integer; // левый верхний угол
Begin
X:=30;
Y:=50;
With Canvas do
Begin
// границы, цвет границы должен совпадать с цветом закраски
Brush.Color :=clWhite; // цвет закраски
Pen.Color: =clWhite; // цвет границы
Rectangle(x,y,x+L,y+H);
Brush.Color:=clBlue;
Pen.Color:=clBlue;
Rectangle(x,y+H,x+L,y+3*H);
Brush.Color:=clRed;
Pen.Color: = clRed;
Rectangle(x,y+2*H,x+L,y+3*H);
// контур
Pen.Color: =clBlack;
Brush.Style:=bsClear; // прозрачная кисть
Rectangle(x,y,x+l,y+h*3);
Font.Size:=24;
Font.Name:=’Times New Roman’;
Font.Color:=clWhite;
160
TextOut(50,200,’Россия’);
Font.Color:=clBlack;
TextOut(51,201,’Россия’);
End;
End;
End.
Варианты заданий
Задание. Написать программу, которая на поверхности формы рисует олимпийский
флаг (рис. 2) и флаги государств мира.
Рисунок 2 – Олимпийский флаг
Технология выполнения работы
В данной работе для формы приложения задать обработку события OnPaint, а затем
написать процедуру обработки.
При написании процедуры использовать:
Rectangle(a,a,b,c) – построение прямоугольника;
Pen.Color:=clBlack – задание цвета линий;
Ellipse(x,y,z,t) – построение эллипса.
Содержание отчета
Задание и цель работы
Описание формы.
Текст процедуры обработки процесса
Вопросы для защиты работы
Какое свойство используется для вывода графики на поверхность объекта?
Какое свойство объекта Canvas определяет цвет, стиль, толщину линий при
использовании методов Line, Ellipse, Rectangle?
Какая функция обработки события используется при выводе графики?
161
Лабораторная
Visual
Basic
Линейные алгоритмы
работа
for
Applications
№5
(VBA).
Время выполнения – 4 часа.
Цель работы
Научиться использовать язык программирования Visual Basic for Applications (VBA)
для разработки модулей в Excel на основе линейных алгоритмов.
Задачи лабораторной работы
После выполнения данной работы студент должен знать и уметь:
знать все операторы, используемые в программах;
уметь применять любые из изученных операторов для написания своих модулей;
уметь объяснить написанную программу.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со следующим
математическим обеспечением: операционная система Windows XP, электронные таблицы
Excel с приложением в виде языка Visual Basic for Applications.
Общие теоретические сведения
VBA – это язык объектно-ориентированного программирования.
Основными парадигмами являются объект, свойство, метод, событие, класс и
семейство объектов.
Объект – это инкапсуляция данных вместе с кодом, предназначенным для их
обработки.
Семейство – объект, содержащий несколько других объектов того же типа:
Worksheets (“Лист 1”) – рабочий лист с имени Лист1,
Worksheets (1) – первый лист рабочей книги.
Классы – это проект, на основе которого будет создан объект, т.е. класс определяет имя
объекта, его свойства и действия, над ним выполняемые. А каждый объект, свою очередь,
является экземпляром класса.
Методы – это действия, выполняемые над объектом.
Объект.метод – синтаксис метода
Пример.
Application.Quit – закрыть объект Application.
Worksheets (“Лист1”).Chartobjects.Delete – удалит все диаграммы с листа “Лист1”.
Свойства – это атрибут объекта, определяющий его характеристики: размер, цвет,
положение на экране или состояние (доступность, видимость).
Для изменения характеристик меняют его свойства:
Объект.Свойство=Значение свойства
Пример.
Worksheets.Visible = False
Есть свойства, возвращающие объект:
ActiveCell возвращает активную ячейку активного листа активной рабочей книги.
ActiveWindow – активное окно.
Свойства ActiveCell, ActiveWindow. ActiveCell и Application. ActiveWindow. ActiveCell
возвращают одну и ту же активную ячейку.
События – это действия, распознаваемые объектом.
162
Суть программирования на VBA и заключается в том, чтобы на событие получить
отклик.
Пример 1. Написать программу, которая вычисляет периметр треугольника.
Запись программы в виде блок-схемы (рис. 1) и визуальное представление формы для
ввода данных (рис. 2) и результата (рис. 3):
Начало
ВтораяСторона
= 3,5
Ввод
значения третьей
стороны
Вычисление периметра
треугольника
Вывод
результата
Конец
Рисунок 1 – Блок-схема решения задачи
Рисунок 2 – Ввод исходных данных в процессе выполнения программы
163
Рисунок 3 – Вывод результата в процессе выполнения программы
Программный код
Option Explicit
Sub ПериметрТреугольника()
Dim ВтораяСторона, ТретьяСторона, Периметр As Single
ВтораяСторона = 3.5
ТретьяСторона = InputBox("Введите значение третьей стороны треугольника", "Третья
сторона")
Периметр = Cells(1, 4) + ВтораяСторона + ТретьяСторона
MsgBox "Периметр треугольника = " & Периметр
End Sub
Пример 2. Вычислите значение квадратного корня из суммы трех переменных.
Запись программы в виде блок-схемы (рис. 4) и визуальное представление формы для
ввода данных (рис. 5) и результата (рис. 6):
164
Начал
о
Ввод
значений
трех
переменных
Вычисление
суммы
трех
переменных и взятие квадратного
корня
Выв
од
результат
а
Конец
Рисунок 4 – Блок-схема решения задачи
а)
б)
в)
Рисунок 5 – Ввод исходных данных в процессе выполнения программы
165
Рисунок 6 – Вывод результата в процессе выполнения программы
Программный код
Option Explicit
Sub КореньКвадратныйИзСуммыТрехПеременных()
Dim ПерваяПеременная, ВтораяПеременная, ТретьяПеременная, Сумма As Single
Dim Корень As Double
ПерваяПеременная = InputBox("Введите значение первой переменной", "Первая
Переменная")
ВтораяПеременная = InputBox("Введите значение второй переменной", "Вторая
Переменная")
ТретьяПеременная = InputBox("Введите значение третьей переменной", "Третья
Переменная")
Сумма = ТретьяПеременная + ВтораяПеременная + ПерваяПеременная
Корень = Sqr(Сумма)
MsgBox "Корень из суммы трех переменных = " & Корень
End Sub
Пример 3. Вычислить Y, задав значения переменным:
Y
5  x 4  2  sin 2 

cos  3  3  tg

Программный код
Sub Main()
Dim x, b, a, res As Single
x = -3
b=2
a = 0,5
res = (Sqr(5 * x ^ 4 + 2 * Sin(b) ^ 2)) / Cos(Abs(a ^ 3 - 3 * Tan(b)))
MsgBox "res=" & CStr(res)
End Sub
Private Sub CommandButton1_Click()
Dim x, b, a, res As Single
x = Cells(3, 1)
b = Cells(3, 2)
a = Cells(3, 3)
res = (Sqr(5 * x ^ 4 + 2 * Sin(b) ^ 2)) / Cos(Abs(a ^ 3 - 3 * Tan(b)))
Cells(5, 2) = res
End Sub
Визуальное представление решения задачи представлено на рис. 7.
166
Рисунок 7 – Визуальное представление решения задачи
Пример 4. Вычислить f, задав значения переменным:
f 
4,8x
x
3
y

3

1
3
t  
4
x
Программный код
Sub Main()
Dim x, y, t, res As Single
x = -3
y=2
t = 0.5
res = (x / (4.8 * x ^ 3 - y) ^ 3) + 1 / 4 * (t - 3 / x)
MsgBox "res=" & CStr(res)
End Sub
Private Sub CommandButton2_Click()
Dim x, y, t, res As Single
x = Cells(3, 9)
y = Cells(3, 10)
t = Cells(3, 11)
res = (x / (4.8 * x ^ 3 - y) ^ 3) + 1 / 4 * (t - 3 / x)
Cells(5, 10) = res
End Sub
Визуальное представление решения задачи представлено на рис. 8.
Рисунок 8 – Визуальное представление решения задачи
Варианты заданий
Задание 1. Составить блок-схему и написать программный код согласно условию
задачи.
167
Вычислите значение квадратного корня из суммы трех переменных.
Вычислите значение суммы обратных величин трех переменных.
Найдите сумму первой и второй переменных и разность первой и третьей переменной.
Найти объем цилиндра.
Вычислить площадь прямоугольника.
Вычислите значение куба, квадрата и обратной величины переменных.
Найдите площадь круга по формуле S = R2 .
Найти расстояние от точки М до начала координат.
Найти сторону квадрата, площадь которого равна площади прямоугольника.
Найти площадь ромба.
Определите произведение трех переменных.
Найти гипотенузу треугольника.
Найти остаток от деления двух действительных чисел.
Найти сумму квадратов трех чисел.
Найти среднее арифметическое трех введенных чисел.
Задание 2. Вычислить для своего варианта Y, задав значения переменным:
ln x  bx 2  ctga 2
2e x  tg 3
Y
Y

2a 3  cos 4 
 3  b  cos 
1.
2.
Y
3.
3  sin 2   2 cos 2 
b  ctg 2 
b  a x  2  tg 
Y
arccos x  2  sin 
5.
5
Y
Y
4.
3
a 2  sin 4   x
Y
6.
Y
8.
2  lg x 2  ln x 4
7.5  cos   2.3
Y
11.
Y
13.
Y
15.
2
a 3  b 2  arcsin 3 
7.
9.
2
Y
5 x 2  2  ln x 6  sin 
2 cos 3   1.7
a 5  cos 2   2.8
2  tg 2   cos 3 
sec 2   cos 2 
2e
2  ln x 4  5  tg 3
10.
Y
12.
3
 2  cos 4    4
Y
14.
 1.3ctg
b 3  7  tg   
Y
  tg   2  x
 
5 cos   arctg 3 
e  a 2  b 2
2  cos 3   e 
ctg 2   
e x  ln x 2  3.8
ctg 3 x  cos 
3a 2  cos   tg 3 
2  sin 2   ln x 2
Задание 3. Вычислить для своего варианта f, задав значения переменным
x y
1
f 
f 
1
y

1
3 x2  4  
3
t
t

2.
y
1
x
tx
1.
168
f 
3.
3,2 x  t 
9x

2
x  y t
y 5
2
f 
x4

4
4.
1
 4,8  x 
f 
  y3
2 
2
 10  t 
5.
3
6.
1
1

4t  x 2,4  y
f 
t  yx
7.
x
2
3
f 
  t  y 
2
3
2 x
9.
3
4
y
9x

f  t    3
3
x  0,5

10.
t4
1
f 

4,9  x  yt  14
11.
13.
f 
15.
29 x 2
1  y 2
x  9t 4
y  15,6
 t 


 x  5

y5
9t
f 

4
8,3  x  x

  9 
y

1 2
 3,8  y 
f 
  x
2
 2t 
8.
3
f 
2,8 x  t 
x  t  y  3 
t

f 
12.
3
f 
14.
t
x y  x 
3
4

1 2
xy
2
8t 8,8 x  t 

18  y
x4
2
x
4  t3
Технология выполнения работы
Разработать алгоритм для написания программы в виде блок-схемы.
Написать программу.
Протестировать ее с разными исходными данными.
Содержание отчета
Цель работы, условие задачи
Алгоритм в виде блок-схемы.
Исходный текст программы.
Вводимые данные и результаты.
Фрагменты экрана с диалоговыми окнами Excel.
В программе значение одной из переменных должно быть записано в ячейке
электронной таблицы.
Значение другой переменной задается в программе или вводится с помощью окнадиалога.
Все типы переменных и констант, которые используются в программе, должны быть
объявлены и отражать смысловое значение переменных или констант.
Результат работы программы должен иметь наглядный вид.
Для запуска макроса создать кнопку с соответствующей надписью.
Вопросы для защиты работы
Какие встроенные типы данных вы знаете?
Как описываются переменные?
169
Как объявляют константы?
Какие операции языка VBA вы знаете?
Какие операторы языка VBA вы знаете?
Перечислите операторы управления
Укажите операторы, используемые для ввода данных с рабочего листа.
Как заменить Arcsin в VBA?
Укажите формулу, которая заменит Arcctg в VBA.
170
Лабораторная
Visual
Basic
Условные алгоритмы
работа
for
Applications
№6
(VBA).
Время выполнения – 6 часов.
Цель работы
Научиться использовать язык программирования Visual Basic for Applications (VBA)
для разработки модулей в Excel на основе условных алгоритмов.
Задачи лабораторной работы
После выполнения данной работы студент должен знать и уметь:
знать все операторы, используемые в программах;
уметь применять любые из изученных операторов для написания своих модулей;
уметь объяснить написанную программу.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со следующим
математическим обеспечением: операционная система Windows XP, электронные таблицы
Excel с приложением в виде языка Visual Basic for Applications.
Общие теоретические сведения
VBA – это язык объектно-ориентированного программирования.
Основными парадигмами являются объект, свойство, метод, событие, класс и
семейство объектов.
Объект – это инкапсуляция данных вместе с кодом, предназначенным для их
обработки.
Семейство – объект, содержащий несколько других объектов того же типа.
Классы – это проект, на основе которого будет создан объект, т.е. класс определяет имя
объекта, его свойства и действия, над ним выполняемые. А каждый объект, свою очередь,
является экземпляром класса.
Методы – это действия, выполняемые над объектом.
Свойства – это атрибут объекта, определяющий его характеристики: размер, цвет,
положение на экране или состояние (доступность, видимость).
События – это действия, распознаваемые объектом.
Пример 1.
Написать программу вычисления функции пользователя.
Предусмотреть сбойную ситуацию (при y = 0) и в этом случае выдать сообщение об
ошибке.
Запись программы в виде блок-схемы (рис. 1) и визуальное представление ввода
данных и вывода результата (рис. 2):
171
Рисунок 1 – Блок-схема решения задачи
Программный код
Function z (x, y)
If y = 0 Then
z = "Ошибка! На ноль делить нельзя!"
ElseIf x > 0 And y > 1 Then
z = x + y
ElseIf x < = 1 And y <> 0 Then
z= x / y
End If
End Function
Рисунок 2 – Ввод исходных данных в процессе выполнения программы
172
Пример 2.
Написать программу вычисляющую значение Z
Программный код
Sub Условия()
Dim x, y, Z As Double
x = Range("A2").Value
y = Range("B2").Value
If x > 0.1 And y > 0.1 Then
Z = (x - y) ^ x
ElseIf x < 0.1 And y < 0.1 Then
Z = Sin(x)
ElseIf x = 0.1 And y = 0 Then
If y = 0 Then
MsgBox "Ошибка! Деление на ноль!"
Else: Z = (x * x) / y
End If
End If
Cells(2, 4).Value = Z
End Sub
Рассмотрим результат работы программы при разных значениях x и y (рис. 3, 4, 5).
Рисунок 3 – Результат вычисления функции y= sin(x) при x<0.1 и y<0.1
Рисунок 4 – Результат вычисления функции y= (x - y)x при x>0.1 и y>0.1
173
Рисунок 5 – Результат вычисления функции y=x2/y при x=0.1 и y=0
Варианты заданий
Задание 1. Составить блок-схему и написать программу вычисления функции
пользователя
174
175
Задание 2. Составить блок-схему и функцию пользователя согласно условию задачи.
1. Составить блок-схему и функцию пользователя для определения премии торговому
агенту от суммы совершенной им сделки. Если объем сделки до 3000 рублей, то премия
1.5 %; если объем до 10000, то – 3 %; если выше 10000, то – 5 %. Предусмотреть проверку
корректности данного «объем сделки».
2. Составить блок-схему и разработать функцию пользователя для вычисления годовой
процентной ставки контракта по кредиту, взятого на определенный срок при известных
сумме долга и сумме, подлежащей возврату. Используйте формулу:
,
где P – сумма кредита, S – сумма, подлежащая возврату, Т – срок кредита.
Предусмотреть проверку корректности данных.
Для проверки и отладки программы используйте следующие исходные данные: Т = 4
месяца, Р = 200 000, S = 210 000.
3. Составить блок-схему и разработать функцию пользователя для вычисления
надбавки к стипендии по результатам сессии. Размер стипендии составляет 2 МРОТ
(минимальный размер оплаты труда). Если три экзамена сданы на "5", то надбавка
составляет 50 %, если есть одна "4" (при остальных "5"), то надбавка составит 25 %, если
есть хотя бы одна "2", то стипендия не назначается, т. е. равна "0".
4. Составить блок-схему и разработать функцию пользователя для расчета суммы
вклада с начисленным процентом в зависимости от вида вклада: до востребования – 2 %,
праздничный – 5 %, срочный – 3 %.
Для проверки и отладки программы используйте данные для всех видов вкладов.
5. Составить блок-схему и разработать функцию пользователя для расчета реальной
доходности с учетом налога на прибыль, которая вычисляется по формуле:
.
где i – годовая процентная ставка, g - налог на прибыль, выраженный в процентах, h годовой темп инфляции, вычисляемый по формуле:
h=(1+h1/12)12- 1, где h1/12 – месячный темп инфляции.
Предусмотреть проверку корректности данных.
Для проверки и отладки программы используйте следующие исходные данные: i =60 %,
h1/12 =3 %, g =25 %.
6. Составить блок-схему и разработать функцию пользователя расчета надбавки к
окладу в зависимости от стажа работы сотрудников предприятия. Если стаж работы меньше
5 лет, то надбавка составляет 0 %, если стаж от 5 до 10 лет, то надбавка – 5 %, если стаж
больше 10 лет, то надбавка – 10 %.
176
7. Составить блок-схему и разработать функцию пользователя определения
комиссионных менеджеру по продажам от объема проданного товара. Если объем продажи
до 8 000 рублей, то комиссионные 6 %; если объем до 16 000 рублей, то – 8 %; если объем до
32 000 рублей, то – 10 %; если выше 32 000, то – 12 %. Для обозначения ограничений объема
продажи используйте константы.
8. Составить блок-схему и разработать функцию пользователя для расчета
премиальных, выплачиваемых рабочему, размер выплаты которых определяется в
зависимости от оклада и процента перевыполнения нормы выработки:
Ниже 100%
- премия не назначается, т. е. равна нулю,
100%
- премия 20% от оклада,
101-110%
- премия 30% от оклада,
Выше 110% - премия 40% от оклада.
9. Составить блок-схему и разработать функцию пользователя, определяющую
площадь треугольника по его сторонам по следующей формуле:
,
где a, b, c – стороны треугольника, р – полупериметр:
.
Предусмотреть проверку корректности данных.
10. Составить блок-схему и разработать функцию пользователя возвращающую
большее из трех значений с указанием имени переменной.
11. Составить блок-схему и разработать функцию пользователя возвращающую
меньшее из трех значений с указанием имени переменной.
12. Составить блок-схему и разработать функцию пользователя, возвращающую сумму
первой и третьей по величине значений.
13. Составить блок-схему и разработать функцию пользователя, вычисляющую
стоимость потребляемой энергии компанией в зависимости от установленной расценки и
количества потребляемой энергии:
Первые 240 кВт/час: 1,62руб. за кВт/час,
Следующие 300 кВт/час: 2,10руб. за кВт/час,
Свыше 540 кВт/час: 2,76руб. за кВт/час.
Для обозначения тарифов в процедуре использовать константы.
14. Составить блок-схему и разработать функцию пользователя начисления премии
сотрудникам малого предприятия в зависимости от стажа работы и объема продажи товаров.
Если стаж работы меньше 2 лет и объем продажи больше 80 000руб., то премия составляет
1.5 %. Если стаж от 2 до 5 лет, а объем продажи больше 100 000 руб., то премия – 5 %, если
стаж больше 5 лет, а объем продажи выше 100 000 руб., то премия – 7 %, в остальных
случаях - премия – 1 % .
15. Составить блок-схему и разработать функцию пользователя начисления процента
удержания у работников завода от начисленной заработной платы и количества иждивенцев
по следующему правилу:
при количестве иждивенцев более трех – 0 %;
при трех иждивенцев – 5 %;
при двух иждивенцев – 10 %;
при одном иждивенце – 12 %;
если нет иждивенцев – 14 %.
Технология выполнения работы
Разработать алгоритм для написания программы в виде блок-схемы.
Написать программу.
Протестировать ее с разными исходными данными.
177
Содержание отчета
Цель работы, условие задачи
Алгоритм в виде блок-схемы.
Исходный текст программы.
Вводимые данные и результаты.
Фрагменты экрана с диалоговыми окнами Excel.
В программе предусмотреть сбойные ситуации (деление на ноль, извлечение
квадратного корня из отрицательного числа и т. д.).
Результат работы программы должен иметь наглядный вид.
Вопросы для защиты работы
Какая конструкция у оператора повтора?
Какие операторы разветвления Вы знаете?
Чем заканчивается оператор IF, если в ветке «да» несколько операторов?
Как выглядит полная форма оператора IF?
Как выглядит оператор IF, если в ветке «нет» отсутствуют операторы?
178
Лабораторная
Visual
Basic
for
Циклические алгоритмы. Работа с массивами
работа
Applications
№7
(VBA).
Время выполнения – 8 часов.
Цель работы
Научиться использовать язык программирования Visual Basic for Applications (VBA)
для разработки модулей в Excel на основе циклических алгоритмов.
Задачи лабораторной работы
После выполнения данной работы студент должен знать и уметь:
знать все операторы, используемые в программах;
уметь применять любые из изученных операторов для написания своих модулей;
уметь объяснить написанную программу.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со следующим
математическим обеспечением: операционная система Windows XP, электронные таблицы
Excel с приложением в виде языка Visual Basic for Applications.
Общие теоретические сведения
VBA – это язык объектно-ориентированного программирования.
Основными парадигмами являются объект, свойство, метод, событие, класс и
семейство объектов.
Объект – это инкапсуляция данных вместе с кодом, предназначенным для их
обработки.
Семейство – объект, содержащий несколько других объектов того же типа.
Классы – это проект, на основе которого будет создан объект, т.е. класс определяет имя
объекта, его свойства и действия, над ним выполняемые. А каждый объект, свою очередь,
является экземпляром класса.
Методы – это действия, выполняемые над объектом.
Свойства – это атрибут объекта, определяющий его характеристики: размер, цвет,
положение на экране или состояние (доступность, видимость).
События – это действия, распознаваемые объектом.
Пример 1.
В массиве чисел М(10) очистить клетки с нулевыми значениями.
Запись программы в виде блок-схемы (рис. 1) и визуальное представление ввода
данных и вывода результата (рис. 2):
Рисунок 1 – Электронная таблица с исходными данными
179
Блок - схема
Программа
Sub
ОбнулениеКлетокС_НулевымиЗначениями()
For i = 1 To 10
If Cells(i, 1) = 0 Then Cells(i, 1).Clear
Next i
End Sub
Рисунок 2 – Результат работы программы
Пример 2.
Выявить, есть ли в массиве число 10? Если есть, на каком месте оно стоит (известно,
что число может встретиться несколько раз).
Программный код
Sub Число()
Dim A As Variant
Dim i, k As Integer
i=1
k=0
A = Range("A1:A10")
For i = 1 To 10
If A(i, 1) = 10 Then
MsgBox ("Номер ячейки, содержащей число 10 - " & i)
k=k+1
End If
Next i
MsgBox ("Число 10 встретилось следующее количество раз - " & k)
180
End Sub
Пример 3.
n
ix
 2i  1
Вычислить произведение ряда: i 1
Программный код
Sub Main()
Dim x, n, res As Double
x=3
n=4
res = 1
For i = 2 To n
res = res * (i * x / (2 * i - 1))
Next i
MsgBox "res=" & CStr(res)
End Sub
Private Sub CommandButton4_Click()
Dim x, n, res As Double
x = Cells(36, 1)
n = Cells(36, 2)
res = 1
For i = 2 To n
res = res * (i * x / (2 * i - 1))
Next i
Cells(38, 2) = res
End Sub
Визуальное представление ввода данных и вывода результата (рис. 3):
Рисунок 3 – Результат работы программы
Пример 4.
Найти максимальное значение из значений элементов последовательности x1, x2, …,
x20 (одномерного массива), используя оператор do while…loop
Программный код
Private Sub CommandButton5_Click()
Dim x(20) As Double
Dim res, res1 As Double
i=1
res = 0
Do While i < 20
181
x(i) = Cells(44 + i, 1)
If x(i) > res Then res = x(i)
i=i+1
Loop
Cells(47, 4) = res
End Sub
Визуальное представление ввода данных и вывода результата (рис. 4):
Рисунок 4 – Результат работы программы
Пример 5.
Задан двумерный массив F(4 to 85, 2 to 6). Найти сумму элементов этого массива.
Программный код
Private Sub CommandButton1_Click()
Dim f(6) As Integer
For j = 4 To 8
res = 0
For i = 2 To 6
f(i) = Cells(j, i)
res = res + f(i)
Next i
Cells(j, 7) = res
Next j
End Sub
Пример 6.
Найти в процедуре сумму в каждом столбце.
Программный код
Sub kol(ByRef x() As Integer, ByVal n As Integer, ByVal m As Integer)
Dim i, j, k(2) As Integer
For j = 0 To m
k(j) = 0
For i = 0 To n
k(j) = k(j) + x(i, j)
182
Next i
MsgBox "k(j)=" & CStr(k(j))
Next j
End Sub
Sub commandbutton1_click()
Dim i, j, n, m, x(4, 2) As Integer
Dim k(2) As Integer
n=4
m=2
For i = 0 To n
For j = 0 To m
x(i, j) = Cells(i + 1, j + 1)
Next j
Next i
kol x, n, m
End Sub
Пример 7.
В процедуре найти сумму элементов 1 и 3 строки и записать их на место элементов 1
строки.
Программный код
Sub kol(ByRef x() As Integer, ByVal n As Integer, ByVal m As Integer, k() As Integer)
Dim i, j As Integer
For j = 0 To m
x(1, j) = x(1, j) + x(3, j)
Next j
End Sub
Sub commandbutton1_click()
Dim i, j, n, m, x(4, 4) As Integer
Dim k(2) As Integer
n=4
m=4
For i = 0 To n
For j = 0 To m
x(i, j) = Cells(i + 1, j + 1)
Next j
Next i
kol x, n, m, k
For j = 0 To m
For i = 0 To n
Cells(i + 7, j + 1).Value = x(i, j)
Next i
Next j
End Sub
Варианты заданий
Задание 1. Разработать алгоритм решения задачи и составить программу согласно
варианта.
Определить порядковые номера нулей в массиве.
Все отрицательные элементы массива заменить нулями. Выдать сообщение о
количестве таких замен.
183
Найти порядковый номер минимального числа в массиве.
Найти значение и координаты первого по порядку положительного элемента в массиве.
Найти количество единиц в массиве.
Каких чисел в массиве больше: положительных или отрицательных? (массив может
содержать нулевые значения).
Исходные данные: В таблице 10 строк. Первый столбец – фамилия работника, второй –
стаж работника.
По стажу работника определить, к какой группе он относится, если 1 группа – стаж до
3-х лет, 2 группа – до 5 лет, 3 группа – до 10 лет, 4 группа – свыше 10 лет.
Найти сумму диагональных элементов блока ячеек, состоящего из 5 строк и 5 столбцов.
Двадцати переменным массива присвоить одно и то же значение, равное наибольшему
из них.
Дан массив чисел. В клетке С1 записано некоторое число. Определить порядковый
номер этого числа в массиве. Если в массиве такого числа нет, выдать об этом сообщение.
Просуммировать положительные и отрицательные числа в массиве. Записать
полученные суммы в ячейки В1 и В2. (в массиве могут быть нулевые значения).
В клетку А1 записать число, если количество положительных элементов массива
больше количества отрицательных. В противном случае записать в клетку А1 любой текст.
Найти сумму положительных элементов массива, имеющих индекс 3, 5, 7 и т.д.
В блоке ячеек записана матрица чисел. Ячейки с отрицательными значениями
закрасить синим цветом, с положительными – красным, с нулями – желтым.
Задание 2. По заданным значениям a, x и n найти сумму ряда.
sin( i  x)

1. i 1 2i  1
n
cos(i  1)

2. i 1 2i  1
n
xi

2
i 1 i
ix

2
i 1 i
n
9.
n

10.
i 1
11.
xi

i 1 i  1
n
n
3.
x n 1

4. i 1 i  1
n
n
n
 cos(i * x)
5.
i 1
xi

i  (i  1)
6. i 1
n
xi
 i  (i  1)
7. i 1
12.

8.
184
i 1
x
i
i
cos( 2i  x)
 (2i  1)  (2i  1)
i 1
( x  1) 2i 1

13. i 1 2i  1
n
14.
i  xi

i 1 i  1
15.
x n 1

i
i 1
n
n
i 1
xi
n
n
Задание 3. Решить задачу для своего варианта на одномерный массив двумя способами:
с данными на рабочем листе и вводимыми по тексту программы.
Вычислить сумму элементов, стоящих на чётных местах в последовательности х (20),
используя оператор цикла do_loop until
Вывести на печать номера элементов, попавших в диапазон (а, b) для
последовательности а(30), используя оператор цикла for_next.
Вывести на печать количество элементов массива А1, А2, … А20, попавших в интервал
[2, 5] и их сумму, используя оператор цикла do_loop while.
Вывести на печать номера элементов последовательности Х(20), значения которых
равны заданному числу С, используя оператор цикла for_next.
Вычислить произведение элементов, стоящих на четных местах в последовательности
Х(20), используя оператор цикла do while_loop.
Найти количество элементов последовательности А(20), значения которых равны нулю,
используя оператор цикла do_loop until.
Вывести на печать номера и значения положительных элементов последовательности
Х(20), используя оператор цикла do until_loop.
Вывести на печать номера с отрицательными значениями элементов для
последовательности Х(20), используя оператор цикла for_next.
Найти минимальное значение из значений элементов последовательности А1, А2,…,
А20, используя оператор цикла do_ loop while.
Найти минимальное значение из значений элементов последовательности Х1, Х2, …
Х20, используя оператор цикла do_loop until.
В последовательности Х(20) вывести на печать номера элементов, значения которых
равны t, используя оператор цикла do until_loop.
Найти количество отрицательных элементов в массиве С1, С2,…, С20, используя
оператор цикла do until_loop.
Дана последовательность Х(10). Найти сумму отрицательных элементов и вывести на
печать номера этих элементов, используя оператор цикла do_loop while.
Вычислить
произведение элементов,
стоящих
на нечетных
местах
в
последовательности Х(20), используя оператор цикла do while_loop.
Дана последовательность Х1, Х2, …, Х20. Заменить в ней отрицательные значения
элементов на их квадраты. Вывести на печать полученную последовательность, используя
оператор цикла do while_loop.
Задание 4. Решить задачу для своего варианта на двумерный массив двумя способами: с
данными на рабочем листе и вводимыми по тексту программы.
Задан массив А(6,5). Найти номер строки и номер столбца с минимальным значением.
Задан массив А(4,5). Найти минимальное значение.
Задан массив х(5,5). Найти сумму отрицательных значений в каждой строке.
Задан массив х(5,5). Найти сумму положительных значений в каждом столбце.
Задан массив с(5,5) и число а. Найти количество элементов, равных по значению а.
Задан массив с(5,5) и число а. Найти сумму элементов, равных по значению а.
Задан массив х(5,5) и число а. Найти номера строк и столбцов элементов, равных по
значению а.
Задан массив х(5,5) и интервал (а,b). Найти номера строк и столбцов элементов,
попавших по значению в этот интервал.
Задан массив х(5,5) и интервал х[а,b]. Найти количество элементов, попавших по
значению в этот интервал.
Задан массив х(5,5) и интервал х[а,b]. Найти сумму элементов, попавших по значению в
этот интервал.
Задан массив А(6,4). Найти номер строки и номер столбца с максимальным значением.
Задан массив А(4,5). Найти максимальное значение.
185
Задан массив А(6,3). Найти номер строки и номер столбца с максимальным значением в
каждом столбце.
Задан массив А(5,5). Найти номер строки и номер столбца с максимальным значением в
каждой строке.
Задан массив А(4,5). Найти максимальное значение в каждой строке.
Задание 5. Решить задачи по условию 3 и 4 задания с использованием подпрограмм.
Технология выполнения работы
Разработать алгоритм для написания программы в виде блок-схемы.
Написать программу.
Протестировать ее с разными исходными данными.
Содержание отчета
Цель работы, условие задачи
Алгоритм в виде блок-схемы.
Исходный текст программы.
Вводимые данные и результаты.
Фрагменты экрана с диалоговыми окнами Excel.
Результат работы программы должен иметь наглядный вид.
Вопросы для защиты работы
Как описываются массивы переменных?
Сколько операций цикла DO Вы знаете?
Как выглядит оператор цикла FOR?
Указать вид оператора DO, который выполняется, пока условие дает истину.
Указать вид оператора DO, который выполняется, пока условие дает ложь.
Можно ли прервать выполнение оператора FOR принудительно?
186
Лабораторная
Программирование
Линейные алгоритмы
в
среде
работа
разработки
Borland
№8
C++.
Время выполнения – 2 часа.
Цель работы
Научиться работать в интегрированной среде программирования (ИСП) и приобрести
навыки составления линейных алгоритмов.
Задачи лабораторной работы
После выполнения работы студент должен уметь:
вводить и редактировать текст (манипуляция с символами, строками, блоками как в
пределах одного окна, так и между ними);
получать справку от ИСП;
компилировать и запускать на выполнение программу;
искать и исправлять синтаксические и семантические ошибки;
выполнять трассировку (пошаговую отладку) программы;
инициировать и изменять значения переменных;
написать текст программы по схеме алгоритма, и, наоборот, по тексту программы
составить схему её алгоритма;
написать текст программы на языке программирования C++;
применять в структуре программы типы данных, арифметические операции,
математические функции, функции ввода и вывода, оператор присваивания – и правила их
использования;
проводить тестирование программы, используя известные ему приложения (например,
Excel или MathCAD).
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со следующим
математическим обеспечением: операционная система семейства Windows и язык
программирования С++.
Общие теоретические сведения
Интегрированная среда программирования Borland С++
Окно интегрированной среды программирования (ИСП) Borland C++ (BC) состоит из 4х основных частей: главного меню, окна редактирования, окна сообщений и строки
состояния, в каждую из которых можно войти с помощью «мыши» (рис. 1).
187
Главн
ое
меню
Окно
редак
тиро-вания
Окно
сооб
щений
Строк
а
состо
яния
Рисунок 1 – Интерфейс интегрированной среды программирования Borland C++
«Главное меню» доступно клавишей F10 или путем нажатия комбинаций клавиш ALT
и первой буквы соответствующего элемента меню.
Таблица 1 – Меню File, команды работы с файлами
New
открыть новое окно редактирования
Open... F3
открыть существующий файл с диска
Save F2
сохранить программу под старым именем
Save as...
сохранить программу под новым именем
Save all
сохранить все файлы из всех окон
Change dir...
сменить каталог
Print
печать программы
Print setup...
установка параметров печати
Dos shell
временный выход в MS DOS
Exit Alt+X
выход из ИПС
Таблица 2 – Меню Edit, команды редактирования
Undo Alt+BksSp
отменить последнее действие
Redo
повторить последнее действие
Cut Shift+Del
вырезать выделенный фрагмент
Copy Ctrl+Ins
копировать выделенный фрагмент в буфер обмена
Paste Shift+Ins
вставить содержимое буфера обмена
Clear Ctrl+Del
удалить выделенный фрагмент
Show clipboard
показать окно буфера обмена
Search
команды поиска
Find...
найти фрагмент, указанный в окне
188
Replace...
Search again
Go to line number
Show last compiler
найти фрагмент и заменить его на указанный в окне
повторить поиск
перейти к указанному номеру строки
показать последнюю ошибку компиляции
Find error...
Find procedure...
Previous browser
Objects
Units
Global
Symbol...
найти ошибку
найти процедуру, заданную в окне
покачать информацию предыдущего окна
показать в окне «дерево» объектных файлов
показать в окне «дерево» модулей
показать все глобальные переменные
задать идентификатор для выдачи номеров строк с ним
error
Таблица 3 – Меню Run, команды запуска расчета
Run Ctrl+F9
запуск программы на исполнение
Step over F8
пошаговое выполнение процедур
Trace into F7
пошаговое выполнение операторов
Go to cursor F4
выполнение фрагмента до курсора
Program reset Ctrl+F2
завершение сеанса отладки
Parameters...
настройка параметров
Таблица 4 – Меню Compile, компиляция программы
Compile Alt+F9
компиляция файла
Make F9
перекомпиляция только измененных модулей
Build
перекомпиляция всех модулей
Target... Real
выбор режима-приложения
Primary file...
указание главного файла для команд Make и Build
Clear primary
отмена указания главного файла
Information...
информация о скомпилированном файле
Таблица 5 – Меню Debug, команды отладки
Breakpoints
управление точками прерывания
Call stack Ctrl+F3
показ имен процедур до работающей процедуры
Register
информация о регистрах процессора
Watch
информация о значениях переменных и выражений
Output
отображение результатов без графики
User screen Alt+F5
просмотр результатов программы
Evaluate
просмотр и изменение значений переменных
modify...Ctrl+F4
Add watch... Ctrl+F7
просмотр конкретных значений переменных
Add breakpoint...
установка условных и безусловных точек прерывания
Таблица 6 – Меню Tools, команды работы с сообщениями ИПС и утилитами отладки
Messages
переход в окно сообщений
Go to next Alt +F8
переход к следующему элементу окна
Go to previous Alt+F7
переход к предыдущему элементу окна
Grip Shift+F2
вызов программы Grip
Turbo
Assembler
вызов программы Assembler
Shift+F3
Turbo
Debugger
вызов программы Debugger
189
Shift+F4
Turbo Profiler Shift+F5
вызов программы Profiler
Таблица 7 – Меню Options, команды установки параметров интегрированной среды
Compiler
параметры, определяющие работу компилятора
Memory Sizes
размеры стека, размер памяти
Linker
параметры компоновщика
Directories
задает каталоги, для помещения и извлекания файлов
Browser
опции, связанные с просмотром
Tools
местоположение программных компонентов меню
Environment
параметры работы с мышью, редактором и т. п.
Open
открывает файл конфигурации
Save
сохраняет файл конфигурации
Save as…
сохраняет файл конфигурации с запросом имени
Таблица 8 – Меню Window, команды управления окнами
Tile
показать все открытые окна редактирования
показать в каскадном виде все открытые окна
Cascade
редактирования
Close all
закрыть все открытые окна
Refresh display
восстановление изображения ИПС после сбоев
Save Move Ctrl+F5
изменение размеров окна
Zoom F5
раскрытие окна до полного размера экрана
Next F6
переход в следующее окно
Previous Shift+F6
переход в предыдущее окно
Close Alt+F3
закрытие окна
List Alt+0
перечисление всех окон с момента работы ИПС
Таблица 9 – Меню Help, вызов справочной информации
Contents
вывод оглавления справки
Index Shift+Fl
вывод алфавитного перечня терминов
Topic search Ctrl+Fl
вывод справки о термине, указанным курсором
Previous topic Alt+Fl
переход к предыдущей справке
вывод инструкции по работе со справочной
Using help
информацией
Filet...
добавление и удаление информационных файлов
Compiler directives
вывод списка всех директив компилятора
Procedures
and
вывод алфавитного перечня процедур и функций
functions
Reserved words
вывод зарезервированных слов
Standards units
вывод стандартных модулей
Error messages
вывод о сообщениях ошибок
About ...
служебная информация
Для входа в «Окно редактирования» нажать комбинацию клавиш <Alt> и <цифра>, где
<цифра> - номер окна. С окнами можно:
создавать новое – <Alt>+<F>+<N> (или File/New),
закрывать текущее – <Alt>+<F3>.
190
Таблица 10 – «Горячие» клавиши
< Insert>
переключение режима вставки/замены символов
<Delete>
удаление символа, находящегося над курсором
<Backspace>
удаление символа, находящегося слева от курсора
<End>
перемещение курсора в конец текущей строки
<Home>
перемещение курсора и начало текущей строки
для перехода на новую строку и разрезания текущей
<Enter>
строки на две
<Page Up>
«прочитывание» текста на один экран вперед
<Page Down>
«прочитывание» текста на один экран назад
<Сарs Lock>
переключение режима прописные/строчные буквы
временное переключение режима прописные/строчные
<Shift>
буквы
<Ctrl> + <y>
позволяет удалить текущую строку
<Ctrl> + <k> + <c>
копирование
(или <Ctrl> + <Insert>)
<Ctrl> + <k> + <v>
перемещение
(или <Shift> + <Insert>)
<Ctrl> + <k> + <y>
удаление
(или <Ctrl>+<Delete>)
<Ctrl> + <k> + <h>
отмена выделения блока
<F2> (или <Alt> +
сохранение в файле на диске
<F2>)
<F3>
(для
считывание из файла на диске
существующего)
<Tab>
перемещение указателя в открывшемся окне
<Alt>+<F9>
проверка программы на ошибки (компиляция)
<Ctrl>+<F1>
справка по ошибке
<Ctrl> + <F9>
создание файла с расширением «.ехе»
<Alt> + <F5>
просмотр результатов отчетов
Для обнаружения алгоритмических ошибок можно воспользоваться следующими
операциями, условно состоящими из нескольких шагов:
установить индикацию (или просмотреть значения переменных) в процессе
выполнения программы – <Ctrl>+<F7>. В открывшемся окне ввести имя переменной;
провести трассировку (т. е. построчно выполнить) – нажимать на <F7> (или <F8> – для
исключения функций);
изменить (если требуется) значения переменной в процессе трассировки программы –
<Ctrl>+<F4>. Набрать в окне “Expression” имя интересующей переменной, после чего в окне
“Result” высветится ее значение. Если в окне “New Value” ввести новое значение, то
дальнейшие вычисления будут выполняться уже с ним.
Во всех операциях указатель можно передвигать с помощью клавиши <Tab>.
Для входа в «Окно сообщений» можно воспользоваться командой главного меню
Tools/Messages. Переход к следующему элементу сообщения <Alt> + <F8>. Переход к
предыдущему элементу сообщения <Alt> + <F7>.
«Строка состояния» содержит пояснения о назначении пунктов выпадающего меню
(см. выше).
С учетом представленной ИСП, может быть рекомендован следующий план работы при
создании и отладки новой программы.
191
Открыть новое окно редактирования для ввода новой программы (File/New).
Набрать текст новой программы.
Записать текст программы на диск (File/Save или <F2>).
Запустить программу на выполнение (Run/Run или <CTRL>+<F9>).
Посмотреть результаты выполнения программы (<ALT>+<F5>).
Сохранить отлаженную программу на диске (<F2>).
Основы языка С++
Приступая к составлению программ, следует помнить следующее:
программа должна оформляться в соответствии со структурой языка
программирования С++ (табл. 11);
программа должна иметь начало и конец, обозначенные операторным блоком { … };
каждая переменная программы должна быть объявлена в начале программы с
указанием её типа. Переменная может быть инициализирована некоторым значением. В
имени переменной могут использоваться цифры и буквы латинского алфавита. Базовые типы
данных даны в табл. 12;
все арифметические выражения состоят из операндов, которые должны расписываться
в одну строчку. Если в формуле имеется дробь, то числитель и знаменатель указывается в
круглых скобках. Основные операции, применяемые в выражениях, представлены табл. 13.
Операция % выполняется только с целыми числами, и результатом вычисления
является целое число.
В языке С++ операции инкремента (++) и декремента (––) могут появляться перед или
после своего операнда. Когда операция является префиксом своего операнда, то операнд
инкрементируется или декрементируется и его новое значение является результатом
вычисления выражения. Когда операция является постфиксом своего операнда, то
непосредственным результатом выражения является значение операнда перед его
инкрементированием или декрементированием. После этого результат используется в
контексте, а операнд инкрементируется или декрементируется;
вычисления в выражениях выполняются в соответствии с приоритетом операций,
распределенных по категориям (табл. 14);
каждый оператор должен заканчиваться символом « ; » - признаком окончания
действия;
для ввода и вывода информации используются специальные функции (табл. 15). После
вывода информации курсор устанавливается в этой же строке. Если есть необходимость
переслать курсор на начало следующей строки, то используются в С++ – специальные
управляющие символы «\n» и «endl»;
в составе транслятора среды программирования имеются стандартные функции,
применяемые при вычислениях. Основные, наиболее часто используемые функции
представлены табл. 16. Необходимо обращать внимание на подключаемые библиотечные
модули, содержащие стандартные функции.
Таблица 11 – Структура программы
Назначение
Структура
Директивы препроцессора
# include < Имя библиотеки>
# define Имя Макрос
Раздел
соглашений
объявлений
и
label Номер метки;
const Имя константы = Значение константы;
Имя типа переменной Список имен переменных;
function Имя функции (входные и выходные
Раздел описания процедур и данные)
192
функций
{
Тело функции
}
Основная программа
main ( )
{ Тело программы }
вещественные
целые
числа
числа
Таблица 12 – Типы данных и диапазон представления чисел
Диапазон
0…255
-128…127
-32768…32767
0…65535
-2147483648…2147483647
0…4294967295
193
Тип
uns char
char
int, short
uns short
long
uns long
3,4Е-38…3,4Е38
float
1,7Е-308…1,7Е308
double
3,4Е-4932…1,1Е4932
long double
Таблица 13 – Операции
Назначение
аддитивные
мультипликативные
отношений
логические
присваивания
арифметические
остаток от деления
равно
не равно
больше
меньше
больше или равно
меньше или равно
и
или
отрицание
простое присваивание
сложение с присваиванием
вычитание с присваиванием
умножение с присваиванием
деление с присваиванием
остаток
от
деления
присваиванием
унарный инкремент
унарный декремент
Таблица 14 – Приоритет выполнения операций
Операция
Приоритет
!, ++, – –
Первый
*, /, %, &&
Второй
+, –, ||
Третий
==, !=, <, >, <=, >=
Четвертый
=, *=, /=, %=, +=, –=
Низший
194
Операция
+, –
*, /
%
==
!=
>
<
>=
<=
&&
||
!
=
+=
–=
*=
/=
с
%=
++
––
Категория
Унарные
Мультипликативные
Аддитивные
Отношения
Простое и составное
Ввод
Вывод
Таблица 15 – Функции и процедуры ввода и вывода
Спецификаторы
форматов и управляющие
Функции
символы
Библиотека: stdio.h
scanf (“специф“, & идентификатор);
%d, %i – целые
например,
%f – вещественные
scanf (“%d%f”, &a, &b);
%с – символьные
scanf (“%c”, &ch);
%s – строковые
scanf (“%s”, st);
cin>>идентификатор;
Библиотека: iostream.h
например,
cin>>a; cin>>b>>ch; cin>>st;
Библиотека: stdio.h
printf (“текст специф“, идентиф);
%d, %i – целые
например,
%f – вещественные
printf (“Значение а= %d\n”, a);
%с – символьные
printf (“а= %d\n и b= %f\n ”, a, b);
%s – строковые
printf (“\n символ= %c \n ”, ch);
\n – перевод строки
printf (“ строка: %s \n ”, st);
cout<<текст<<идентификатор;
например,
Библиотека: iostream.h
cout<<”Значение a=”<<a<<”\n”;
\n и endl – перевод строки
cout<<” a=”<<a<<” b=”<<b<<endl;
cout<<”символ: ”<<ch<<endl;
cout<<”строка: ”<<st<<endl;
Таблица 16 – Часто используемые стандартные функции
Назначение
Функция
abs (int x), fabs (double x),
абсолютное значение по модулю
labs ( longint x)
double cos (double x)
double sin (double x)
тригонометрические функции (в радианах)
double atan (double x)
double tan (double x)
экспонента числа – expx
double exp (double x)
double fmod (double x, double
вычисляет остаток от числа
y)
вычисляет целую часть от числа
struct div ( int x; int y)
натуральный логарифм числа
double log (double x)
десятичный логарифм
double log10 (double x)
квадрат числа
double sqr (double x)
квадратный корень числа
double sqrt (double x)
double pow (double x, double
вычисляет число x в степени y
y)
возвращает случайное число в диапазоне 0…x;
int rand ()
округляет число до целого
double floor (double x)
Составление линейных алгоритмов
Линейными называются алгоритмы, процесс пошагового выполнения которых можно
изобразить прямой линией – сверху вниз.
195
Пример 1. Дано двухзначное целое число b. Найти сумму его цифр.
Текстуальная форма алгоритма задачи.
Ввести число b с клавиатуры в ЭВМ.
Для выделения первой цифры воспользуемся известным в математике способом
деления числа b на 10, и возьмем целое число от этого деления.
Для выделения второй цифры разделим число b на 10, и возьмем дробную часть от
этого деления.
Найдем сумму найденных цифр.
Полученный результат выдать на экран дисплея.
Графическая форма представления алгоритма дана в виде схемы (рис. 2),
использующей блоки для обозначения каждого действия и приведен текст программы.
Начало
Ввод
b
x = b div 10
y = b div 10
z=x+y
Вывод
z
Конец
Рисунок 2 – Схема алгоритма к примеру 1
#include <iostream.h>
#include <math.h>
#include <stdlib.h>
main ()
{ int b, x, y, z;
div_t res;
// описание структуры функции div:
// struct div_t (int quit; int rem;) div (n, d);
// где n – числитель, d - знаменатель,
// quit – целая часть от деления,.
// rem – дробная часть от деления.
cout <<“ Введите целое число : “ ; cin >> b >>endl ;
res = div (b, 10) ;
// делим число b на 10, и расчленяем на
x = res.quit ;
// целую часть и
y = res.rem ;
// дробную часть
z=x+y;
cout <<“ Сумма цифр числа ”<< b << “ равна “ << z <<endl;
}
196
Варианты заданий
Задание. Составить алгоритм, написать программу на языке программирования С++,
отладить программу на ПК. Написать тест программы. Все результаты предъявить
преподавателю. Подготовить ответы на контрольные вопросы.
Дано трехзначное число. Найти число, полученное при прочтении его цифр справа
налево.
Дано натуральное число n (n>9). Найти число единиц в нем.
Дано трехзначное число. Найти сумму его крайних цифр.
Дано четырехзначное число. Найти произведение и сумму второй и последней цифр
заданного числа.
Даны два целых числа. Разделить каждое число на целое число d. Найти произведение
их остатков от деления.
Даны два целых числа. Переменой d присвоить результат деления первого числа на
второе число, а переменой f присвоить результат деления второго числа на первое число.
Найти произведение их остатков от деления.
Дано четырехзначное число. Найти сумму и произведение его цифр.
Дано натуральное число n (n>99). Найти число десятков в нем.
Даны два целых числа. Разделить каждое число на целое число d. Найти сумму их
целой части от деления.
Дано трехзначное число. Найти число, полученное при перестановке первой и
последней цифр заданного числа.
Дано четырехзначное число. Найти сумму и произведение второй и третьей цифр
заданного числа.
Дано трехзначное число. Найти число, полученное при перестановке первой и второй
цифр заданного числа.
Дано трехзначное число. Переставить местами вторую и третью цифры в числе.
Дано четырехзначное число. Найти сумму первых цифр и произведение двух
последних цифр в числе.
Даны два целых двухзначных числа. Переставить местами последние цифры чисел.
Например, даны числа 25 и 48, после перестановки получится 28 и 45.
Технология выполнения работы
Нарисовать картинку, поясняющую логику решения задачи и составить алгоритм.
Написать программу, которая в задаче использует целочисленную арифметику.
Содержание отчета
Титульный лист по стандартной форме.
Постановку задачи.
Необходимые математические выкладки (и/или поясняющую картинку).
Алгоритм решения задачи (в виде блок-схемы или в текстуальной форме).
Тексты программы.
Тестовые наборы (тест – это проверка работоспособности программы по контрольным
значениям данных).
Результаты вычислений по каждому тесту.
Отчет для лабораторной работы составляется в одном экземпляре и подлежит защите.
Для защиты лабораторной работы студент должен подготовиться к ответу на контрольные
вопросы.
Вопросы для защиты работы
В чем особенности формализованного языка?
Что понимают под вычислительным алгоритмом?
Какие требования предъявляются к алгоритмам?
197
В чём суть основных этапов подготовки и компьютерного решения задач?
Общие правила построения программ.
Как получают исполняемую программу?
Какие операции можно выполнять над величинами целого типа? Укажите приоритет их
выполнения при расчете значения арифметического выражения.
Как определить остаток от деления одной величины целого типа на другую?
Как оформляется оператор вывода результатов на экран? Что можно указывать в
качестве элементов списка вывода? Какой символ используется для разделения элементов
списка вывода? Как должен быть оформлен оператор вывода, чтобы информация выводилась
на экран с новой строки?
Как оформляется оператор ввода? Что можно указывать в качестве элементов списка
ввода? Как работает оператор ввода (что происходит при его выполнении)?
Как оформляется оператор присваивания? Как он работает (что происходит при его
выполнении)?
Как проверить, правильно ли работает программа, в которой проводятся какие-то
вычисления?
198
Лабораторная
Программирование
в
Разветвляющиеся алгоритмы
среде
работа
разработки
№9
C++.
Borland
Время выполнения – 2 часа.
Цель работы
Научиться пользоваться условными операторами и оформлять разветвляющиеся схемы
алгоритма.
Задачи лабораторной работы
После выполнения работы студент должен знать:
правила написания текста программы как на формальном языке (псевдокоде), так и на
языке программирования;
как по схеме алгоритма написать текст программы, и, наоборот, по тексту программы
составить схему её алгоритма;
правила написания текста программы на языке программирования С++;
правила использования операторов условия;
назначение и работу каждого оператора в программе;
уметь проводить тестирование программы, используя известные ему приложения
(например, Excel или MathCAD).
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со следующим
математическим обеспечением: операционная система семейства Windows язык
программирования С++.
Общие теоретические сведения
Разветвляющимся является алгоритм, если последовательность выполнения шагов
решения задачи изменяется в зависимости от некоторых условий. Условие – это логическое
выражение, принимающее одно из двух значений: «Да» – если условие верно и «Нет» – если
условие неверно, – и которое может содержать логические операции и знаки отношений.
Рис. 1 иллюстрирует структурные схемы разветвляющихся алгоритмов укороченной (а)
и полной (б) формы.
Да
Нет
Условие
Условие
Серия операторов1
Серия операторов2
Серия операторов1
б)
а)
Рисунок 1 – Схемы разветвляющихся алгоритмов
Разветвляющиеся алгоритмы оформляются операторами полной или укороченной
формы (табл. 1). В условном операторе выполняется всегда одна из веток («Да» при
истинном условии или «Нет», если оно ложно), и никогда не выполняются обе вместе.
Таблица 1 – Формы записи операторов условного перехода
Форма записи
Структура оператора
краткая
if (условие) { операторы-Да }
199
полная
if (условие) { операторы-Да; } else { операторы-Нет}
К условным операторам относится оператор выбора или оператор переключатель (табл.
2), который замечателен тем, что может заменить вложенные операторы условия.
Таблица 2 – Оператор выбора (или оператор-переключатель)
Структура оператора
switch выражение {
case значение1: { операторы}
...........
case значениеN: { операторы}
default { операторы}
}
Выражение – это целочисленная или строковая переменная, значение которой
определяет ветвь. Каждая ветвь, определяемая case, может заканчиваться оператором
прерывания break. Можно объединять ветви, через список значений, перечисляемые через
запятую (или в Pascal – в виде интервала через две точки). Например:
switch (f +k)
{
case 0
: { k ++; break;}
case 3, 8 : { f --; k --; break;}
case 9
:
case 11
: { d = ++ f; break;}
default d = --f;
}
Пример. Дано целое число a. Узнать, четное ли оно.
Текстуальная форма алгоритма задачи.
Ввести число а с клавиатуры в ЭВМ.
Для определения четности можно воспользоваться известным в математике способом
деления числа а на 2, если остаток равен нулю, то число – четное.
Выдать на экран дисплея «Введенное число четное» – если число а четное, или выдать
«Введенное число нечетное» – если число а нечетное.
На рис. 2 представлена схема алгоритма этой задачи и описана программа.
Начало
Ввод
Нет
Да
если
a mod 2 =0
нечетное
четное
Конец
Рис. 2. Схема алгоритма
Варианты заданий
200
Да
#include < iostream.h >
#include < math.h >
main()
{ int a;
cout << ” Введите целое число а: ”;
cin >> а;
if ( a % 2 == 0 )
cout << ”Число” << a <<” -четное”
<< endl;
else
cout << ”Число”<< a <<” -нечетное”
<< endl;
}
Задание. Составить алгоритм, написать программу на языке программирования С++,
отладить программу на ПК. Написать тест программы по всем ветвям. Все результаты
предъявить преподавателю. Подготовить ответы на контрольные вопросы.
Определить, верно ли, что при делении неотрицательного целого числа а на
положительное число b получается остаток, равный одному из двух заданных чисел c или d.
Дано натуральное четырехзначное число n. Выяснить, различны ли все четыре цифры
этого числа. Например, в числе 3678 все цифры различны, в числе 0230 – нет.
Имеются стол прямоугольной формы с размерами aЧb (a и b – целые числа, a>b) и
кости домино с размерами cЧdЧe (c, d и e – целые числа, c > d > e). Найти вариант
размещения на столе наибольшего количества костей. Все размещаемые кости должны
лежать на одной и той же грани в один ярус без свешивания со стола. Все ребра костей
домино должны быть параллельны или перпендикулярны каждой стороне стола.
Дано целое число k (1 ≤ k ≤ 365). Определить, каким будет k-й день года: выходным
(суббота и воскресенье) или рабочим, если 1 января – понедельник.
Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям
координат. Известны координаты левого нижнего угла каждого из них и длины их сторон.
Один из прямоугольников назовем первым, другой – вторым. Определить, принадлежат ли
все точки первого прямоугольника второму.
Даны вещественные положительные числа a, b, c, d. Выяснить, можно ли
прямоугольник со сторонами a, b уместить внутри прямоугольника со сторонами c и d так,
чтобы каждая из сторон была параллельна или перпендикулярна каждой стороне второго
прямоугольника.
Вывести на экран номер четверти координатной плоскости, которой принадлежит
точка с координатами (x, y), при условии, что x ≠ 0 и y ≠ 0.
Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям
координат. Известны координаты левого нижнего угла каждого из них и длины их сторон.
Один из прямоугольников назовем первым, другой – вторым. Определить, принадлежат ли
все точки одного из прямоугольников другому.
Даны вещественные положительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с
ребрами a, b, c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в
отверстие разрешается только так, чтобы каждое из его ребер было параллельно или
перпендикулярно каждой из сторон отверстия.
Дано четырехзначное число. Определить, входят ли в него цифры 3, 6 или 9.
Даны два прямоугольника, стороны которых параллельны или перпендикулярны осям
координат. Известны координаты левого нижнего угла каждого из них и длины их сторон.
Один из прямоугольников назовем первым, другой – вторым. Определить, пересекаются ли
эти прямоугольники.
Дано четырехзначное натуральное число n. Выяснить, является ли оно палиндромом
(«перевертышем»), как, например, числа 7777, 8338, 0330 и т.п. (палиндромом называется
число, десятичная запись которого читается одинаково слева направо и справа налево).
Даны два двухзначных числа. Вычислить их сумму. Выяснить, является ли сумма
совершенным числом (натуральное число называется совершенным, если оно равно сумме
своих делителей, включая 1 и исключая это самое число, например, число 6 совершенное
6=1+2+3).
Даны два целых числа, одно в шестнадцатеричной системе счисления, а другое в
двоичной системе счисления. Узнать, равнозначные ли эти числа. Например, числа А и 101 –
не равнозначны, а числа F и 1111 – равнозначны.
Даны два целых числа, одно в шестнадцатеричной системе счисления, а другое в
двоичной системе счисления. Найти произведение этих чисел и обратный код полученного
ответа.
Технология выполнения работы
201
Написать математическую формулировку, графически изобразить поясняющую логику
решения задачи и составить алгоритм. Написать программу, которая в задаче использует
сложные условия и вложенные условные операторы.
Содержание отчета
Титульный лист по стандартной форме.
Постановку задачи.
Необходимые математические выкладки (и/или поясняющую картинку).
Алгоритм решения задачи (в виде блок-схемы или в текстуальной форме).
Тексты программы.
Тестовые наборы (тест – это проверка работоспособности программы по контрольным
значениям данных).
Результаты вычислений по каждому тесту.
Отчет для лабораторной работы составляется в одном экземпляре и подлежит защите.
Для защиты лабораторной работы студент должен подготовиться к ответу на контрольные
вопросы.
Вопросы для защиты работы
Что такое простое условие? Какие используются операции отношения?
Что является результатом выполнения операции отношения?
Что такое составное условие? Какие логические операции используются в нём? Каков
приоритет их выполнения и можно ли их изменить?
В логическом выражении (составном условии) используются три величины
логического типа (три простых условия) – А, В и С. Сколько возможно различных вариантов
сочетаний значений А, В и С?
Как работает оператор выбора? Какой тип может принимать контрольное выражение?
Почему?
202
Лабораторная
Программирование
Циклические алгоритмы
в
среде
работа
разработки
Borland
№ 10
C++.
Время выполнения – 4 часа.
Цель работы
Научиться составлять программы, используя операторы цикла. Научиться оформлять
циклические схемы алгоритма.
Задачи лабораторной работы
После выполнения работы студент должен знать и уметь:
знать правила написания текста программы на языке программирования С++;
знать, как по схеме алгоритма написать текст программы и, наоборот - по тексту
программы составить схему её алгоритма;
знать правила использования операторов условия и циклов;
уметь организовывать циклы с помощью операторов условия;
знать назначение и работу каждого оператора в программе;
уметь проводить тестирование программы.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со следующим
математическим обеспечением: операционная система семейства Windows и язык
программирования С++.
Общие теоретические сведения
Циклическим является алгоритм, если определенная последовательность шагов
выполняется некоторое целое число раз. Рис. 1 иллюстрирует циклические алгоритмы.
условие
оператор
да
определение
цикла
да
оператор
ыы
условие
оператор
а)
б)
в)
Рисунок 1 – Циклические алгоритмы:
а – цикл с предусловием, б – с постусловием, в – с параметром
У каждого из операторов цикла имеются особенности в их использовании (табл. 1):
условные циклы выполняются пока условие истинно, а цикл с параметром работает, пока
управляющая переменная цикла (так называемый параметр) не достигнет своего конечного
значения.
Таблица 1 – Операторы циклов
Условные
циклы
203
while (условие)
{ операторы }
do
{ операторы }
С
параметром
while (условие)
for ( переменная = нач_знач;
переменная <= кон знач; шаг)
{ операторы }
Пример. Написать программу, которая преобразует введенное десятичное число в
двоичное.
Текстуальная форма алгоритма задачи:
Ввести число dec с клавиатуры в ЭВМ.
В цикле делятся целые части числа на 2, остатки от деления выводятся на экран.
Ниже представлена программа этой задачи.
#include < iostream.h >
#include < math.h >
#include < conio.h >
main()
{ int d;
// десятичное число
int b;
// формируемый разряд
int n;
// номер формируемого разряда
cout << ” Введите целое число от 0 до 255 ”; cin >> d;
cout << ” Десятичному числу ”>> d >> “ соответствует двоичное : “;
b = 128;
// старший (восьмой) разряд
for (n = 1; n <= 8; n++)
{ if ( d >= b )
{ cout <<” 1 “; d -= b; }
else cout <<” 0 “;
b = b / 2;
}
cout << ”Для завершения нажмите <Enter>” << endl;
getch();
}
Варианты заданий
Задание. Составить алгоритм, написать программу на языке программирования С++,
отладить программу на ПК. Написать тест программы. Все результаты предъявить
преподавателю. Подготовить ответы на контрольные вопросы.
Найти натуральное число из интервала от a до b, у которого количество делителей
максимально.
Составить программу нахождения цифрового корня. Цифровой корень данного числа
получается, если сложить все цифры этого числа, затем все цифры найденной суммы и
повторять этот процесс пока в результате будет получено однозначное число (цифра),
которая и называется цифровым корнем.
Дано натуральное число n. Напечатать разложение этого числа на простые множители.
Найти все трехзначные простые числа (простым называется число, большее 1, не
имеющее других делителей, кроме единицы и самого себя, например, число 7 простое, число
6 не простое).
Найти размеры всех прямоугольников, площадь которых равна заданному
натуральному числу s и стороны которых выражены натуральными числами.
Найти все совершенные числа, меньшие 100 000 (натуральное число называется
совершенным, если оно равно сумме своих делителей, включая 1 и исключая это самое
число, например, число 6 совершенное 6=1+2+3).
204
Найти все пары натуральных дружественных чисел, меньших 50 000 (два натуральных
числа называются дружественными, если каждое из них равно сумме всех делителей
другого, само другое число в качестве делителя не рассматривается).
Составить программу для нахождения всех натуральных решений уравнения, где лежат
в интервале от 1 до 30.
Дано натуральное число n (n ≤ 27). Найти все трехзначные числа, сумма цифр которых
равна n.
Найти наименьшее натуральное число n, которое можно представить двумя
различными способами в виде суммы кубов двух натуральных чисел.
Дано натуральное число n. Получить все натуральные числа, меньшие n и взаимно
простые с ним (два натуральных числа называются взаимно простыми, если их наибольший
общий делитель равен 1).
Напечатать в возрастающем порядке все трехзначные числа, в десятичной записи
которых нет одинаковых цифр.
Составить таблицу умножения всех чисел от 1 до 9.
Дано натуральное число n. Вычислить арифметическую Arifm и геометрическую Geom
прогрессию. Узнать, что является наибольшим результатом.
Дано натуральное число n. Вычислить факториал этого числа S = n! всеми известными
циклами. Вычислить факториал этого числа S1 = n!, используя только оператор условия.
Технология выполнения работы
Написать математическую формулировку, графически изобразить поясняющую логику
решения задачи и составить алгоритм. Написать программу, которая в задаче использует
вложенные циклы.
Содержание отчета
Титульный лист по стандартной форме.
Постановку задачи.
Необходимые математические выкладки (и/или поясняющую картинку).
Алгоритм решения задачи (в виде блок-схемы или в текстуальной форме).
Тексты программы.
Тестовые наборы (тест – это проверка работоспособности программы по контрольным
значениям данных).
Результаты вычислений по каждому тесту.
Отчет для лабораторной работы составляется в одном экземпляре и подлежит защите.
Для защиты лабораторной работы студент должен подготовиться к ответу на контрольные
вопросы.
Вопросы для защиты работы
В каких случаях используется оператор цикла с параметром? Как он оформляется? Как
он работает (что происходит при его выполнении)? Нарисуйте графическую схему
выполнения.
Что такое «тело оператора цикла»? Может ли тело оператора цикла с параметром не
выполниться ни разу?
Как должен быть оформлен оператор цикла с параметром, чтобы тело цикла
выполнялось при уменьшающихся значениях параметра цикла? Как он будет работать (что
будет происходить при его выполнении)? Нарисуйте графическую схему выполнения.
Чему равно количество повторений тела оператора цикла с параметром, если параметр
цикла принимает следующие значения:
все целые значения от 1 до 10?
все нечетные значения от 1 до 30?
все значения от 10 до 100 с шагом 7?
205
все значения от 1,5 до 10,3 с шагом 0,4?
Можно ли в теле цикла с параметром не использовать величину – параметр цикла?
Почему?
В каких случаях используется операторы цикла с условием?
В каких случаях используется оператор цикла с предусловием? Как он оформляется?
Как он работает (что происходит при его выполнении)? Нарисуйте графическую схему
выполнения.
В каких случаях используется оператор цикла с постусловием? Как он оформляется?
Как он работает (что происходит при его выполнении)? Нарисуйте графическую схему
выполнения.
Может ли тело оператора цикла с условием не выполниться ни разу? Может ли
выполняться бесконечное число раз (или до тех пор, когда пользователь прервет его
выполнение)?
Всегда ли можно вместо оператора цикла с параметром использовать оператор цикла с
условием? А наоборот?
Какие вы знаете операторы для принудительного (преждевременного) выхода из
оператора цикла? Можно ли вместо такой конструкции использовать оператор цикла с
постусловием и оператор цикла с предусловием?
206
Лабораторная
Программирование
в
Обработка массивов данных
среде
работа
разработки
Borland
№ 11
C++.
Время выполнения – 4 часа.
Цель работы
Научиться описывать вектора, матрицы и решать задачи с использованием массивов.
Научиться оформлять сложные схемы алгоритма.
Задачи лабораторной работы
После выполнения работы студент должен знать и уметь:
знать правила написания текста программы на языке программирования С++;
знать, как по схеме алгоритма написать текст программы, и, наоборот - по тексту
программы составить схему её алгоритма;
знать правила использования операторов цикла;
уметь объявлять массивы и определять элементы массивов;
знать назначение и работу каждого оператора в программе;
уметь проводить тестирование программы.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со следующим
математическим обеспечением: операционная система семейства Windows и язык
программирования С++.
Общие теоретические сведения
Массив – это упорядоченная совокупность элементов одного типа, которые адресуются
с помощью индекса. Доступ к элементу массива осуществляется по его порядковому номеру
(индексу). Индексная переменная должна иметь целый тип. Нумерация элементов массивов в
языке С++ начинается с нуля.
Массив называется одномерным, если для получения доступа к его элементам
достаточно одной индексной переменной. Обработка таких массивов ведется с
использованием одного цикла. Параметр цикла определяет порядковый номер элемента
массива. Одномерные массивы называются также векторами.
Массив называется двумерным, если для получения доступа к его элементам
необходимо иметь две индексные переменные: первая определяет номер строки, вторая –
номер столбца элемента в массиве. Обработка таких массивов ведется с использованием
вложенных циклов. Двумерные массивы называют еще матрицами.
Для объявления массива необходимо указать тип элементов, имя массива и количество
элементов в нём (табл. 1).
Таблица 1 – Объявление массивов
одномерн
ые
двумерны
е
207
тип_данных имя_массива [количество_ элементов];
например,
float a [10];
тип_данных имя_массива [количесво_строк][количество_столбцов];
например,
float b[5][5];
При обработке символьных массивов необходимо помнить, что каждому символу
соответствует число – код символа. В программировании строка – это массив символов.
Последним символом строки обязательно должен быть нуль-символ, код которого равен 0, и
который в тексте программы изображается как «/0», поэтому длина строки увеличится на
единицу. Вводимая во время работы программы строка заканчиваться нажатием клавиши
<Enter> (её код – 13). Для обработки символьных массивов удобно использовать условные
циклы.
Пример. Вычислить длину введенной с клавиатуры строки.
Ниже представлен один из алгоритмов в текстуальной форме и программа.
Ввести строку с клавиатуры.
В цикле подсчитать количество символов введенной строки.
Вывести количество символов и весь массив на экран.
#include <stdio.h>
#include <conio.h>
main ()
{ char S [80]; // введенная строка
int i = 0;
// длина строки
puts ( “ \n Введи строку символов и нажми клавишу <Enter>: \n“ );
gets ( st );
while ( st [i++] ) ; // цикл выполняется, пока не закончатся все символы в строке
printf ( “ Введенная строка: %s \n”, s );
printf ( “ Количество символов в строке = %d \n”, i ); }
Варианты заданий
Задание. Составить алгоритм и нарисовать рисунок, поясняющий ход рассуждения.
Если требуется, то написать математическую формулировку. Написать программу на языке
программирования С++. Отладить программу на ПК. Составить тест программы. Все
результаты предъявить преподавателю. Подготовить ответы на контрольные вопросы.
Переставить элементы строк массива в порядке возрастания. Найти количество
элементов в каждой строке.
Найти количество максимальных элементов строк. Найти количество элементов в
каждой строке и номер строки, содержащий максимальное количество элементов.
Переставить в строках гласные и согласные элементы. Найти количество
переставленных элементов в каждой строке.
Переставить строки массива в алфавитном порядке. Найти количество строк.
Выбрать все строки, содержащие гласные, расположив их элементы в алфавитном
порядке. Найти количество таких элементов в каждой строке и количество строк,
участвующих в перестановке.
Подсчитать количество гласных элементов в каждой строке и вывести его на экран,
если оно меньше 5, то добавить гласные после каждого согласного.
Переставить элементы в каждой строке в обратном порядке. Найти количество
элементов в каждой строке.
Подсчитать в каждой строке количество слов. Если оно меньше 5, то добавить до 7
слов в начало строки. Вывести номера таких строк.
Переставить элементы строк массива в порядке, обратном алфавитному. Найти
количество таких элементов в каждой строке.
Выбрать в каждой строке слова, оканчивающиеся на букву «е», и переставить их в
конец строки. Найти количество таких слов в каждой строке.
Выбрать все строки, содержащие согласные, расположив их элементы в алфавитном
порядке. Найти номер и количество таких строк.
208
Выбрать в каждой строке слова, начинающиеся на букву «в», заменить их на букву «d»
и переставить замененные элементы в начало строки. Найти количество таких слов в каждой
строке и номер строки.
Ввести строку, расположить все символы в обратном порядке.
Ввести две строки. Переставить их местами.
Ввести строку. Заменить в ней каждую пару символов на следом стоящую пару
символов. Например, в исходная строка «Мышка норушка» после замены будет выглядеть
так «Шкмы ноа шкру а».
Технология выполнения работы
Написать математическую формулировку, нарисовать картинку, поясняющую логику
решения задачи и составить алгоритм. Написать программу, которая в задаче обрабатывает
символьный массив.
Содержание отчета
Титульный лист по стандартной форме.
Постановку задачи.
Необходимые математические выкладки (и/или поясняющую картинку).
Алгоритм решения задачи (в виде блок-схемы или в текстуальной форме).
Тексты программы.
Тестовые наборы (тест – это проверка работоспособности программы по контрольным
значениям данных).
Результаты вычислений по каждому тесту.
Отчет для лабораторной работы составляется в одном экземпляре и подлежит защите.
Для защиты лабораторной работы студент должен подготовиться к ответу на контрольные
вопросы.
Вопросы для защиты работы
Какую структуру данных описывает двумерный массив? Как в программе использовать
значение конкретного элемента? Какой индекс двумерного массива изменяется быстрее при
последовательном размещении элементов массива в оперативной памяти?
Какой массив для обработки использует вложенные операторы цикла? Как они
работают? Нарисуйте графическую схему выполнения.
Внешний цикл образован оператором цикла с параметром i, меняющимся от 1 до 5,
внутренний – с параметром j, меняющимся от 3 до 7. Опишите последовательность
изменения значений i и j.
Сколько раз выполнится тело внутреннего цикла, если во внешнем цикле параметр
цикла меняется от 1 до 4, а во внутреннем – от 1 до 3?
Может ли тело внутреннего оператора вложенного цикла не выполниться ни разу?
Выполняться бесконечное число раз?
Вложенный цикл образован двумя операторами цикла с параметром. Можно ли во
внешнем и внутреннем циклах использовать один и тот же параметр цикла (переменную
цикла)?
Внешний цикл образован оператором цикла с постусловием. Можно ли в качестве
внутреннего цикла использовать оператор цикла с параметром? А оператор цикла с
предусловием?
Для чего используются величины, представляющие собой символьные строки? Как они
описываются?
Опишите, что представляет собой таблица ASCII.
209
Лабораторная
работа
Программирование в среде разработки Borland C++ Builder. Основы работы
№ 12
Время выполнения – 6 часов.
Цель работы
Научиться использовать управляющие элементы Label, Edit, Button, CheckBox,
RadioGroup, ComboBox.
Задачи лабораторной работы
После выполнения работы студент должен уметь:
вводить и редактировать текст;
получать справку от Builder;
запускать на выполнение программу;
искать и исправлять синтаксические и семантические ошибки;
написать текст программы на языке C++Builder;
применять правила использования в структуре программы основных управляющих
элементов Label, Edit, Button, CheckBox, RadioGroup, ComboBox.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со следующим
программным обеспечением: операционная система семейства Windows и среда разработки
программ Borland С++ Builder v.6.0.
Общие теоретические сведения
Изучение управляющих элементов Label, Edit и Button
Изучать наиболее часто используемые управляющие элементы Label, Edit и Button
легче, написав программу, например, для расчета суммы вклада в банке с учетом процентной
ставки. Для создания формы используются компоненты: Label – для подписей; Edit – для
ввода и вывода; Button – для инициирования вычислений. Рекомендуемая компоновка
формы программы представлена на рисунке 1.
Рисунок 1 – Рекомендуемая компоновка формы
Для создания такой формы необходимо выполнить следующие действия.
210
Запустить C++ Builder. При запуске автоматически создается новый проект. Окно
C++Builder показано на рисунке 2. Для создания нового проекта, в случае если он не
создался автоматически или вы его закрыли, необходимо выполнить команду меню File /
New /Application.
Рисунок 2 – Интерфейс среды программирования C++Builder
Сохранить проект, выполнив команду меню File / Save Project As. При этом, будет
сохранено несколько файлов проекта.
На панели компонентов выбрать вкладку Standard, выбрать компонент Label
и
щелкнуть левой кнопкой мыши по форме. На этой же вкладке выбрать компонент Edit
и Button
. Расположить четыре объекта Label, четыре объекта Edit, один объект Button
на форму как показано на рисунке 1.
Изменить подпись формы. Для этого выбрать форму (щелкнуть по заголовку формы) и
в окне свойств объекта во вкладке Properties изменить значение свойства Caption (рис. 3).
Вместо подписи Form1 ввести «Вклад».
211
Рисунок 3 – Свойство формы Caption (подпись)
Изменить подписи объектов Label1 - Label4 в соответствии с рисунком 1. Для этого
выбрать каждый объект Label и в окне свойств объекта во вкладке Properties изменить
значение свойства Caption.
Убрать текст из объектов Edit1 – Edit4 (например, в поле Edit1 написано «Edit1»). Для
этого выбрать каждый объект Edit и в окне свойств объекта во вкладке Properties очистить
значение свойства Text.
Поскольку объект Edit4 мы будем использовать для вывода результата (то есть
заполняться он будет по нажатию на кнопку, а не вручную), нужно изменить его свойство
ReadOnly на значение true
(что позволит сделать объект Edit4 только
для чтения).
Изменить подпись кнопки Button1. Для этого выбрать объект Button1 и в окне свойств
объекта во вкладке Properties изменить значение свойства Caption на «Вычислить».
Объекты Edit1 – Edit3 предназначены для ввода числовых данных, необходимых для
расчета суммы вклада. Для того чтобы пользователь не смог ввести буквы или другие
символы, которые могу вызвать ошибку при расчетах, необходимо сделать обработчик
нажатий клавиш на клавиатуре. Для этого необходимо выбрать объект Edit1 и в окне свойств
объекта открыть вкладку Events («События»)
. В появившемся списке найти
событие OnKeyPress («по нажатию клавиши»)
и сделать двойной
щелчок левой кнопкой мыши по пустому полю. В появившейся заготовке функции написать
код обработки нажатия клавиш:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if ((Key>='0' && Key<='9')||(Key==',')||(Key==(char)8)) {}
else Key=0;
}
Этим действием все клавиши будут отфильтрованы на клавиатуре кроме цифровых от 0
до 9, запятой и BackSpase (код клавиши 8). Нажатие ненужных клавиш будет
игнорироваться.
Для объектов Edit2 и Edit3 на обработку события OnKeyPress следует подключить уже
созданную функцию Edit1KeyPress. Для этого необходимо выбрать эту функцию в
выпадающем списке события OnKeyPress.
Общая сумма вклада на один год рассчитывается по формуле:
ОбщСумма=Сумма*Ставка/100
Общая сумма вклада на n-лет рассчитывается по формуле:
n
ОбщСумма   (ОбщСумма i 1  Ставка / 100)
i 1
, если ОбщСумма0=Сумма
Для реализации расчета в программе необходимо добавить обработчик нажатия кнопки
Button1. Для этого дважды щелкнуть по объекту Button1 и в появившейся заготовке функции
написать программный код расчета суммы вклада. По тексту программного кода даны
комментарии, пошагово описывающие последовательность действий, а для возможности
212
использования функции округления ceil необходимо подключить модуль math.h (в начале
кода программы): #include<math.h>
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int i; //объявление переменной для цикла
float summa; //объявление переменной для начальной суммы вклада
int srok;
// объявление переменной для срока вклада
float stavka; // объявление переменной для размера ставки по вкладу
float summa_vklada;//объявление переменной для расчета общей суммы вклада
//проверка заполнения полей Edit1-Edit3
if (Edit1->Text=="" || Edit2->Text=="" || Edit3->Text=="")
{
//если хоть одно поле не заполнено выдается сообщение
ShowMessage("Заполените все поля");
return; //завершение выполнения функции
}
/*в переменную summa помещаем значение из поля Edit1 как вещественное число*/
summa=Edit1->Text.ToDouble();
/*в переменную srok помещаем значение из поля Edit2 как целое число*/
srok=Edit2->Text.ToInt();
/*в переменную stavka помещаем значение из поля Edit3 как вещественное число*/
stavka=Edit3->Text.ToDouble();
//изначально общая сумма вклада равна начальной сумме вклада
summa_vklada=summa;
//выполняем цикл столько раз на сколько лет был оформлен вклад
for (i=1;i<=srok;i++)
//в цикле расчитываем общую сумму вклада
summa_vklada=summa_vklada+summa_vklada*stavka/100;
//округляем общую сумму до 2 знаков, преобразовываем вещественный
//тип данных в строковый и записываем в Edit4
Edit4->Text=FloatToStr(ceil(summa_vklada*100)/100);
}
Сохраняется проект нажатием кнопки
отладка и тестирование программы.
на панели инструментов. Далее проводится
Задание 1.
Написать программу расчета стоимости поездки на автомобиле, если известна цена
бензина (руб./л), потребление бензина (литр на 100 км) и расстояние (км). Защитить
программу.
Технология выполнения работы
Для создания формы использовать компоненты: Label – для подписей; Edit – для ввода
и вывода; Button – для инициирования вычислений.
Рекомендуемая компоновка формы (рис. 4):
213
Рисунок 4 – Рекомендуемая компоновка формы
Поля «Цена бензина», «Потребление бензина» и «Расстояние» должно быть с
проверкой вводимых данных для предотвращения ввода нечисловых данных.
Программа должна выдавать сообщение об ошибке, если не заполнено хотя бы одно
поле из трех («Цена бензина», «Потребление бензина» и «Расстояние»).
Поле «Стоимость» должно быть только для чтения.
Изучение управляющего элемента CheckBox
Изучать управляющий элемент CheckBox лучше, написав программу, например,
расчета стоимости электронного заказа по меню. Список блюд выбирается с помощью
компонента CheckBox. При выборе какого-либо блюда автоматически высчитывается
стоимость заказа (при установлении флажка – счет увеличивается на стоимость блюда, при
снятии – уменьшаться на соответствующее значение). При нажатии на кнопку «Заказать»
появляется сообщение об успешном заказе с общим счетом заказа.
Для создания формы используются компоненты: Label – для подписей; CheckBox – для
выбора; Edit – для вывода; Button – для инициирования вычислений. Рекомендуемая
компоновка формы программы представлена на рисунке 5.
214
Рисунок 5 – Рекомендуемая компоновка формы
Для создания такой формы необходимо выполнить следующие действия.
Запустить C++Builder. При запуске автоматически создается новый проект.
На панели компонентов выбрать вкладку Standard, выбрать компонент Label
и
щелкнуть левой кнопкой мыши по форме. На этой же вкладке выбрать компонент CheckBox
, Edit
и Button
. Расположить три объекта Label, семь объектов CheckBox,
один объект Edit и один объект Button на форму как показано на рисунке 5.
Изменить подпись формы. Для этого выбрать форму (щелкнуть по заголовку формы) и
в окне свойств объекта во вкладке Properties изменить значение свойства Caption. Вместо
подписи Form1 ввести «Меню».
Рисунок 6 – Свойство формы Caption (подпись)
215
Изменить подписи объектов Label1 - Label3 в соответствии с рисунком 6. Для этого
выбрать каждый объект Label и в окне свойств объекта во вкладке Properties изменить
значение свойства Caption.
Изменить подписи объектов CheckBox1 - CheckBox7. Название блюд можно придумать
самим. Для изменения подписи объекта CheckBox выбрать каждый объект CheckBox и в
окне свойств объекта во вкладке Properties изменить значение свойства Caption.
Выбрать объект Edit1 и в окне свойств объекта во вкладке Properties присвоить
свойству Text значение «0» (ноль).
Поскольку объект Edit1 используется для вывода результата (то есть заполняться он
будет по нажатию на кнопку, а не вручную), нужно изменить его свойство ReadOnly на
значение true
(то есть сделать объект Edit1 только для чтения).
Изменить подпись кнопки Button1. Для этого выбрать объект Button1 и в окне свойств
объекта во вкладке Properties изменить значение свойства Caption на «Заказать».
Изначально ни одно блюдо не выбрано и общая стоимость заказа (счет) равна нулю.
Для расчета общей стоимости заказа необходимо объявить глобальную переменную и задать
ей значение 0 (ноль). Для этого нужно выделить форму и в окне свойств объекта во вкладке
Events (События) дважды щелкнуть левой кнопкой мыши напротив события OnCreate. Перед
заготовкой функции объявим переменную schet, а в теле функции приравняем переменную
schet к нулю.
Каждое блюдо из меню должно иметь свою стоимость. Допустим, цены на блюда будут
следующие:
Фаршированная форель 369 руб.;
Телятина под соусом 349 руб.;
Крем-суп из шампиньонов 189 руб.;
Рулет со шпинатом 179 руб.;
Пицца гавайская 299 руб.;
Ванильный коктейль 149 руб.;
Напиток грейпфрут 199 руб.
Стоимость каждого блюда должна быть записана в массив price, который должен
выглядеть следующим образом:
0
369
1
349
2
189
3
179
4
299
5
149
6
199
Стоимость заказа должна состоять из стоимости выбранных блюд. Например, при
выборе фаршированной форели (нулевой элемент в массиве) стоимость заказа должна
увеличиться на 369 руб., то есть sсhet=schet+price[0];
Если отказываются от форели (то есть снимается галочка), то стоимость заказа должна
уменьшится на 369 руб., то есть schet=schet-price[0]; Точно также должны обрабатываться
остальные блюда.
//объявление массива с ценами блюд
float price[7]={369,349,189,179,299,149,199};
/*
Фаршированная форель 369 руб.
- 0-ой элемент массива
Телятина под соусом 349 руб.
- 1-ой элемент массива
Крем-суп из шампиньонов 189 руб.
- 2-ой элемент массива
Рулет со шпинатом 179 руб.
- 3-ой элемент массива
Пицца Гавайская 299 руб.
- 4-ой элемент массива
Ванильный коктейль 149 руб.
- 5-ой элемент массива
216
Напиток Грейпфрут 199 руб.
*/
- 6-ой элемент массива
//объявление глобальной переменной для хранения общей стоимости заказа
float schet;
//функция выполняется при запуске программы в момент создания формы
void __fastcall TForm1::FormCreate(TObject *Sender)
{
schet=0;
//изначально счет равен нулю
}
Для создания функции-обработчика нажатий для объекта CheckBox1 – необходимо
дважды щелкнуть по нему левой кнопкой мыши. В появившейся заготовке функции
необходимо написать программный код, который будет выполнятся при установке или
снятию флажка в объекте CheckBox1.
Пример кода для объекта CheckBox1 (Фаршированная форель 369 руб.) приведен ниже:
//функция-обработчик события, которое происходит при нажатии на CheckBox1
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
if (CheckBox1->Checked==true) //условие. Если галочка стоит, то
schet=schet+price[0]; //увеличиваем счет на стоимость блюда
else schet=schet-price[0]; //иначе уменьшаем счет на стоимость блюда
Edit1->Text=FloatToStr(schet); //вывод счета в поле объекта Edit1
}
Так же создаются и функции-обработчики для остальных пунктов меню (объектов
CheckBox2 - CheckBox7).
При нажатии на кнопку «Заказать» должно появиться сообщение о принятии заказа. В
сообщении должна быть указана общая стоимость заказа.
Для обработки нажатия кнопки необходимо дважды щелкнуть левой кнопкой мыши на
объекте Button1 и в появившейся заготовке функции написать программный код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString s; //объявляем строковую переменную
//строка s должна содержать общую стоимость заказа
//составление строки s
s="Ваш заказ на сумму " + FloatToStr(schet) + " руб. принят";
//вывод информационного сообщения о сделаном заказе
MessageDlg(s,mtInformation,TMsgDlgButtons()<<mbOK,0);
}
Сохраняется проект нажатием кнопки
отладка и тестирование программы.
на панели инструментов. Далее проводится
Изучение управляющего элемента RadioGroup
Изучать управляющий элемент RadioGroup лучше, написав программу, например, для
расчета сопротивления резисторов, соединенных параллельно или последовательно.
Для создания формы используются компоненты: Label – для подписей; Edit – для ввода
и вывода; RadioGroup – для выбора одного из перечисленных вариантов; Button – для
217
запуска вычислений. Рекомендуемая компоновка формы программы представлена на
рисунке 7.
Рисунок 7 – Рекомендуемая компоновка формы
Для создания такой формы необходимо выполнить следующие действия.
Запустить C++ Builder. При запуске автоматически создается новый проект. Для
создания нового проекта, в случае если он не создался автоматически или вы его закрыли,
выполнить команду меню File / New /Application.
Сохранить проект в свою рабочую папку, выполнив команду меню File / Save Project
As. Будет сохранено несколько файлов проекта.
На панели компонентов выбрать вкладку Standard, выбрать компонент Label
щелкнуть левой кнопкой мыши по форме. На этой же вкладке выбрать компонент Edit
и
,
Button
и RadioGroup
. Расположить три объекта Label, три объекта Edit, один
объект Button и один объект RadioGroup на форму как показано на рисунке 6. При создании
объекта RadioGroup1, он не содержит ни одного варианта выбора и по умолчанию выглядит
как показано на рисунке 8.
Рисунок 8 – Внешний вид объекта RadioGroup1 без настроек
Изменить подпись формы. Для этого выбрать форму (щелкнуть по заголовку формы) и
в окне свойств объекта во вкладке Properties изменить значение свойства Caption. Вместо
подписи Form1 ввести «Сопротивление» (рис. 9).
218
Рисунок 9 – Свойство формы Caption (подпись)
Изменить подписи объектов Label1- Label3 в соответствии с рисунком 6. Для этого
выбрать каждый объект Label и в окне свойств объекта во вкладке Properties изменить
значение свойства Caption.
Убрать текст из объектов Edit1 – Edit3 (например, в поле Edit1 написано «Edit1»). Для
этого выбрать каждый объект Edit и в окне свойств объекта во вкладке Properties очистить
значение свойства Text.
Поскольку объект Edit3 используется для вывода результата (то есть заполняться он
будет по нажатию на кнопку, а не вручную), нужно изменить его свойство ReadOnly на
значение true
(то есть сделать объект Edit3 только для чтения).
Настроить объект RadioGroup1. Этот объект будет использоваться как переключатель
способов соединения резисторов (параллельное и последовательное). Задать подпись объекта
можно, изменив значение свойства Caption на «Соединение». Для того чтобы создать список
вариантов для переключения необходимо найти в списке свойств объекта RadioGroup1
свойство Items и щелкнуть левой кнопкой мыши на кнопке с тремя точками (рисунок 10). В
появившемся окне (рис. 11) перечислить возможные варианты подключения.
219
Рисунок 10 – Список свойств объекта RadioGroup1
Рисунок 11 – Окно редактора списка вариантов
Для программного выбора одного из вариантов в объекте RadioGroup используется
свойство ItemIndex. Это же свойство позволяет отслеживать выбранный вариант. Так для
выбора первого варианта (параллельного соединения) нужно задать значение свойства
ItemIndex = 0 (рис. 10).
В результате проделанных операций объект RadioGroup1 будет содержать два пункта,
первый будет выбран (рис. 12).
220
Рисунок 12 – Настроенный объект RadioGroup
Изменить подпись кнопки Button1. Для этого выбрать объект Button1 и в окне свойств
объекта во вкладке Properties изменить значение свойства Caption на «Расчет».
Объекты Edit1 и Edit2 предназначены для ввода числовых данных, необходимых для
расчета сопротивления. Для того чтобы пользователь не смог ввести буквы или другие
символы, которые могу вызвать ошибку при расчетах, необходимо сделать обработчик
нажатий клавиш на клавиатуре. Для этого необходимо выбрать объект Edit1 и в окне свойств
объекта открыть вкладку Events («События»)
. В появившемся списке найти
событие OnKeyPress («по нажатию клавиши»)
и сделать двойной
щелчок левой кнопкой мыши по пустому полю. В появившейся заготовке функции написать
код обработки нажатия клавиш:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if ((Key>='0' && Key<='9')||(Key==',')||(Key==(char)8)) {}
else Key=0;
}
Этим самым все клавиши стали отфильтрованы на клавиатуре, кроме цифровых от 0 до
9, запятой и BackSpase (код клавиши 8). Теперь нажатие ненужных клавиш будет
игнорироваться.
Для объектов Edit2 на обработку события OnKeyPress следует подключить уже
созданную функцию Edit1KeyPress. Для этого необходимо выбрать эту функцию в
выпадающем списке события OnKeyPress
Сопротивление для последовательного соединения вычисляется по формуле R=R1+R2;
а для параллельного R=(R1*R2)/(R1+R2).
Для реализации расчета в программе необходимо добавить обработчик нажатия кнопки
Button1. Для этого надо дважды щелкнуть по объекту Button1 и в появившейся заготовке
функции написать программный код расчета общего сопротивления.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double R1,R2,R; //объявление вещественных переменных
//проверка заполнения полей Edit1 и Edit2
if (Edit1->Text=="" || Edit2->Text=="") /*если хотя бы одно поле не
заполнено, то*/
{ShowMessage("Введите все данные"); //появляется сообщение
221
return;}
//и работа функции прекращается.
R1=Edit1->Text.ToDouble(); //Значение переменной R1 берем из Edit1
R2=Edit2->Text.ToDouble(); //Значение переменной R2 берем из Edit2
if (RadioGroup1->ItemIndex==0) //Если выбран 1-ый вариант соединения, то
R=(R1*R2)/(R1+R2);
//сопротивление вычисляется по формуле
if (RadioGroup1->ItemIndex==1) //Если выбран 2-ой вариант соединения
R=R1+R2;
//сопротивление вычисляется по формуле
//округляем результат до 2-го знака и записываем в Edit3
Edit3->Text=FloatToStr(ceil(R*100)/100);
}
Далее проект сохраняется, проводится отладка и тестирование программы.
Задание 2.
Написать программу расчета значений тригонометрических функций для угла X.
Защитить программу.
Технология выполнения работы
Рисунок 13 – Рекомендуемая компоновка формы
Угол может быть введен как в радианах (по умолчанию), так и в градусах. Для указания
того, что введенный угол в градусах на форму поместить переключатель CheckBox (рис. 13).
Выбор тригонометрической функции должен осуществляться с помощью объекта
RadioGroup.
По умолчанию программа должна выдавать результат, округленный до четвертого
знака. Для возможности получения неокругленного результата использовать переключатель
CheckBox.
Поле «Угол X=» сделать с проверкой вводимых данных для исключения ввода
нечисловых данных.
Программа должна выдавать сообщение об ошибке, если поле «Угол X=» не заполнено.
Поле «Y=» должно быть только для чтения;
Изучение управляющего элемента ComboBox
222
Изучать управляющий элемент ComboBox проще, написав программу, например, для
перевода единиц измерения длины.
Рекомендуемая компоновка формы программы представлена на рисунке 14.
Рисунок 14 – Рекомендуемая компоновка формы
Для создания формы использованы компоненты: Label – для подписей;
Edit – для ввода и вывода; ComboBox – для выбора единиц измерения исходной и
результирующей величины; Button – для инициирования вычислений.
Для создания такой формы необходимо выполнить следующие действия.
Запустить C++ Builder. При запуске автоматически создается новый проект. Для
создания нового проекта, в случае если он не создался автоматически или вы его закрыли,
выполнить команду меню File / New /Application.
Сохранить проект в свою рабочую папку, выполнив команду меню File / Save Project
As. Будет сохранено несколько файлов проекта.
На панели компонентов выбрать вкладку Standard, выбрать компонент Label
щелкнуть левой кнопкой мыши по форме. На этой же вкладке выбрать компонент Edit
и
,
Button
и ComboBox
. Расположить три объекта Label, два объекта Edit, один объект
Button и два объекта ComboBox на форму как показано на рисунке 14.
Изменить подпись формы. Для этого выбрать форму (щелкнуть по заголовку формы) и
в окне свойств объекта во вкладке Properties изменить значение свойства Caption (рис. 15).
Вместо подписи Form1 ввести «Конвертер».
223
Рисунок 15 – Свойство формы Caption (подпись)
Изменить подписи объектов Label1- Label3 в соответствии с рисунком 12. Для этого
выбрать каждый объект Label и в окне свойств объекта во вкладке Properties изменить
значение свойства Caption.
Убрать текст из объектов Edit1 и Edit2. Для этого выбрать каждый объект Edit и в окне
свойств объекта во вкладке Properties очистить значение свойства Text.
Поскольку объект Edit2 будет использоваться для вывода результата (то есть
заполняться он будет по нажатию на кнопку, а не вручную), нужно изменить его свойство
ReadOnly на значение true
(то есть сделать объект Edit2 только для
чтения).
Настроить объекты ComboBox1 и ComboBox2. Эти объекты представляют собой
выпадающие списки и будут использоваться для выбора единиц измерения длины. Для
заполнения списков необходимо в окне свойств объекта во вкладке Properties найти свойство
Items и щелкнуть левой кнопкой мыши на кнопке с тремя точками (рисунок 16).
Рисунок 16 – Список свойств объекта ComboBox1
В появившемся окне (рис. 17) перечислить единицы измерения.
224
Рисунок 17 – Окно редактора списка
Для программного выбора варианта из списка в объекте ComboBox используется
свойство ItemIndex. Это же свойство позволяет отслеживать выбранный вариант. Так для
выбора первого варианта (единица измерения мм) нужно задать значение свойства ItemIndex
= 0 (рис. 16).
Для задания стиля объекта используется свойство Style. По умолчанию значением
свойства Style является csDropDown. При таком стиле пользователь может не только
выбирать значения из списка, но и осуществлять ввод в окно объекта ComboBox. Поскольку
программа будет работать только с заранее заданным набором единиц измерения
необходимо запретить редактирование полей ComboBox1 и ComboBox2. Для этого нужно
поменять значение свойства Style на csDropDownList. Объект ComboBox со значением
свойства Style равным csDropDownList не допускает редактирования и, значит, пользователь
просто не сможет указать неправильные данные.
Изменить подпись кнопки Button1. Для этого выбрать объект Button1 и в окне свойств
объекта во вкладке Properties изменить значение свойства Caption на «Расчет».
Объект Edit1 предназначен для ввода числовых данных, предназначенных для перевода
в другие единицы измерения. Для того чтобы пользователь не смог ввести буквы или другие
символы, которые могу вызвать ошибку при расчетах, необходимо сделать обработчик
нажатий клавиш на клавиатуре. Для этого необходимо выбрать объект Edit1 и в окне свойств
объекта открыть вкладку Events («События»)
. В появившемся списке найти
событие OnKeyPress («по нажатию клавиши»)
и сделать двойной
щелчок левой кнопкой мыши по пустому полю. В появившейся заготовке функции написать
код обработки нажатия клавиш:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
if ((Key>='0' && Key<='9')||(Key==',')||(Key==(char)8)) {}
else Key=0;
}
225
Этим самым все клавиши стали отфильтрованы на клавиатуре кроме цифровых от 0 до
9, запятой и BackSpase (код клавиши 8). Теперь нажатие ненужных клавиш будет
игнорироваться.
Для перевода длины из одной единицы измерения в другую нужно перевести величину
в базовую единицу измерения (например, метры), а потом уже в требуемую. Например,
необходимо перевести 5 миль в ярды. Переводим мили в метры: 5миль=8045м, а затем из
метров переводим в ярды: 8045м=8801,969365426696 ярдов.
Таблица соотношений единиц измерений длин с метрами:
1мм=0,001м
1км=1000м
1см=0,01м
1миля=1609м
1фут=0,305м
1ярд=0,914м
Для реализации расчета в программе необходимо добавить обработчик нажатия кнопки
Button1. Для этого дважды щелкнуть по объекту Button1 и в появившейся заготовке функции
написать программный код перевода единиц измерения.
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double v1,v2; //объявление переменных вещественного типа
int i1,i2; //объявление переменных целого типа
if (Edit1->Text=="") //проверка если не заполнено поле Edit1 то…
{
ShowMessage("Введите исходную величину"); //выдается сообщение
return;
//выход из функции
}
Form1->Edit2->Clear(); //очистка поля Edit2
//в переменную i1 помещаем индекс выбранной строки в объекте ComboBox1
i1=Form1->ComboBox1->ItemIndex;
//в переменную i2 помещаем индекс выбранной строки в объекте ComboBox2
i2=Form1->ComboBox2->ItemIndex;
//в переменную v1 помещаем исходное значение длины
v1=Form1->Edit1->Text.ToDouble();
//перевод из исходной единицы измерения в метры
switch (i1) // оператор выбора из множества вариантов
// проверяется значение переменной i1
{
case 0: v1=v1/1000.0; break; //если i1=0, то v1=v1/1000.0;
case 1: v1=v1/100.0; break; //если i1=1, то ...
case 2: v1=v1; break;
case 3: v1=v1*1000; break;
case 4: v1=v1*1609; break;
case 5: v1=v1*0.305; break;
case 6: v1=v1*0.914; break;
}
//перевод из метров в требуемую единицу измерения
switch (i2) // оператор выбора из множества вариантов
// проверяется значение переменной i2
{
case 0: v2=v1*1000; break; //если i2=0, то v2=v1*1000;
226
case 1: v2=v1*100; break;
case 2: v2=v1; break;
case 3: v2=v1/1000.0; break;
case 4: v2=v1/1609.0; break;
case 5: v2=v1/0.305; break;
case 6: v2=v1/0.914; break;
}
// записываем переведенное значение в поле объекта Edit2
Form1->Edit2->Text=FloatToStr(v2);
}
Не забыть сохранить проект нажатием кнопки
отладку и тестирование программы
на панели инструментов, провести
Задание 3.
Написать программу расчета количества секунд между двумя моментами времени.
Защитить программу.
Технология выполнения работы
Рисунок 18 – Рекомендуемая компоновка формы
Заполнить вручную списки объектов ComboBox (часы от 0 до 23, минуты и секунды от
0 до 59).
Поле «Прошло секунд» должно быть только для чтения.
Показать программу преподавателю (рис. 18).
Модифицировать программу. Реализовать программное заполнение списков часов,
минут и секунд во время запуска программы. Чтобы списки ComboBox1- ComboBox6
заполнялись автоматически при запуске программы, необходимо использовать функциюконструктор формы TForm1(TComponent*Owner). Заготовка этой функции вставляется в
программный модуль автоматически при создании проекта. В заготовке функции
необходимо написать программный код:
__fastcall TForm1::TForm1(TComponent* Owner)
227
: TForm(Owner)
{
int i;
ComboBox1->Clear(); //очищаем ComboBox1
ComboBox2->Clear(); //очищаем ComboBox2
ComboBox3->Clear(); //очищаем ComboBox3
ComboBox4->Clear(); //очищаем ComboBox4
ComboBox5->Clear(); //очищаем ComboBox5
ComboBox6->Clear(); //очищаем ComboBox6
for (i=0;i<=23;i++)
//циклом, где i изменяется от 0 до 23
ComboBox1->Items->Append(IntToStr(i)); //заполняем ComboBox1 - часы
ComboBox4->Items=ComboBox1->Items; /*копируем содержимое ComboBox1 в
ComboBox4*/
for (i=0;i<=59;i++)
//циклом, где i изменяется от 0 до 59
ComboBox2->Items->Append(IntToStr(i)); //заполняем ComboBox2 - минуты
ComboBox3->Items=ComboBox2->Items; /*копируем содержимое ComboBox2 в
ComboBox3*/
ComboBox5->Items=ComboBox2->Items; /*копируем содержимое ComboBox2 в
ComboBox5*/
ComboBox6->Items=ComboBox2->Items; /*копируем содержимое ComboBox2 в
ComboBox6*/
ComboBox1->ItemIndex=0; //выбираем первое значение в списке ComboBox1
ComboBox2->ItemIndex=0; //выбираем первое значение в списке ComboBox2
ComboBox3->ItemIndex=0; //выбираем первое значение в списке ComboBox3
ComboBox4->ItemIndex=0; //выбираем первое значение в списке ComboBox4
ComboBox5->ItemIndex=0; //выбираем первое значение в списке ComboBox5
ComboBox6->ItemIndex=0; //выбираем первое значение в списке ComboBox6
}
При выполнении выше указанного кода будет очищаться содержимое объектов
ComboBox1-ComboBox6. Далее циклом заполниться объект ComboBox1. Поскольку объекты
ComboBox1 и ComboBox4 имеют одинаковое содержимое (часы), то можно произвести
копирование списка из объекта ComboBox1 в ComboBox4. После копирования циклом
заполняется список объекта ComboBox2 (минуты). Поскольку минуты и секунды изменяются
от 0 до 59, то можно произвести копирование списка объекта ComboBox2 в объекты
ComboBox3, ComboBox5 и ComboBox6.
После того, как все объекты ComboBox заполнены необходимо программным путем
выбрать первый элемент в списках этих объектов. Для этого используется свойство
ItemIndex.
Вопросы для защиты работы
Назовите основные элементы пользовательского интерфейса Borland C++ Builder v.6.0.
Какие управляющие элементы вы знаете? Для чего они могут быть использованы в
программе?
Как программно реализовать контроль вводимых данных в поле элемента управления
Edit?
Назовите основные свойства управляющего элемента CheckBox.
Как использовать управляющий элемент RadioGroup?
Заполнение выпадающего списка управляющего элемента ComboBox.
228
Использование оператора выбора switch-case.
229
Лабораторная
работа
№ 13
Программирование в среде разработки Borland C++ Builder. Обработка массивов данных
Время выполнения – 6 часов.
Цель работы
Научиться использовать управляющий элемент StringGrid при обработке массивов
данных.
Задачи лабораторной работы
После выполнения работы студент должен уметь:
создавать консольные приложения;
применять правила использования в структуре программы управляющего элемента
StringGrid при обработке массивов данных;
обрабатывать массивы данных.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со следующим
программным обеспечением: операционная система семейства Windows и среда разработки
программ Borland С++ Builder v.6.0.
Общие теоретические сведения
Консольное приложение в среде C++ Builder
Консоль – это монитор и клавиатура, рассматриваемые как единое устройство.
Консольное приложение – программа, предназначенная для работы в операционной системе
MS-DOS (или командной строке Windows), для которой устройством ввода является
клавиатура, а устройством вывода монитор, работающий в режиме отображения символьной
информации (буквы, цифры и специальные знаки).
Консольные приложения удобны как иллюстрации при рассмотрении общих вопросов
программирования, когда надо сосредоточиться на сути проблемы, а также как небольшие
утилиты "для внутреннего потребления".
Для создания консольной программы в среде C++Builder 6.0 необходимо выполнить
команду File/New/Other (рис. 1).
230
Рисунок 1 – Создание нового проекта
В появившемся окне (рис. 2) выбрать Console Wizard.
Рисунок 2 – Создание консольного проекта
Далее необходимо настроить проект (рис. 3).
231
Рисунок 3 – Настройки проекта Console Wizard
После нажатия на кнопку OK появится окно (рис. 4) с заготовкой функции main().
Рисунок 4 – Заготовка функции main()
Если программа будет запускаться с параметрами, то следует использовать
предложенную заготовку функции main(). Если параметры запуска программы использовать
не планируется, то можно полностью очистить окно программного кода и начать писать
программу с «чистого листа».
Пример решения задачи помощью консольного приложения.
Условие задачи.
В заданном массиве вещественных чисел размерностью 3х3 найти и вывести на экран
максимальное и минимальное значение. Массив вводится пользователем с клавиатуры.
Программный код.
#include<iostream.h> //заголовочный файл потокового ввода/вывода
#include<conio.h> //заголовочный файл работы с консолью
void main(void)
232
{
const int c=3,r=3; //константы: с-кол-во столбцов, r- кол-во строк
double mas[r][c]; //двумерный массив вещественных чисел
int i,j;
//переменные - счетчики циклов
double max,min;
//максимум и минимум
cout<<"Enter massive:"<<endl;
for (j=0;j<r;j++) //цикл перебора строк массива
{
for (i=0;i<c;i++) //цикл перебора столбцов массива
{
cout<<"mas["<<j<<"]["<<i<<"]="; /*вывод координат текущей ячейки
массива*/
cin>>mas[j][i];
/*ввод значения текущей ячейки
массива*/
}
}
max=mas[0][0];
min=mas[0][0];
//предполагаем, что максимум находится в первой ячейке
//предполагаем, что минимум находится в первой ячейке
for (j=0;j<r;j++) //цикл перебора строк массива
{
for (i=0;i<c;i++) //цикл перебора столбцов массива
{
if (mas[j][i]<min) min=mas[j][i]; /*если текущий элемент массива
меньше минимума, то минимум = текущему элементу*/
if (mas[j][i]>max) max=mas[j][i]; /* если текущий элемент больше
максимума, то максимум = текущему элементу*/
}
}
cout<<"max="<<max<<endl<<"min="<<min; //вывод максимума и минимума
getch();
//ожидание нажатия любой клавиши
}
Задание 1.
Написать программу обработки массива, используя управляющий элемент StringGrid, к
следующим задачам:
Для каждого столбца квадратного массива (6х6) определить сумму тех двух элементов,
которые принадлежат главной и побочной диагоналям (массив вводится пользователем с
клавиатуры).
Заполнить квадратный массив размером 6х6 таким образом, чтобы его элементы имели
значения, симметричные относительно главной диагонали.
Защитить программу.
Изучение управляющего элемента StringGrid
Компонент StringGrid представляет собой таблицу, содержащую строки. Данные
таблицы могут быть только для чтения или редактируемыми. Таблица может иметь полосы
прокрутки, причем заданное число первых строк и столбцов может быть фиксированным и
не прокручиваться. Таким образом, можно задать заголовки столбцов и строк, постоянно
присутствующие в окне компонента. Каждой ячейке таблицы может быть поставлен в
соответствие некоторый объект.
233
Компонент StringGrid
находится на вкладке Additional панели компонентов.
Таблица StringGrid состоит из выделенных серым FixedCols и FixedRows зафиксированных ячеек-заголовков, и обычных, белых ячеек. Содержимое Fixed ячеек
недоступно для редактирования, и меняется только программно. Для установки количества
фиксированных ячеек можно изменить значение свойств FixedCols и FixedRows в окне
свойств Object Inspector. Или поменять количество фиксированных строк и столбцов
программно, написав в коде программы следующие команды:
StringGrid1-> FixedCols=1; // устанавливает 1 фиксированный столбец
StringGrid1-> FixedRows=1; // устанавливает 1 фиксированную строку
Общее количество строк и столбцов в таблице можно установить вручную в окне
Object Inspector, отредактировав свойства RowCount и ColCount, а можно изменить
программно в ходе выполнения программного кода, написав следующие команды:
StringGrid1->RowCount=5 //устанавливаем общее кол-во строк равное 5
StringGrid1->ColCount=7 //устанавливаем общее кол-во столбцов равное 7
Эти свойства доступны как для записи (при установке количества строк и столбцов),
так и для чтения (при проверке размер таблицы).
За многие свойства компонента StringGrid отвечает свойство Options. В Инспекторе
Объектов Options – это раскрывающийся список, представляющий собой элементы данного
множества. Если значение элемента равно True, то он присутствует в множестве, если False –
то нет (рис. 5).
Рисунок 5 – Панель Object Inspector
Таблица 1. Свойства компонента StringGrid
Свойство
Назначение
goFixedVertLine
Наличие вертикальных разделительных
"фиксированными" ячейками
goFixedHorzLin
Наличие горизонтальных разделительных
e
"фиксированными" ячейками
goVertLine
Наличие вертикальных разделительных
"обычными" ячейками
goHorzLine
Наличие горизонтальных разделительных
234
линий между
линий между
линий между
линий между
goRangeSelect
goDrawFocusSe
lected
goRowSizing
goColSizing
goRowMoving
goColMoving
goEditing
goTabs
goRowSelect
goAlwaysShow
Editor
goThumbTracki
ng
"обычными" ячейками
Возможность выделить диапазон ячеек
Закрашивание ячейки с фокусом ввода
Возможность менять высоту строк мышкой
Возможность менять ширину столбцов мышкой
Возможность менять номер строки, то есть перемещать её,
мышкой
Возможность менять номер столбца, то есть перемещать
его, мышкой
Возможность редактировать содержимое ячейки с
клавиатуры
При значении True фокус смещается на следующую ячейку
в таблице, False - на следующий компонент
Выделяется вся строка с "фокусированной" ячейкой
При значении True содержимое ячейки при получении
фокуса сразу доступно редактированию, False - сначала
необходимо щёлкнуть по ней мышкой (прим.: не действует при
goRowSelect=True)
При значении True перемещение "бегунка" прокрутки
мышкой вызывает немедленное перемещение ячеек, False ячейки перемещаются только при отпускании "бегунка"
Как следует из таблицы, за возможность редактирования содержимого ячеек с
клавиатуры отвечает элемент goEditing свойства-множества Options. В Инспекторе Объектов
установите его значение в True. Чтобы управлять этой возможностью программно, нужно
включить или исключить из множества данный элемент:
StringGrid1->Options<<goEditing; /*Включаем редактирование, другие
элементы не трогаем*/
StringGrid1->Options>>goEditing; /*Выключаем редактирование, другие
элементы не трогаем*/
Компонент StringGrid имеет возможность адресации каждой отдельной ячейки по
номеру столбца и строки (рис. 6).
Рисунок 6 – Компонент StringGrid
Содержимое ячейки (i, j), где где i - номер столбца, j - номер строки, имеет вид:
StringGrid1->Cells[i][j] и доступно как для чтения, так и для записи.
Например:
StringGrid1->Cells[i][j]=”Hello”; - записывает слово в ячейку с координатами i и j.
235
a=StringGrid1->Cells[i][j]; - считывает содержимое ячейки с координатами i и j в
переменную a.
Номера столбцов (i) и строк (j) отсчитываются от нуля.
Выделенная ячейка таблицы имеет:
номер столбца: StringGrid1->Col
номер строки: StringGrid1->Row,
поэтому содержимое выделенной ячейки будет адресоваться так:
S=StringGrid1->Cells[StringGrid1->Col][StringGrid1->Row];
У таблицы StringGrid также есть свойство и для управления размером ячеек. Для всех
ячеек:
DefaultRowHeight - высота строк по умолчанию
DefaultColWidth - ширина столбцов по умолчанию
Эти значения ширины и высоты принимают все новые ячейки. При необходимости
индивидуально установить ширину и высоту столбцов и строк соответственно, пользуемся
свойствами:
RowHeights[i] - массив, содержащий высоты строк с номером i;
ColWidths[i] - массив, содержащий ширины столбцов с номером i.
Ширину, а также надписи заголовков, располагающиеся в строках и столбцах
"фиксированной" зоны таблицы можно настроить в обработчике события OnCreate формы
или в функции:
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
В результате таблица появляется уже в "настроенном" виде.
Задание 2.
Написать программу перемножения двух матриц размерностью 4х4. Защитить
программу.
Технология выполнения работы
Пример умножения двух матриц:
Умножить
на
.
Решение:
В ходе вычислений выполнены следующие действия:
Умножаем 1 строку на 1 столбец 1 · (-1) + (-2) · 23 + 3 · 4.4 + 1 (-4.4) = -38.2
Умножаем 1 строку на 2 столбец 1 · 2 + (-2) · (-23) + 3 · 12 + 1 · 12 = 96
Умножаем 1 строку на 3 столбец 1 · 3 + (-2) · 1 + 3 · 1 + 1 · (-1) = 3
Умножаем 2 строку на 1 столбец 23 · (-1) + (-23) · 23 + 1 · 4.4 + 2 · (-4.4) = -556.4
Умножаем 2 строку на 2 столбец 23 · 2 + (-23) · (-23) + 1 · 12 + 2 · 12 = 611
Умножаем 2 строку на 3 столбец 23 · 3 + (-23) · 1 + 1 · 1 + 2 · (-1) = 45
Умножаем 3 строку на 1 столбец (-44) · (-1) + 12 · 23 + 0 · 4.4 + 1 · (-4.4) = 315.6
236
Умножаем 3 строку на 2 столбец (-44) · 2 + 12 · (-23) + 0 · 12 + 1 · 12 = -352
Умножаем 3 строку на 3 столбец (-44) · 3 + 12 · 1 + 0 · 1 + 1 · (-1) = -121
Для работы с матрицами (ввод и вывод матриц) должен быть использован компонент
StringGrid. Рекомендуется следующая компоновка формы (рис. 7):
Рисунок 7 – Рекомендуемая компоновка формы
Перемножаемые матрицы должны вводиться пользователем. То есть таблица
StringGrid1 и StringGrid2 должны быть редактируемые.
Таблица с результатом StringGrid3 должна быть закрыта для редактирования
пользователем.
Вопросы для защиты работы
Порядок создания консольного приложения в среде Borland C++ Builder;
Работа с одномерными и двумерными массивами данных;
Назовите области применения управляющего элемента StringGrid;
Назовите основные свойства StringGrid и их назначения;
Настройка внешнего вида управляющего элемента StringGrid;
Работа с содержимым ячеек StringGrid.
237
Лабораторная
работа
Программирование в среде разработки Borland C++ Builder. Сортировка массивов
№ 14
Время выполнения – 6 часов.
Цель работы
Изучить алгоритмы сортировки массивов и научиться использовать их при обработке
данных, изучение управляющего элемента ListBox и функции Time().
Задачи лабораторной работы
После выполнения работы студент должен уметь:
применять алгоритмы сортировки массивов при обработке данных;
использовать управляющий элемент ListBox и функцию Time().
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со следующим
программным обеспечением: операционная система семейства Windows и среда разработки
программ Borland С++ Builder v.6.0.
Общие теоретические сведения
Выполнение лабораторной работы направлено на освоение основных приемов
использования массивов, методов доступа к элементам массивов, их реорганизации и
модификации. В качестве практической проблемы, требующей решения, рассматривается
известная задача сортировки (упорядочивания) массива в порядке возрастания его
элементов. При решении этой задачи требуется исходный массив, содержащий
произвольные целые числа, преобразовать к виду, когда каждый элемент массива находится
перед другим элементом этого массива, если его значение меньше (больше), чем значение
сравниваемого элемента.
В данной лабораторной работе необходимо изучить ряд известных алгоритмов
сортировки и создать комплекс программ, реализующий:
метод сортировки выбором;
метод сортировки пузырьком;
метод сортировки включением.
Метод сортировки выбором
Исходный массив длиной N разбивается на две части: итог и остаток. Участок массива,
называемый итогом, располагается с начала массива и должен быть упорядоченным, а
участок массива, называемый остатком, располагается вплотную за итогом и содержит
исходные числа не отсортированной части исходного массива.
Текстуальный алгоритм сортировки выбором.
Шаг 1. Полагается i=0, т.е. считается, что итоговый участок – пуст.
Шаг 2. В остатке массива ищется минимальный элемент и он меняется местом с
первым элементом остатка (i-ым элементом массива). После чего значение i увеличивается
на единицу, тем самым расширяя итоговый участок массива ( отсортированную часть
исходного массива).
Шаг 3. Если i < N, то повторяется Шаг 2. В противном случае – конец алгоритма, т.к.
итог становится равным всему массиву.
Конец алгоритма.
Схема алгоритма методом сортировки выбора представлена на рис. 1.
238
Рисунок
239
1
–
Схема
алгоритма
сортировки
методом
выбора
Метод сортировки включением
Этот метод похож на метод пузырька. Происходит такое же разбиение массива на
отсортированную и не отсортированную части, но перемещение первого элемента остатка на
принадлежащее ему место в итоге делается не сравнением двух соседних элементов, а с
помощью метода двоичного поиска, который удобно оформить в виде отдельной процедуры.
Текстуальный алгоритм методом включением.
Шаг 1. Пусть i=1 , т.е. итоговый участок состоит из одного элемента.
Шаг 2. Берется первый элемент остатка и перемещается в отсортированную часть
массива так, чтобы итоговый участок остался упорядоченным.
Шаг 3. После того, как первый элемент остатка переместился в итоговый участок,
увеличивается на единицу значение переменной i, тем самым увеличивая отсортированную
часть массива. Если i < N, то управление передается на Шаг 2, в противном случае - работа
алгоритма завершена.
Конец алгоритма.
Схема алгоритма метода сортировки включением представлена на рис. 3.
Рисунок 3 – Блок-схема алгоритма сортировки прямым включением
240
Пример использования генератора случайных чисел
При нажатии на кнопку Button1 генерируется случайное число и выводится на экран в
виде сообщения:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int a;
Randomize(); //включение генератора случайных чисел
a=5+random(5); //генерация случайного числа а, 5<=a<10
ShowMessag(IntToStr(a)); //вывод значения переменной а
}
Пример заполнения массива и вывода его в ListBox1
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int i; //объявление переменной для цикла
int mas[5000]; //объявление массива
Randomize(); //включение генератора случайных чисел
ListBox1->Clear(); //очистка списка ListBox1
for (i=0;i<5000;i++) //цикл заполнения массива и его вывод в ListBox1
{
mas[i]=random(5000); //заполнение массива случайными числами
ListBox1->Items->Append(IntToStr(mas[i])); /*вывод элементов массива в ListBox1*/
}
}
Измерение времени выполнения алгоритма
В процессе разработки приложения иногда требуется зафиксировать интервалы
времени, чтобы узнать, например, сколько времени занимают вычисления в каком-то
фрагменте вашей программы. Это можно сделать различными способами. Простейший
вариант - зафиксировать функцией Time () время начала и конца выполнения интересующего
фрагмента кода:
TDateTime T1, T2; //объявление переменных для моментов времени
AnsiString S; /*объявление строковой перемнной для вывода промежутка времени*/
T1=Time(); //засекаем время начала выполнения алгоритма
//...
//фрагмент программы, время выполнения которого измеряется
//...
T2=Time(); //зесекаем время окончания работы алгоритма
/*находим разницу между временем начала работы алгоритма и временем окончания
его работы*/
DateTimeToString(S,"hh:nn:ss:zzz", T2-T1);
Label1->Caption=S; //вывод времени, затраченного на работу алгоритма
Задание.
Написать программу реализующую три метода сортировки массива: сортировку
выбором, сортировку пузырьком, сортировку включением.
Предусмотреть время выполнения каждого метода в программе.
241
Защитить программу.
Технология выполнения работы
Разрабатываемый программный комплекс должен обеспечивать:
выбор алгоритма сортировки (с помощью RadioGroup);
формирования одномерного массива, состоящего из 5000 элементов, с помощью
генератора псевдослучайных чисел random();
вывод исходного массива в объект ListBox;
сортировку массива);
вывод результата (отсортированного массива) в ListBox;
замеры времени выполнения сортировок массива с помощью функции Time().
Студенту требуется реализовать алгоритмы сортировки в виде программного кода по
приведенным выше блок-схемам. Кроме того, выше приведены примеры использования
генератора случайных чисел, функции измерения времени выполнения алгоритма, а также
пример заполнения списка ListBox.
Демонстрация работоспособности разработанных программных средств должна
обеспечивать два варианта контроля: контроль работоспособности каждого из методов и
контроль временных характеристик всех реализованных методов.
Рекомендуется следующая компоновка формы (рис. 4).
Рисунок 4 – Форма для сортировки массива
Вопросы для защиты работы
Назовите основные свойства управляющего элемента ListBox.
Заполнение списка ListBox.
Использование генератора случайных чисел.
Принцип измерения времени работы алгоритмов.
Какие методы сортировки одномерных массивов вы знаете? Какой из перечисленных
вами методов наиболее быстрый?
242
Лабораторная
работа
№ 15
Программирование в среде разработки Borland C++ Builder. Поиск элемента в массиве
Время выполнения – 6 часов.
Цель работы
Изучить алгоритмы поиска элемента в массиве и научиться использовать их при
обработке данных.
Задачи лабораторной работы
После выполнения работы студент должен уметь применять алгоритмы поиска
элемента в массиве при обработке данных.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер со следующим
программным обеспечением: операционная система семейства Windows и среда разработки
программ Borland С++ Builder v.6.0.
Общие теоретические сведения
Выполнение лабораторной работы направлено на освоение основных приемов
использования массивов и методов доступа к элементам массивов. В качестве практической
проблемы, требующей решения, рассматривается задача поиска элементов в массиве. При
решении этой задачи требуется в исходном массиве, содержащем произвольные целые числа,
найти элемент, содержащий искомое значение, и указать индекс этого элемента.
В данной лабораторной работе необходимо изучить следующие алгоритмы поиска и
создать программу, реализующую:
метод поиска на основе линейного просмотра;
метод бинарного поиска.
Поиск элемента массива на основе линейного просмотра
Результатом работы алгоритма линейного поиска значения Val в массиве A являются
индекс Pos и логическая переменная ResultOk, которая принимает значение TRUE, если
такой элемент содержится в массиве А, и FALSE – в противном случае. Индекс Pos
принимает значение, равное номеру искомого элемента, если такой найден, и значение,
равное -1 – в противном случае.
Алгоритм линейного поиска:
Шаг 1. Полагается Pos=-1 и ResultOk=FALSE, и значение переменной цикла J:=0.
Шаг 2. Если A[J]=Val, то переменным Pos и ResultOk присваиваются соответственно
значения Pos=J, ResultOk=TRUE и алгоритм завершает работу. В противном случае значение
переменной цикла увеличивается на единицу J=J+1.
Шаг 3. Если J<Las (где Last – число элементов массива А), то выполняется Шаг 2, в
противном случае – работа алгоритма завершена.
Конец алгоритма.
Схема алгоритма на основе линейного просмотра представлена на рис. 1.
243
Рисунок 1 – Блок-схема алгоритма линейного поиска
Метод двоичного поиска
Результатом работы алгоритма является индекс Pos, показывающий на место в
упорядоченном массиве А с номерами элементов от First до Last, где располагается искомое
значение Val. Также в качестве результата формируется логическая переменная ResultOk,
которая принимает значение TRUE, если искомый элемент содержится в массиве А, и
FALSE – в противном случае.
Перед поиском исходный массив должен быть отсортирован любым методом.
Алгоритм двоичного поиска:
Шаг 1. Полагается ResultOk=false; First=0; Last=N-1 (N-размер массива).
Шаг 2. Пока справедливо условие First<Last, выполняется Шаг 3.
Шаг 3. Вычисляется середина массива Middle=(Last+First)/2. Если Val=А[Middle], то
полагается First=Middle; Last=First; ResultOk=true (т.е. элемент найден); Pos=Middle, в
противном случае проверяется условие Val>А[Middle]. Если это условие справедливо, то
полагается First=Middle+1, в противном случае полагается Last=Middle-1. После чего
управление передается на Шаг 1.
244
Шаг 4. Если ResultOk=true, то выводится сообщение об успешном поиске и выводится
индекс элемента Pos. В противном случае выдается сообщение что элемент не найден.
Конец алгоритма.
Схема алгоритма на основе двоичного поиска представлена на рис. 2.
Рисунок 2 – Блок-схема алгоритма бинарного поиска
245
Задание.
Написать программу поиска элемента массива двумя методами: на основе линейного
просмотра, двоичного поиска.
Предусмотреть время выполнения каждого метода в программе.
Защитить программу.
Технология выполнения работы
Разрабатываемый программный комплекс должен обеспечивать:
выбор алгоритма поиска (с помощью RadioGroup);
формирования одномерного массива, состоящего из 5000 элементов, с помощью
генератора псевдослучайных чисел random();
вывод исходного массива в объект ListBox;
поиск элемента массива;
вывод сообщения о результате поиска (найден или нет) и, в случае если элемент
найден, вывод индекса этого элемента.
замеры времени выполнения поиска элемента в массиве с помощью функции Time().
Описание и блок-схемы алгоритмов поиска приведены выше. Студенту требуется
реализовать алгоритмы поиска в виде программного кода по приведенным выше блоксхемам, там же приведены примеры использования генератора случайных чисел, функции
измерения времени выполнения алгоритма, а также пример заполнения списка ListBox.
Демонстрация работоспособности разработанных программных средств должна
обеспечивать два варианта контроля: контроль работоспособности каждого из методов и
контроль временных характеристик всех реализованных методов.
Рекомендуется следующая компоновка формы (рис. 3).
Рисунок 3 – Форма для поиска элемента массива
Вопросы для защиты работы
Опишите принцип работы алгоритма линейного поиска.
Опишите принцип работы алгоритма бинарного поиска.
Какое требование предъявляется к массиву при реализации бинарного поиска?
Скорость работы алгоритмов линейного и бинарного поиска.
246
Лабораторная
работа
Вычисления в Mathcad. Построение графиков функций
№ 16
Время выполнения – 2 часа.
Цель работы
Научиться выполнять вычисления по формулам в Mathcad, научиться строить графики
функций одной переменной.
Задачи лабораторной работы
После выполнения работы студент должен знать и уметь:
знать основные приемы работы в Mathcad;
уметь производить вычисления с использованием математических формул;
уметь строить графики функций одной переменной.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер с операционной
системой MS Windows, установленное приложение РТС Mathcad версии 14 или выше;
методические указания по выполнению работы.
Общие теоретические сведения
Программа Mathcad является математическим редактором, позволяющим проводить
разнообразные научные и инженерные расчеты.
Она имеет ту же структуру, что и большинство программ Windows. Сверху вниз
располагается заголовок окна, строка меню, панели инструментов и рабочая область
документа (рис. 1).
Рисунок 1 – Пользовательский интерфейс Mathcad 14
Для того чтобы выполнить простые расчеты по формуле, необходимо проделать
следующее:
определить место в документе, где должно появиться выражение, щелкнув мышью в
соответствующей точке документа;
ввести левую часть выражения;
ввести знак равенства < = >.
247
Пример:
1
sin   0.247
4
ab
1
3
 2   0.874
3
 
 7.4
Для проведения расчетов потребуется инструмент Калькулятор (рис. 2).
Рисунок 2 – Панель инструмента Калькулятор
Для отображения Калькулятора нужно нажать кнопку с изображением калькулятора на
панели Math (рис. 3).
Рисунок 3 – Панель инструментов Math
При расчетах по формулам целесообразно использовать переменные. Для задания
значений переменных используется оператор присваивания: знаки двоеточия и равно (:=)
Пример:
a := 5.6
b := 1.8
a + b = 7.4
a – b = 3.8
a · b = 10.08
Для задания математических функций можно использовать инструмент Калькулятор;
можно непосредственно набирать названия функций, используя клавиатуру, а можно
воспользоваться меню insert / function и вставить необходимую функцию.
Для построения графиков функций необходимо использовать панель Graph (рис. 4).
Рисунок 4 – Панель инструментов Graph
Для того чтобы панель Graph открылась, необходимо щелкнуть мышкой по иконке с
изображением графика на панели Math.
Графики функций можно строить следующими двумя способами:
248
С использованием автовыбора значений интервала построения и шага. В данном случае
в качестве аргумента функции необходимо задать переменную, которая ранее не
использовалась (рис. 5).
1
0.5
sin ( r )
0
 0.5
1
 10
5
0
5
10
r
sin(x)
Рисунок 5 – Построение графика функции
Задать в явном виде интервал, на котором будет построен график функции и «шаг», то
есть промежуток через который будут вычисляться значения функции.
Задаем значения аргумента r, которые меняются от -2р до 2р с шагом 0.025
r := -2·р , -2·р + 0.025 .. 2·р
249
Строим графики функций (рис. 6):
1
0.5
sin ( r )
0
 0.5
1
 10
5
0
5
10
r
sin(x)
Рисунок 6 – Построение графика функции
Замечание: часть формулы (0.025 .. 2р) необходимо набирать с использованием
инструмента Range Variable (m .. n), расположенного на панели Мatrix (рис. 7):
Рисунок 7 – Панель инструментов Matrix
Оформление текста и комментариев в Mathcad
Текстовую область можно разместить в любом незанятом месте документа Mathcad.
Чтобы до начала ввода указать программе, что требуется создать не формульный, а
текстовый регион, достаточно, перед тем как ввести первый символ, нажать клавишу "
(двойная кавычка). В результате на месте курсора ввода появится новый текстовый регион,
который имеет характерное выделение:
Курсор принимает при этом вид вертикальной линии красного цвета, которая
называется линией ввода текста.
250
Варианты задания
Задание 1. Вычислить значения указанных функций для заданных значений аргумента
x.
Задание 2. Построить графики функций с использованием автовыбора интервала
построения и шага.
Задание 3. Построить графики функций на заданном интервале [-10, 10] с указанным
шагом h = 0.01.
№
вари
Задание 1
Задание 2
Задание 3
1
Пусть х = 3.5
x 1
y  ln
1
x
y  ln(cos x)
ex
y
x
y  x  e -x
x
ln x
y  3 x 2 (x  1)
y  e -x
анта
ye
y4
1
x 1
1
2x
2
 1 
y  cos2 tg 3  2 
x 
2
Пусть х = 3.5
 1 

y  sin  2

x

x


1
y  x2
e 1
 1 
y  sin 2 3 cos 2 
x 
3
Пусть х = 3.1
y  cos(ln x )
y
Пусть х = 3.5
y  x 2 ln 2 x
y  x 2e  x
x2  4
y  xe 2 x
1
y  tg 2
x
y  ln sin 7 cos x
y  7 arcsin x 
251
y  x  sin  x 
3x
x 2 1
5x 2
y  5 3 ln 2 x  1
1
y  sin 3
x

2
x3
y 2
x 4
y
3
4
y
2

1
x2
y  (x  6)e
y  x  cos  x 

1
x
5
Пусть х = 3.5
y  5arccos

x
y  tg arccos x


y  cos x  x x
6

Пусть х = -3.5
2 x
cos2 ( tg 3 x )
1
y  1  x 3 
sin 2 x
1

y  tg 2 (ln x )  x 2 
x

x
y
7
2
Пусть х = 0.5
x  sin x  x
tg (1  x )
tg (ln x )
y
ln(sin x )
4
y
y
8
3
2x  x 2
arccos2 ( tgx )
Пусть х = 3.5
y  arccos3 x
y  sin e x
2
y  3 cos(cosx )
y  3sin 3 x  1
10
3 cos( x 3 )
Пусть х = 3.5
1
x 2
y  cos sin 3 cos x
y  arctg

y  9 sin x 
252
1
x3
y  x ln x
y  x ln x
y  x  ex
y  x 2  ln x 2

-sin  x 
3x  7
y 2
(x  1) 2
ln 2 x
y
x
y  (3x  5) 6
ye
y  e3x (x  3)
ye
y e
Пусть х = 0.1
y4
y  x  ex
y  x  21x
y  arccos2x 2
9
y  2x 
 4arctgx
x4
y 3
x 2
y  x(x  3)
cos x 
2
1
x2
x2
y
1  x2
(x  1) 2
y
x2
x2
y
3  x2
y  ln(1  x 2 )
3x  2
y
5x 2
y  x  ln x
y  x e
-sin  x 
11
Пусть х = 3.5
y5
12
yx
cos ( x 3 x ) 2
y  ln

y3
1
 5x 4
x
x  x2 x

y
1
2 x
cos3 ( tgx )
2
y  1  x 3 
cos x 
y  e x2
x2
y
1  x2
Пусть х = 3.5
x
y  xe
1
x
1
y  (3x  5) 6
x4
y 3
x 2
y  x 2 ln 2 x
y  sin(e x )
y  3 x 2 (x  1)
y  cos(e x )
sin 2 x
1

y  tg 2 (ln x )  x 2 
x

13
Пусть х = 3.5
2 x
cos2 ( tg 2 x )
1
y  1  x 3 
sin 4 x
1

y  tg (ln 3 x )  x 2 
x

x
y
14
2
Пусть х = 3.5

y  cos sin 5 cos2 x
1
y  7 sin 3 x  2
x
15
Пусть х = 0.5

y  tg cos
2

y  cos 2 x 2
y  x  sin(e x )
y  tg 3 x 2
1
x2
y  arctg 4
y  cos3 x
x
y  ln
3
y3
1
 5x
x3

x x x

y  arctg 2 e x
2
y  arccos2 2x 2
y  cos3 x 7

y  sine x
y  x  cos(e x )
5
y  arccos2 x 9
Технология выполнения работы
В данной работе необходимо вычислить значения функций по заданным значениям
аргументов, используя инструмент Калькулятор, а так же построить графики функций одной
переменной, используя панель Graph.
Содержание отчета
Задание и цель работы.
Выполненные расчеты по формулам.
253
Графики заданных функций.
Вопросы для защиты работы
Как построить графики нескольких функций в одном окне?
Как изменить интервал на котором построен график функции?
Как набрать текст в Mathcad?
1

y  tg (ln 2 x )  x 2 
x
 при х = 1.5
Вычислите:
254
Лабораторная
Вычисления в Mathcad. Линейная алгебра
работа
№ 17
Время выполнения – 4 часа.
Цель работы
Научиться выполнять различные операции с векторами и матрицами; решать системы
линейных алгебраических уравнений; научиться строить таблицы значений функции одной и
двух аргументов.
Задачи лабораторной работы
После выполнения работы студент должен знать и уметь:
знать основные приемы работы с матрицами и векторами в Mathcad;
уметь решать системы линейных алгебраических уравнений;
уметь строить таблицы значений функции одной и двух аргументов.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер с операционной
системой MS Windows, установленное приложение РТС Mathcad версии 14 или выше;
методические указания по выполнению работы.
Общие теоретические сведения
Для работы с матрицами и векторами в Mathcad используется панель Matrix (рис. 1).
Рисунок 1 – Панель инструментов Matrix
Открыть панель Matrix можно, щелкнув мышкой по изображению матрицы на панели
инструментов Math (рис. 2):
Рисунок 2 – Панель инструментов Math
Для того чтобы набрать матрицу нужной размерности необходимо щелкнуть мышкой
по изображению матрицы на панели Matrix, при этом откроется диалоговое окно (рис. 3):
Рисунок 3 – Диалоговое окно Insert Matrix
255
В диалоговом окне следует указать количество строк матрицы (Rows) и количество
столбцов (Colums) матрицы, затем нажать OK. Далее в открывшемся поле набрать
необходимые числа.
Основные операции над матрицами и векторами
Пусть задана матрица
7 6 5 8


1 0 3 2

M 
9 3 1 0
5 4 3 2


1
T
Обратная матрица M , транспонированная матрица M , определитель
вычисляются с помощью соответствующих инструментов на панели Matrix
M
1
 0.026

0.026

 0.154
 0.218

7

6
T
M  
5
8

0.179
0.173 
0.321 0.179
0.071

0.327
0.077
0.423 
0.288 
0.026
0.026
0.346 

1 9 5

0 3 4
3 1 3

2 0 2
|M| = -312
Ранг матрицы
rank(M) = 4
Размер матрицы может быть вычислен следующим образом:
Число строк:
rows(M) = 4
Число столбцов:
cols(M) = 4
Слияние матриц
Пусть
6 8 1

7 6 4
B  
1 4 5


 4 7 9  A   5 0 3 
C  

5 7 8
3 0 2
Тогда слияние матриц слева направо выполняется следующим образом:
4 7 9 6 8 1

3 0 2 7 6 4
augment ( C B)  
Слияние матриц сверху вниз:
256
M
1
5

stack( A B)   5
6

7
4 5


7 8
8 1

6 4
0 3
Выделение отдельных элементов, строк, столбцов матрицы
При выполнении операций нужно учитывать, что строки и столбцы нумеруются
начиная с нуля.
1
1
T  0
 0  
A  5
A
 4
A0 1  4
 
5
A1 1  0
 
 
5
Для выделения подматрицы используется функция submatrix(A, ir, jr, ic, jc), которая
возвращает часть матрицы А, находящуюся между строками ir, jr и столбцами ic, jc
включительно.
1 4

5 0
submatrix( A 0 1 0 1)  
Действия над векторами
Модуль вектора вычисляется с помощью инструмента |x| , расположенного на панели
Калькулятор (не путать с аналогичным обозначением на панели Matrix, предназначенном для
вычисления определителя матрицы).
Пример.
4
1
r   2 
 
3
r1   2 
 
3
|r| = 3.74165739
Размерность вектора:
length(r) = 3
Скалярное и векторное произведение
r r1  17
 0 
r  r1   9 
 
 6 
Создание таблицы значений функции одной переменной
Для того чтобы построить таблицу значений функции в Mathcad необходимо
выполнить следующие действия:
задать функцию;
задать границы интервала [a, b] на котором будут рассчитываться значения функции;
задать количество точек разбиения интервала [a, b];
вычислить вектор значений аргумента функции в точках разбиения;
вычислить вектор значений функции, соответствующий вектору значений аргумента.
Пример.
257
Задание функции:
.
Задание границ диапазона:
a := -10;
b := 10.
Задание числа точек разбиения, включая граничные точки (>=2):
n := 20.
Вычисление вектора значений аргумента:
r  a a 
r 
ba
 b
n1
.
-10
-8.94736842
-7.89473684
-6.84210526
-5.78947368
-4.73684211
-3.68421053
-2.63157895
-1.57894737
-0.52631579
0.52631579
1.57894737
2.63157895
3.68421053
4.73684211
...
Вычисление вектора значений функции:
258
f ( r) 
0
0
0
0
2.77533332·10-15
1.80070418·10-10
1.27392585·10-6
9.82698935·10-4
0.08265543
0.7580482
0.7580482
0.08265543
9.82698935·10-4
1.27392585·10-6
1.80070418·10-10
...
Матрица значений функции двух переменных строится аналогично.
Пример.
Задание функции:
f(x,y) := sin(x,y)
Задание границ прямоугольника по оси ох:
xa := -2·р;
xb := 2·р .
Задание границ прямоугольника по оси оу:
ya := -р;
yb := р .
Задание числа точек разбиения по оси ох, включая граничные точки (>=2):
xn := 40.
Задание числа точек разбиения по оси оу, включая граничные точки (>=2):
yn := 20.
Расчет значений индексов i, j:
i := 0 .. xn – 1;
j := 0 .. yn – 1.
Расчет значений x(i) и y(j):
;
.
Матрица значений функции:
Mi,j := f(xii,yij)
259
0
M
1
2
3
4
5
6
7
0
0.777
-0.928
0.124
0.807
-0.908
0.075
0.836
-0.886
1
-0.122
-0.866
0.798
0.244
-0.988
0.526
0.578
-0.977
2
-0.906
-0.142
0.988
-0.431
-0.739
0.859
0.241
-0.999
3
-0.838
0.692
0.581
-0.908
-0.243
0.998
-0.129
-0.95
4
0.018
0.995
-0.178
-0.966
0.334
0.912
-0.482
-0.835
5
0.857
0.537
-0.83
-0.579
0.8
0.621
-0.768
-0.66
6
0.891
-0.333
-0.979
0.075
0.998
0.189
-0.949
-0.439
7
0.087
-0.947
-0.535
0.694
0.864
-0.285
-0.999
-0.187
8
-0.799
-0.837
0.232
0.994
0.441
-0.695
-0.912
0.078
9
-0.933
-0.085
0.859
0.836
-0.129
-0.949
-0.699
0.338
10
-0.191
0.731
0.966
0.292
-0.656
-0.988
-0.391
0.574
11
0.731
0.988
0.488
-0.386
-0.964
-0.804
-0.028
0.769
12
0.966
0.488
-0.285
-0.886
-0.95
-0.439
0.338
0.91
13
0.292
-0.386
-0.886
-0.978
-0.619
0.025
0.657
0.987
14
-0.656
-0.964
-0.95
-0.619
-0.082
0.483
0.887
0.994
15
-0.988
-0.804
-0.439
0.025
0.483
0.833
0.994
...
Решение систем линейных алгебраических уравнений
Приведем несколько методов решения систем линейных алгебраических уравнений
(СЛАУ) в Mathcad.
Метод обратной матрицы (для квадратных систем с невырожденной матрицей).
AX  B
Пусть задана СЛАУ
Тогда вектор решения находится по формуле: X  A  B
Метод наименьших квадратов.
-1
À X  B
mn
n1
m1 , где m>n, т.е. число уравнений
Пусть задана система уравнений:
больше числа неизвестных.
Умножим обе части матричного уравнения на транспонированную матрицу системы.
ÀT  A  X  ATB
X  (A T  A) 1  A T  B
Отсюда
Символьный метод решения с помощью блока Given - Find (решение системы будет
найдено, если оно существует).
Пример.
Given
2·x + 3·y + 5·z + 4 = 0
4·x + 5·y + 7·z - 5 = 0
3·x + 8·y - 4·z - 1 = 0
Замечание: Знаки равенства < = > между левой и правой частью уравнений необходимо
ставить, используя панель Boolean (рис. 4).
260
Рисунок 4 – Панель инструментов Boolean
Любые «другие» знаки равенства, взятые с других панелей или набранные с
клавиатуры приведут к ошибке.
Задание
Вычислить определители матриц, найти матрицу обратную заданной, найти ранги
матриц, выделить из матриц заданные строки и столбцы.
Решить СЛАУ методом обратной матрицы и с помощью блока Given - Find; решить
СЛАУ методом наименьших квадратов.
Построить таблицы значений функций на заданном интервале [a, b] с заданным
количеством точек разбиения.
Варианты заданий
Задание 1.
вычислить определители;
найти матрицу обратную заданной, транспонировать матрицу;
найти ранги матриц; выделить из матриц вторую строку и третий столбец.
№
вар
ианта
1
Задание 1 а
Задание 1 б
1 2 2 4
1 6 0 5
1 2 1 3
 1 1 0 


 2 1 0
0 1 1


3 0 1 


2 5 3 
 1 4 1


2
7
9
7




9 5 4
 6
 8 16 14 11


 4  2 4 3 


2 3 1


 3 4 2
 1 1 2


 4 3 0


 1 1 0
 0 0 1


8 4 0
 2


9 5 1
 8
 10 17 9 1 


  6  1  1  1


1 2 1 2
2 2 2 1
1 2 2 4
1 1 0 1
3 3
0
4
2 2 2 1
1 2 2 4
1 1 0 1
2
3 3
4
2
2
0
4
3 6
0 3
3 1
8
5
4
6 12  9 2
3
4
2
2
8
5
4
3 6
0 3
3 1
6 12  9 2
261
Задание 1 в
 4 3 0


 1 1 0
 0 0 1


0 0 1


1 5 1
1 4 2


6 2
3 0
3 1
9
8
4
7
1
2
9  3 12
7
6 2
3 0
3 1
4
9
8
4
9  3 12
7
1
2
0 0 1


1 5 1
1 4 2


7
4  4  1 12
2 3 2 6
2 2 1 4
6 6
3
6 6
3
 1 2 1


 0 3 1
 0 2 1


13
4 2 1 4
2 2 3 3
 2 1 0 1
6 3 0 2
4 2 1 4
2 2 3 3
 2 1 0 1
6
6 3 0 2
7
3
0
  2 0 5


 3 1 5
 1 0 2


5
9 6
 2


7
6 3
 5
 7 12 15 9 


  3  2  3 3


 2 0 5


 3 1 5
 1 0 2


1 0 1


 2 2 3
 3 0 4


 2 6 5 3


 8 6 4 3
 10 12 9 6 


  6 0 1 0


8
 6 2 3 10
 3 1 1 4
3 1 0 3
9
3
2 4 5 3
1 4 4 4
1 2 3 1
3 6 9 5
262
1 1 2


 0 2 3
 0 1 2


2 7 4 9


3 5 2 8
 5 12 6 17 


 1 2 2 1 


1 1 2


 0 2 3
 0 1 2


 6 2 3 10
 3 1 1 4
3 1 0 3
9
8 6

4 3
12 9 

4 3 
2 1

3 1
2 1
7 4

7 2
14 6 

0 2 
13
4  4  1 12
2 3 2 6
2 2 1 4
5
0
 2

9
 6
 8
9

 4 9

1

0
0

3
 2

5
 4
 6
8

 2  2

0
8
2 4 5 3
1 4 4 4
1 2 3 1
8
3 6 9 5
2 4
1 3
1 2
7
7
4
3
12 17
6
9
1 0 1


 2 2 3
 3 0 4


  2 1 0


 3 2 0
 3 2 1


 2 6 9 1 


 4 5 3 9 
 6 11 12 10 


  2 1 6  8


 2 1 0


 3 2 0
 3 2 1


 1 3 0


 1 2 0
 2 1 1


2 8 5 9


3 1 5 8
 5 9 10 17 


 1 7 0 1 


11
12
5
2 4
1 3
1 2
7
7
4
3
12 17
6
11
12
5
6 2 1 4
3 3 4 2
3 1 0 1
9 3
0
2
6 2 1 4
3 3 4 2
3 1 0 1
10
9 3
0
2
  6 5  2


 3 3 1 
 1
1
2 

2 9 5 1


1 3 4 1
 3 12 9 2 


1 6 1 0


 1 3 0


 1 2 0
 2 1 1


2  4 4 11
1 9 2 6
1 2 1 4
3  6 3 11
2  4 4 11
1 9 2 6
1 2 1 4
11
3  6 3 11
2 2
1 7
1 1
  6 5  2


 3 3 1 
 1
1
2 

2
4
1 1
1 3
8  3  3 10
2 2
1 7
1 1
12
2
4
1 1
1 3
8  3  3 10
8
4
4
6 5
5 2
3 2
12 9
263
6
9
4
3
11
3 0 1 


2 5 3 
 1 4 1


5 
 2 9 0


7 
 4 3 2
 6 12 2 12 


  2 6  2  2


 1  3 0


 1 4 0 
0
0 1 

2

2
4

0

  6  4  5


1 1
 1
 1
0
0 

6 9 1 

2 4 3 
8 13 4 

4 5  2 
13
8
4
4
6 5
5 2
3 2
12 9
6 4 4
3 3 2
3 2 3
6
9
4
3
  6  4  5


1 1
 1
 1
0
0 

 1 0  1


 0 1  1
0  2 3 


 2 6 3 3


 4 5 5 3
 6 11 8 6 


  2 1  2 0


 1 0  1


 0 1  1
0  2 3 


 1 0 1


 0 2  3
 0 1 2 


 2 5 5 6


 7 4 3 2
 9 9 8 8


  5 1 2 4


 1 0 1


 0 2  3
 0 1 2 


 2 0 5 


 1 1  5
 1 0  2


 2 9 9 8


 7 2 3 4
 9 11 12 12 


5 7 6 4 


11
5
6
4
9 6  9 11
14
6 4 4
3 3 2
3 2 3
5
6
4
9 6  9 11
4 14 5 12
2 10 0 6
2 7 1 4
6 21  3 13
15
4 14 5 12
2 10 0 6
2 7 1 4
6 21  3 13
 2 2 1 1
1 3 4 3
1 1 3 0
3 3
9
2
Задание 2.
решить СЛАУ методом обратной матрицы и с помощью блока Given – Find;
решить переопределенную СЛАУ методом наименьших квадратов.
№
вариа
Задание 2 а
Задание 2 б
1
 3x  6y  5z  t  0
 3x  4y  z  2t  1


 5x  4y  7z  8t  0
6x  10y  6z  5t  1
3x  5y  6z  3t  1
 x  y  3z  4t  0


3x  2y  4z  4t  1
 4x  y  9z  t  0
 3x  6y  5z  1
 3x  4y  z  2


 5x  4y  7z  8
6x  10y  6z  3
нта
2
264
3x  5y  6z  3
 x  y  3z  4


3x  2y  4z  4

4x  6y  9z  7
3
4
5
6
 3x  4y  7z  8t  1
 9x  5y  4z  5t  0


 x  2y  z  t  1
12x  y  11z  t  13
3x  6y  5z  4t  0
 4x  6y  4z  t  1


 2x  3y  z  3t  0
 7x  y  9z  t  15
 3x  4y  7z  8
 9x  5y  4z  5


 x  2y  z  0
12x  9y  11z  13
 3x  2y  4t  0
 2x  3y  2z  t  1


x  5y  7z  3t  0
5x  y  2z  t  15
3x  9y  8z  5t  0
 x  3y  3z  t  1


 2x  y  3z  t  0
4x  y  11z  t  16
 3x  2y  4
 2x  3y  2z  1


 x  5y  7z  3
5x  5y  2z  5
 3x  6y  5z  4
 4x  6y  4z  1


 2x  3y  z  3
7x  12y  9z  5
 3x  9y  8z  5
 x  3y  3z  1


 2x  y  3z  1
4x  12y  11z  6
7
3x  5y  3z  4t  0
 x  7y  6z  6t  1


 3x  y  8z  6t  0
 4x  y  9z  t  10
 3x  5y  3z  4
 x  7y  6z  6


 3x  y  8z  6
4x  12y  9z  10
8
 3x  7y  5z  t  0
 x  2y  3z  t  1


3x  2y  6z  7t  0
 4x  y  8z  t  10
 3x  y  5z  t  1
 x  2y  z  4t  0


3x  2y  6z  5t  1
 4x  3y  z  t  15
 3x  7y  5z  1
 x  2y  3z  1


3x  2y  6z  7

4x  9y  8z  2
 3x  6 y  9z  t  1
 5x  6 y  6z  7t  0


 4x  4 y  6z  t  10
8x  12 y  z  2t  18
 3x  6 y  9z  1
 5x  6 y  6z  7


 4x  4 y  6z  1
8x  12 y  15z  8
9
10
265
 3x  y  5z  1
 x  2y  z  4


3x  2y  6z  5
4x  3y  6z  5
11
3x  5 y  4z  6t  16
 5x  4 y  6z  t  1


 3x  y  2z  t  0
8x  y  10z  2t  17
 3x  5 y  4z  6
 5x  4 y  6z  1


 3x  y  2z  1
8x  9 y  10z  7
12
 3x  5 y  z  8t  0
4x  3y  6z  6t  16


 3x  y  2z  5t  1
 7x  y  7 z  t  1
3x  6 y  5z  4t  0
 x  3y  4z  5t  15


 4x  3y  5z  2t  1
 4x  y  9z  9t  0
 3x  5y  z  8
 4x  3y  6z  6


 3x  y  2z  5
7x  8 y  7z  14
13
3x  6 y  5z  4
 x  3y  4z  5


4x  3y  5z  2

4x  9 y  9z  9
14
3x  5 y  3z  6t  16
 3x  6 y  7 z  t  0


5x  9 y  7 z  8t  18
 6x  y  10z  t  1
 3x  5y  3z  6
 3x  6 y  7z  1


 5x  9 y  7z  8
6x  11y  10z  7
15
3x  5y  3z  9t  19
 x  2 y  3z  5t  0


 7x  7 y  6z  5t  1
 4x  y  6z  t  1
 3x  5y  3z  9
 x  2 y  3z  5


 7x  7 y  6z  5
4x  7 y  6z  14
Задание 3.
Построить таблицу значений следующих функций на интервале [-10,10] количество
точек разбиения n = 50.
№
вари
Задание 3
1
y  x  e -x
2
y  e -x
y  x  sin  x 
анта
3
4
5
6
266
2
2
y  x  cos  x 
y  x  ex
y  x  ex
-sin  x 
7
ye
8
ye
cos x 
9
ye
cos x 
-sin  x 
10
y  x e
11
y  xe
12
y  sin(e x )
y  cos(e x )
y  x  sin(e x )
y  x  cos(e x )
13
14
15
cos x 
Технология выполнения работы
В данной работе необходимо произвести действия с векторами и матрицами, используя
панель Matrix, решить СЛАУ методами обратной матрицы, наименьших квадратов, с
помощью блока Given – Find, а так же построить таблицы значений функций одной
переменной, используя алгоритм описанный выше.
Содержание отчета
Задание и цель работы.
Выполненные расчеты.
Таблицы значений заданных функций.
Вопросы для защиты работы
Как вычислить модуль вектора в Mathcad?
Как используя символьный процессор решить систему уравнений?
Как выделить строку заданной матрицы в Mathcad?
Как построить матрицу значений функции двух переменных?
267
Лабораторная
работа
Вычисления в Mathcad. Дифференциальное и интегральное исчисление
№ 18
Время выполнения – 2 часа.
Цель работы
Научиться с помощью численных методов и символьного процессора Mathcad
находить: пределы функций в точке и на бесконечности, производные функций одной
переменной и частные производные функций нескольких переменных, разложения функций
в ряд Тейлора - Маклорена, неопределенные и определенные интегралы, суммы
функциональных рядов, решения обыкновенных дифференциальных уравнений первого
порядка.
Задачи лабораторной работы
После выполнения работы студент должен знать и уметь:
знать основные приемы вычисления пределов, производных, интегралов, решения
дифференциальных уравнений в Mathcad;
уметь вычислять пределы функций в точке и на бесконечности;
уметь находить производные функций одной переменной и частные производные
функций нескольких переменных, используя численные методы и символьный процессор
Mathcad;
уметь выполнять разложение функций в ряд Тейлора - Маклорена;
уметь вычислять неопределенные и определенные интегралы функций;
уметь находить суммы функциональных рядов;
уметь находить решение обыкновенных дифференциальных уравнений первого
порядка.
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер с операционной
системой MS Windows, установленное приложение РТС Mathcad версии 14 или выше;
методические указания по выполнению работы.
Общие теоретические сведения
Для вычисления пределов, производных, интегралов, сумм рядов в Mathcad
используется панель Calculus (рис. 1).
Рисунок 1 – Панель инструментов Calculus
Открыть панель Calculus можно, щелкнув мышкой по изображению интеграла на
панели инструментов Math (рис. 2).
268
Рисунок 2 – Панель инструментов Math
Вычисление пределов
Пример:
Производные функций одной переменной
Пример 1 (символьный метод).
t := 1
Пример 2 (численный метод).
t := 1
Частные производные
Пример 1 (символьный метод).

x
z( xy )  2 x y
 
y x

5
z( xy )  10 x y
2 4
z( xy )  5 x  y
y
4
2

2
x
z( xy )  2 y
5
 
x y
2

y
2
z( xy )  10 x y
4
2 3
z( xy )  20 x  y
Пример 2 (численный метод).
t := 1 w := 2
2
u( t w)  t  w
 
t w
7
u ( t w )  896
Примечание: Для того чтобы придать частным производным соответствующий вид
необходимо щелкнуть правой кнопкой мыши по изображению производной в формуле и в
открывшемся окне выбрать View Derivative As / Partial Derivative.
269
Разложение функции в ряд Тейлора по степеням х в окрестности точки х = 0 (ряд
Маклорена)
Пример
2
 2 
3 3
3 3x
b
2
2
kxkx2 bbxxseries
2 b x
sinsin
seriesxx33 
 bbxx  kk xx 
sin k x  b x series x2  b x  k x
66
3
3 33
22 4 4
2 2
22 bb  x x b b kxk x
sinsin
k xk x bbx xseries
seriesx
x44 
 b  x  kkxx 

66
22



2

2
sin k x  b x series x5  b x  k x 
3 3
b x
6
2

4
b  k x
2
  b4 k2  b k2


 x  b 

120
6
3
 


5
Здесь в левой части выражения на первом месте стоит функция, которую надо
разложить в ряд (в данном случае sin(kx2+bx) ), далее следует слово series, что означает
разложение в ряд, после чего указывается переменная относительно которой надо
производить разложение в ряд (у нас это – х), затем указывается количество членов
разложения.
Примечание: слово series необходимо вставлять, используя панель Symbolic (рис. 3).
Рисунок 3 – Панель инструментов Symbolic
Панель Symbolic можно открыть, щелкнув по изображению «шапочки» на панели Math.
270
Неопределенный интеграл
Пример:


2
 ( tan ( x) ) d x  tan ( x)  x



x
x
 x e d x  e  ( x  1)

Определенный интеграл
Пример 1 (символьный метод)



2
 cos ( x) d x 

2
0
Пример 2 (численный метод)


2
 cos ( x) d x  1.571

0
Несобственный интеграл
Пример 1 (символьный метод)





1
dx  
x





2
e
x
dx 

0
Пример 2 (численный метод)


2

x


d x  1.772
e

Двойной интеграл
Пример 1 (символьный метод)




3
4

x y
x y
 2
3
 x  y dxdy  3  4

2
3





  2
121
3
  x  y dxdy 
 
12
1 2





271


e
 2 2 dxdy  
 x y

Пример 2 (численный метод)
2
3
  2
3
  x  y d x d y  10.083
 
1 2











e
 2 2
 x y
d x d y  3.142

Суммирование рядов
Пример 1 (символьный метод)
10

2  2047

( x) 
n
n 0

n
n 0


x
n
n  0 2  n

n 0
1
1
if x  1  x  1
x 1
x
n


 if 1  x
e
2
 
n
Пример 2 (численный метод)
10

n
3
2  2.047  10
n 0


1
n
 e  1.649
n  0 2  n
yt   f yt , t  y( t )  y
0
0 )
Решение ОДУ первого порядка (
;
Для нахождения решения используется служебное слово Given и функцию Odesolve(t,
n), где t – переменная, относительно которой находится решение уравнения, n – количество
точек, в которых будет найдены значения функции y(t).
Пример:
Given
272
d
y ( x)
dx
y ( x)  y ( x)
2
y( 0) 0.1
y  Odesolve( x10)
y( 3)  0.691
y( 1)  0.232
y( 9)  0.999
Пример построения графика функции представлен на рис. 4
1
1
0.8
0.6
y ( x)
0.4
0.1
0.2
0
0
0
2
4
6
8
x
10
10
Рисунок 4 – Построенный график функции
Варианты задания
Задание 1.
Найти аналитические выражения для производных заданных функций; вычислить
значения производных в точке х = 3,5.
Задание 2.
Найти аналитическое выражение для частных производных заданной функции до
второго порядка включительно; вычислить значения частных производных в точке М(1,1).
№
вари
Задание 1
Задание 2
анта
1
ye
y4
2
273
1
x 1
1
2x
2
 1 
y  cos2 tg 3  2 
x 
 1 

y  sin  2

x

x


1
y  x2
e 1
 1 
y  sin 2 3 cos 2 
x 
u
1
 y2  z
x
u x
1
 z2
y
3
4
y  3 cos(ln x )
y  5 3 ln 2 x  1
1
y  sin 3
x
1
y  tg 2
x
y  ln sin 7 cos x

y  7 arcsin x 
5
y  5arccos

7
1
z
u  2x  y 
1
z
1
x2
x
y  tg arccos x
6

u  x2  y 



y  cos x  x x
2x  x 2
y
cos2 ( tg 3 x )
1
y  1  x 3 
sin 2 x
1

y  tg 2 (ln x )  x 2 
x

4
3
x  sin x  x
y
tg (1  x )
tg (ln x )
y
ln(sin x )
u  x2 
1
 z
y2
u  xy 
1
z
u  xz 
1
y
u  xy 
1
z2
2x  x 2
y
arccos2 ( tgx )
8
y  arccos3 x
y  sin e x
9
2
y  arccos2x 2
y  3 cos(cosx )
y  3sin 3 x  1
y4
274
3 cos( x 3 )
u x
1
z
y2
10
1
x 2
y  cos sin 3 cos x
y  arctg

y  9 sin x 
11
u x yz

u z
1
x3
y  5cos
( x 3 x ) 2
y  ln
x  x2 x


1
 5x 4
x
2x  x 2
y
cos3 ( tgx )
1 1

x y
y3
12
y  1  x 3 
13
14
1
sin 2 x
1

y  tg 2 (ln x )  x 2 
x

x
2
2 x
y
cos2 ( tg 2 x )
1
y  1  x 3 
sin 4 x
1

y  tg (ln 3 x )  x 2 
x

1
y  arctg 4 2
x
y  cos sin 5 cos2 x
1
y  7 sin 3 x  2
x
2
y  tg cos x

15

y  ln 3
y3



x x x

u
1
 z
xy
u  xz  y
u
1
z
x  y2
2
u  x yz 2  z 3
1
 5x
x3
Задание 3.
Получить 10 членов разложения заданных функций в ряд Тейлора - Маклорена.
Задание 4.
Проинтегрировать указанные выражения, пользуясь символьным процессором Mathcad.
№
275
Задание 3
Задание 4
вари
анта
1
y  x  e -x
2
x
2
cos 2 xdx
5x  6
dx
2
 3x  9)
 ( x  1)( x
1
x
x 3
dx
x
dx
 sin x  2 cos x  6
2
y  e -x
2
1
 x arccos x dx
 ( x  8)( x
2x
dx
2
 5 x  18)
4x  5
dx
x 1
cos x
 2  cos x dx
2
 x sin 3xdx

3
y  x  sin  x 
5x  3
 ( x  1)( x
y  x  cos  x 
 1)
dx
x2
dx
x2
sin x
 1  sin x dx
2
 x ln xdx

4
2
3
x2  x 1
 ( x 2  1)( x  7) dx
x dx
x  5 x2
dx
 sin x cos 3 x

5

y  x  ex
ln x
dx
x2
x 2  3x  4
dx
2
 2 x  4)
 ( x  1)( x

25  x 2 dx
cos 3 2 x
 sin 4 x dx
6
y  xe
276
x

ln x
dx
x3
2x  x 2
 ( x  3)( x 2  1) dx
x2  4
 x 2 dx
dx
 sin 2 x  cos 2 x
2
 ln xdx
7
ye
-sin  x 
 (x
x
2
7x  8
dx
 9)( x  4)
dx
x 2 16
dx
 2 sin x  sin 2 x
2x
 xe dx
8
x
ye
cos x 
2
7x  2
dx
( x 2  1)
dx
2

(36  x 2 ) 3
dx
 sin x  cos x
 x e dx
9
2 x
 (x
ye
cos x 
2
dx
 4 x  13)( x  1)
x2  9
 x dx
dx
 sin x  cos x
 arcsin x dx
10
8x  3
 ( x  3)( x  4)
y  x e
-sin  x 

2
dx
x 3 dx
x 2  25
dx
 3 sin x  4 cos x
 2x
11
y  xe
cos x 
cos 5 xdx
x 3  3x
 ( x 2  2 x  4)( x  1) dx

277
2
( x 2  9) 3
dx
x6
 sin
dx
x  5 sin x cos x
2
 x  sin 3x dx
12
 (x
y  sin(e x )
13
x 2 dx

(x 2  1) 3
dx
 cos x  2 sin x  3
 arctg 2 x dx

y  cos(e x )
4 x 3  15 x
dx
 2 x  3)( x  9)
2

5x 4  4 x 2  3
dx
x3  8
x 2 dx
(x 2  16) 5
sin x
 2 sin x  3 cos x dx
 x  arctg x dx
14
 (2 x
y  x  sin(e x )
15
y  x  cos(e x )
2
7x  6
dx
 6 x  4)( x  3)
16  x 2
 x 4 dx
sin 2 x
 1  sin 2 x dx
x
 e cosx dx
x2
 ( x  2) 2 ( x  1) dx
 x x  25dx
cos 2 x
 1  cos x dx
3
2
2
Задание 5.
Просуммировать указанные ряды.
Задание 6.
Решить ОДУ первого порядка (задачу Коши) численным методом, результат
представить в виде графика искомой функции.
№
вари
анта
278
Задание 3
Задание 4
1
f(x,u) 
  1
/n
1/ 2
 1/ 3
n -1
n
2
n
n

3
(2n 1) / 2
f(x,u) 
n
4
1/(3
n
 2)(3 1)
f(x,u) 
n
5
 n!/(3n
f(x,u) 
n
)
6
f(x,u) 
 n!/ n3n
f(x,u) 
7
 n!/ n
n
8
f(x,u) 
n
n
  1 /3n
9
1/ 3
n
 1/ 4 n
10
4n 16/ 2
11
e
279
f(x,u) 
n
/ n!
n

f(x,u) 
f(x,u) 
12
1/2
n

3 3 2
n

13
2
f(x,u) 
f(x,u) 
n
/ n!
14
n 1/n
5
 n2

n
3
f(x,u) 
15
2n 1/n
6

f(x,u) 
Технология выполнения работы
В данной работе необходимо произвести вычисления производных, интегралов, найти
суммы рядов и разложения функций в ряд Тейлора - Маклорена, используя панель Calculus, а
также применяя методики описанные выше.
Содержание отчета
Задание и цель работы.
Выполненные расчеты.
Вопросы для защиты работы
Как вычислить частную производную функции в Mathcad?
Как используя символьный процессор найти сумму ряда?
Как вычислить двойной интеграл в Mathcad?
Как найти разложение функции в ряд Тейлора - Маклорена?
280
Лабораторная
работа
Вычисления в Mathcad. Программирование в Mathcad
№ 19
Время выполнения – 2 часа.
Цель работы
Освоить элементарные приемы программирования в среде Mathcad.
Задачи лабораторной работы
После выполнения работы студент должен знать и уметь:
знать основные приемы программирования в Mathcad;
уметь составлять программы – функции в Mathcad,
разветвляющиеся и циклические алгоритмы.
реализуя
линейные,
Перечень обеспечивающих средств
Для обеспечения выполнения работы необходимо иметь компьютер с операционной
системой MS Windows, установленное приложение РТС Mathcad версии 14 или выше;
методические указания по выполнению работы.
Общие теоретические сведения
Для ввода конструкций программирования будет необходима наборная панель
Программирования, в которую входят конструкции, показанные на рис. 1.
Рисунок 1 – Панель программирования
Для вставки нужной конструкции в текст составляемой программы достаточно
щелкнуть мышью на соответствующем значке наборной панели Программирования.
Реализовать тот или иной алгоритм вычисления в пакете Mathcad можно двумя
способами.
Вставляя соответствующие операторы или функции в текст документа Mathcad. Такой
способ называется программированием в тексте документа;
Используя так называемые программы-функции, которые содержат конструкции, во
многом подобные конструкциям таких языков как Pascal или FORTRAN: операторы
присваивания, операторы циклов, условные операторы и т. д. Написание программ-функций
в Mathcad позволяет решить задачи, которые невозможно решить используя только
операторы и функции Mathcad. Такой способ будем называть программированием в
программе-функции. Такое программирование включает два этапа:
описание программы-функции;
вызов программы-функции.
Рассмотрим отдельно эти два этапа.
Описание программы-функции и локальной оператор присваивания
Перед тем как использовать программу-функцию нужно ее задать, т. е. выполнить
описания. Описание программы-функции размещается в рабочем документе перед вызовом
281
программы-функции и включает в себя имя программы-функции, список формальных
параметров (который может отсутствовать) и тело программы-функции. Рассмотрим эти
понятия.
Каждая программа-функция Mathcad имеет оригинальное имя, используя которое
осуществляется обращение к этой программе-функции. Через это же имя “возвращается” в
рабочий документ результат выполнения программы-функции.
После имени программы-функции идет список формальных параметров, заключенный
в круглые скобки. Через формальные параметры «внутрь» программы-функции
“передаются” данные необходимые для выполнения вычислений внутри программы. В
качестве формальных параметров могут использоваться имена простых переменных,
массивов и функций. Формальные параметры отделяются друг от друга запятой.
Замечание 1. Программа-функция может не иметь формальных параметров и тогда
данные передаются через имена переменных, определенных выше описания программыфункции.
Тело программы-функции включает любое число операторов локальных операторов
присваивания, условных операторов и операторов цикла, а также вызов других программфункций и функций пользователя.
Порядок описания программы-функции Mathcad. Для ввода в рабочий документ
описания программы-функции необходимо выполнить следующие действия:
ввести имя программы-функции и список формальных параметров, заключенный в
круглые скобки;
ввести символ “:” - на экране отображается как “: =”;
открыть наборную панель программирования и щелкнуть кнопкой “add line”. На экране
появится вертикальная черта и вертикальный столбец с двумя полями ввода для ввода
операторов, образующих тело программы-функции (рис. 2);
Рисунок 2 – Структура программы-функции
перейти в поле 1 (щелкнув на нем мышью или нажав клавишу Tab) и ввести первый
оператор тела программы-функции. Так как самое нижнее поле всегда предназначено для
определения возвращаемого программой значения, то поля ввода для дополнительных
операторов открываются с помощью щелчка на кнопке “Add line” панели программирования.
При этом поле ввода добавляется внизу выделенного к этому моменту оператора. Для
удаления того или иного оператора или поля ввода из тела программы-функции, нужно
заключить его в выделяющую рамку и нажать клавишу Delete (рис. 3);
f ( x)
x
z
282
x
x
1
3
2
Оператор 1
Оператор 2
Поле 2
Рис. 3 – Добавление операторов в тело программы-функции
заполнить самое нижнее поле ввода (поле 2), введя туда выражение, определяющее
возвращаемое через имя программы-функции значение.
В приведенном примере формальным параметром является простая переменная x, тело
программы включает два локальных оператора присваивания и значение переменной z
определяет возвращаемый через имя функции результат выполнения программы-функции.
Локальный оператор присваивания. Для задания внутри программы значения какойлибо переменной используется так называемый локальный оператор присваивания,
имеющий вид:
<имя - переменной> <выражение>
Внимание! Использование «обычного» оператора присваивания (обозначается знаком
равно) в теле программы-функции приводит к синтаксической ошибке.
283
Обращение к программе-функции Mathcad
Для выполнения программы-функции необходимо обратиться к имени программыфункции с указанием списка фактических параметров (если в описании программы
присутствует список формальных параметров), т. е.
<имя - программы> (список фактических параметров)
Фактические параметры указывают при каких конкретных значениях осуществляются
вычисления в теле программы. Фактические параметры отделяются друг от друга запятой.
Очевидно, что между фактическими и формальными параметрами должно быть
соответствие по количеству, порядку следования и типу. Последнее соответствие означает:
если формальным параметром является простая переменная, то в качестве
фактического может использоваться константа, переменная, арифметическое выражение;
если формальным параметром является вектор или матрица, то фактическим должен
быть вектор или матрица;
если формальным параметром является имя встроенной функции или другой
программы, то и фактическим параметром должен являться тот же объект.
Замечание 2.2. Обращение к программе-функции должно находиться после описания
программы-функции и к моменту обращения фактические параметры должны быть
определены.
Пример 1. Обращение к программе f(x), приведенной на рис. 2.3 может иметь
следующий вид:
x :=2 f(x) = 1.587
f(-3.23) = 0.536 + 0.928i
z := f(x+4.5) z = 2.041
Заметим, что переменная z никак не связана с “локальной” переменной z, используемой
внутри тела программы-функции.
Замечание 1. Передать данные внутрь программы-функции можно используя внутри
программы переменные, определенные до описания программы-функции. Например:
Берется значение
равное 2
x 2
f
x
x
z
x
z
x

1
3
2
f

1.587
Вызов
программы
2
Хотя значение переменной х изменилось внутри программы-функции, вне описания
программы-функции эта переменная сохранила свое прежнее значение.
Замечание 2. Имена фактических параметров при вызове программы-функции могут не
совпадать с именами ее формальных параметров.
Программирование в программе-функции линейных алгоритмов
Напомним, что под линейным алгоритмом понимается вычислительный процесс, в
котором необходимые операции выполняются строго последовательно. Операторы,
реализующие этот алгоритм в теле программы - функции также размещаются
последовательно и выполняются все, начиная с первого оператора и кончая последним.
Пример. Оформим в виде программы-функции вычисление корней квадратного
уравнения ax2 + bx +c = 0.
284
Для этого введем следующее описание программы-функции
qq1 ( a  b  c  sig1 )
4 a  c
2
d1
b
d2
2 a
d3
b
sig1  d1
d3
d2
Программа qq1 имеет четыре параметра: смысл первых трех понятен, а четвертый
определяет знак перед корнем квадратным. Задавая Sig1 = 1, получаем корень x1; Sig1 = -1,
получаем корень x2. Программа реализует линейный алгоритм – все операторы выполняются
всегда строго последовательно.
Программирование в программе-функции разветвляющихся алгоритмов
Напомним, что в разветвляющихся алгоритмах присутствует несколько ветвей
вычислительного процесса. Выбор конкретной ветви зависит от выполнения (или
невыполнения) заданных условий на значения переменных алгоритма.
Пример 1. Переменная y задается следующим выражением
Видно, что алгоритм вычислений содержит две ветви и выбор зависит от значения
переменной x.
Для программирования разветвляющихся алгоритмов в Mathcad имеется условная
функция if и условный оператор. Используя эти конструкции можно «изменить»
последовательное выполнение операторов. В этих конструкциях могут использоваться
следующие новые понятия.
Условный оператор. Этот оператор используется только в теле программы-функции и
для его ввода необходимо щелкнуть на кнопке if панели программирования или клавиши [ }
]. На экране появляется конструкция с двумя полями ввода, изображенная на следующем
рисунке.
В поле 2 вводится логическое выражение (в простейшем случае это выражение
отношений). В поле 1 вводится выражение (как правило, арифметическое), значение
которого используется, если проверяемое логическое выражение принимает значение 1.
Условный оператор может находиться только внутри тела программы-функции.
Например:
В поле 3 задается выражение, значение которого используется, если логическое
выражение равно 0. Для ввода в поле 3 необходимо:
285
заключить это поле в выделяющую рамку;
щелкнуть на кнопке “otherwise” панели программирования;
в оставшемся поле введите соответствующее выражение.
Пример 2. Составим программу-функцию, вычисляющую функцию y(x), заданную в
примере 1. Для этого введем описание следующей программы-функции:
Обращение к этой программе-функции имеет вид
y(2) = 1.414 y(-2) = 4
Таким образом, выражение, стоящее перед словом otherwise выполняется только в том
случае, если не выполнено заданное перед этим условием.
В программе можно использовать несколько следующих друг за другом условных
операторов с одним выражением перед словом otherwise.
Пример 3. Составим программу-функцию для вычисления переменной z по формуле
В рабочий документ введем описание следующей программы-функции
3
z( t )
t
2
t
if t
if
3
3 t 4
ln( t ) otherwise
Заметим, что функция z(t) получит значение ln(t) только тогда, когда не выполнятся
условия, записанные в двух вышестоящих строках.
Обращение к этой программе –
z(2) = 4
Если в поле 3 ввести оператор без слова otherwise, то этот оператор будет выполняться
всегда вне зависимости от выполнения выше заданных условных операторов.
Программирование в программе-функции циклических алгоритмов
Напомним, что циклические алгоритмы (или проще циклы) содержат повторяющиеся
вычисления, зависящие от некоторой переменной. Такая переменная называется параметром
цикла, а сами повторяющиеся вычисления составляют тело цикла.
Классификация циклов. Циклы можно условно разделить на две группы:
циклы типа арифметической прогрессии;
итерационные циклы.
Характерной чертой первой группы циклов является то, что количество повторений
тела цикла можно определить до начала выполнения программы, реализующей цикл, т.е.
априори. Классическим примером цикла типа арифметической прогрессии является цикл
примера 3.
Для итерационных циклов нельзя априори определить количество повторений тела
цикла. Это обусловлено тем, что окончание таких циклов определяется не выходом
параметра цикла за конечное значение, а более сложными условиями. Это иллюстрирует
следующий пример.
Пример 4. Вычислить значение x=, используя итерационную процедуру
xn=0.5(xn--1+a/xn-1),
n=1,2,3,.., x0=a.
В качестве приближенного значения корня квадратного берется такое значение xn,
которое удовлетворяет условию
286
,
где – заданная точность вычисления.
Видно, что задав исходные данные, например, a = 9, = 10-3, нельзя, не выполняя
итерационные вычисления, определить количество повторений тела цикла.
Программирование цикла типа арифметической прогрессии. Для программирования
таких циклов используется оператор цикла for. Для ввода такого оператора необходимо
выполнить следующие действия:
щелкнуть на кнопке for наборной панели Программирования. На экране появятся поля
ввода, изображенные на рисунке
в поле ввода 1 введите имя параметра цикла;
в поле ввода 2 ввести диапазон значений параметра цикла, используя для этого
дискретный аргумент;
в поле ввода 3 вводятся операторы, составляющие тело цикла. Если одной строки
недостаточно, то дополнительные поля ввода (дополнительные строки) создаются щелчком
на кнопке “add line” в панели программирования и тогда слева от тела цикла появляется
вертикальная черта.
Пример 5. Для x меняющего от -2 до 2 с шагом 0.5 вычислить значение f(x) = e-x .
cos(2x) и сформировать из этих значений вектор y, т. е. y1 = f(-2), y2 = f(-1.5) и т. д.
В этом примере количество повторений определяется по формуле
,
где xk , x0 – конечное и начальное значение параметра цикла, d – шаг его изменения.
Подставив значения, получаем (2 - (-2))/0.5+1=9.
Описание программы-функции имеет вид
form_tab( x0 , xk , d )
i
1
for x  x0 , x0
z
d .. xk
exp( ( x) ) . cos( 2. x)
yi
z
i
i
1
y
В этом варианте описания программы-функции формальные параметры используются
для задания диапазона изменения параметра цикла (переменная x). Для изменения индекса у
элемента массива y вводится переменная i целого типа внутри программы-функции.
Обращение к описанной программе-функции может иметь вид
z := form_tab (-2,2,0.5)
Замечание. Если значение индексов у элементов массива меняется начиная с 1 (как в
этом примере), то начальное значение индекса необходимо установить равным 1 (для этого
обратиться к пункту MATH команде Built-in Variables, а затем в поле ввода Origin ввести
значение 1 (вместо установленного по умолчанию значения 0).
287
Программирование итерационных циклов. Для программирования таких циклов
используется оператор цикла while. Для ввода этого оператора необходимо выполнить
следующие действия:
щелкнуть на кнопке while панели Программирования. На экране появляются элементы,
показанные на рисунке
в поле 1 ввести условие выполнения цикла;
в поле 2 ввести операторы тела цикла. В теле цикла должны присутствовать операторы
делающие условие цикла ложным иначе цикл будет продолжаться бесконечно.
Оператор цикла while выполняется следующим образом: обнаружив оператор while,
Mathcad проверяет указанное условие. Если оно истинно, то выполняется тело цикла и снова
проверяется условие. Если оно ложно, то цикл заканчивается.
Пример 6. Составить программу-функцию, реализующую итерационную процедуру
приближенного вычисления корня квадратного.
sqroot( a , eps )
xc 1.0e10
xn
a
while abs ( xn
xc
xn
a
xc
xc
xn
xc ) > eps
2
xn
Как видно из текста программы-функции нет необходимости хранить в памяти все
приближенные решения x0, x1, x2 , ... , и т.д. Достаточно хранить предыдущее (“старое”)
значение xc и последующее (“новое”) значение xn.
Обращение к описанной программе будет иметь вид
sqroot(9,0.0001) = 3
sqroot(25,0.0001) = 5
sqroot(123,0.0001) = 11.091
К сожалению, организация итерационного цикла с помощью оператора while, без
дополнительных средств контроля может привести к зацикливанию. Например, задав при
обращении к программе eps < 0 получаем зацикливание.
Поэтому в Mathcad имеется специальный оператор break, который позволяет выйти из
цикла или приостановить исполнение программы при выполнении заданного в операторе
break условии. Для ввода оператора break необходимо щелкнуть на кнопке break панели
Программирования (нельзя вводить этот оператор с клавиатуры по символам). Оператор
break используется в левом поле ввода условного оператор if, а в правом размещается
условие, при выполнении которого происходит прекращение работы цикла или программы, в
нижнем поле – оператор, выполняемый если условие не выполнено. Поэтому первоначально
вводится оператор if , а затем заполняются поля этого оператора.
288
Следующий пример показывает написание не зацикливающей программы с оператором
break.
Задание
Составить программу – функцию, вычисляющую функцию f(x)
Пусть задана функция двух аргументов f(x,y). Найти область определения этой
функции. Составить программу – функцию, вычисляющую функцию f(x,y), таким образом,
чтобы значения x и y не выходили за пределы области определения функции f(x,y).
Построить графики функций f(x) и f(x,y).
Варианты задания
Составить программу – функцию, вычисляющую функцию y(x).
Составить программу – функцию, вычисляющую функцию f(x,y), таким образом, чтобы
значения x и y не выходили за пределы области определения функции f(x,y).
№
вар
ианта
Задание 1
Задание 2
1
f ( x, y )  9 - x 2  y 2
2
f ( x, y ) 
3
f ( x, y)  ln x 2  y 2
289
1
x  y2
2


4
f ( x, y )  16  x 2  y 2
5
f ( x, y ) 
6
f ( x, y)  ln x 2  y 2
7
f ( x, y ) 
8
f ( x, y)  ln 1  x 2  y 2
9
f ( x, y ) 
290
1
x  y2
2


1
1 x  y2
2

1
ln x  y 2 
2

10
f ( x, y ) 
1
ln 1  x 2  y 2 
11
f ( x, y ) 
1
ln x  y 
12
f ( x, y ) 
13
f ( x, y ) 
14
f ( x, y ) 
1
ln  x  y 
15
f ( x, y ) 
1
ln  x  y 
Технология выполнения работы
291
1
9 - x2  y2
1
ln x  y 
В данной работе необходимо составить программы – функции, для вычисления
значений функций y(x) и f(x,y), используя панель Programming, а так же применяя методики
описанные выше.
Содержание отчета
Задание и цель работы.
Выполненные расчеты.
Вопросы для защиты работы
Как ввести программу-функцию в Mathcad?
Что такое формальные параметры программы - функции?
Каким образом происходит обращение к программе – функции в Mathcad?
Что такое условный оператор в Mathcad и как его использовать?
Что такое цикл типа арифметической прогрессии в Mathcad и как его использовать?
292
Библиографический список
Бобровский, С. Delphi 7. Учебный курс / С. Бобровский – СПб.: Питер, 2008. – 736 с.
Воскобойников Ю.Е. Основы работы в пакете MathCAD: учеб. пособие / Ю.Е.
Воскобойников, А.Ф. Задорожный. – Новосибирск: НГАСУ (Сибстрин), 2006. – 138 с.
Гарнаев, А. Microsoft Office Excel 2010. Разработка приложений / А. Гарнаев, Л.
Рудикова. – СПб.: БХВ-Петербург, 2011. – 514 с.
Дьяконов, В.П. Справочник по MathCAD 12 / В.П. Дьяконов. – М.: СК Пресс, 2006. –
336 с.
Дьяконов, В.П. MathCAD14 в математике, физике и в Internet / В.П. Дьяконов, И.В.
Абраменкова. – М.: Изд-во Нолидж, 2008. – 352 с.
Информатика [Текст]: учеб. пособие. Ч. 3 / С.М. Горбенко, С.Ю. Кацко, Н.П.
Артемьева, С.А. Егорова, Н.В. Деева, С.А. Вдовин; под общ. ред. С.Ю. Кацко. –
Новосибирск: СГГА, 2011. – 168 с.
Кирьянов, Д. Mathcad 14 / Д. Кирьянов. – СПб.: БХВ-Петербург, 2007. –704 с.
Кузьменко, В.Г. Visual Basic 6 / В.Г. Кузьменко. – М.: Бином-Пресс, 2011. – 672 с.
Культин, Н. Delphi в задачах и примерах / Н. Культин. – СПб, 2007.
Могилев, А.В. Практикум по информатике [Текст] / А.В. Могилев, Н.И. Пак, Е.К.
Хеннер. – М.: Академия, 2009. – 608 с.
Павловская, Т.А. С/С++. Структурное и объектно-ориентированное программирование.
Практикум / Т.А. Павловская, Ю.А. Щупак. – СПб.: Питер, 2011. – 352 с.
Сайлер, Брайан. Использование Visual Basic 6. Классическое издание / Б. Сайлер, Дж.
Споттс. – М.: Издательство «Вильямс», 2007. – 832 с.
Сырецкий Г.А. Информатика. Фундаментальный курс. Том II. Информационные
технологии и системы / Г.А. Сырецкий. – СПб.: БХВ - Петербург, 2007. – 848 с.
Фаронов, В. Delphi. Программирование на языке высокого уровня / В. Фарафонов. –
Санкт-Петербург, 2006.
Хомоненко, А. Delphi 7. Наиболее полное руководство / А. Хомоненко, В. Гофман, Е.
Мещеряков, В. Никифоров. – СПб.: BHV – Санкт-Петербург, 2006. – 1216 с.
293
Related documents
Download