Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
инфа часть2.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
117.65 Кб
Скачать

21. Форматирование в Excel применяется для облегчения восприятия данных, что играет немаловажную роль в производительности труда.

Назначение формата

Выделите ячейку (диапазон ячеек).

Выберите команду "Формат"-"Ячейки" (Ctrl+1).

В появившемся окне диалога (подробно окно будет рассмотрено позже) введите нужные параметры форматирования.

Нажмите кнопку "Ок"

Форматированная ячейка сохраняет свой формат, пока к ней не будет применен новый формат или не удален старый. При вводе значения в ячейку к нему применяется уже используемый в ячейке формат.

Удаление формата

Выделите ячейку (диапазон ячеек).

Выберите команду "Правка"-"Очистить"-"Форматы".

Для удаления значений в ячейках надо выбрать команду "Все" подменю "Очистить".

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

Форматирование с помощью панелей инструментов

Наиболее часто используемые команды форматирования вынесены на панель инструментов "Форматирование". Чтобы применить формат с помощью кнопки панели инструментов, выделите ячейку или диапазон ячеек и затем нажмите кнопку мышью. Для удаления формата надо нажать кнопку повторно.

Для быстрого копирования форматов из выделенных ячеек в другие ячейки можно использовать кнопку "Формат по образцу" панели "Форматирование".

Форматирование отдельных символов

Форматирование можно применять к отдельным символам текстового значения в ячейке так же, как и ко всей ячейке. Для этого выделите нужные символы и затем в меню "Формат" выберите команду "Ячейки". Установите нужные атрибуты и нажмите кнопку "Ок". Нажмите клавишу Enter, чтобы увидеть результаты своего труда.

Применение автоформата

Автоматические форматы Excel - это заранее определенные сочетания числового формата, шрифта, выравнивания, границ, узора, ширины столбца и высоты строки.

Чтобы использовать автоформат, надо выполнить следующие действия:

Введите нужные данные в таблицу.

Выделите диапазон ячеек, которые необходимо форматировать.

В меню "Формат" выберите команду "Автоформат". При этом откроется окно диалога.

----------------------------------------------------------------------------------------------------

22. Формула - это математическое выражение, которое создается для вычисления результата и которое может зависеть от содержимого других ячеек. Формула в ячейке может содержать данные, ссылки на другие ячейки, а также обозначение действий, которые необходимо выполнить.

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

В Excel формулы начинаются со знака =. Скобки ( ) могут использоваться для определения порядка математических операции.

Excel поддерживает следующие операторы:

Арифметические операции:

сложение (+);

умножение (*);

нахождение процента (%);

вычитание (-);

деление (/);

экспонента (^).

Операторы сравнения:

= равно;

< меньше;

> больше;

<= меньше или равно;

>= больше или равно;

<> не равно.

Операторы связи:

: диапазон;

; объединение;

& оператор соединения текстов.

Автосуммирование

Кнопка Автосумма (AutoSum) - ∑ может использоваться для автоматического создания формулы, которая суммирует область соседних ячеек, находящихся непосредственно слева в данной строке и непосредственно выше в данном столбце.

Выберите ячейку, в которую надо поместить результат суммирования.

Щелкните кнопку Автосумма - ∑ или нажмите комбинацию клавиш Alt+=. Excel примет решение, какую область включить в диапазон суммирования, и выделит ее пунктирной движущейся рамкой, называемой границей. Нажмите Enter для принятия области, которую выбрала программа Excel, или выберите с помощью мыши новую область и затем нажмите Enter. Функция "Автосумма" автоматически трансформируется в случае добавления и удаления ячеек внутри области.

Тиражирование формул при помощи маркера заполнения

Область ячеек (ячейка) может быть размножена при помощи использования маркера заполнения. Как было показано в предыдущем разделе, маркер заполнения представляет собой контрольную точку в правом нижнем углу выделенной ячейки.

Часто бывает необходимо размножать не только данные, но и формулы, содержащие адресные ссылки. Процесс тиражирования формул при помощи маркера заполнения позволяет колировать формулу при одновременном изменении адресных ссылок в формуле.

Выберите ячейку, содержащую формулу для тиражирования.

Перетащите маркер заполнения в нужном направлении. Формула будет размножена во всех ячейках.

Обычно этот процесс используется при копировании формул внутри строк или столбцов, содержащих однотипные данные. При тиражировании формул с помощью маркера заполнения меняются так называемые относительные адреса ячеек в формуле.

Функции в Excel

Более сложные вычисления в таблицах Excel осуществляются с помощью специальных функций (рис. 90). Список категорий функций доступен при выборе команды Функция в меню Вставка (Insert, Function).

Финансовые функции осуществляют такие расчеты, как вычисление суммы платежа по ссуде, величину выплаты прибыли на вложения и др.

Функции Дата и время позволяют работать со значениями даты и времени в формулах. Например, можно использовать в формуле текущую дату, воспользовавшись функцией СЕГОДНЯ.

Математические функции выполняют простые и сложные математические вычисления, например вычисление суммы диапазона ячеек, абсолютной величины числа, округление чисел и др.

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

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

Функции работы с базами данных можно использовать для выполнения расчетов и для отбора записей по условию.

