Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы на билеты по инфе.docx
Скачиваний:
18
Добавлен:
15.04.2019
Размер:
203.5 Кб
Скачать

Алфавит, синтаксис и семантика.

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

34. Языки программирования. Языки высокого уровня. Достоинства и недостатки машинных языков.

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

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

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

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

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

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

Язык высокого уровня - согласно ГОСТ 19781-90 - язык программирования, понятия и структура которого удобны для восприятия человеком.  Языки высокого уровня отражают потребности программиста, но не возможности системы обработки данных.

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

Для этой функции языки используют трансляторы и интерпретаторы.

Транслятор –это переводчик. Он переводит программу написанную на одном из языков высокого уровня, на машинный язык.

Компилятор – прочитывает всю программу и переводит ее на машинный язык и создает целиком законченный вариант. Который не будет требовать повторной трансляции. Интерпретатор переводит программу не целиком, а построчно и выполняет переведенную строку.

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

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

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

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

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

35. Язык ассемблера. Преимущества алгоритмических языков перед машинными языками

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

Основные преимущества таковы:

· алфавит алгоритмического языка значительно шире алфавита машинного

языка, что существенно повы шает наглядность текста программы;

· набор операций, допустимых для использования, не зависит от набора

машинных операций, а выбирается из соображений удобства формулирования

алгоритмов решения задач определенного класса;

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

позволяет с помощью одного пред ложения задать достаточно содержательный этап

обра ботки данных;

· требуемые операции задаются с помощью общепринятых математических

обозначений;

· данным в алгоритмических языках присваиваются индивидуальные имена,

выбираемые программистом;

· в языке может быть предусмотрен значительно более широкий набор

типов данных по сравнению с набором машинных типов данных.

Таким образом, алгоритмические языки в значительной мере являются машинно-

независимыми. Они облегчают работу программиста и повышают надежность

создаваемых программ.

36. Этапы решения задач с помощью компьютера

  1. Постановка задачи:

    • сбор информации о задаче

    • формулировка условия задачи

    • определение конечных целей решения задачи

    • описание данных (их типов, диапазонов велечин, структуры и т.д.)

  2. Анализ и исследование задачи, модели:

    • анализ существующих аналогов

    • анализ технических и программных средств

    • разработка математической модели

    • разработка структур данных

  3. Разработка алгоритма:

    • выбор метода проектирования алгоритма

    • выбор формы записи алгоритма (блок-схема, псевдокод и т.д.)

    • выбор тестов и методов тестирования

    • проектирование алгоритма

  4. Программирование:

    • выбор языка программирования

    • уточнение способов организаци данных

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

  5. Тестирование и отладка:

    • синтактическая отладка

    • отладка семантики и логической структуры

    • тестовые расчёты и анализ результатов тестирования

    • совершенствование программы

  6. Анализ результатов решения задачи и уточнение в случае необходимости математической модели с повторением выполнения этапов 2-5

  7. Сопровождение программы:

    • доработка программмы для решния конкретных задач

    • составление документаци к решённой задаче, к математической модели, к алогоритму, к программе, к набору текстов, к использованию

37. Математическая модель процесс разработки программы(?)

38. Характерные ошибки программирования

Ошибки могут быть допущены на всех этапах решения задачи - от ее постановки до оформления. Разновидности ошибок и соответствующие примеры приведены в таблице:

Вид ошибки

Пример

Неправильная постановка задачи

Правильное решение неверно сформулированной задачи

Неверный алгоритм

Выбор алгоритма, приводящего к неточному или эффективному решению задачи

Ошибка анализа

Неполный учет ситуаций, которые могут возникнуть; логические ошибки

Семантические ошибки

Непонимание порядка выполнения оператора

Синтаксические ошибки

Нарушение правил, определяемых языком программирования

Ошибки при выполнении операций

Слишком большое число, деление на ноль, извлечение квадратного корня из отрицательного числа и т. п.

Ошибки в данных

Неудачное определение возможного диапазона изменения данных

Опечатки

Перепутаны близкие по написанию символы, например, цифра 1 и буквы I, l

Ошибки ввода-вывода

Неверное считывание входных данных, неверное задание форматов данных

39. Виды угроз безопасности информационной технологии.

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

Угрозы принято делить на случайные, или непреднамеренные, и умышленные. Источником первых могут быть ошибки в программном обеспечении, выходы из строя аппаратных средств, неправильные действия пользователей или администрации. Умышленные угрозы преследуют цель нанесения ущерба пользователям АИС и, в свою очередь, подразделяются на активные ипассивные.

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

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

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

  • раскрытие конфиденциальности информации;

  • компрометация информации;

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

  • ошибочное использование ресурсов;

  • несанкционированный обмен информацией;

  • отказ от информации;

  • отказ от обслуживания.

40. Технология защиты информации(!)

41. Компьютерные вирусы

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

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

Создание и распространение вредоносных программ (в том числе вирусов) преследуется в России согласно Уголовному Кодексу РФ (глава 28, статья 273). Согласно доктрине информационной безопасности РФ, в России должен проводиться правовой ликбез в школах и вузах при обучении информатике и компьютерной грамотности по вопросам защиты информации в ЭВМ, борьбы с компьютерными вирусами, детскими порносайтами и обеспечению информационной безопасности в сетях ЭВМ.

42. Представление о проблеме компьютерных вирусов. Проникновение вирусов в компьютер.