Informatika_2-y_semestr
.pdfИнформатика 2012г. |
11 |
Повторитель – устройство, обеспечивающее сохранение формы и амплитуды сигнала при передаче его на большие, чем предусмотрено данным каналом, расстояния.
Характеристики коммуникационной сети:
-скорость передачи данных по каналу связи (бит/сек);
-пропускная способность канала связи (количество знаков в секунду);
-достоверность передачи информации (количество ошибок на знак, показатель 10-6 – 10-7 ошибок/знак);
-надежность канала связи и модемов (измеряется средним временем безотказной работы, как минимум несколько тысяч часов).
Архитектура компьютерных сетей
Архитектура вычислительной сети – описание ее общей модели. Для объединения различных вычислительных сетей была разработана модель архитектуры открытых систем.
Открытая система – система, взаимодействующая с другими системами в соответствии с принятыми стандартами. Принята семиуровневая эталонная архитектура открытых систем.
Уровень
7 Прикладной
6 Представительный
5 Сеансовый
4 Транспортный
3 Сетевой
2 Канальный
1 Физический
7-й уровень – прикладной обеспечивает поддержку прикладных процессов конечных пользователей. Содержит все элементы сервиса для прикладных задач пользователя.
6-й – представительный определяет синтаксис данных в модели, т.е. представление данных.
5-й – сеансовый реализует установление и поддержку сеанса связи между двумя абонентами через коммуникационную сеть.
Три верхних уровня объединяют и называют процесс или прикладной процесс. Они определяют функциональные особенности сети как прикладной системы.
4-й- транспортный обеспечивает интерфейс между процессом и сетью, устанавливает логические каналы между процессами.
Информатика 2012г. |
12 |
3-й – сетевой определяет интерфейс оконечного оборудования данных пользователя с сетью коммуникации пакетов. Он отвечает за маршрутизацию пакетов в сети и за связь между сетями.
2-й – канальный – уровень звена данных – реализует процесс передачи информации по информационному каналу.
1-й – физический – выполняет процедуры в канале связи. Его основная задача – управление аппаратурой передачи данных и каналом связи.
Все уровни (кроме физического) добавляют к информации заголовок – служебную информацию необходимую для адресации и для контрольных функций. Сообщение, обрамленное заголовком и концевиком, уходит в сеть и поступает на абонентскую ЭВМ. В абонентской ЭВМ происходит обратный процесс – чтение и отсечение заголовков уровнями модели взаимодействия открытых систем.
Функции физического уровня реализуются в аппаратуре. Функции остальных уровней в виде программных модулей – драйверов.
Протокол - набор правил, определяющий взаимодействие двух одноименных уровней модели открытых систем в различных абонентских ЭВМ. Основные типы протоколов:
Байт – ориентированные – обеспечивают передачу сообщения в виде последовательности байтов и состоят из информационных, управляющих и служебных байтов. Для физической передающей среды байт-протокол не удобен. После каждого переданного кадра возвращается квитанция – принято или повтор передачи. Быстродействие ограничено.
Бит-ориентированные протоколы – поток битов, не разделяемый на байты. Для разделения кадров используются флаги. Более скоростной, малое затухание в физической среде.
Информатика 2012г. |
13 |
Язык программирования Pascal
Язык программирования Паскаль был разработан в 1968-1971 гг. Никлаусом Виртом в Цюрихском Институте информатики ( Щвейцария ) и назван в честь знаменитого математика Блеза Паскаля.
Текст программы на языке Паскаль содержится в файле, который может быть сформирован любым текстовым редактором. Текст, представляет собой последовательность строк, состоящих из символов, образующих алфавит языка.
Алфавит состоит из заглавных и строчных латинских букв и символа подчеркивания.
A, B, C, D …..X, Y, Z a, b, c, ……x, y, z
Десять арабских цифр от 0 до 9 Двадцать два специальных символа
+ - * / = > < . , ; : @ ‘ ( ) [ ] { } # $ ^
Символы из алфавита языка используются для построения базовых элементов программ – лексем.
Лексема – минимальная единица языка имеющая, имеющая самостоятельный смысл.
Классы лексем:
1. Служебные (зарезервированные) слова. Ограниченная группа слов.
Слово представляет неделимое образование, смысл которого фиксирован в языке. Служебное слово нельзя использовать в качестве имен т.е.
идентификаторов, переменных, констант и т.д.. |
|
|
Служебные слова: |
|
|
absolute |
and |
array |
asm |
assembler |
begin |
case |
const |
constructor |
destructor |
div |
do |
downto |
else |
end |
external |
file |
for |
forward |
function |
go to |
if |
implementation |
in |
inline |
interface |
interrupt |
label |
mod |
nil |
not |
object |
of |
or |
packed |
private |
procedure |
program |
record |
repeat |
set |
shl |
shr |
string |
then |
to |
type |
unit |
until |
uses |
var |
virtual |
while |
with |
xor |
|
|
Информатика 2012г. |
14 |
2. Идентификаторы (имена). Формируются по следующей диаграмме
длина может быть произвольной, но значимыми являются несколько первых символов (количество зависит от системы программирования).
3.Изображения. Группа лексем обозначающих числа, символьные строки и некоторые другие значения.
4.Знаки операций – предназначены для задания действий по преобразованию данных и вычислению значений.
5.Разделители – формируются из специальных символов. Комментарии
–произвольная последовательность символов заключенных в разделители вида (* и *). Например (* Это комментарий *)
Структура Pascal программы
Состоит из двух основных частей: описания данных, с которыми оперируют действия, и действий которые необходимо выполнить.
Программа снабжена заголовком, который задает имя программы и ее параметры. Текст программы должен завершатся символом ‘.’ (точка).
Совокупность описаний и определений и следующая за ней последовательность операторов называется блоком. Диаграмма:
Блок состоит из шести разделов, каждый из которых, за исключением раздела операторов может быть пустым.
Блок = [раздел описания меток]
[раздел определения констант] [раздел определения типов] [раздел описания переменных]
[раздел описания процедур и функций] [раздел операторов]
Пример простой программы:
Информатика 2012г. |
15 |
Программа вычисляет ряд вида R=1+1/2+1/3+…+1/N. Program example;
var
N: integer; R: real;
begin
readln(N);
R:=0; While N>0 do
begin R:=R+1./N; N:=N-1; end;
writeln(R);
end.
Раздел описания меток
Любой оператор в программе может быть помечен меткой. Метка ставится перед оператором и отделяется от него двоеточием. Метки должны быть описаны в разделе описания меток прежде чем они будут использованы. Синтаксис :
Раздел описания меток = “Label метка”; Метка = целое без знака
Пример Label 3, 100, 9999;
Использование меток при написании программы не приветствуется.
Раздел описания констант
Языки программирования допускают введение в программы объекты, внешне похожие на переменные, но которые, в отличие от них, не могут изменять свое значение. Такие объекты называются константами.
Синтаксис:
Описание констант
Определение константы
|
Информатика 2012г. |
16 |
Использование в программе идентификаторов констант вместо записи |
|
|
конкретных значений делает программу более «читабельной» и способствует |
|
|
лучшему ее пониманию. |
|
|
Например: |
|
|
const |
HIGH=100; |
|
|
Low=- HIGH; |
|
|
В качестве констант разрешается использовать целые и |
|
вещественные значения, а так же строки |
|
|
Const |
Pi=3.14151619; |
|
|
STR=’------‘; |
|
Значения констант, заданные в разделе определения констант, в |
|
|
программе менять нельзя, сразу следует сообщение об ошибке. |
|
Раздел описания переменных
Каждая переменная, встречающаяся в программе, должна быть описана в разделе описания переменных. Определение переменной должно содержать два элемента: имя переменной и ее тип.
Синтаксис:
Описание переменных
Определение переменных
Например:
var R1, R2, R3:integer; Xku, Jio: real; Word: char;
Раздел определения типов
Информатика 2012г. |
17 |
Наряду с именами стандартных типов (которые не нуждаются в специальных определениях), программист может определять и использовать свои собственные типы, расширяя тем самым исходный набор типов языка Паскаль применительно к потребностям решаемой задачи.
Синтаксическая диаграмма
Определение типов
Например
Type Color = (RED, ORANGE, YELLOW, GREEN, BLUE, VIOLET); Day=(Monday, Tuesday, Wednesday, Thursday, Friday, Saturday,
Sunday);
Целый тип
Представляет собой подмножество множества целых чисел, определяемое конкретной реализацией. Описание переменных целого типа производится с помощью зарезервированного слова: integer с длиной данного типа 2 байта.
Синтаксическая диаграмма
Над целыми значениями допустимы следующие операции:
+ сложение, - вычитание, * умножение,
div деление нацело (с отбрасыванием дробной части), mod взятие остатка от целочисленного деления.
Информатика 2012г. |
18 |
Следующие четыре стандартные функции дают результаты целого типа: ABS(х) – вычисляет абсолютную величину х,
SQR(х) – вычисляет х2 ,
Trunc(x) – х должно быть вещественного типа, результат целый тип, дробная часть отбрасывается. Функция приводит значения вещественного типа
к целому типу путем отсечения дробной части. |
|
|||
Trunc(2.5)=2, |
Trunc(-4.7)=-4 |
|
||
Round(x) - х должно быть вещественного типа, результат целый тип, |
||||
округленный до ближайшего целого. |
|
|||
Round(5.7)=6, |
|
Round(-1.7)=-2. |
|
|
Нельзя смешивать операнды целого и вещественного типа. |
||||
Имеется пять целых типов, различающихся допустимым диапазоном |
||||
значений и размером занимаемой памяти. |
|
|||
|
|
|
Целые типы |
|
Идентификатор |
|
Диапазон |
Размер памяти |
|
типа |
|
|
значений |
|
shortint |
|
|
128…127 |
1 байт |
integer |
|
|
-32768…32767 |
2 байта |
longint |
|
|
-2147483648 … |
4 байта |
|
|
2147483647 |
|
|
byte |
|
|
0…255 |
1 байт |
word |
|
|
0…65535 |
2 байта |
|
|
|
|
|
Вещественный тип
Подмножество множества вещественных чисел. Вещественный тип используется для представления чисел с плавающей точкой.
Пример описания
var K, Tr, Dfg: real;
Вещественные типы имеют следующие характеристики
Идентифик |
Диапазон |
Число цифр |
Размер |
атор типа |
значений |
мантисы |
памяти |
real |
2,9e- |
11-12 |
4 байта |
|
29…1.7e38 |
|
|
single |
1,5e- |
7-8 |
2 байта |
|
45…3.4e38 |
|
|
double |
5,0e- |
15-16 |
8 байт |
|
324…1.7e308 |
|
|
extende |
3,4e- |
20 |
10 байт |
|
493…1.1e493 |
|
|
Если хотя бы один из операндов имеет целый тип, то следующие операции дают в качестве результата вещественный тип:
Информатика 2012г. |
19 |
+ сложение, - вычитание, * умножение, / деление.
Имеется развитая библиотека стандартных функций:
ABS(x), SQR(x), SIN(x), COS(x), LN(x), EXP(x), ARCTAN(x), SQRT(x).
Символьный литерный тип
Значениями символьного типа являются символы из множества ASCII (American Standard Code Information Interchange) состоящего из 256 различных символов. Описание типа производится с помощью стандартного идентификатора char. Например
Char hg1, jg, Lt67: char;
Размер, занимаемый переменной в памяти, равен 1 байту. Переменная литерного типа может принимать значение только одной литеры. Несмотря на отсутствие единого, стандарта набор литер отвечает следующим требованиям:
1.Для любого набора литер все литеры фиксированы и упорядочены.
2.Включены все прописные буквы латинского алфавита от A до Z. Это множество упорядочено по алфавиту.
3.Включены все строчные буквы латинского алфавита от A до Z. Это множество упорядочено по алфавиту.
4.Включены все десятичные цифры от 0 до 9. Это множество упорядочено по возрастанию цифр.
5.Включены литеры: пробел, запятая, точка, разделители строк
и т.д.
Литеры, заключенные в апострофы, являются константами литерного типа, для апострофа они повторяются дважды:
‘’’ ‘A’ ‘Y’ ‘6’ ‘3’
Упорядоченность букв означает ‘A’< ‘B’< ‘C’…<’Z’ ‘0’<’1’<’2’<…<’9’
Две стандартные функции преобразования:
ORD(C) – является порядковым номером литеры С из упорядоченного набора литер,
CHR(I) - является литерой с порядковым номером I. Порядковый номер литер – это значения целого типа, которые
определяется реализацией и задается путем отображения литерных значений в последовательность неотрицательных целых чисел, начинающихся с нуля. Между функциями преобразования существует взаимосвязь:
CHR(ORD(C))=C
ORD(CHR(I))=I
Информатика 2012г. |
20 |
Пример: Прочитать последовательность цифр и преобразовать ее к виду целого числа.
program rdprint; var ch: char;
I, J: integer; begin
read(ch);
I:=0;
while(ch>=’0’) AND (ch<=’9’) do begin J=:ORD(ch)-ORD(‘0’); I:=10*I+J;
Read(ch);
end;
writeln(‘Введено число -’, I); end.
Логический тип (булевский)
Определяет диапазон логических значений, который содержит два элемента:
True (истина)
False (ложь)
Допустимая операция сравнения False < True
Логические переменные описываются с помощью слова boolean и занимают 1 байт памяти
var R, Dt, yut: boolean;
и могут принимать одно из значений False или True
Над аргументом логического типа определены следующие операции: NOT (не) – отрицание;
AND (И) – конъюнкция или логическое умножение;
OR (или) – дизъюнкция или логическое сложение. Операции отношения
= равно, <> не равно, < меньше, > больше, <= меньше или равно, >= больше или равно.
var R: boolean; Y:integer;
R:=Y<5;
Переменная R получит значение True, если значение Y меньше 5, в противном случае False.
Старшинство операций: NOT затем AND затем OR, затем операции отношения. Порядок выполнения операций изменяется круглыми скобками.
NOT P=Q означает (NOT P)=Q
P OR Q AND R означает P OR (Q AND R)