Текстовые функции предоставляют пользователю возможность обработки текста. Например, можно объединить несколько строк с помощью функции СЦЕПИТЬ.

Логические функции предназначены для проверки одного или нескольких условий. Например, функция ЕСЛИ позволяет определить, выполняется ли указанное условие, и возвращает одно значение, если условие истинно, и другое, если оно ложно.

Функции Проверка свойств и значений предназначены для определения данных, хранимых в ячейке. Эти функции проверяют значения в ячейке по условию и возвращают в зависимости от результата значения ИСТИНА или ЛОЖЬ.

Для вычислений в таблице с помощью встроенных функций рекомендуется использовать мастер функций. Диалоговое окно мастера функций доступно при выборе команды Функция в меню Вставка или нажатии кнопки, на стандартной панели инструментов. В процессе диалога с мастером требуется задать аргументы выбранной функции, для этого необходимо заполнить поля в диалоговом окне соответствующими значениями или адресами ячеек таблицы.

----------------------------------------------------------------------------------------------------

23. Относительные и абсолютные ссылки

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

Использование относительных ссылок аналогично указанию направления движения по улице - "идти три квартала на север, затем два квартала на запад". Следование этим инструкциям из различных начальных мест будет приводить в разные места назначения.

Обычно ссылки на ячейки описываются и используются как относительные (формат записи А1). Когда формула, содержащая эти ссылки, копируется, происходит изменение формулы для поддержания относительности ссылок.

Например, формула, которая суммирует числа в столбце или строке, затем часто копируется для других номеров строк или столбцов. В таких формулах используются относительные ссылки (см. предыдущий пример в табл. 25).

Абсолютная ссылка на ячейку .иди область ячеек будет всегда ссылаться на один и тот же адрес строки и столбца. При сравнении с направлениями улиц это будет примерно следующее: "Идите на пересечение Арбата и Бульварного кольца". Вне зависимости от места старта это будет приводить к одному и тому же месту. Если формула требует, чтобы адрес ячейки оставался неизменным при копировании, то должна использоваться абсолютная ссылка (формат записи $А$1). Например, когда формула вычисляет доли от общей суммы, ссылка на ячейку, содержащую общую сумму, не должна изменяться при копировании.

Абсолютная ссылка может быть создана только при наборе формулы, перед адресом строки и столбца вводится знак доллара - $.

Для создания абсолютной ссылки удобно использовать клавишу абсолютной ссылки F4, которая осуществляет преобразование относительной ссылки в абсолютную и наоборот.

Знак доллара ($) появится как перед ссылкой на столбец, так и перед ссылкой на строку (например, $С$2), Последовательное нажатие F4 будет добавлять или убирать знак перед номером столбца или строки в ссылке (С$2 или $С2 - так называемые смешанные ссылки).

Перемещение и копирование формулы

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

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

При копировании формулы ссылки на ячейки могут быть изменены в зависимости от используемого вида ссылок на ячейки.

Предполагаемое действие:

Перемещение формулы

Копирование формулы

Перемещение формулы

Выделите ячейку с формулой, которую необходимо перенести.

На вкладке Главная в группе Буфер обмена нажмите кнопку Вырезать.

Формулы можно скопировать и путем перетаскивания границы выделенной ячейки в левую верхнюю ячейку области вставки. Все имеющиеся данные будут заменены.

Выполните одно из следующих действий:

Чтобы вставить формулу и все параметры форматирования, на вкладке Главная в группе Буфер обмена нажмите кнопку Вставить.

Чтобы скопировать только формулу, на вкладке Главная в группе Буфер обмена нажмите стрелку Вставить, выберите команду Специальная вставка, а затем — пункт Формулы.

Копирование формулы

Выделите ячейку, содержащую формулу, которую необходимо скопировать.

На вкладке Главная в группе Буфер обмена нажмите кнопку Копировать.

Выполните одно из следующих действий:

Чтобы вставить формулу и любое форматирование, на вкладке Главная в группе Буфер обмена нажмите кнопку Вставить.

Чтобы вставить только формулу, на вкладке Главная в группе Буфер обмена выберите последовательно команды Вставка, Специальная вставка, а затем щелкните пункт Формулы.

ОДНАКО, можно вставить только значения формулы. Для этого на вкладке Главная в группе Буфер обмена последовательно выберите команды Вставка, Специальная вставка и затем — команду Значения.

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

Выделите ячейку с формулой.

В строке формул выделите ссылку, которую нужно изменить.

Нажатием клавиши F4 выберите нужный тип ссылки.

----------------------------------------------------------------------------------------------------

24. Программа Microsoft Excel идеально подходит для проведения аналитической работы, но подходит лишь в том случае, если пользователь подкован в самой программе.

В версии 2010 года Microsoft Excel, как и в предыдущей, существует возможность ввода в анализ функции «что если». Но, в отличие от более старых версий, новая обладает значительно большим набором значений.

Можно привести пример. Анализ с значением «что если» можно ввести в составление бюджета или даже нескольких, и каждый из которых будет рассчитан на свой уровень дохода. При этом у пользователя есть возможность указать такой результат, какой должен быть в итоге получен, и потом пользователь определяет, какие именно значения могут этот результат найти. Программа Microsoft Excel способна предложить вам сразу несколько средств, с помощью которых можно производить анализ значений «что если». В частности, анализ потенциально возможных вариантов подразумевает изменение данных в ячейках, чтобы выяснить, как внесенные изменения могут повлиять на конечный результат работы формулы.

