Новости

Основні стилі програмування (процедурний, модульний, абстракція даних, об’єктно-орієнтоване). Основні переваги об’єктного стилю програмування

Работа добавлена:






Основні стилі програмування (процедурний, модульний, абстракція даних, об’єктно-орієнтоване). Основні переваги об’єктного стилю програмування на http://mirrorref.ru

Білет 29

  1. Основні стилі програмування (процедурний, модульний, абстракція даних, об’єктно-орієнтоване). Основні переваги об’єктного стилю програмування.

Процедурное (императивное) программированиеявляется отражением архитектуры традиционных ЭВМ, которая была предложена фон Нейманом в 40-х годах. Теоретической моделью процедурного программирования служит алгоритмическая система под названием «машина Тьюринга».

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

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

Процедурные языки характеризуются следующими особенностями:

  • необходимостью явного управления памятью, в частности, описанием переменных;
  • малой пригодностью для символьных вычислений;
  • отсутствием строгой математической основы;
  • высокой эффективностью реализации на традиционных ЭВМ.

Двоичный языкявляется непосредственно машинным языком. В настоящее время такие языки программистами практически не применяются.

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

Язык Макроассемблераявляется расширением языка Ассемблера путем включения в него макросредств.

Язык программирования С (Си)первоначально был разработан для реализации операционной системы UNIX в начале 70-х годов. В последующем приобрел высокую популярность среди системных и прикладных программистов. В настоящее время этот язык реализован на большинстве ЭВМ.

Ваsic(Бэйсик)(Beginners All-purpose Symbolic Instruction Code) — многоцелевой язык символических инструкций.

Pascal (Паскаль) -реализован ряд концепций, рассматриваемых как основа «дисциплинированного» программирования и заимствованных впоследствии разработчиками многих языков

Модульне програмування

Модульная программа — это такая программа, в которой любую часть логической структуры можно изменить, не вызывая изменений в остальных частях программы. Однако, что же это на самом деле означает? Каким образом программист узнает, что он написал модульную программу? Важнее понять, каким образом узнает руководитель, что программист написал модульную программу?

Модуль характеризуют:

  • • один вход и один выход — на входе программный модуль получает определенный набор исходных данных, выполняет содержательную обработку и возвращает один набор результатных данных, т.е. реализуется стандартный принцип IPO (Input-Process-Output) — вход-процесс-выход;
  • • функциональная завершенность — модуль выполняет перечень регламентированных операций для реализации каждой отдельной функции в полном составе, достаточных для завершения начатой обработки;
  • • логическая независимость — результат работы программного модуля зависит только от исходных данных, но не зависит от работы других модулей;
  • • слабые информационные связи с другими программными модулями — обмен информацией между модулями должен быть по возможности минимизирован;
  • • обозримый по размеру и сложности программный элемент.

Объектно-ориентированное программирование

Прототипом объектно-ориентированного программирования послужил ряд средств, входящих в состав языка SIMULA-67. Но в самостоятельный стиль оно оформилось с появлением языка SMALLTALK, разработанного А. Кеем в 1972 году и первоначально предназначенного для реализации функций машинной графики.

В основе объектно-ориентированного стиля программирования лежит понятие объекта, а суть его выражается формулой: «объект - данные + процедуры». Каждый объект интегрирует в себе некоторую структуру данных и доступные только ему процедуры обработки этих данных, называемыеметодами. Объединение данных и процедур в одном объекте называетсяинкапсуляциейи присуще объектно-ориентированному программированию.

Для описания объектов служат классы.Класс определяет свойства и методы объекта, принадлежащего этому классу. Соответственно, любой объект можно определить какэкземпляр класса.

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

К наиболее современным объектно-ориентированным языкам программирования относятся C++ и Java.

Язык C++был разработан в начале 80-х годов Б. Страуструпом, сотрудником лаборатории Bell корпорации AT&T. Им была создана компактная компилирующая система, в которой за основу был взят язык С, дополненный элементами языков BCPL, Simula-67 и Algol-68. К июлю 1983 года появился язык С с классами, а чуть позднее — C++. К 1990 году была выпущена третья версия языка C++, принятая комитетом ANSI в качестве исходного материала для его стандартизации.

Принципиальной разницей между Java и C++ является то, что первый из них являетсяинтерпретируемым,а второй –компилируемым.Синтаксис языков практически полностью совпадает.

Компонентне програмування

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

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

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

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

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

Компонентная модельCOM определяет протокол дляконкретизации (т.е. создания экземпляров) и использованиякомпонент (по аналогии с классами иобъектами) как внутри одного и того же процесса, так и между различными процессами или компьютерами, предназначенными для выполнения того или иного программного проекта, основанного накомпонентной технологии. МодельCOM является достаточно универсальной и используется в качестве фундамента для таких технологий проектирования и реализации программного обеспечения, как ActiveX, OLE и целого ряда других технологий. Приложения дляCOM-модели могут создаваться средствами таких языков и сред разработки как Visual Basic, C++, .NET и т.д.

