|
Топологии компьютерных сетей
Команды повторения
Цикл со счётчиком
Обеспечивает многокатное выполнение некоторой совокупности действий, которая называется телом цикла. Циклические алгоритмы бывают двух типов: циклы со счётчиком, в которых тело цикла выполняется определённое количество раз, циклы с условием, в которых тело цикла выполняется до тех пора, пока выполняется условие.
Когда заранее известно, какое количество раз необходимо выполнить телу цикла, то можно воспользоваться командой цикла со счётчиком.
нц для i от i1 до i2
тело цикла (последовательность действий)
кц
В начале выполения цикла значение переменной счётчика устанавливается равным начальному значению. При каждом проходе цикла переменная счётчик увеличивается на величину шага. Если она достигает величины конечного значение, то цикл завершается и выполняются следующие за ним команды.
Цикл с условием
Часто бывает так, что необходимо повторять, тело цикла, но заранее не известно, какое количество раз это надо сделать. В таких случаях количество повторений зависит от некоторого условия. Условие выхода из цикла можно поставить перед циклом (цикл с предусловием) или после цикла (цикл с послеусловием).
Цикл типа пока
Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока. Как только условие стало принимать значение ложь, выполнение цикла заканчивается. Команды тела цикла могут не выполняться ни разу, если условие изначально не ложно.
Цикл с послеусловием сначала предписывает выполенение цикла, а затем проверку условия, и в этом случае команды тела цикла выполняются один раз обязательно.
Вложенные циклы
Возможны случаи, когда внутри тела цикла необходимо повторять некоторую последовательность операций, то есть организовать внутренний цикл. Такая структура получила название цикла в цикле или вложенный цикл. Глубина вложения циклов может быть различной. При использовании такой структуры для экономии машинного времени необходимо выносить из внутреннего цикла во вложенный все операторы, которые независимы от параметров внутреннго цикла.
33 вопрос. Понятие компьютерной сети. Наиболее распространенные виды топологий сетей.
Понятие компьютерной сети.
Компьютерные сети – это системы компьютеров, объединенных каналами передачи данных, обеспечивающие эффективное предоставление различных информационно-вычислительных услуг пользователям посредством реализации удобного и надежного доступа к ресурсам сети.
Информационные системы, использующие возможности компьютерных сетей, обеспечивают выполнение следующих задач:
Хранение и обработка данных
Организация доступа пользователей к данным
Передача данных и результатов обработки пользователям
Эффективность решения перечисленных задач обеспечивается:
Дистанционным доступом пользователей к аппаратным, программным и информационным ресурсам
Высокой надежностью системы
возможностью оперативного перераспределения нагрузки
специализацией отдельных узлов сети для решения определенного класса задач
решением сложных задач совместными усилиями нескольких узлов сети
возможностью осуществления оперативного контроля всех узлов сети
Виды компьютерных сетей.
Компьютерные сети, в зависимости от охватываемой территории, подразделяются на:
локальные (ЛВС ,LAN-Local Area Network)
региональные (РВС,MAN – Metropolitan Area Network)
глобальные(ГВС, WAN – Wide Area Network)
В локальной сети абоненты находятся на небольшом (до 10-15 км) расстоянии. К ЛВС относятся сети отдельных предприятий, фирм, банков, офисов и т.д.
РВС связывают абонентов города, района, области.
Глобальные сети соединяют абонентов, удаленных друг от друга на значительное расстояние, расположенных в разных странах, или разных континентах.
По признакам организации передачи данных компьютерные сети можно разделить на две группы:
* последовательные;
* широковещательные.
В последовательных сетях передача данных осуществляется последовательно от одного узла к другому. Каждый узел ретранслирует принятые данные дальше. Практически все виды сетей относятся к этому типу. В широковещательных сетях в конкретный момент времени передачу может вести только один узел, остальные узлы могут только принимать информацию.
Топологии компьютерных сетей
Топология представляет физическое расположение сетевых компонентов (компьютеров, кабелей и др.). Выбором топологии определяется состав сетевого оборудования, возможности расширения сети, способ управления сетью.
Существуют следующие топологии компьютерных сетей:
* шинные (линейные, bus);
* кольцевые (петлевые, ring);
* радиальные (звездообразные, star);
* смешанные (гибридные).
Практически все сети строятся на основе трех базовых топологий: топологии «шина», «звезда» и «кольцо». Базовые топологии достаточно просты, однако на практике часто встречаются довольно сложные комбинации, сочетающие, свойства и характеристики нескольких топологий.
В топологии «шина», или «линейная шина» (linear bus), используется один кабель, именуемый магистралью или сегментом, к которому подключены все компьютеры сети. Эта топология является наиболее простой и распространенной реализацией сети.
Так как данные в сеть передаются лишь одним компьютером, производительность сети зависит от количества компьютеров, подключенных к шине. Чем больше компьютеров, тем медленнее сеть.
Зависимость пропускной способности сети от количества компьютеров в ней не является прямой, так как, кроме числа компьютеров, на быстродействие сети влияет множество других факторов: тип аппаратного обеспечения, частота передачи данных, тип сетевых приложений, тип сетевого кабеля, расстояние между компьютерами в сети.
«Шина» является пассивной топологией — компьютеры только «слушают» передаваемые по сети данные, но не передают их от отправителя к получателю. Выход из строя какого-либо компьютера не оказывает влияния на работу всей сети. В активных топологиях компьютеры регенерируют сигналы с последующей передачей их по сети.
Основой последовательной сети с радиальной топологией (топологией «звезда») является специальный компьютер — сервер, к которому подключаются рабочие станции, каждая по своей линии связи.
Вся информация передается через сервер, в задачи которого входит ретрансляция, переключение и маршрутизация информационных потоков в сети. Такая сеть является аналогом системы телеобработки, в которой все абонентские пункты содержат в своем составе компьютер.
Недостатками такой сети являются: высокие требования к вычислительным ресурсам центральной аппаратуры, потеря работоспособности сети при отказе центральной аппаратуры, большая протяженность линий связи, отсутствие гибкости в выборе пути передачи информации Если выйдет из строя рабочая станция (или кабель, соединяющий ее с концентратором), то лишь эта станция не сможет передавать или принимать данные по сети. На остальные рабочие станции в сети этот сбой не повлияет.
При использовании топологии «кольцо» компьютеры подключаются к кабелю, замкнутому в кольцо. Сигналы передаются в одном направлении и проходят через каждый компьютер. Каждый компьютер является повторителем, усиливая сигналы и передавая их следующему компьютеру. Если выйдет из строя один компьютер, прекращает функционировать вся сеть.
34 вопрос. Способы организации межкомпьютерной связи. Понятия сервер, клиент, протокол коммуникации, пакет.
три основных способа организации межкомпьютерной связи:
- объединение двух рядом расположенных компьютеров через их коммуникационные порты посредством специального кабеля;
- передача данных от одного компьютера к другому посредством модема с помощью проводных или спутниковых линий связи;
- объединение компьютеров в компьютерную сеть.
Часто при организации связи между двумя компьютерами за одним компьютером закрепляется роль поставщика ресурсов (программ, данных и т.д.), а за другим — роль пользователя этих ресурсов. В этом случае первый компьютер называется сервером, а второй — клиентом или рабочей станцией. Работать можно только на компьютере-клиенте под управлением специального программного обеспечения.
Сервер (англ. serve — обслуживать) — это высокопроизводительный компьютер с большим объёмом внешней памяти, который обеспечивает обслуживание других компьютеров путем управления распределением дорогостоящих ресурсов совместного пользования (программ, данных и периферийного оборудования).
|
Клиент (иначе, рабочая станция) — любой компьютер, имеющий доступ к услугам сервера.
| Сетевой сервер HP LD PRO
Например, сервером может быть мощный компьютер, на котором размещается центральная база данных, а клиентом — обычный компьютер, программы которого по мере необходимости запрашивают данные с сервера. В некоторых случаях компьютер может быть одновременно и клиентом, и сервером. Это значит, что он может предоставлять свои ресурсы и хранимые данные другим компьютерам и одновременно использовать их ресурсы и данные.
Клиентом также называют прикладную программу, которая от имени пользователя получает услуги сервера. Соответственно, программное обеспечение, которое позволяет компьютеру предоставлять услуги другому компьютеру, называют сервером — так же, как и сам компьютер. Для преодоления несовместимости интерфейсов отдельных компьютеров вырабатывают специальные стандарты, называемые протоколами коммуникации.
Протокол коммуникации — это согласованный набор конкретных правил обмена информацией между разными устройствами передачи данных. Имеются протоколы для скорости передачи, форматов данных, контроля ошибок и др.
| Для работы с сетью необходимо наличие специального сетевого программного обеспечения, которое обеспечивает передачу данных в соответствии с заданным протоколом. Протоколы коммуникации предписывают разбить весь объём передаваемых данных на пакеты — отдельные блоки фиксированного размера. Пакеты нумеруются, чтобы их затем можно было собрать в правильной последовательности. К данным, содержащимся в пакете, добавляется дополнительная информация примерно такого формата:
Адрес получателя
| Адрес отправителя
| Длина
| Данные
| Поле контрольной суммы
| Контрольная сумма данных пакета содержит информацию, необходимую для контроля ошибок. Первый раз она вычисляется передающим компьютером. После того, как пакет будет передан, контрольная сумма повторно вычисляется принимающим компьютером. Если значения не совпадают, это означает, что данные пакета были повреждены при передаче. Такой пакет отбрасывается, и автоматически направляется запрос повторно передать пакет.
Вопрос.
Интернет - это глобальная компьютерная сеть, в которой локальные, региональные и корпоративные сети соединены между собой многочисленными каналами передачи информации с высокой пропускной способностью.
Для подключения локальных сетей чаще всего используются оптоволоконные линии связи. Однако в случаях подключения неудобно расположенных или удаленных компьютерных сетей, когда прокладка кабеля затруднена или невозможна, используются беспроводные линии связи. Если передающая и принимающая антенны находятся в пределах прямой видимости, то используются радиоканалы, в противном случае обмен информацией производится через спутниковый канал с использованием специальных антенн.
Отдельные участки Интернет представляют собой сети различной архитектуры, которые связываются между собой с помощью маршрутизаторов. Передаваемые данные разбиваются на небольшие порции, называемые пакетами. Каждый пакет перемещается по сети независимо от других пакетов.
Сети в Интернет неограниченно коммутируются (т.е. связываются) друг с другом, потому что все компьютеры, участвующие в передаче данных, используют единый протокол коммуникации TCP/IP (читается "ти-си-пи/ай-пи"). На самом деле протокол TCP/IP — это два разных протокола, определяющих различные аспекты передачи данных в сети:
• протокол TCP (Transmission Control Protocol) — протокол управления передачей данных, использующий автоматическую повторную передачу пакетов, содержащих ошибки; этот протокол отвечает за разбиение передаваемой информации на пакеты и правильное восстановление информации из пакетов получателя;
• протокол IP (Internet Protocol) — протокол межсетевого взаимодействия, отвечающий за адресацию и позволяющий пакету на пути к конечному пункту назначения проходить по нескольким сетям. Схема передачи информации по протоколу TCP/IP такова: протокол ТСР разбивает информацию на пакеты и нумерует все пакеты; далее с помощью протокола IP все пакеты передаются получателю, где с помощью протокола ТСР проверяется, все ли пакеты получены; после получения всех пакетов протокол ТСР располагает их в нужном порядке и собирает в единое целое.
Каждый компьютер, подключенный к сети Интернет имеет два равноценных уникальных адреса: цифровой IP-адрес и символический доменный адрес. Присваивание адресов происходит по следующей схеме: международная организация Сетевой информационный центр выдает группы адресов владельцам локальных сетей, а последние распределяют конкретные адреса по своему усмотрению.
IP-адрес компьютера имеет длину 4 байта. Обычно первый и второй байты определяют адрес сети, третий байт определяет адрес подсети, а четвертый — адрес компьютера в подсети. Для удобства IP-адрес записывают в виде четырех чисел со значениями от 0 до 255, разделенных точками, например: 145.37.5.150. Адрес сети — 145.37; адрес подсети — 5; адрес компьютера в подсети — 150. Доменный адрес (англ. domain — область), в отличие от цифрового, является символическим и легче запоминается человеком. Пример доменного адреса: barsuk.les.nora.ru. Здесь домен barsuk — имя реального компьютера, обладающего IP-адресом, домен les — имя группы, присвоившей имя этому компьютеру, домен nora — имя более крупной группы, присвоившей имя домену les, и т.д. В процессе передачи данных доменный адрес преобразуются в IP-адрес
Вопрос.
Потенциально Интернет предоставляет следующий информационный сервис общего назначения:
Электронная почта (E-mail), В этом случае каждому абоненту назначается электронный адрес, представляющий некоторый аналог почтового адреса. С помощью E-mail пользователь может пересылать и получать как текстовые сообщения, так и двоичные файлы произвольного вида. Посланная абоненту информация сохраняется в его «почтовом ящике» на специальном почтовом сервере сайта, к которому подключен абонент. Абонент Интернета может просмотреть и обработать (сохранить на своем ПК, распечатать, направить ответ автору, удалить с сервера) направленную ему корреспонденцию в любое удобное для него время, соединившись со своим сайтом. Существует несколько видов (протоколов) E-mail, различающихся своими возможностями.
Доступ к информационным ресурсам. В Интернете имеется несколько видов информационных ресурсов (информационных систем), различающихся характером информации, способом ее организации, методами работы с ней и, возможно, программным обеспечением. Каждый вид информации хранится на серверах соответствующего типа называемых по типу хранимой информации. Для каждой информационной системы существуют свои средства поиски необходимой информации во всей сети internet по ключевым словам. В Интернете имеются следующие информационные системы:
• World Wide Web (WWW) — Всемирная информационная паутина. Эта система является наиболее популярной и динамично развивающейся. Информации в WWW состоит из мультимедийных страниц (документов), попускающих широкие возможности оформления текста на экране (форматирование текста и макетирование страниц). Страницы могут содержать графику, сопровождаться звуком и анимацией изображений, воспроизводимых непосредственно в процессе поступления информации на экран пользователя. Информация в WWW организована в форме гипертекста, аналогично тому, как организована система помощи в Windows. Это означает, что в документе существуют специальные элементы — текст или рисунки, называемые гипертекстовые ссылки (или просто ссылки), щелчок мышью на которых выводит на экран другой документ, на который указывает эта ссылка. При этом новый документ может храниться на совершенно другом сайте, возможно расположенном в другом конце земного шара.. При этом пользователь может и не следить за тем,с каким сайтом он работает и может даже не знать этого.
• Gopher-система. Эта система является предшественником WWW и сейчас утрачивает свое значение, хотя пока поддерживается в Internet. Просмотр информации на Gopher-сервере организуется с помощью древовидного меню, аналогичного меню в приложениях Windows или аналогично дереву каталогов (папок) в файловой системе. Меню верхнего уровня состоит из перечня крупных тем, например (Экономика, Культура, Медицина и др.). Меню следующих уровней детализируют выбранный элемент меню предыдущего уровня. Конечным пунктом движения вниз по дереву (листом дерева) является документ. Документ обычно содержит только текст.
■ FTP-система (File Transfer Programme). Служит для пересылки файлов любого вида. Файлы становятся доступными для работы (чтения, исполнения) только после копирования на собственный компьютер. Хотя пересылка файлов может быть выполнена и с помощью WWW, FTP-системы продолжают оставаться очень популярными ввиду их быстродействия и простоты использования.
Система телеконференций — UseNet (или UseNet Newsgroups), Система представляет собой совокупность документов (статей), сгруппированных по определенным темам и подтемам. В настоящее время имеется более 10 тысяч таких групп на различные темы. Пользователь может указать интересующие его темы (группы), а затем просматривать соответствующие документы и создавать свои. Новые документы могут адресоваться или всем членам группы или авторам конкретных статей. В некоторых конференциях пользователи имеют право сами создавать новые группы и подгруппы тем.
IRC (Internet Relay Chat) — обмен информацией в режиме реального времени: набираемый Вами текст или создаваемый рисунок немедленно воспроизводится на экране абонента. При наличии звуковых карт и микрофонов у обоих абонентов возможна работа в системе TALK, обеспечивающей голосовой обмен в режиме реального времени. Специальные средства телетрансляции позволяют использовать Интернет для видеоконференций. Имеются и другие, доступные пользователю, средства поиска, управления и контроля в Интернет:
Telnet — режим удаленного управления любым компьютером в сети. Используется для запуска на сервере или любом компьютере в Интернете необходимой программы.
Служебная программа Ping служит для проверки качества связи с сервером и др. Программы WHOIS, Finger, позволяющие найти координаты пользователей сети или определить пользователей, работающих в настоящий момент на конкретном хосте.
41)В настоящее время в Интернете используют несимметричные криптографические системы, основанные на использовании не одного, а двух ключей. Происходит это следующим образом. Компания для работы с клиентами создает два ключа: один - открытый (public - публичный) ключ, а другой - закрытый (private - личный) ключ. На самом деле это как бы две "половинки" одного целого ключа, связанные друг с другом.
Ключи устроены так, что сообщение, зашифрованное одной половинкой, можно расшифровать только другой половинкой (не той, которой оно было закодировано). Создав пару ключей, торговая компания широко распространяет публичный ключ (открытую половинку) и надежно сохраняет закрытый ключ (свою половинку).
Как публичный, так и закрытый ключ представляют собой некую кодовую последовательность. Публичный ключ компании может быть опубликован на ее сервере, откуда каждый желающий может его получить. Если клиент хочет сделать фирме заказ, он возьмет ее публичный ключ и с его помощью закодирует свое сообщение о заказе и данные о своей кредитной карте. После кодирования это сообщение может прочесть только владелец закрытого ключа. Никто из участников цепочки, по которой пересылается информация, не в состоянии это сделать. Даже сам отправитель не может прочитать собственное сообщение, хотя ему хорошо известно содержание. Лишь получатель сможет прочесть сообщение, поскольку только у него есть закрытый ключ, дополняющий использованный публичный ключ.
Если фирме надо будет отправить квитанцию о том, что заказ принят к исполнению, она закодирует ее своим закрытым ключом. Клиент сможет прочитать квитанцию, воспользовавшись имеющимся у него публичным ключом данной фирмы. Он может быть уверен, что квитанцию ему отправила именно эта фирма, и никто иной, поскольку никто иной доступа к закрытому ключу фирмы не имеет.
б)Количество комбинаций, которое надо проверить при реконструкции закрытого ключа, не столь велико, однако защиту информации принято считать достаточной, если затраты на ее преодоление превышают ожидаемую ценность самой информации. В этом состоит принцип достаточности защиты, которым руководствуются при использовании несимметричных средств шифрования данных. Он предполагает, что защита не абсолютна, и приемы ее снятия известны, но она все же достаточна для того, чтобы сделать это мероприятие нецелесообразным. При появлении иных средств, позволяющих-таки получить зашифрованную информацию в разумные сроки, изменяют принцип работы алгоритма, и проблема повторяется на более высоком уровне.
в)Понятие об электронных сертификатах
Системой несимметричного шифрования обеспечивается делопроизводство в Интернете. Благодаря ей каждый из участников обмена может быть уверен, что полученное сообщение отправлено именно тем, кем оно подписано. Однако здесь возникает еще ряд проблем, например проблема регистрации даты отправки сообщения. Такая проблема возникает во всех случаях, когда через Интернет заключаются договоры между сторонами. Отправитель документа может легко изменить текущую дату средствами настройки операционной системы. Поэтому обычно дата и время отправки электронного документа не имеют юридической силы. В тех же случаях, когда это важно, выполняют сертификацию даты/времени.
Сертификация даты. Сертификация даты выполняется при участии третьей, независимой стороны. Например, это может быть сервер организации, авторитет которой в данном вопросе признают оба партнера. В этом случае документ, зашифрованный открытым ключом партнера и снабженный своей электронной подписью, отправляется сначала на сервер сертифицирующей организации. Там он получает "приписку" с указанием точной даты и времени, зашифрованную закрытым ключом этой организации. Партнер декодирует содержание документа, электронную подпись отправителя и отметку о дате с помощью своих половинок "ключей". Вся работа автоматизирована. ……….
43.Основные этапы решения задач на компьютере Процесс решения задач на компьютере — это совместная деятельность человека и ЭВМ. Этот процесс можно представить в виде нескольких последовательных этапов. На долю человека приходятся этапы, связанные с творческой деятельностью — постановкой, алгоритмизацией, программированием задач и анализом результатов, а на долю компьютера — этапы обработки информации в соответствии с разработанным алгоритмом. Рассмотрим эти этапы на следующем примере: пусть требуется вычислить сумму двух целых чисел и вывести на экран видеомонитора результат. Первый этап — постановка задачи. На этом этапе участвует человек, хорошо представляющий предметную область задачи. Он должен четко определить цель задачи, дать словесное описание содержания задачи и предложить общий подход к ее решению. Для задачи вычисления суммы двух целых чисел человек, знающий, как складываются числа, может описать задачу следующим образом: ввести два целых числа, сложить их и вывести сумму в качестве результата решения задачи. Второй этап — математическое или информационное моделирование. Цель этого этапа — создать такую математическую модель решаемой задачи, которая может быть реализована в компьютере. Существует целый ряд задач, где математическая постановка сводится к простому перечислению формул и логических условий. Этот этап тесно связан с первым этапом, и его можно отдельно не рассматривать, однако возможно, что для полученной модели известны несколько методов решения, и тогда предстоит выбрать лучший. Для вышеописанной задачи данный этап сведется к следующему: введенные в компьютер числа запомним в памяти под именами А и В, затем вычислим значение суммы этих чисел по формуле А+В, и результат запомним в памяти под именем Summa. Третий этап — алгоритмизация задачи. На основе математического описания необходимо разработать алгоритм решения. Алгоритмом называется точное предписание, определяющее последовательность действий исполнителя, направленных на решение поставленной задачи. В роли исполнителей алгоритмов могут выступать люди, роботы, компьютеры. Четвертый этап — программирование. Программой называется план действий, подлежащих выполнению некоторым исполнителем, в качестве которого может выступать компьютер. Составление программы обеспечивает возможность выполнения алгоритма и соответственно поставленной задачи исполнителем-компьютером. Во многих задачах при программировании на алгоритмическом языке часто пользуются заменой блока алгоритма на один или несколько операторов, введением новых блоков, заменой одних блоков другими. Пятый этап — ввод программы и исходных данных в ЭВМ. Программа и исходные данные вводятся в ЭВМ с клавиатуры с помощью редактора текстов, и для постоянного хранения осуществляется их запись на гибкий или жесткий магнитный диск. Шестой этап — тестирование и отладка программы. На этом этапе происходят исполнение алгоритма с помощью ЭВМ, поиск и исключение ошибок. При этом программисту приходится выполнять рутинную работу по проверке работы программы, поиску и исключению ошибок, и поэтому для сложных программ этот этап часто требует гораздо больше времени и сил, чем написание первоначального текста программы. Отладка программы — сложный и нестандартный процесс. Исходный план отладки заключается в том, чтобы тестировать программу на контрольных примерах. Контрольные примеры стремятся выбрать так, чтобы при работе с ними программа прошла все основные пути блок-схемы алгоритма, поскольку на каждом из путей могут быть свои ошибки, а детализация плана зависит от того, как поведет себя программа на этих примерах: на одном она может зациклиться (т. е. бесконечно повторять одно и то же действие); на другом — дать явно неверный или бессмысленный результат и т. д. Сложные программы отлаживают отдельными фрагментами. Для повышения качества выполнения этого этапа используются специальные программы — отладчики, которые позволяют исполнить программу "по шагам" с наблюдением за изменением значений переменных, выражений и других объектов программы, с отслеживанием выполняемых операторов. Седьмой этап — исполнение отлаженной программы и анализ результатов. На этом этапе программист запускает программу и задает исходные данные, требуемые по условию задачи. Полученные в результате решения выходные данные анализируются постановщиком задачи, и на основании этого анализа вырабатываются соответствующие решения, рекомендации, выводы. Например, если при решении задачи на компьютере результат сложения двух чисел 2 и 3 будет 4, то следует сделать вывод о том, что надо изменить алгоритм и программу. Возможно, что по итогам анализа результатов потребуются пересмотр самого подхода к решению задачи и возврат к первому этапу для повторного выполнения всех этапов с учетом приобретенного опыта. Таким образом, в процессе создания программы некоторые этапы будут повторяться до тех пор, пока мы не получим алгоритм и программу, удовлетворяющие свойствам алгоритма.
44. Тема «Программирование» Языки программирования Чтобы компьютер выполнил решение какой-либо задачи, ему необходимо получить от человека инструкции, как ее решать. Набор таких инструкций для компьютера, направленный на решение конкретной задачи, называется компьютерной программой. Современные компьютеры не настолько совершенны, чтобы понимать программы, записанные на каком-либо употребляемом человеком языке — русском, английском, японском. Команды, предназначенные для ЭВМ, необходимо записывать в понятной ей форме. С этой целью применяются языки программирования — искусственные языки, алфавит, словарный запас и структура которых удобны человеку и понятны компьютеру. В самом общем смысле языком программирования называется фиксированная система обозначений и правил для описания алгоритмов и структур данных. Языки программирования имеют два лица. Одно из них обращено к человеку, использующему язык для записи своих программ, а другое адресовано ЭВМ, которая должна понимать команды. Исходя из этого, все языки программирования делятся на языки низкого, высокого и сверхвысокого уровня. Язык низкого уровня — это средство записи инструкций компьютеру простыми приказами- командами на аппаратном уровне. Такой язык отражает структуру данного класса ЭВМ и поэтому иногда называется машинно-ориентированным языком. Пользуясь системой команд, понятной компьютеру, можно описать алгоритм любой сложности. Правда, такая запись для сложных задач будет настолько громоздкой, что у человека будет мало шансов сделать ее безошибочной, так как этот язык мало приспособлен для использования человеком, ведь запись программы на этом языке представляет собой последовательность нулей и единиц. Существенной особенностью языков программирования низкого уровня является жесткая ориентация на определенный тип аппаратуры (систему команд процессора). В стремлении приспособить язык программирования низкого уровня к человеку разработан язык символического кодирования (автокод или язык ассемблера), структура команд которого определяется форматами команд и данными машинного языка. Программа на таком языке ближе человеку, потому что операторы этого языка — те же команды, но они имеют мнемонические названия, а в качестве операндов используются не конкретные адреса в оперативной памяти, а их символические имена. Более многочисленную группу составляют языки программирования высокого уровня, средства которых допускают описание задачи в наглядном, легко воспринимаемом виде. Отличительной особенностью этих языков является их ориентация не на систему команд той или иной ЭВМ, а на систему операторов, характерных для записи определенного класса алгоритмов. К языкам программирования этого типа относятся: Бейсик, Фортран, Алгол, Паскаль, Си. Программа на языках высокого уровня записывается системой обозначений, близкой человеку (например, фиксированным набором слов английского языка, имеющих строго определенное назначение). Программу на языке высокого уровня проще понять и значительно легче отладить. К языкам программирования сверхвысокого уровня можно отнести Алгол-68, при разработке которого сделана попытка формализовать описание языка, приведшая к появлению абстрактной и конкретной программ. Абстрактная программа создается программистом, конкретная — выводится из первой. Предполагается, что при таком подходе принципиально невозможно породить неверную синтаксически (а в идеале и семантически) конкретную программу. Язык APL относят к языкам сверхвысокого уровня за счет введения сверхмощных операций и операторов. Запись программ на таком языке получается компактной. Все вышеперечисленные языки — вычислительные. Более молодые — декларативные (непроцедурные) языки, отличительная черта которых — задание связей и отношений между объектами и величинами и отсутствие определения последовательности выполнения действий (Пролог). Такие языки сыграли важную роль в программировании, так как они дали толчок к разработки специализированных языков искусственного интеллекта и языков представления знаний. Трансляторы
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|