Программа Microsoft Excel подразумевает следующие типы анализа потенциально возможных вариантов:

- сценарии;

- возможность подбора нужных параметров;

- таблицы данных.

Таблицы данных, равно как и сценарии, умеют оперировать наборами входных значений и выводят возможные в итоге результаты. Сценарий может работать с несколькими переменными, предельное количество значений – 32. Таблица данных работает лишь с одной, максимум двумя переменными, однако, таблица данных также может включать великое множество значений для переменных.

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

Помимо этих трех вышеописанных средств пользователь также может установить нужные надстройки для более углубленного анализа «что если». В качестве примера можно привести надстройку «поиск решения». Она несколько схожа со средством подбора параметров, однако умеет оперировать большим количеством переменных.

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

Если несколько людей хранят информацию в разных книгах, которые, тем не менее, нужно использовать в сценариях, все книги можно объединить сценарии книг. А после сбора данных вы сможете составить итоговый отчет по использованным сценариям. Имейте в виду, что в отчете по использованным сценариям все их данные хранятся в одной таблице, под которую создается отдельный лист. Перерасчет отчета по сценариям в режиме автоматики не может быть выполнен. Так что если где-то изменились данные, вам придется создать новый отчет!

----------------------------------------------------------------------------------------------------

25. В процессе создания любой программы можно выделить несколько этапов.

1. Постановка задачи — выполняется специалистом в предметной области на естественном языке (русском, английском и т. д.). Необходимо определить цель задачи, ее содержание и общий подход к решению. Возможно, что задача решается точно (аналитически), и без компьютера можно обойтись. Уже на этапе постановки надо учитывать эффективность алгоритма решения задачи на ЭВМ, ограничения, накладываемые аппаратным и программным обеспечением (АО и ПО).

2. Анализ задачи и моделирование — определяются исходные данные и результат, выявляются ограничения на их значения, выполняется формализованное описание задачи и построение (выбор) математической модели, пригодной для решения на компьютере.

3. Разработка или выбор алгоритма решения задачи — выполняется на основе ее математического описания. Многие задачи можно решить различными способами. Программист должен выбрать оптимальное решение. Неточности в постановке, анализе задачи или разработке алгоритма могут привести к скрытой ошибке — программист получит неверный результат, считая его правильным.

4. Проектирование общей структуры программы — формируется модель решения с последующей детализацией и разбивкой на подпрограммы, определяется "архитектура" программы, способ хранения информации (набор переменных, массивов и т. п.).

5. Кодирование — запись алгоритма на языке программирования. Современные системы программирования позволяют ускорить процесс разработки программы, автоматически создавая часть ее текста, однако творческая работа по-прежнему лежит на программисте. Для успешной реализации целей проекта программисту необходимо использовать методы структурного программирования.

6. Отладка и тестирование программы. Под отладкой понимается устранение ошибок в программе. Тестирование позволяет вести их поиск и, в конечном счете, убедиться в том, что полностью отлаженная программа дает правильный результат. Для этого разрабатывается система тестов — специально подобранных контрольных примеров с такими наборами параметров, для которых решение задачи известно. Тестирование должно охватывать все возможные ветвления в программе, т. е. проверять все ее инструкции, и включать такие исходные данные, для которых решение невозможно. Проверка особых, исключительных ситуаций, необходима для анализа корректности. Например, программа должна отказать клиенту банка в просьбе выдать сумму, отсутствующую на его счете. В ответственных проектах большое внимание уделяется так называемой "защите от дурака" подразумевающей устойчивость программы к неумелому обращению пользователя. Использование специальных программ — отладчиков, которые позволяют выполнять программу по отдельным шагам, просматривая при этом значения переменных, значительно упрощает этот этап.

7. Анализ результатов — если программа выполняет моделирование какого-либо известного процесса, следует сопоставить результаты вычислений с результатами наблюдений. В случае существенного расхождения необ­ходимо изменить модель.

8. Публикация результатов работы, передача заказчику для эксплуатации.

9. Сопровождение программы — включает консультации представителей заказчика по работе с программой и обучение персонала. Недостатки и ошибки, замеченные в процессе эксплуатации, должны устраняться.

----------------------------------------------------------------------------------------------------

26. Слово алгоритм происходит от algorithmi – латинской формы написания имени великого математика IX в. Аль Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмами и понимали только правила выполнения четырех арифметических действий над многозначными числами. В дальнейшем это понятие стали использовать вообще для обозначения последовательности действий, приводящих к решению поставленной задачи.

Рассмотрим пример алгоритма для нахождения середины отрезка при помощи циркуля и линейки.

Алгоритм деления отрезка АВ пополам:

1) поставить ножку циркуля в точку А;

2) установить раствор циркуля равным длине отрезка АВ;

3) провести окружность;

4) поставить ножку циркуля в точку В;

5) провести окружность;

6) через точки пересечения окружностей провести прямую;

