Главная страница

Лекции по информатике учебно методическое пособие


Скачать 0.99 Mb.
НазваниеЛекции по информатике учебно методическое пособие
Дата16.11.2018
Размер0.99 Mb.
Формат файлаpdf
Имя файла1599.pdf
ТипЛекции
#56701
страница8 из 10
1   2   3   4   5   6   7   8   9   10
подпрограммы функции (используются как опе- ранды в выражениях) и процедуры (используются как операторы).
Общую структуру подпрограмм можно представить следующим об- разом:
Тело подпрограммы – это операторы, которые программируют ту часть алгоритма, которая выделена в данный модуль. Формальные
параметры – это те переменные в теле подпрограммы, значения ко- торых надо будет перед началом работы этого модуля получить из основной программы.
Заголовок: имя и формальные параметры
Тело подпрограммы
Признак окончания подпрограммы

76
В инструкции по вызову указывается имя подпрограммы и
фактические параметры, то есть значения формальных параметров, с которыми следует выполнить тело подпрограммы в данном месте.
Пример. Дан массив целых чисел {a
i
},i=1, 2, ..., 15. Программа должна вычислять произведение двух сумм некоторых элементов массива {a
i
}. Так как операции, которые следует выполнить для сум- мирования, не зависят от конкретных значений используемых чисел, алгоритм суммирования, чтобы не повторять его дважды, можно оформить в виде подпрограммы. Поскольку по условию задачи ко- нечным результатом должно быть произведение сумм, а не каждая из них по отдельности, подпрограмму можно оформить по типу подпро- граммы-функции. Алгоритм, по которому будет составляться про- грамма, представляем в псевдокоде:
Функция СУММА(i1,i2)
начало: s = 0 начало цикла для i = i1 до i2
s = s + a(i) конец цикла
СУММА = s
Конец функции
Начало программы
вывести на экран("введите значения массива А") начало цикла для j = 1 до 15 ввести с клавиатуры а(j) конец цикла вывести на экран ("введите границы индексов первой суммы") ввести с клавиатуры g, w вывести на экран ("введите границы индексов второй суммы") ввести с клавиатуры t, l
р:= СУММА(g,w) * СУММА(t,l) вывести на экран ("произведение равно", р)
Конец программы
В программу введены константы: g = 1; w = 12; t = 8; l = 15.
Это – фактические параметры, которые надо использовать вместо формальных параметров i1 и i2 при вычислении значения p. В ре- зультате переменная p примет значение произведения сумм элемен- тов с 1 по 12 и с 8 по 15 из массива {a
i
}.
При использовании технологии «сверху вниз» разработка про- граммы начинается с последовательной детализации алгоритма на

77 всѐ более мелкие части до тех пор, пока получатся такие модули, для которых можно написать конкретные команды. Затем составляется текст основной программы, в которой вместо фрагментов, выделен- ных в подпрограммы, ставят «заглушки». Это подпрограммы, в кото- рых вместо реально нужных операторов ставят сигнальные печати или ввод результатов, которые должна была сосчитать эта подпро- грамма. Таким образом проверяют и отлаживают последовательность действий в основном алгоритме. Затем подпрограммы-заглушки по очереди заменяют на соответствующие алгоритму подпрограммы, отлаживают и тестируют их. Такая технология облегчает создание программы, уменьшает количество ошибок и облегчает нахождение допущенных ошибок. Считается, что программа оптимального по размерам модуля целиком должна помещаться на экране дисплея.
При использовании технологии «снизу вверх» в первую оче- редь определяются и разрабатываются вспомогательные модули, ко- торые потребуются для проектируемой программы. После того, как все модули отлажены, из них, как из кубиков, в соответствии с на- чальным алгоритмом собирается основная программа.
7.2.
Основные принципы структурного программирования
(программирование без GO TO)
Структурное программирование – методология и технология разработки программных комплексов, основанная на принципах мо- дульного программирования и программирования "сверху-вниз".
Алгоритм задачи представляется как композиция только трѐх
базовых типов алгоритмов: линейных, ветвлений и циклов. Эти кон- струкции могут быть соединены или вложены друг в друга произ- вольным образом, но никаких других способов управления последо- вательностью выполнения операций не используется.
Основные языки программирования, использующие структур- ную технологию:
– Ада, Си – языки общего назначения;
– Бейсик (до Visual Basic);
– КОБОЛ – для экономических задач (много операторов, об- легчающих манипуляции с файлами);
– Фортран, Паскаль, ПЛ/1 – для вычислительных задач (удоб- ные средства для записи формул).

