Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
informatic-hardquestions.docx
Скачиваний:
7
Добавлен:
26.09.2019
Размер:
50.05 Кб
Скачать

Операцио́нная систе́ма, сокр. ОС (англ. operating system, OS) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс междуустройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения.

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

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

Мультимедиа может быть грубо классифицировано как линейное и нелинейное.

Аналогом линейного способа представления может являться киноЧеловек, просматривающий данный документ никаким образом не может повлиять на его вывод.

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

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

Естественные и формальные языки.

 Информация становится понятной, если она выражена языком, на котором говорят те, кому предназначена информация.

В процессе развития человеческого общества люди выработали большое число языков. Примеры языков:

  • ·        разговорные языки (в настоящее время в мире их насчитывают более 2000);

  • ·        языки мимики и жестов;

  • ·        языки чертежей, рисунков, схем;

  • ·        языки науки (математики, химии, биологии и т.д.);

  • ·        языки искусства (живописи, музыки, скульптуры, архитектуры и т.д.);

  • ·        специальные языки (азбука Брайля для слепых, азбука Морзе, Эсперанто, морской семафор и т.д.);

  • ·        алгоритмические языки (блок-схемы, языки программирования).

 Язык –– это знаковая система, используемая для целей коммуникации и познания. Основой большинства языков является алфавит – набор символов, из которых можно составлять слова и фразы данного языка.

Язык характеризуется:

  • ·        набором используемых знаков;

  • ·        правилами образования из этих знаков таких языковых конструкций, как “слова”, “фразы” и “тексты” (в широком толковании этих понятий);

  • ·        набором синтаксических, семантических и прагматических правил использования этих языковых конструкций.

 Все языки можно разделить на естественные и искусственные.

Естественными называются “обычные”, “разговорные” языки, которые складываются стихийно и в течение долгого времени. История каждого такого языка неотделима от истории народа, владеющего им. Естественный язык, предназначенный, прежде всего, для повседневного общения, имеет целый ряд своеобразных черт:

  • ·      почти все слова имеют не одно, а несколько значений;

  • ·      часто встречаются слова с неточным и неясным содержанием;

  • ·      значения отдельных слов и выражений зависят не только от них самих, но и от их окружения (контекста);

  • ·      распространены синонимы (разное звучание - одинаковый смысл) и омонимы (одинаковое звучание - разный смысл);

  • ·      одни и те же предметы могут иметь несколько названий;

  • ·      есть слова, не обозначающие никаких предметов;

  • ·      многие соглашения относительно употребления слов не формулируются явно, а только предполагаются и для каждого правила есть исключения и т.д.

Основными функциями естественного языка являются:

  • ·      коммуникативная (функция общения);

  • ·      когнитивная (познавательная функция);

  • ·      эмоциональная (функция формирования личности);

  • ·      директивная (функция воздействия).

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

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

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

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

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

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

Язы́к программи́рования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет наборлексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.

Со времени создания первых программируемых машин человечество придумало более двух с половиной тысяч языков программирования.[1] Каждый год их число увеличивается. Некоторыми языками умеет пользоваться только небольшое число их собственных разработчиков, другие становятся известны миллионам людей. Профессиональные программисты иногда применяют в своей работе более десятка разнообразных языков программирования.

Создатели языков по-разному толкуют понятие язык программирования. К наиболее распространённым утверждениям, признаваемым большинством разработчиков, относятся следующие:[источник не указан 1065 дней]

  • Функция: язык программирования предназначен для написания компьютерных программ, которые применяются для передачи компьютеру инструкций по выполнению того или иного вычислительного процесса и организации управления отдельными устройствами.

  • Задача: язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» — это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией.

  • Исполнение: язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.

Языки программирования низкого уровня

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

Пример машинного кода и представления его на ассемблере

Трансляторы делятся на:

  • компиляторы - превращают текст программы в машинный код, который можно сохранить и затем использовать уже без компилятора (примером являются исполняемые файлы с расширением *. exe).

  • интерпретаторы - превращают часть программы в машинный код, выполняют и после этого переходят к следующей части. При этом каждый раз при выполнении программы используется интерпретатор.

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

Преимущества

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

Недостатки

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

  • результирующая программа не может быть перенесена на компьютер или устройство с другим типом процессора.

  • значительное время разработки больших и сложных программ.

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

  • Ассемблер - язык низкого уровня, что широко применяется до сих пор.

 

Языки программирования высокого уровня

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

К языкам программирования высокого уровня относятся:

  • Фортран

  • Кобол

  • Алгол

  • Pascal

  • Java

  • C

  • C++

  • C#

  • Objective C

  • Smalltalk

  • Delphi