7) отметить точку пересечения этой прямой с отрезком АВ.

Анализ примеров различных алгоритмов показывает, что запись алгоритма распадается на отдельные указания исполнителю выполнить некоторое законченное действие. Каждое такое указание называется командой. Команды алгоритма выполняются одна за другой. После каждого шага исполнения алгоритма точно известно, какая команда должна выполнятся следующей. Совокупность команд, которые могут быть выполнены исполнителем, называется системой команд исполнителя.

Свойства алгоритмов:

Определенность - от алгоритма требуется быть строгим, четким, понятным. Все действия, символы операций должны быть общепринятыми или заранее определены. Не допускается двусмысленности, неоднозначности. Существуют определенные синтаксические правила написания алгоритма;

Дискретность - от алгоритма требуется пошаговость записи и выполнения;

Массовость - от алгоритма требуется возможность его применения при различных значениях исходных данных, то есть предполагается, что алгоритм должен содержать переменные величины;

Результативность - предполагается обязательное получение результата.

Способы задания алгоритма:

словесный, (недостаток–многословность, возможна неоднозначность–«он встретил ее на поле с цветами»),

табличный (физика, химия и т. д.),

графический (блок-схемы).

Графическая форма представления алгоритма называется блок-схемой.

----------------------------------------------------------------------------------------------------

27. Разработка алгоритма — специфический метод для создания математического способа решения проблем. Прикладной разработкой алгоритма является инжиниринг алгоритма.

Разработка алгоритма — это отождествление и объединение во множество решений теорий исследования операций, например динамическое программирование и разделяй и властвуй. Методиками разработки и реализации разработки алгоритма будут шаблоны[1], такие как шаблонные методы и декораторы, использование структуры данных, а также имя и сортировка списков. Сейчас использование разработки алгоритма можно найти в поисковых процессах сканирования Интернета, маршрутизации пакетов и кэшировании.

Языки программирования мейнфреймов, такие как АЛГОЛ, Фортран, Кобол, PL/I, SAIL, и SNOBOL это вычислительные инструменты для реализации «проектирования алгоритма», но «разработка алгоритма» (р/а) не будет языком. В р/а могут быть процессы написанные вручную (например, системы уравнений), а серии механических процессов выполняются вручную, аналоговой частью оборудования, или цифровым процессом и/или процессором.

Одним из наиболее важных аспектов проектирования алгоритмов является создание алгоритма, который имеет эффективное время работы, также известные как его большое «O».

Типы алгоритмов

Различают три основных типа алгоритмов: линейный, ветвящийся и циклический. Их названия определяются входящими в них типовыми алгоритмическими конструкциями, которые также называют базовыми структурами. К основным базовым структурам относятся: следование (линейный алгоритм), ветвления (ветвящийся алгоритм) и цикл (циклический алгоритм). Доказано, что этих трех основных базовых структур достаточно, чтобы построить алгоритм любой сложности.

Линейный алгоритм

Самыми простыми по структуре являются линейные алгоритмы. Они не имеют ветвлений и циклов. В блок-схемах таких алгоритмов отсутствует блок условия и обратная связь, позволяющие разбивать потоки данных и многократно выполнять некоторые действия.

Операция присваивания

Операция присваивания записывается тремя частями:

<имя переменной> := <выражение>

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

Пример. Задана сторона квадрата. Найти его площадь. Записать базу данных и базу знаний.

-Начало алгоритма

-Ввод значения переменной

-Вычисление площади квадрата

-Вывод результата

-Завершение алгоритма

--------------------------------------------------------------------------------------------

28. Первые программы заключались в установке ключевых переключателей на передней панели вычислительного устройства. Очевидно, таким способом можно было составить только небольшие программы.

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

Например, для организации чтения блока данных с гибкого диска программист может использовать 16 различных команд, каждая из которых требует 13 параметров, таких как номер блока на диске, номер сектора на дорожке и т. п. Когда выполнение операции с диском завершается, контроллер возвращает 23 значения, отражающие наличие и типы ошибок, которые надо анализировать.

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

Каждая модель процессора имеет свой собственный набор машинных команд, хотя большинство из них совпадает. Если Процессор А полностью понимает язык Процессора Б, то говорится, что Процессор А совместим с Процессором Б. Процессор Б будет называться не совместимым с Процессором А если А имеет команды, не распознаваемые Процессором Б.

На протяжении 60-х годов запросы на разработку программного обеспечения возросли и программы стали очень большими. Люди начали понимать, что создание программного обеспечения — гораздо более сложная задача, чем они себе представляли. Это привело к тому, что было разработано структурное программирование. С развитием структурного программирования следующим достижением были процедуры и функции. К примеру, если есть задача, которая выполняется несколько раз, то её можно объявить как функцию или процедуру и в выполнении программы просто вызывать её. Общий код программы в данном случае становится меньше. Функции позволяют создавать модульные программы.

Следующим достижением было использование структур, благодаря которым перешли к классам. Структуры — это составные типы данных, построенные с использованием других типов. Например, структура время. В неё входит: часы, минуты, секунды. Программист мог создать структуру время и работать с ней, как с отдельной структурой. Класс — это структура, которая имеет свои переменные и функции, которые работают с этими переменными. Это было очень большое достижение в области программирования. Теперь программирование можно было разбить на классы и тестировать не всю программу, состоящую из 10’000 строк кода, а разбить программу на 100 классов, и тестировать каждый класс. Это существенно облегчило написание программного продукта.