78
7.3.
Основные понятия
объектно
-
ориентированного
программирования
Объектно-ориентированное программирование (ООП) при- меняют при программировании разных манипуляций над объектами.
Например, при составлении программ управления размерами и поло- жением окон Windows, листами книги Excel, файлами и т. п.
Основные термины и понятия объектно-ориентированного
программирования:
– моделируемая система состоит из объектов. Объекты могут быть вложены друг в друга, например, объект «лист Excel» – это часть объекта «книга Excel»;
– объекты каким-то образом взаимодействуют между собой;
– каждый объект характеризуется своим состоянием и поведе- нием. Состояние объекта задаѐтся значением некоторых его свойств.
Например, объекты типа «книга Excel» имеют свойства: имя, размер, открыта/закрыта и т. п. Действия, которые можно выполнять над объектом или которые он сам может выполнять, называются мето-
дами.Например, объект типа «книга Excel» можно открыть, закрыть, переименовать, перенести в другую папку и т. п. После каждого дей- ствия изменяются какие-то свойства объекта.
Класс объектов – шаблон, определяющий основные свойства, методы и события группы объектов, объединяемых в класс. Это же можно сформулировать другими словами: это множество объектов, имеющих общее поведение и общую структуру.
События – ситуации, в которых надо программировать какой- то отклик объекта. Например, что делать, когда над гиперссылкой или кнопкой расположен курсор, когда щѐлкает курсор, когда проис- ходит двойной щелчок.
Наследование – порождает иерархию объектов. Оно может быть смоделировано с помощью таксонометрической классификаци- онной схемы (иерархии). В основном классе (родителе) можно вы- делять подклассы (потомки). Они состоят из объектов, входящих в класс родителя и обладают наряду со всеми его характеристиками дополнительной группой свойств, которых у других объектов класса- родителя нет. Пример: класс-родитель – окна Windows, подклассы – диалоговые окна, окна документов, окна папок. Подклассы окон до- кументов – окна документов Word, окна документов Excel, окна до- кументов PowerPoint и т. п.

79
Инкапсуляция – сокрытие деталей программ, создающих и манипулирующих объектами. Создание объектов, манипулирование ими осуществляется программами языка ООП. Программист указы- вает в своей программе только то, что и с каким объектом нужно сде- лать, или какой результат нужно получить. То есть объекты рассмат- риваются как «чѐрные ящики». Такой способ упрощает разработку программы и еѐ модификацию.
Полиморфизм –.для выполнения одного и того же типа дейст- вий в разных подклассах одного класса можно использовать одно и то же имя, хотя это действие реализуется разными внутренними ме- тодами (программами). Например, действие «трансформация объек- та», которое программист обозначает этим термином для фигур, вхо- дящих в разные подклассы класса «геометрические фигуры», выпол- няется по разным формулам, следовательно, его выполняют разные программы (методы). Другими словами это означает способность объектов выбирать внутренний метод самостоятельно, исходя из типа их данных.
Основные языки ООП:
– С++ – для системного программирования;
– Java, JavaScript, PHP, Perl – для разработки сценариев в ди- намических Veb-страницах;
– Simula – первый язык, построенный по принципам ООП;
– Delphi (Object Pascal) – удобен для программирования баз данных.
7.4.
Этапы решения задач на компьютере
1.
Постановка задачи:
– сбор информации о задаче;
– описание исходных данных и конечных целей;
– определение формы выдачи результатов.
2.
Анализ и исследование модели задачи:
– анализ существующих аналогов;
– анализ технических и программных средств;
– разработка математической модели;
– разработка структур данных.
3.
Разработка алгоритма:
– выбор метода проектирования алгоритма;