Недостатком языков высокого уровня является больший размер программ по сравнению с программами на языке низкого уровня. Поэтому в основном языки высокого уровня используются для разработок программного обеспечения компьютеров и устройств, которые имеют большой объем памяти. А разные подвиды ассемблера применяются для программирования других устройств, где критичным является размер программы.

Достоинства

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

  • Контекстная справочная система, по которой можно изучать язык без обращения к сторонним источникам.

  • Высокая скорость компиляции, высокая скорость выполнения откомпилированных программ.

  • Встроенная возможность использовать вставки на языке ассемблера.

[править]Недостатки

  • Компилятор рассчитан на реальный режим DOS, применение которого сходит на нет. Однако в последних версиях компилятора и среды введена поддержказащищённого режима вместе с соответствующим отладчиком (TD).

  • В модуле CRT имеется ошибка (некорректный подсчёт количества циклов для функции delay, не рассчитанный на быстрые процессоры, процессоры с переменной частотой и многозадачные среды), из-за которой при запуске программы на компьютерах с тактовой частотой более 200 MHz сразу происходило аварийное завершение с сообщением «Runtime error 200 at…». Существуют разные варианты исправления модуля CRT.[4][5][6] В варианте Клауса Хартнегга ошибка 200 не возникает, но длительность Delay на быстрых компьютерах меньше желаемой, и эта проблема по незнанию иногда тоже считается недостатком Turbo Pascal.

  • Неправильная работа с метками во встроенном ассемблере (команды из меток выполняются, даже если переход на них не происходил).

Описание каждого элемента языка задается его СИНТАКСИСОМ и СЕМАНТИКОЙ. Синтаксические определения устанавливают правила построения элементов языка. Семантика определяет смысл и правила использования тех элементов языка, для которых были даны синтаксические определения. 

Алфавит языка

Алфавит - это совокупность допустимых в языке символов. Алфавит Турбо Паскаль включает следующий набор основных символов:

I. Элементные:

    1) Стандартные:

         а) целые;

         б) вещественные;

         в) логические;

         г) символьные.

    2) Переменные:

         а) перечисляемые;

         б) интервальные.

II. Структурированные:

     1) Массивы;

     2) Файлы;

     3) Записи;

     4) Множества.

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

относятся:

- оператор присваивания;

- обращение к процедуре;

- оператор безусловного перехода GOTO;

- пустой оператор.

Структурированные операторы

Структурированными являются такие операторы, которые включают в себя другие операторы.

К структурированным операторам относятся:

- составной оператор;

- условный оператор IF;

- условный оператор CASE;

- оператор цикла REPEAT;

- оператор цикла WHILE;

- оператор цикла FOR;

- оператор над записями WITH.

Если один оператор if может обеспечить выбор из двух альтернатив, то оператор выбора case позволяет сделать выбор из произвольного числа имеющихся вариантов.  Формат записи оператора case:

case <выражение-селектор > of <список значений1>: <оператор1;> <список значений 2>: <оператор2;> … <список значений N>: <операторN> else <оператор> end;

Оператор case работает следующим образом. Сначала вычисляется значение выражения-селектора, затем в последовательности операторов отыскивается такой, которому предшествует константа, равная вычисленному значению. Если ни одна из констант не равна вычисленному значению, выполняется оператор, стоящий за словом else. Если слово else отсутствует, выполняется оператор, находящийся за словом end, т. е. первый оператор за границей case. Селектор должен относиться к одному из целочисленных типов (находящихся в диапа-зоне — 32768..32767): булевскому, литерному или пользовательскому. Список констант выбора состоит из произвольного количества значений, или диапазонов, отделенных друг от друга запятыми. Границы диапазона записываются двумя константами через разграничитель " .. ". Тип констант в любом случае должен совпадать с типом селектора. В синтак-сическом описании, приведенном выше, предполагается использование одного оператора для каждой альтернативы, но при необходимости можно задать несколько операторов, сгруппировав их в составной оператор. В то же время ветвь else допускает использование последовательности операторов, разделенных символом ";". При использовании оператора выбора case должны .выполняться следующие правила: 1. Значения выражения "переключателя", записанного после служебного слова case, должны принадлежать дискретному типу (лат. discretus — прерывистый, дробный, состоящий из отдельных частей); для целого типа они должны лежать в диапазоне integer. 2. Все константы, предшествующие операторам альтернатив, должны иметь тип, совместимый с типом выражения. 3. Все константы в альтернативах должны быть уникальны в пределах оператора варианта (т. е. повторения констант в альтернативах не допускаются); диапазоны не должны пересекаться и не должны содержать констант, указанных в данной или других альтернативах.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]