Язык ассемблера

В случае, когда нужно иметь эффективную программу, вместо машинных языков используются близкие к ним машинно-ориентированные языки — ассемблеры. Люди используют мнемонические команды взамен машинных команд.

Но даже работа с ассемблером достаточно сложна и требует специальной подготовки.

Например, для процессора Zilog Z80 машинная команда 00000101 предписывает процессору уменьшить на единицу свой регистр B. На языке ассемблера это же будет записано как DEC B.

Структурное программирование

Следующий шаг был сделан в 1954 году, когда был создан первый язык высокого уровня — Фортран (англ. FORTRAN - FORmula TRANslator). Языки высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы. Эти языки более удобны для человека, с помощью них, можно писать программы до нескольких тысяч строк длиной. Однако легко понимаемый в коротких программах, этот язык становился нечитаемым и трудно управляемым, когда дело касалось больших программ. Решение этой проблемы пришло после изобретения языков структурного программирования (англ. structured programming language), таких как Алгол(1958), Паскаль(1970), Си(1972).

Структурное программирование предполагает точно обозначенные управляющие структуры, программные блоки, отсутствие инструкций безусловного перехода (GOTO), автономные подпрограммы, поддержка рекурсии и локальных переменных.

Суть такого подхода заключается в возможности разбиения программы на составляющие элементы.

Также создавались функциональные (аппликативные) языки (Пример: Lisp — англ. LISt Processing, 1958) и логические языки (пример: Prolog — англ. PROgramming in LOGic, 1972).

Хотя структурное программирование, при его использовании, дало выдающиеся результаты, даже оно оказывалось несостоятельным тогда, когда программа достигала определенной длины. Для того чтобы написать более сложную (и длинную) программу, нужен был новый подход к программированию.

ООП

В итоге в конце 1970-х и начале 1980-х были разработаны принципы объектно-ориентированного программирования. ООП сочетает лучшие принципы структурного программирования с новыми мощными концепциями, базовые из которых называются инкапсуляцией, полиморфизмом и наследованием.

Примерами объектно-ориентированных языков являются Object Pascal, C++, Java и др.

ООП позволяет оптимально организовывать программы, разбивая проблему на составные части, и работая с каждой по отдельности. Программа на объектно-ориентированном языке, решая некоторую задачу, по сути, описывает часть мира, относящуюся к этой задаче.

----------------------------------------------------------------------------------------------------

29.1.Неструктурные языки (широко использовались 40-е годы)

Преимущества Оптимизация программы под аппаратную архитектуру.

Как следствие, обеспечение высокой эффективности вычислений.

Недостатки Для каждого типа вычислительной машины должен был быть написан свой вариант исходного кода.

Применение Быстрые численные расчеты. Создание драйверов устройств

Примеры языков: Ассемблеры.

2.Директивные (структурные) языки (появились в 50-е годы)

Преимущества Повторное использование ранее написанных блоков кода. Высокая степень независимости программы от типа вычислительной машины. Повышение эффективности труда разработчиков, в том числе и за счет абстрагирования от конкретных деталей аппаратного обеспечения.

Недостатки Некоторая потеря в скорости вычислений.

Применение Создание операционных систем и системных программ. Разработка небольших пользовательских приложений. Научные расчеты.

Примеры языков: FORTRAN, C, Pascal.

3.Декларативные (функциональные и логические) языки (зародились в 60-е годы)

Особенность Программный код на декларативном языке программирования представляет собой описание действий, которые можно осуществлять, а не последовательный набор команд.

Преимущества Легче формализуется математическими средствами. Как следствие, программы проще тестировать, т.е. проверять на наличие ошибок. Высокая степень абстракции.

Недостатки Снижение скорости работы программы.

Применение Доказательство теорем. Возможность обработки разнородных данных.

4. A) Функциональные языки

Особенность Программу на функциональном языке можно представить как функцию с одним или несколькими аргументами.

Преимущества Автоматическое динамическое распределение памяти компьютера для хранения данных. Программист получает возможность абстрагироваться от представления данных и других рутинных операциях и сосредоточиться на предметной области.

Недостатки Нелинейная структура программы, следовательно, такое программирование сложно для понимания. Относительно невысокая эффективность вычислений.

Применение Обработка рекурсивных структур данных. Обработка символьной информации.

Примеры языков: Haskell.

b) Логические языки

Особенность Программа представляет собой совокупность правил или логических высказываний. В программе могут быть логические причинно-следственные связи.

Преимущества Возможность откатов, т.е. возвращения к предыдущей подцели при отрицательном результате одного из вариантов в процессе поиска решения. Это избавляет от необходимости поиска решения путем полного перебора вариантов и увеличивает эффективность реализации.

Недостатки Узкий класс решаемых задач.

Применение Эмуляция искусственного интеллекта. Разработка экспертных систем.

Примеры языков: Prolog.

5.Объектно-ориентированные языки