Другим известным стандартом для компонентной модели является стандарт компании Sun Microsystems, известный какJavaBeans, который не обладает свойством независимости от языка программирования. Еще один широко используемый стандарткомпонентного программирования - архитектура объектных запросовCORBA (несмотря на поддержку многоязычной разработки приложений, существуют сложности, связанные с отображением одного языка реализации в другой; для этой цели применяется достаточно громоздкий интерфейс, основанный на специальном языке описания IDL).

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

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

  1. Без дротові мережі. Первісні мережі.

Принцип роботи

Типова бездротова мережа (VLAN) може бути як одноранговою, в якій комп'ютери з'єднуються один з одним безпосередньо, таки і інфраструктурною, коли комп'ютери з'єднуються не безпосередньо, а через вузол бездротового доступу або «точку доступу». Мережа може складатися з декількох вузлів доступу, що забезпечують підключення бездротових клієнтів на всій необхідній території. Тоді клієнт бездротової мережі може переміщатися по території, переходячи із зони покриття одного вузла доступу в зону покриття іншого. При віддалені клієнта від вузла доступу якість сигналу між бездротовим клієнтом і даним вузлом нерідко погіршується, і тоді реалізовані в радіопротоколі засоби роумінга дають клієнтові команду перемкнутися на інший вузол. Роумінг - це функція, що дозволяє користувачеві переміщатися від одного вузла доступу до іншого, не розриваючи мережевого з'єднання. Для однозначного визначення бездротових мереж використовуються унікальні ідентифікатори (SSID), що дозволяють клієнтам розрізнити декілька бездротових мереж, що перекриваються. Вузол доступу може працювати в режимі оповещательной передачі «маячкових» сигналів, що містять значення ідентифікатора своєї мережі. Прийнявши такий сигнал, користувач визначає, що він увійшов до зони доступу якої-небудь бездротової мережі. Встановивши на своєму устаткуванні ідентифікатор мережі, переданий «маячковим» сигналом, користувач підключається до неї.

Переваги бездротової мережі

Організація бездротового доступу дозволяє забезпечити мобільність користувачів, а також спростити організацію мереж в труднодоступних місцях, в яких відсутня проводка або утруднена прокладка кабелю.

Часто виникають ситуації, коли і в квартирі неможливо прокласти кабель із-за обробки стін. У таких випадках єдине можливе рішення - застосування бездротових мережевих пристроїв.

Крім незручностей, пов'язаних з прокладкою кабелю, цей процес достатньо дорогий і займає багато часу. За допомогою бездротових пристроїв можна за лічені хвилини підключити комп'ютер до Інтернету.

Майстер настройки допоможе непідготовленому користувачеві максимально швидко набудувати бездротову мережу.

Швидкість передачі даних в бездротових мережах досягає 125Мбит/c . Це швидше, ніж підключення за допомогою56К- абоADSL- модемів.

Низька ціна, висока продуктивність і простота настройки - саме тому домашні бездротові мережі сталі такі популярні.

Недоліки

Серйозним недоліком бездротових мереж є відсутність можливості захисту від прослуховування трафіку. На відміну від дротяних мереж здійснити перехоплення інформації в радіоефірі набагато легше. Досить обзавестися комплектом бездротового призначеного для користувача мережевого устаткування. При цьому навіть немає необхідності знаходитися в тому ж приміщенні.

ПЕРВІСНА МЕРЕЖА

Первинні мережі складаються тільки з ліній зв'язку, підсилювального і каналастворюючої апаратура на станціях. Лінії зв'язки, прокладені між містами і в крупних містах, проміжні підсилювальні пункти, крайові пункти - все це первинна мережа, службовка для отримання аналогових і цифрових типових каналів і трактів.

Первинні, мережі призначені для створення комутованої інфраструктури, за допомогою якої можна достатньо швидко і гнучко організувати постійний канал з топологією "крапка-крапка" між двома призначеними для користувача пристроями, підключеними до такої мережі.

В первинних мережах використовують техніку комутаці каналів різного типу: з частотним(FDM), часовим(TDM) і хвильовим мультиплексуванням(WDM/DWDM)

В мережахFDM кожному абоненту канала виділяється полоса частот шириною 4 кГЦ.

Цифрові первинні мережіPDH дозволябть створювати канали з пропускною здатністю від 64 Кбіт/с до 140 Кбіт/сНедоліком мережPDH є неможливість безпосереднього виділення даних низько швидкісного канала із даних високошвидкісного канала, якщо канали працюють на несуміжних рівнях ієрархії швидкостей.

ТехнологіяWDM/DWDM реалізує принципи частотного мультиплексування для сигналів іншої фізичної природи і на новому рівні ієрархії швидкостей. Кожен каналWDM/DWDM являє собою певний діапазон світлових хвиль. В ранніх системахWDW використовувалось невелика кількість спектральних каналів, від 2 до 16. В системахDWDM задіяно вже від 32 до 160 каналів на одному оптичному волокні, що забезпечує швидкість передачі даних для одного волокна до декількох терабіт в секунду.

  1. Напрями та способи провадження державної інформаційної політики України.