80
– выбор формы записи алгоритма (блок-схема, псевдокод и т. п.
– выбор тестов и метода тестирования;
– проектирование алгоритма.
4.
Программирование:
– выбор языка программирования;
– уточнение способа организации данных;
– запись алгоритма на выбранном языке.
5.
Отладка и тестирование:
синтаксическая отладка: исправление ошибок в форме за- писи конструкций;
– отладка семантики и логической структуры: семантика – система правил истолкования отдельных конструкций языка, напри- мер проверка правильности организации циклов, ветвлений и т. п., соответствия типов переменных в выражениях, логическая структу-
ра – правильная последовательность обработки данных;
– тестовые расчѐты и анализ результатов тестирования;
– совершенствование программы.
Деятельность, направленная на исправление ошибок в программной системе, называется отладкой. Тестирование – прогон отлаженной программы на эталонных вариантах исходных данных, для которых заранее известны результаты (см. п.5.3.).
6.
Анализ результатов тестирования и, если нужно, уточне- ние модели и повторение п. п. 2 – 5.
7.
Сопровождение программы: составление документации по математической модели, алгоритму, программе, набору тестов, ис- пользованию готовой программы и т. п.
7.5.
Вопросы для самопроверки по теме
7
Задание № 1. Выберите правильные варианты: при проектировании программного обеспечения используют подходы:
1. сверху-вниз
2. снизу-вверх
3. слева-направо
4. справа-налево
Задание № 2. Ошибка в форме записи программы – это ____ ошибка.

81
Задание № 3. Ошибка в последовательности обработки данных, орга- низации циклов, ветвлений, соответствий типов переменных, исполь- зуемых в выражениях, – это ____ ошибка.
Задание № 4. Укажите типовые алгоритмические структуры, исполь- зуемые при структурном программировании.
Задание № 5. Укажите различие между формальными и фактически- ми параметрами подпрограмм.
Задание № 6. Укажите, какие из приведенных терминов являются ба- зовыми понятиями в объектно-ориентированном подходе к програм- мированию:
1. объект
2. свойство
3. метод обработки
4. инструкции
5. данные
6. модель
7. событие
8. класс объектов
Задание № 7. Какой методологии программирования присуще поня- тие "Иерархия классов?
Задание № 8. . Набор операторов, выполняющих заданное действие и не зависящих от других частей исходного кода, – это ____.
Задание № 9. Выделите принципы, которые можно использовать при разработке программ методом структурного программирования:
1. принцип модульной разработки сложных программ;
2. использование композиции трѐх базовых структур при запи- си алгоритма - линейных, ветвлений и циклов;
3. использование композиции двух базовых структур при запи- си алгоритма - ветвлений и циклов;
4. использование большого количества подпрограмм.
Задание № 10. Объясните смысл понятий, используемых в методоло- гии объектно-ориентированного программирования: объект, класс, ме- тод, наследование, полиморфизм, инкапсуляция.

82
8.
ЛОКАЛЬНЫЕ И ГЛОБАЛЬНЫЕ СЕТИ ЭВМ
МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ
8.1.
Классификация вычислительных сетей
Компьютерная сеть – это два или больше компьютеров, свя- занных каналами передачи информации. Цель создания сетей – обес- печение совместного доступа к сетевым ресурсам.
Виды сетей по географическому признаку и размерам:
– локальная: сеть предприятия или учреждения, в которой ра- бочие станции распределены на расстоянии не более 300-500м. Обо- значается аббревиатурами ЛВС или LAN (Local Areal Net);
– региональные и корпоративные: объединяют компьютеры большого региона или филиалы учреждений, разбросанные в преде- лах города, большого географического региона, страны. Обозначает- ся аббревиатурой MAN. (Metropolitan Areal Net);
– глобальные: объединяют всех абонентов (LAN и MAN) вне зависимости от места их расположения: страны, континента, всей земли, например, Интернет. Обозначается аббревиатурой WAN.
(World Areal Net).
Виды сетей по возможностям передачи сигналов:
узкополосные: канал связи может передавать только один сигнал в любой момент времени (телефонная линия);
широкополосные: одновременно можно передавать несколь- ко сигналов, используя для каждого свою частоту передачи (кабель- ное телевидение).
8.2.
Виды сетевых ресурсов
аппаратные: общий принтер, общий жѐсткий диск для хра- нения программ и данных отдельных пользователей;
программные: для выполнения сложных и длительных рас- чѐтов можно подключиться к мощной ЭВМ, послать на неѐ задание на расчѐты и исходные данные, и, по окончании расчѐтов просто по- лучить готовые результаты.
– информационные:всевозможные справочные данные, архи- вы научных работ, книг и т. п.

83
Виды каналов передачи информации:
специальные кабели: коаксиальный кабель, оптоволоконный кабель (самая надѐжная и быстрая связь), витая пара – телефонный кабель;
электромагнитные волны разных частот: спутниковая связь, подключение ноутбуков, мобильных телефонов;
Важнейшая характеристика канала – скорость передачи ин-
формации. В ЛВС обычно от 10 до 100 Мбит/сек., в крупных сетях –
__________
**
На скорость передачи информации влияет также тип ее коди- ровки: чем короче кодировка символов, тем меньше бит она содер- жит и, следовательно, тем быстрее она передается по тому же самому каналу.
8.3.
Топология и архитектура
вычислительных сетей
Топология сети – это логический и физический способ соеди- нения компьютеров. Различают следующие базовые варианты топо- логий:
одноранговая: все компьютеры имеют одинаковые права
(обычно до 10 рабочих станций);
сети на основе сервера: сервер – это компьютер, на котором хранится информация, необходимая разным пользователям или же выполняющий работы по поддержанию связи между компьютерами.
Другое значение этого термина – программа, выполняющая запросы с рабочих станций на доступ к ресурсам. Рабочая станция (кли-
ент) – это внутренний компьютер ЛВС. Другое значение этого тер- мина – программа, создающая запрос серверу на какие-либо ресурсы;
Защитное покрытие
Оптическое волокно
Стеклянное покрытие
Оптоволоконный кабель
Защитное покрытие
Внешний проводник
Изоляция
Внутренний проводник
Коаксиальный кабель

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

85
Token Ring: топология кольцевая. Каждый узел ожидает сво- ей очереди на посылку сообщения.
FDDI: высокоскоростная передача данных по оптоволокон- ным линиям. Топология смешанная (кольцевая + древовидная)
ATM: передача цифровых данных, видеоинформации и голо- са по одним и тем же линиям.
Wi-Fi, IrDa: беспроводная (радиорелейная) связь.
8.4.
Программное обеспечение вычислительных сетей
Сетевые протоколы – это наборы правил для обмена инфор- мацией в сети и разработки сетевого оборудования. Более подробно их можно определить как стандарты, которые определяют формы представления и способы пересылки разных типов сообщений между компьютерами, а также правила совместной работы различного обо- рудования в сетях, необходимые при создании этого оборудования.
Совокупность протоколов, которые используют компьютеры при работе в сети, обозначается термином стек. Традиционно стек делится на 7 уровней, функции которых определяются эталонной
моделью взаимодействия открытых систем (сетевая модель OSI
Open System Interconnection):
Физический уровень (1): процедуры управления аппаратурой передачи данных и подключѐнным к ней каналам связи. Примеры протоколов: Ethernet, Arc net, Token Ring.
1   2   3   4   5   6   7   8   9   10


написать администратору сайта