Особенности Программа представляет собой описание объектов, их свойств (или атрибутов), классов и отношений между ними, способов взаимодействия.

Преимущества Смысловая близость к предметной области любой структуры и назначения. Механизм наследования свойств и методов позволяет строить производные понятия на основе базовых, создавая тем самым модели предметной области. Использование ранее созданных библиотек классов позволяет сэкономить время при разработке новых программных продуктов. Полиморфизм, заложенный в ООП, обеспечивает гибкость и универсальность программного обеспечения. Удобство разработки ПО группой лиц.

Недостатки Сложность полной формализации реального мира создает в дальнейшем трудности тестирования созданного ПО.

Применение Разработка больших пользовательских приложений.

Примеры языков (большинство современных языков программирования поддерживают концепцию объектно-ориентированного программирования): C++, Python.

6.Языки сценариев

Особенности Программа представляет собой совокупность возможных сценариев обработки данных. Выбор конкретного сценария зависит от наступления того или иного события.

Преимущества Основные достоинства данного класса языков программирования унаследованы от объектно-ориентированных языков. Легкость использования с инструментальными средствами автоматизированного проектирования и быстрого создания ПО.

Недостатки Сложность тестирования. Большое количество вариантов, которые требуется предусмотреть. Большая вероятность побочных эффектов.

Применение Интернет технологии

Примеры языков: JavaScript, Python, PHP.

----------------------------------------------------------------------------------------------------

30. Словосочетание "информационная безопасность" в разных контекстах может иметь различный смысл. В Доктрине информационной безопасности Российской Федерации термин "информационная безопасность" используется в широком смысле. Имеется в виду состояние защищенности национальных интересов в информационной сфере, определяемых совокупностью сбалансированных интересов личности, общества и государства.

В Законе РФ "Об участии в международном информационном обмене" (закон утратил силу, в настоящее время действует "Об информации, информационных технологиях и о защите информации") информационная безопасность определяется аналогичным образом – как состояние защищенности информационной среды общества, обеспечивающее ее формирование, использование и развитие в интересах граждан, организаций, государства.

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

----------------------------------------------------------------------------------------------------

31. Законодательные, административные, технические.

Законодательные методы определяют кто и в какой форме должен иметь доступ к защищаемой информации, и устанавливают ответственность за нарушения установленного порядка. Например, в древнем мире у многих наций были тайные культы, называемые мистериями. К участию в мистериях допускались только посвященные путем особых обрядов лица. Содержание мистерий должно было сохраняться в тайне. А за разглашение секретов мистерий посвященного ждало преследование, вплоть до смерти. Также смертью каралось недозволенное участие в мистериях, даже произошедшее по случайности. В современном мире существуют законы о защите государственной тайны, авторских прав, положения о праве на тайну личной переписки и многие другие. Такие законы описывают, кто и при каких условиях имеет, а кто не имеет право доступа к определенной информации. Однако законодательные методы не способны гарантировать выполнение установленных правил, они лишь декларируют эти правила вместе с мерой ответственности за их нарушение.

Административные методы заключаются в определении процедур доступа к защищаемой информации и строгом их выполнении. Контроль над соблюдением установленного порядка возлагается на специально обученный персонал. Административные методы применялись многие века и диктовались здравым смыслом. Чтобы случайный человек не прочитал важный документ, такой документ нужно держать в охраняемом помещении. Чтобы передать секретное сообщение, его нужно посылать с курьером, который готов ценой собственной жизни защищать доверенную ему тайну. Чтобы из библиотеки не пропадали в неизвестном направлении книги, необходимо вести учет доступа к библиотечным ресурсам. Современные административные методы защиты информации весьма разнообразны. Например, при работе с документами, содержащими государственную тайну, сначала необходимо оформить допуск к секретным документам. При получении документа и возврате его в хранилище в журнал регистрации заносятся соответствующие записи. Работа с документами разрешается только в специально оборудованном и сертифицированном помещений. На любом этапе известно лицо, несущее ответственность за целостность и секретность охраняемого документа. Схожие процедуры доступа к информации существуют и в различных организациях, где они определяются корпоративной политикой безопасности. Например, элементом политики безопасности может являться контроль вноса и выноса с территории организации носителей информации (бумажных, магнитных, оптических и др.). Административные методы защиты зачастую совмещаются с законодательными и могут устанавливать ответственность за попытки нарушения установленных процедур доступа.

Технические методы защиты информации в отличие от законодательных и административных, призваны максимально избавиться от человеческого фактора. Действительно, соблюдение законодательных мер обуславливается только добропорядочностью и страхом перед наказанием. За соблюдением административных мер следят люди, которых можно обмануть, подкупить или запугать. Таким образом, можно избежать точного исполнения установленных правил. А в случае применения технических средств зашиты перед потенциальным противником ставится некоторая техническая (математическая, физическая) задача, которую ему необходимо решить для получения доступа к информации. В то же время легитимному пользователю должен быть доступен более простой путь, позволяющий работать с предоставленной в его распоряжение информацией без решения сложных задач. К техническим методам защиты можно отнести как замок на сундуке, в котором хранятся книги, так и носители информации, самоуничтожающиеся при попытке неправомерного использования. Правда, такие носители гораздо чаще встречаются в приключенческих фильмах, чем в реальности.