Державна інформаційна політика – це сукупність основних напрямів і способів діяльності держави щодо одержання, використання, поширення та зберігання інформації.

Головними напрямами і способами державної інформаційної політики є (рис.9):

- забезпечення доступу громадян  до інформації;

- створення національних систем і мереж інформації;

- сприяння  постійному оновленню,  збагаченню  та  зберіганню національних інформаційних ресурсів;

- зміцнення  матеріально-технічних, фінансових організацій, правових і наукових основ інформаційної діяльності;

- забезпечення ефективного використання інформації;

- створення загальної системи охорони інформації;

- сприяння міжнародному  співробітництву  в галузі інформації і гарантування інформаційного суверенітету України.

Державну інформаційну політику розробляють  і здійснюють органи   державної  влади загальної компетенції,  а також відповідні органи

спеціальної компетенції.

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

Гамування - метод шифрування, заснований на «накладенні»гама-послідовності на відкритий текст.

Суть цього методу полягає в тому, що  символи шифрованого тексту послідовно складаються з символами  деякої спеціальної послідовності, яка називається гаммою. Іноді такий метод представляють як накладення гамми на початковий текст,  тому він отримав назву“гамування”.

Зашифруємо за допомогою гамування відкрите повідомлення, наприклад: ЗНАННЯ, за методомS=Г-О, де О - відкритий текст, Г- гама,S- зашифрований текст

Пронумеруємо  український алфавіт

А

Б

В

Г

Ґ

Д

Е

Є

Ж

З

И

І

Й

К

Л

М

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

26

27

28

29

30

31

32

Пронумеруємо  латинський алфавіт

A

B

C

D

E

F

G

H

I

J

K

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y

Z

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

26

В якості гами виберемо словоMASTER. Переведемо його за латинським алфавітом в числовий вигляд: 13 1 19 20 5 18.

Накладемо гаму на  український алфавіт:

А

Б

В

Г

Ґ

Д

Е

Є

Ж

З

И

І

Й

К

Л

М

M

A

S

T

E

R

M

A

S

T

E

R

M

A

S

T

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ю

Я

E

R

M

A

S

T

E

R

M

A

S

T

E

R

M

A

Отже, О -  ЗНАННЯ, Г –MASTER,:

З=Т-З (mod32)=20-10 (mod32)=10

Н=Е-Н(mod32)=5-17(mod32)=12

А=М-А(mod32)=13-1(mod32)=12

Н=Е-Н(mod32)=5-17(mod32)=12

Н=Е-Н(mod32)=5-17(mod32)=12

Я=А-Я(mod32)=1-32(mod32)=31

Зашифроване повідомлення буде мати вигляд:

S=10 12 12 12 12 31

  1. Написати програму мовою С, яка вводить масив цілих чисел і вилучає з нього всі від’ємні числа. Вилучення від’ємних чисел оформити як функцію.

#include<stdio.h>

#include <conio.h>

#include <iostream.h>

int *mas,*mas1,n,kol=0;

void Viluchennja()

{

 for(int i=0;i<n;i++)

 {

   if (mas[i]<0)

   {

     mas[i]=-1;

   }

   else kol++;

 }

 mas1=new int[kol];

 int j=0;

 for(i=0;i<n;i++)

 {

   if(mas[i]!=-1)

   {

     mas1[j]=mas[i];

     j++;

   }

 }

}

void main()

{

printf("\nvvedite kolichestvo elementov masiva\n");

scanf("%d",&n);

mas=new int[n];

for(int i=0; i<n; i++)

{

  printf("vvedite element nomer %d  ",i);

  scanf("%d",&mas[i]);

}

Viluchennja();

printf("Videmni elementi vilucheno. Rezultuychii masiv:\n");

for(i=0;i<kol;i++)

printf("%d ",mas1[i]);

getch();

}

Основні стилі програмування (процедурний, модульний, абстракція даних, об’єктно-орієнтоване). Основні переваги об’єктного стилю програмування на http://mirrorref.ru


Похожие рефераты, которые будут Вам интерестны.

1. Реферат Основні поняття об’єктно-орієнтованого програмування (з прикладами)

2. Реферат Логіка написання програмного коду на засадах об’єктно-орієнтовного програмування. Семантичні особливостіC#

3. Реферат Програмування. Створення і використання алгоритмів і структур даних

4. Реферат Основні поняття і класифікація типів даних

5. Реферат Електронна таблиця Excel. Структура таблиці й основні типи даних

6. Реферат Захмарні сховища даних. Основні поняття. Призначення. Особливості роботи

7. Реферат Основи програмування

8. Реферат Мови програмування

9. Реферат Система програмування на Асемблері

10. Реферат Класифікація задач математичного програмування