История развития проводных каналов связи

Автор работы: Пользователь скрыл имя, 10 Апреля 2014 в 15:55, реферат

Краткое описание

В свою очередь объем передаваемой информации определяется полосой пропускания. Установлено, что достижимая скорость передачи информации тем выше, чем выше частота колебаний электрического тока или радиоволны. Для того, чтобы передать в закодированном виде любую букву алфавита, необходимо использовать 7–8 битов. Таким образом, если для передачи текста применять проводную связь с частотой 20 кГц, то стандартную книгу в 400–500 страниц можно будет передать примерно за 1,5–2 часа. При передаче по линии с частотой 32 МГц та же процедура потребует лишь 2–3 секунды .

Вложенные файлы: 1 файл

история развития проводных каналов связи.docx

— 61.61 Кб (Скачать файл)

Резидентные вирусы

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

Бутовые вирусы

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

Стелс-вирусы

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

Полиморфик - вирусы

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

 

 

 

 

 

 

 

 

 

 

 

 

 

язык программирования паскаль

История

Язык Паскаль был создан Никлаусом Виртом в 1968—1969 годах после его участия в работе комитета разработки стандарта языка Алгол-68. Язык назван в честь французского математика, физика, литератора и философа Блеза Паскаля, который создал первую в мире механическую машину, складывающую два числа. Первая публикация Вирта о языке датирована 1970 годом, представляя язык автор указывал в качестве цели его создания — построение небольшого и эффективного языка, способствующего хорошему стилю программирования, использующему структурное программирование и структурированные данные.

Последующая работа Вирта была направлена на создание на основе Паскаля языка системного программирования, с сохранением возможности вести на его базе систематический, целостный курс обучения профессиональному программированию[5]. Результат этой работы — язык Модула-2.

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

Тем не менее, первоначально язык имел ряд ограничений: невозможность передачи функциям массивов переменной длины, отсутствие нормальных средств работы с динамической памятью, ограниченная библиотека ввода-вывода, отсутствие средств для подключения функций написанных на других языках, отсутствие средств раздельной компиляции и т. п. Подробный разбор недостатков языка Паскаль того времени был выполнен Брайаном Керниганом в статье «Почему Паскаль не является моим любимым языком программирования»[9] (эта статья вышла в начале 1980-х, когда уже существовал язык Модула-2, потомок Паскаля, избавленный от большинства его пороков, а также более развитые диалекты Паскаля). Некоторые недостатки Паскаля были исправлены в ISO-стандарте 1982 года, в частности, в языке появились открытые массивы, давшие возможность использовать одни и те же процедуры для обработки одномерных массивов различных размеров.

Однако многие недостатки языка не проявляются или даже становятся достоинствами при обучении программированию. Кроме того, по сравнению с основным языком программирования в академической среде 1970-х (которым был Фортран, обладавший гораздо более существенными недостатками), Паскаль представлял собой значительный шаг вперёд. К 1980-м годам Паскаль стал основой для многочисленных учебных программ, в отдельных случаях на его основе были созданы специализированные обучающие языки программирования, так, в начале 1980-х годов в СССР для обучения школьников основам информатики и вычислительной техники Андрей Ершов разработал алголо-паскалеподобный «учебный алгоритмический язык».

Наиболее известной реализацией Паскаля, обеспечившей широкое распространение и развитие языка, является Turbo Pascal фирмы Borland, выросшая затем в объектный Паскаль для DOS (начиная с версии 5.5) и Windows и далее в Delphi, в которой были внедрены значительные расширения языка.

Диалекты Паскаля, применяемые в Turbo Pascal для DOS и Delphi для Windows, стали популярны из-за отсутствия других успешных коммерческих реализаций.

Стандарты

После начала использования Паскаля в 1970 году и появления реализаций, расходящихся не только в дополнениях, но и в синтаксисе, был поднят вопрос о стандартизации языка. Стандарт языка был разработан Никлаусом Виртом в 1974 году совместно с Кетлин Йенсен (Kathleen Jensen).[10] В дальнейшем, были приняты международный стандарт от ISO и американский от ANSI. На данный момент, выделяют три принципиально разных стандарта: Unextended Pascal (исходный), Extended Pascal (расширенный), Object-Oriented Extensions to Pascal (объектно-ориентированное расширение Паскаля).

Стандарты языка Pascal: исходный, международные ISO и американские ANSI

Название

Вариант

Кем/где разработан

Год создания

Pascal Standard

исходный

Н. Вирт, Кетлин Йенсен

1974

Pascal Standard

исходный

ISO 7185:1983 
ANSI/IEEE 770X3.97:1983

1982

Unextended Pascal

исходный

ISO 7185:1990

1989

Extended Pascal

расширенный

ANSI/IEEE 770X3.160:1989

1989

ISO/IEC 10206

1991

Object-Oriented 
Extensions to Pascal[11]

объектно-ориентированное расширение

ANSI/X3-TR-13:1994

1993


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