Технические способы защиты информации начали разрабатываться очень давно.

Так, например, еще в V—IV вв. до н. э. в Греции применялись шифрующие устройства. По описанию древнегреческого историка Плутарха, шифрующее устройство состояло из двух палок одинаковой толщины, называемых сциталами, которые находились у двух абонентов, желающих обмениваться секретными сообщениями. На сциталу по спирали наматывалась без зазоров узкая полоска папируса, и в таком состоянии наносились записи. Потом полоску папируса снимали и отправляли другому абоненту, который наматывал ее на свою сциталу и получал возможность прочесть сообщение. Элементом, обеспечивающим секретность в таком шифрующем устройстве, являлся диаметр сциталы.

Вместе с техническими методами защиты разрабатывались и методы обхода (взлома) зашиты. Так древнегреческий философ Аристотель предложил использовать длинный конус, на который наматывалась лента с зашифрованным сообщением. В каком-то месте начинали просматриваться куски сообщения, что позволяло определить диаметр сциталы и расшифровать все сообщение.

Применительно к информационной безопасности, технические методы защиты призваны обеспечить решение всех задач, перечисленных в разд. 1.2. Условно методы решения этих задач можно разделить на те, которые имеют математическое обоснование стойкости к взлому, и те, которые такого обоснования не имеют.

Методы, не имеющие математического обоснования стойкости, проще всего рассматривать как "черный ящик" — некоторое устройство, которому на вход подаются данные, а на выходе снимается результат. Процессы, происходящие внутри "черного ящика", предполагаются неизвестными и неподвластными ни пользователю, ни потенциальному противнику. Собственно, стойкость таких методов основывается именно на предположении, что "ящик" никогда не будет вскрыт и его внутреннее устройство не будет проанализировано. Однако в реальной жизни случается всякое, и иногда или возникает ситуация, при которой раскрывается устройство "черного ящика",или упорному исследователю удается разгадать алгоритмы, определяющие функционирование зашиты, без вскрытия самого "ящика". При этом стойкость системы защиты становится равна нулю. Методы защиты, функционирующие по принципу "черного ящика", называют Security Through Obscurity (безопасность через неясность, незнание).

Особенность методов защиты информации, имеющих математическое обоснование стойкости, заключается в том, что их надежность оценивается, исходя из предположения открытости внутренней структуры. То есть предполагается, что потенциальному противнику известны в деталях все алгоритмы и протоколы, использующиеся для обеспечения защиты. И, тем не менее, противник должен быть не б состоянии обойти средства защиты, т. к. для этого ему надо решить некоторую математическую проблему, которая на момент разработки защиты не имела эффективного решения. Однако существует вероятность того, что через некоторое время будет разработан эффективный алгоритм решения математической проблемы, лежащей в основе метода защиты, а это неминуемо приведет к снижению ее стойкости. Большинство методов, имеющих математическое обоснование стойкости, относятся к методам криптографии. И именно криптографические методы в основном позволяют эффективно решать задачи информационной безопасности.

----------------------------------------------------------------------------------------------------

32. Компью́терный ви́рус — разновидность компьютерных программ или вредоносный код, отличительным признаком которых является способность к размножению (саморепликация). В дополнение к этому вирусы могут без ведома пользователя выполнять прочие произвольные действия, в том числе наносящие вред пользователю и/или компьютеру.

Даже если автор вируса не программировал вредоносных эффектов, вирус может приводить к сбоям компьютера из-за ошибок, неучтённых тонкостей взаимодействия с операционной системой и другими программами. Кроме того, вирусы обычно занимают некоторое место на накопителях информации и отбирают некоторые другие ресурсы системы. Поэтому вирусы относят к вредоносным программам.

Некомпетентные пользователи ошибочно относят к компьютерным вирусам и другие виды вредоносных программ — программы-шпионы и прочее. Известны десятки тысяч компьютерных вирусов, которые распространяются через Интернет по всему миру.

Классификация

Ныне существует немало разновидностей вирусов, различающихся по основному способу распространения и функциональности. Если изначально вирусы распространялись на дискетах и других носителях, то сейчас доминируют вирусы, распространяющиеся через Интернет. Растёт и функциональность вирусов, которую они перенимают от других видов программ.

В настоящее время не существует единой системы классификации и именования вирусов (хотя попытка создать стандарт была предпринята на встрече CARO в 1991 году). Принято разделять вирусы:

по поражаемым объектам (файловые вирусы, загрузочные вирусы, скриптовые вирусы, макровирусы, вирусы, поражающие исходный код);

файловые вирусы делят по механизму заражения: паразитирующие добавляют себя в исполняемый файл, перезаписывающие невосстановимо портят заражённый файл, «спутники» идут отдельным файлом.

по поражаемым операционным системам и платформам (DOS, Microsoft Windows, Unix, Linux);

по технологиям, используемым вирусом (полиморфные вирусы, стелс-вирусы, руткиты);

по языку, на котором написан вирус (ассемблер, высокоуровневый язык программирования, скриптовый язык и др.);

по дополнительной вредоносной функциональности (бэкдоры, кейлоггеры, шпионы, ботнеты и др.).

----------------------------------------------------------------------------------------------------

