- •Оглавление
- •Глава 1. Информатика и кибернетика 8
- •Глава 2. Обзор Hardware и методов его применения в профессиональной деятельности 56
- •Глава 3. Обзор Software и методов его применения в профессиональной деятельности 108
- •Глава 4. Работа с спс "Консультант Плюс: Версия Проф" 146
- •Глава 1 написана г.П. Чепуренко, глава 2 - р.Р. Фокиным, главы 3 и 4 - м.А. Абиссовой, подборка рекомендуемых литературы и сайтов Internet выполнена р.Р. Фокиным Глава 1.Информатика и кибернетика
- •1.1.История развития кибернетики и информатики
- •1.2.Информатика, кибернетика и право
- •1.3.Обзор Brainware и его применения в профессиональной деятельности
- •1.3.1.Теория кодирования
- •1.3.2.Теория формальных грамматик и языков
- •1.3.3.Математическая логика
- •1.3.4.Численные методы
- •1.3.5.Микроэлектроника
- •1.3.6.Системотехника
- •1.3.7.Объектно-ориентированный анализ
- •1.3.8.Теория открытых систем
- •1.3.9.Теория системной интеграции
- •Глава 2.Обзор Hardware и методов его применения в профессиональной деятельности
- •2.1.Основные понятия Hardware
- •2.2.Базовая конфигурация персонального компьютера (пк)
- •2.2.1.Системный блок пк базовой конфигурации
- •2.2.2.Оперативная память пк
- •2.2.3.Центральные процессоры ibm pc
- •2.2.4.Дисплей, монитор
- •2.2.5.Видеокарта, видеоадаптер
- •2.2.6.Звуковая карта
- •2.2.7.Звуковая гарнитура
- •2.2.8.Винчестер, жесткий диск
- •2.2.9.Устройства для работы с лазерными дисками
- •2.2.10.Флопи-дисковод
- •2.2.11.Корпус с блоком питания
- •2.2.12.Материнская плата
- •2.2.13.Алфавитно-цифровая клавиатура
- •2.2.14.Мышь и коврик для мыши
- •2.2.15.Сетевой фильтр
- •2.3.Периферийные устройства пк
- •2.3.1.Стабилизаторы напряжения (сн) и источники бесперебойного питания (ибп, ups)
- •2.3.2.Сетевая плата, сетевая карта, сетевой адаптер
- •2.3.3.Концентратор (hub) и коммутатор (switch)
- •2.3.4.Факс-модемы
- •2.3.5.Сканеры
- •2.3.6.Принтеры
- •2.3.7.Многофункциональные печатающие аппараты
- •2.3.8.Звуковые колонки
- •2.3.9.Midi-клавиатуры
- •2.3.10.Fm и tv тюнеры
- •2.3.11.Internet-камеры
- •2.3.12.Цифровые фотоаппараты
- •2.3.13.Цифровые и аналоговые видеокамеры
- •2.3.14.Мультимедийные видеопроекторы
- •Глава 3.Обзор Software и методов его применения в профессиональной деятельности
- •3.1.Системное программное обеспечение (по)
- •3.1.1.Основные понятия
- •3.1.2.Обзор операционных систем (ос) семейства Windows
- •3.1.3.Обзор ос других семейств
- •3.2.Инструментальное по
- •3.2.1.Развитие методологии анализа и проектирования по
- •3.2.2.Языки и системы моделирования
- •3.2.3.Языки и системы программирования
- •3.3.Прикладное по
- •3.3.1.Методо-ориентированное прикладное программное обеспечение (ппо)
- •3.3.2.Проблемно-ориентированное ппо для менеджера: справочные правовые системы (спс)
- •Глава 4.Работа с спс "Консультант Плюс: Версия Проф"
- •4.1.Основные принципы работы
- •4.2.Поиск документов и структура информационного банка (иб)
- •4.2.1.Поиск документов по карточке реквизитов
- •4.2.2.Работа с полем Вид документа
- •4.2.3.Особенности работы с полем Тематика и с полями типа Дата
- •4.2.4.Особенности поиска по тексту документов
- •4.2.5.Особенности работы с полем Папки документов
- •4.2.6.История или повторное использование поисковых запросов
- •4.2.7.Поиск по нескольким базам данных
- •4.3.Работа со списком документов
- •4.3.1.Печать списка и запись его в файл
- •4.3.2.Сохранение списка в кармане и в папках
- •4.3.3.Сложный поиск по тексту среди документов списка
- •4.3.4.Одновременный просмотр списка документов и текста текущего документа
- •4.3.5.Заказ и отмена заказа документов
- •4.4.Работа с текстом документа
- •4.4.1.Перекрестные ссылки в тексте
- •4.4.2.Просмотр дополнительной информации
- •4.4.3.Поиск фрагмента в тексте
- •4.4.4.Печать текста и запись его в файл
- •4.4.5.Использование кнопки "Копировать в Microsoft Word"
- •4.4.6.Выбор настроек при экспорте таблиц
- •4.4.7.Буфер обмена
- •4.4.8.Сохранение документа в кармане и в папках
- •4.5.Папки и группы папок
- •4.5.1.Окно "Занести в папку"
- •4.5.2.Работа с папками
- •4.5.3.Экспорт и импорт папок
- •4.6.Закладки и группы закладок
- •4.6.1.Работа с закладками
- •4.6.2.Все закладки в документе и в иб
- •4.6.3.Экспорт и импорт закладок
- •4.7.Печать и ее опции
- •4.7.1.Работа с макетом страницы
- •4.7.2.Предварительный просмотр печати
- •4.7.3.Выполнение печати
- •4.8.Некоторые операции с иб
- •Часть 1 (ключ /reindex1) - построение словаря для поиска по каталогу. При этом словарь для поиска по тексту никаким изменениям не подвергается.
- •Рекомендуемые литература и сайты Internet
- •Для заметок
3.2.3.Языки и системы программирования
Система программирования - это инструментальное ПО, предназначенное для поддержки разработки программных систем на этапах программирования и отладки. Каждая система программирования должна иметь некоторый встроенный в нее язык, предназначенный для общения с человеком - разработчиком программной системы. Такие языки называются языками программирования.
Виды языков программирования. Выделяют машиннозависимые и машиннонезависимые языки программирования. Написанная на машиннозависимом языке программа способна функционировать лишь на ЭВМ одного типа, либо на ЭВМ из достаточно узкого класса. Написанная на машиннонезависимом языке программа способна функционировать на ЭВМ различных типов из достаточно широкого класса.
Выделяют языки программирования низкого, высокого и сверхвысокого уровней. Языки низкого уровня как правило машиннозависимы - это языки кодовых команд процессора (см. "Теория кодирования") и ассемблеры. Ассемблер - это машинно-зависимый язык, близкий к языку кодовых команд соответствующего процессора, но более удобный для человека из-за принятых в нем буквенных обозначений, используемых вместо машинных кодов. Языки высокого уровня как правило машиннонезависимы - это формальные языки, построенные на основе слов и выражений естественного языка, обычно английского. Языки сверхвысокого уровня используют для описания разрабатываемой системы не только слова и выражения естественного языка, но также рисунки, диаграммы, чертежи и т. п.
Выделяют универсальные и специализированные языки программирования. Универсальные служат для описания широкого класса систем, специализированные - систем из некоторого узкого класса.
В настоящее время ПО ЭВМ почти полностью разрабатывается с помощью языков высокого и сверхвысокого уровня. Языки низкого уровня используются лишь при разработке отдельных небольших модулей, их размер и количество стараются минимизировать. При разработке ПО ЭВМ этим экономятся трудозатраты, повышается степень машиннонезависимости и надежности программ.
Наиболее популярные языки программирования. Наиболее популярными универсальными языками программирования высокого уровня в настоящее время являются Visual Basic (VB - язык программирования сверхвысокого уровня), Java, C++, C#, Object Pascal. Из специализированных можно выделить: языки описания сценариев - Visual Basic for Application (VBA - язык программирования сверхвысокого уровня), Perl, 3D Studio Max (язык программирования сверхвысокого уровня); языки описания WWW-сайтов Internet - XML, HTML, Visual Basic Script (VBS), Java Script (JS); языки управления базами данных - SQL, QBE (язык программирования сверхвысокого уровня), Fox Pro и др.
Наиболее популярные системы программирования - это разработанные фирмами Microsoft (MS) и Inprise (Borland - старое название этой фирмы) системы:
на основе языка VB - система программирования VB (разработка MS);
на основе языка Java - системы программирования Visual Java (VJ - разработка MS), Java Builder (JB - разработка Inprise);
на основе языков С++ и С# - системы программирования Visual С++, Visual С# (VС++, VC# - разработка MS), С++ Builder (СB - разработка Inprise);
на основе языка Fox Pro - система управления базами данных (СУБД) Visual Fox Pro (VFP - разработка MS);
на основе языка Object Pascal - системы программирования Delphi (разработка Inprise для Windows), Kylix (разработка Inprise для Linux).
Microsoft Visual Studio (VS) - это разработанный Microsoft пакет инструментальных программ, включающий CASE-систему VM, системы программирования VB, VJ, VC++, VC#, VFP, различные вспомогательные средства для разработки ПО. Последняя Net-версия VS вышла в 2003 году. Она содержит Net-версии указанных выше систем программирования и моделирования, кроме VJ.
Языки кодовых команд физического и виртуального процессоров. Изученный нами ранее раздел "Теория кодирования" дает ясное представление о языке кодовых команд физического процессора, который представляет собой техническое устройство в составе ЭВМ. Если файл содержит программу на языке кодовых команд процессора, то эти команды могут непосредственно из файла подаваться на процессор для выполнения, причем скорость выполнения такой программы максимальна. Однако физические процессоры различных типов могут иметь различные языки кодовых команд, а значит, кодовая программа, пригодная для одной ЭВМ, может быть не пригодна для другой. Особенно актуальна эта проблема сейчас вследствие широкого распространения компьютерных сетей, объединяющих ресурсы ЭВМ различных типов, в частности мировой глобальной сети Internet. Чтобы эту проблему решить, используют так называемые виртуальные процессоры.
Виртуальный процессор - это выполняемая физическим процессором программа, которая переводит набор в некотором смысле общепринятых кодовых команд в эквивалентный набор кодовых команд данного физического процессора и немедленно отдает их последнему для выполнения. Таким образом, мы имеем единый общепринятый входной язык команд виртуального (т. е. воображаемого) процессора, причем программы на этом языке могут выполняться на любой ЭВМ. Для этого необходимо для различных типов физических процессоров иметь различные программы-переводчики (виртуальные процессоры), поскольку выходные языки последних - это различные языки команд соответствующих физических процессоров. При этом, естественно, виртуальный процессор работает медленнее физического. В настоящее время наиболее известны 2 различных входных языка кодовых команд виртуальных процессоров, это так называемые пи-код и байт-код. Пи-код лежит в основе сетевой технологии DCOM, разработанной фирмой Microsoft. Байт-код лежит в основе сетевой Java-технологии, разработанной фирмой Sun. ОС семейства Windows до последнего времени поддерживали обе технологии, имея в своем составе виртуальные процессоры, называемые интерпретаторами пи-кода и байт-кода. Виртуальный процессор байт-кода называют также виртуальной Java-машиной (Virtual Java Machine - VJM).
В ОС Windows XP и в Internet Explorer версии 6 Microsoft отказалась от поддержки Java-технологий. В настоящее время путем расширения языка пи-кода и технологии DCOM фирмой Microsoft разработаны и широко используются в Net-версии VS, в Windows XP и в Internet Explorer версии 6 язык Common Language Runtime (CLR) и технология Net соответственно. Главный конкурент Net-технологии - это Jini-технология фирмы Sun, разработанная на основе Java-технологий. В связи с вышесказанным Java и Jini-технологии могут использоваться программистами более или менее широко лишь в ОС семейства Linux, а это работа лишь на 10% пользователей!
Файлы, содержащие кодовые команды физического или виртуального процессора обычно относятся к одному из четырех видов:
исполняемые файлы;
динамические библиотеки;
ActiveX-элементы;
Java-апплеты.
Исполняемый файл содержит программу на языке кодовых команд физического процессора, эта программа может запускаться на выполнение из среды операционной системы пользователем ЭВМ. В операционных системах семейства Windows такие файлы имеют расширения EXE или COM.
Динамическая библиотека - это файл, содержащий вспомогательные программы (т. е. подпрограммы) на языке кодовых команд физического или виртуального процессора. Эти подпрограммы могут вызываться на выполнение из работающих исполняемых файлов, динамических библиотек, ActiveX-элементов, Java-апплетов, других динамических библиотек. В операционных системах семейства Windows такие файлы имеют расширение DLL.
ActiveX-элемент или элемент управления - это файл, содержащий пи-код и предназначенный для работы в компьютерных сетях, поддерживающих технологию DCOM. Такой элемент может выполняться на ЭВМ с виртуальным процессором пи-кода. Отсюда широкое применение этих элементов в сети Internet: в частности их используют как динамические элементы WWW-страниц. ActiveX-элементы также используются аналогично динамическим библиотекам. В операционных системах семейства Windows такие файлы обычно имеют расширения OCX, ZIP, CAB. В случае расширений ZIP и CAB файлы ActiveX-элементов находятся в упакованном (сжатом) состоянии для облегчения их пересылки по сети. При этом распаковка кода происходит "на лету" непосредственно в процессе его выполнения.
Java-апплет - это файл, содержащий байт-код. Такой элемент может выполняться на любой ЭВМ, где есть виртуальный процессор байт-кода, т. е. виртуальная Java-машина (Virtual Java Machine - VJM). Отсюда широкое применение этих элементов в сети Internet: в частности, их используют как динамические элементы WWW-страниц аналогично ActiveX-элементам. В операционных системах семейства Windows такие файлы обычно имеют расширение CLASS. Java-апплеты могут создаваться только основанными на языке Java системами программирования (VJ, JB и т. п.).
Исходные тексты и проекты разрабатываемых программ в системах программирования. Человек не в состоянии непосредственно заполнять двоичным кодом память ЭВМ, следовательно, он не в состоянии непосредственно создавать программы на языках кодовых команд физического или виртуального процессора. За него это будет делать система программирования. Человек должен лишь сообщить ей, как должна работать разрабатываемая программа. В принципе человек может передавать информацию текстами, рисунками и звуками. Таким образом, переданная человеком информация может быть записана в ЭВМ в виде текстовых, графических и звуковых файлов. Эта информация должна быть представлена в соответствии с правилами некоторого формального языка (языка программирования), поскольку она адресована системе программирования, а не другому человеку.
Современные системы программирования сверхвысокого уровня получают от человека входную информацию в виде так называемого исходного проекта разрабатываемой программы - совокупности текстовых, графических и даже звуковых файлов. Формализация совокупности текстовой (вербальной), графической и звуковой (невербальной) информации - сложная научная задача, подходы к ее решению были найдены совсем недавно, формализация же текстовой информации - задача значительно более легкая. До появления систем программирования сверхвысокого уровня существовавшие тогда системы программирования получали от человека входную информацию в виде исходного текста разрабатываемой программы - совокупности лишь текстовых файлов.
В результате работы человека с универсальной системой программирования на выходе должны получиться файлы, содержащие кодовые команды физического или виртуального процессора: исполняемые файлы; динамические библиотеки; ActiveX-элементы; Java-апплеты.
Пример исходного проекта для языка и системы программирования сверхвысокого уровня Visual Basic (VB). Рисунок 3 .48 показывает пример работы простейшего Windows-приложения Hello2 (назовем так наш проект). На экране появляется специальное окно (дадим ему имя Form1). На окне имеется надпись "Как Вас зовут?" (дадим ей имя Label1). В специальное поле (дадим ему имя Text1) пользователь может впечатать свое имя, например, "Марина". После щелчка по кнопке OK (дадим ей имя Command1) на другой надписи (дадим ей имя Label2) появляется приветствие, в нашем случае это "Привет,Марина!" После щелчка по кнопке "Выход" (дадим ей имя Command2) окно скрывается с экрана, и Windows-приложение Hello2 завершает свою работу.
После запуска VB мы попадаем в среду, обладающую функциями и графического и текстового редактора (Рисунок 3 .49), где мы рисуем окно Form1 c 5 объектами в нем: Label1; Label2; Text1; Command1; Command2 - всего у нас 6 объектов. Кроме того, мы пишем приведенные ниже два текста процедур (т. е. вспомогательных программ).
Sub Command1_Click
Label2.Caption = "Привет," + Text1.Text + "!"
End Sub
Sub Command2_Click
End
End Sub
Рисунок 3.48. Работа Windows-приложения Hello2
Всякая процедура языка Visual Basic имеет следующую структуру:
Sub ИмяПроцедуры (ОписаниеПараметров)
КомандыПроцедуры
End Sub
Процедуры Command1_Click и Command2_Click соответственно содержат команды, которые должны выполняться при щелчке мышью по кнопкам Command1 (ОК) и Command2 (Выход). При щелчке по кнопке ОК команда (Label2.Caption = "Привет," + Text1.Text + "!") присваивает свойству Caption (надпись) объекта Label2 в нашем случае строку "Привет,Марина!" - результат операции конкатенации строки "Привет," с атрибутом Text объекта Text1 (в нашем случае это "Марина") и с односимвольной строкой "!" При щелчке по кнопке "Выход" будет выполнена команда End, означающая завершение всей нашей программы.
Рисунок 3.49. Работа с проектом Hello2 в среде системы программирования Visual Basic
Исходный проект представляет собой папку Hello2 с файлами Form1.frm (содержит описание внешнего вида окна, всех объектов на нем, а также их поведения - процедур Command1_Click и Command2_Click) и Hello2.vbp (интегрирующий файл проекта). Здесь были приведены взятые по умолчанию системой программирования VB имена объектов и файлов, в принципе мы могли бы дать им и другие имена.
Основными функциями универсальных систем программирования являются:
Функции специализированного редактора (текстового и графического для языков сверхвысокого уровня), ориентированного на создание исходных проектов или текстов программ с функцией синтаксического контроля.
Интерпретация - это автоматический перевод системой программирования исходных проектов (текстов) программ со встроенного языка программирования на язык кодовых команд процессора (физического или виртуального) и немедленное выполнение этих команд. Интерпретация производится с целью поиска ошибок.
Отладка - это дополнительные функции, облегчающие поиск семантических ошибок: пошаговое выполнение программы; выделение точек прерывания выполнения программы и т. п.
Компиляция - это автоматический перевод системой программирования исходных проектов (текстов) программ со встроенного языка программирования на язык кодовых команд процессора (физического или виртуального) с созданием результирующих файлов - исполняемых файлов, динамических библиотек и т. п. Результирующие файлы могут затем и при отсутствии на компьютере создавшей их системы программирования.
Сценарное программирование имеет целью не создание нового ПО, а настройку имеющегося для выполнения конкретных задач. Это ПО должно иметь встроенный язык сценарного программирования. Сценарным программированием занимаются специалисты-настройщики при сопровождении ПО, а также опытные пользователи компьютеров.
Так, программа "1С Бухгалтерия" должна после приобретения настраиваться под конкретную организацию, поскольку бухгалтерия в вузе, в магазине, на заводе не одинакова. Этим занимаются настройщики программы "1С Бухгалтерия", которые знают встроенный в нее язык сценарного программирования.
Microsoft почти во все свои программы (в том числе в программы пакета Microsoft Office: Excel, Word, Access и др.) встраивает язык сценарного программирования VBA. Работа пользователя, например, в Excel происходит путем последовательного вызова имеющихся в этой среде функций при помощи систем меню, пиктограмм и т. п.
Таблица 3.8. Расчет подоходного налога
ФИО |
КолИжд |
Доходы |
СоцВып |
ПодНал |
Иванова И.П. |
2 |
15000 |
5000 |
1124.5 |
Сидоров А.В. |
25 |
1500 |
1000 |
0 |
Петрова Е.А. |
0 |
25000 |
5000 |
2541.5 |
Кузнецов М.И. |
1 |
10000 |
0 |
1183 |
Токарев К.А. |
0 |
6450 |
0 |
780 |
Предположим, что пользователю при работе в Excel приходится многократно повторять довольно сложные действия, в которых видна некоторая закономерность. Пользователь может описать на языке VBA сценарий своих действий, написав так называемый макрос. Макрос затем можно запустить, при этом автоматически выполнятся все действия запрограммированного сценария. Тем самым в Excel фактически будет добавлена новая функция. На VBA можно даже написать макрос, который будет описывать сценарий работы с несколькими Windows-приложениями, например, такой макрос найдет и возьмет часть таблицы из Word, перенесет ее в Excel и сделает необходимые расчеты, а затем полученные данные запишет в базу данных Access, а часть из них в качестве WWW-страницы выведет для просмотра в Internet Explorer и т. п.
Пример сценарного программирования в Excel. Таблица 3 .8 дает расчет подоходного налога, как это делают сейчас в бухгалтерии. Он зависит от полученных доходов, от входящих в них социальных выплат (они налогом не облагаются) и от количества иждивенцев (один МРОТ в любом случае не облагается налогом, а за каждого иждивенца не облагается налогом еще один МРОТ дополнительно).
Excel не имеет встроенной функции расчета подоходного налога в РФ, однако с помощью VBA можно создать такую пользовательскую функцию. Для этого нужно в среде Excel выбрать следующие пункты многоуровневого меню: Сервис, Макрос, Редактор Visual Basic. Затем в среде редактора Visual Basic нужно создать модуль (лист для программирования) при его отсутствии. Для этого нужно выбрать следующие пункты многоуровневого меню: Insert, Module. Затем на листе для программирования нужно напечатать следующее:
Function ПодНал (Доходы, СоцВып, КолИжд)
Dim СумОсвНал, СумОблНал, МРОТ
МРОТ = 450
СумОсвНал = СоцВып + (КолИжд + 1) * МРОТ
If СумОсвНал > Доходы Then
ПодНал = 0
Else
СумОблНал = Доходы - СумОсвНал
ПодНал = СумОблНал * 13 / 100
End If
End Function
При этом мы используем следующие шаблоны VB и VBA:
Шаблон функции:
Function ИмяФункции (ОписаниеПараметров)
КомандыФункции
End Function
Шаблон создания вспомогательных величин:
Dim СписокВспомогательныхВеличин
При выходе из процедуры или функции все созданные внутри нее вспомогательные величины автоматически уничтожаются.
Шаблон присваивания:
Переменная = Выражение
Шаблон ветвления If:
If Условие Then
СерияКоманд1
Else
СерияКоманд2
End If