Стандартизация языка была запаздывающей по отношению к реальному появлению в языке тех или иных возможностей. Коммерческие реализации расширяли стандартный Паскаль; так было сделано в UCSD Pascal, модификации Object Pascal фирмой Apple, Turbo Pascal от Borland (незначительно модифицированная версия Apple) и его ответвлений. Ни одна из распространённых коммерческих реализаций Паскаля не соответствует в точности ни одному из официальных стандартов языка.

Синтаксис и языковые конструкции

Паскаль, в его первоначальном виде, представляет собою чисто процедурный язык и включает в себя множество алголоподобных структур и конструкций с зарезервированными словами наподобие if, then, else, while, for, и т. д. Тем не менее, Паскаль также содержит большое количество возможностей для структурирования информации и абстракций, которые отсутствуют в изначальном Алголе-60, такие как определение типов, записи, указатели, перечисления, и множества. Эти конструкции были частично унаследованы или инспирированы от языков Симула-67, Алгол-68[источник не указан 192 дня], созданного Никлаусом Виртом AlgolW (англ.)русск. и предложены Хоаром.

В современных диалектах (Free Pascal) доступны такие операции, как перегрузка операторов и функций.

Hello, world![править | править исходный текст]

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

Таким образом, простейшая программа на Паскале будет выглядеть следующим образом:

program p;

begin

end.

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

Пример программы, выводящей строку «Hello, world!»:

program HelloWorld(output);

begin

  writeln('Hello, World!');  { оператор вывода строки }

end.

Типы данных[править | править исходный текст]

Простые типы данных Pascal: числа с плавающей запятой (real), целые (integer), символьный (char), логический (boolean) и перечисления (конструктор нового типа, введённый в Pascal).

В стандартном и расширенном Pascal есть только 4 простых типа, введённые Виртом в оригинальном языке 1973 года. Современные диалекты Pascal, такие, как FPC или Delphi, дополняют язык вариациями этих типов.

Целочисленные типы:

Тип

Диапазон

Формат

Размер в байтах

Byte

0..255

Беззнаковый

1

ShortInt

−128..127

Знаковый

1

SmallInt

−32768..32767

Знаковый

2

Word

0..65535

Беззнаковый

2

Integer

-32 768..32 767

Знаковый

2

Cardinal

=LongWord

Беззнаковый

4

LongWord

0..4294967295

Беззнаковый

4

LongInt

−2147483648..2147483647

Знаковый

4

Int64

−9223372036854775808..9223372036854775807

Знаковый

8

QWord

0..18446744073709551615

Беззнаковый

8


Числа с плавающей запятой:

Тип

Диапазон

количество значащих цифр

Размер в байтах

поддержка

Real/Double

зависит от платформы

???

8

???

Real

-39..38

11-12

6

любая

Single

-45..38

7-8

4

любая кроме borland

Extended

-4951..4932

19-20

10

любая кроме borland

Comp

−2E64+1..2E63-1

19-20

8

любая кроме borland

Currency

−922337203685477.5808..922337203685477.5807

19-20

8

любая кроме borland


var { секция объявления переменных }

  r: Real;  { переменная вещественного типа }

  i: Integer;  { переменная целого типа }

  c: Char;  { переменная-символ }

  b: Boolean;  { логическая переменная }

  s: String; { переменная строки }

  t: Text; { переменная для обьявления текстового файла }

  e: (apple, pear, banana, orange, lemon);  { переменная типа-перечисления }

В Pascal над целыми типами (byte, shortint, word, integer, longint и их диапазоны) допустимы побитовые операции. Логические операции над битами:

Над битами двух целых операндов можно выполнять ранее рассмотренные логические операции: not, and, or, xor. Отличие между побитовыми и логическими операциями состоит в том, что побитовые (поразрядные) операции выполняются над отдельными битами операндов, а не над их значением в десятичном (обычно) представлении.

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

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

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

var

  x: 1..10;

  y: 'a'..'z';

  z: pear..orange;

Для порядковых типов определены операции inc, dec, succ, pred, ord, операции сравнения (= > < => <= <>), их можно использовать в операторах case, for (как счётчик цикла), как границы массивов, для задания элементов множеств и типов-диапазонов.

В Pascal, в отличие от Си-подобных языков, с типами boolean и char арифметические целочисленные операции не определены.

В отличие от многих распространённых языков, Pascal поддерживает специальный тип данных множество:

var

  set1: set of 1..10;

  set2: set of 'a'..'z';

  set3: set of pear..orange;

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

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

if i in [5..10] then  { проверка на принадлежность элемента множеству }

...

обработается быстрее, чем

if (i>4) and (i<11) then  { проверка логическими условиями }

...

Для задания значения множества используется список элементов множества, отделенных запятыми и заключённый в квадратные скобки (как уже было показано выше):

var { секция объявления переменных }

d:set of char;

begin  { начало блока }

d:=['a','b'];

...

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

Информация о работе История развития проводных каналов связи