33. Материальным носителем информационной безопасности являются конкретные программно-технические решения, которые объединяются в комплексы в зависимости от целей их применения.

Делая акцент на программно-технических средствах, можно выделить три основных уровня антивирусной защиты:

- поиск и уничтожение известных вирусов;

- поиск и уничтожение неизвестных вирусов;

- блокировка проявления вирусов.

Антивирусные программы, выявляющие известные компьютерные вирусы, называются сканерами или детекторами. Программы, включающие функции восстановления зараженных файлов, называют полифагами (фагами), докторами или дезинфекторами. Принято разделять сканеры на следующие:

-транзитные, периодически запускаемые для выявления и ликвидации вирусов,

-резидентные (постоянно находящиеся в оперативной памяти), проверяющие заданные области памяти системы при возникновении связанных с ними событий (например, проверка файла при его копировании или переименовании).

Антивирусная программа (антивирус) — любая программа для обнаружения компьютерных вирусов, а также нежелательных (считающихся вредоносными) программ вообще и восстановления зараженных (модифицированных) такими программами файлов, а также для профилактики — предотвращения заражения (модификации) файлов или операционной системы вредоносным кодом.

Примеры: каспер, аваст, панда, эсет нод, доктор вэб, майкрософт секьюрити эсеншл, акронис, нортон, ашампу, ТЫСЯЧИ ИХ!!

----------------------------------------------------------------------------------------------------

34. Для обмена данными между двумя компьютерами (например, настольными и переносными ПК) можно использовать различные способы их соединения:

прямое соединения компьютеров через последовательные и параллельные порты (COM, USB, LPT, IrDA, Bluetooth);

удаленное соединение двух компьютеров через модемы;

соединение двух компьютеров в локальную сеть, используя сетевые карты и проводные линии связи;

соединения двух компьютеров в локальную сеть, используя встроенные беспроводные интерфейсы Wi-Fi.

Порт COM. Наиболее простой и доступный способ соединения двух компьютеров - это прямое соединение их через асинхронный последовательный порт COM. В этом случае для соединения используется только нуль-модемный кабель. Этот способ самый доступный способ подключения, так как все персональные компьютеры оснащены портами COM.

USB порт. Способ соединение двух компьютеров через USB порты. USB это универсальный интерфейс (последовательный порт) для подключения 127 устройств. Для соединения двух компьютеров требуется только кабель usb link.

LPT - порт. Два компьютера могут быть подключены через параллельные LPT - порты. Эти порты имеют восемь разрядов. В этом способе для соединения двух компьютеров используется только нуль-модемный кабель.

IrDA - инфракрасные порты предназначены для беспроводного подключения карманных или блокнотных компьютеров к настольному компьютеру. Связь обеспечивается при условии прямой видимости, дальность передачи данных не более 1 м. Если в компьютере нет встроенного iRDA адаптера, то он может быть выполнен в виде дополнительного внешнего устройства (USB iRDA адаптера), подключаемого через USB-порт. Этот способ предназначен для беспроводного подключения карманных или блокнотных ПК к настольному компьютеру.

Bluetooth ("блютус") - высокоскоростной микроволновый стандарт, позволяющий передавать данные на расстояниях до 10 метров. Если нет встроенного Bluetooth адаптера, то он может быть выполнен в виде дополнительного внешнего устройства (USB bluetooth адаптера), подключаемого через USB-порт. Этот способ предназначен для беспроводного подключения карманных или блокнотных компьютеров к настольному компьютеру.

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

Соединение двух компьютеров в локальную сеть, использую сетевые карты и проводные линии связи. В качестве линий связи могут быть применены коаксиальный кабель или кабель "витая пара". Рассмотрим первый способ соединений компьютеров на основе стандарта 10Base-2. Для выполнения соединения двух компьютеров нужны две сетевые карты с разъемом UTP, тонкий коаксиальный кабель с волновым сопротивление 50 Ом, два Т-коннектора и два терминатора. После подключение требуется настройка операционной системы.

Второй способ соединений компьютеров на основе стандарта 10Base-T. Для выполнения соединения двух компьютеров нужны две сетевые карты с разъемом RJ-45, кабель "витая пара" ("нуль-хабный" кабель) и две вилки RJ-45. В этом случае требуется специальная разводка кабеля, т.е. разводка проводников на разъемах кабеля должна нестандартной и соответствовать разводке "нуль-хабного" кабеля. Например, для четырехпроводного кабеля (две пары) разводка "нуль-хабного" кабель следующая: разводка 1-2-3-6 на одном из разъемов должна соответствовать разводке 3-6-1-2 на другом разъеме. После подключение требуется настройка операционной системы.

Беспроводная связь Wi-Fi. Этот способ соединение двух компьютеров напрямую использует встроенные беспроводные интерфейсы Wi-Fi. Стандартом беспроводной связи для локальных сетей является технология Wi-Fi. Wi-Fi обеспечивает соединение точка-точка (соединение Ad-Hoc), которое можно применить для подключения двух ПК. В этос способе для соединения двух ПК требуется два адаптера Wi-Fi.

----------------------------------------------------------------------------------------------------

35. Компьютерные сети можно классифицировать по различным признакам.