- •Вопросы государственного экзамена
- •1. Архитектура эвм
- •2. Процессор
- •3. Периферийные устройства эвм. Внешние запоминающие устройства
- •4. Организация прерываний в эвм
- •1. Информатика и информация
- •2. Обеспечение целостности и безопасности информации
- •3. Программное обеспечение (по)
- •1. Назначение и функции oc
- •1. Первый период (1945–1955 гг.). Ламповые машины.
- •2. Второй период (1955 г.– начало 60-х). Эвм на основе транзисторов.
- •3. Третий период (начало 60-х – 1980 г.). Эвм на основе интегральных микросхем.
- •4. Четвертый период (с 1980 г. По настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы
- •2. Процессы
- •3. Организация памяти компьютера
- •2.Один процесс в памяти
- •3.Оверлейная структура
- •4.Динамическое распределение. Свопинг
- •5.Схема с переменными разделами
- •4. Система управления вводом-выводом
- •1. Критерии качества программ
- •2. Процессы жизненного цикла программных средств
- •3. Семантический подход к языкам программирования
- •Перегрузка процедур и функций
- •Множественное наследование
- •Шаблонные функции
- •Обработка исключений
- •4. Основные структуры программирования
- •Операторы действия
- •Оператор цикла
- •Подпрограмма
- •5. Структурные типы данных в языках программирования
- •Массивы
- •Записи (структуры)
- •Множества
- •6. Этапы развития технологии программирования
- •1. Представление математических объектов в системах компьютерной алгебры
- •2. Алгоритм Евклида
- •3. Модулярная арифметика
- •4. Вычисление полиномов
- •5. Нахождение нод полиномов от одной переменной
- •1. Понятие информации формы её представления
- •2. Энтропия
- •3. Количество информации
- •1 Комбинаторный подход
- •2 Вероятностный подход
- •3 Алгоритмический подход
- •4. Кодирование
- •5. Сжатие данных
- •6. Помехоустойчивое кодирование
- •1. Html
- •Id и name
- •Idref и idrefs
- •2. Основы JavaScript
- •3. Основы web-дизайна
- •4. SharePoint 2010
- •1. Функции, процедуры и службы управления учебным процессом
- •2. Состав и функции подсистем ису
- •3. Технологии проектирования ис
- •4. Основные направления информатизации процесса обучения
- •1. Системный подход в моделировании
- •2. Стохастическое моделирование
- •3. Имитационное моделирование
- •4. Агентное моделирование
- •1. Методы представления знаний
- •3. Экспертные системы
- •4. Логическое программирование
- •1. Процесс проектирования информационных систем в образовании
- •2. Этапы проектирования информационных систем в образовании
- •3. Управление проектированием информационных систем в образовании
- •4. Анализ компромиссов и рисков программного проекта
- •5. Uml как язык объектно-ориентированного проектирования
- •1. Основные задачи и базовые понятия теории систем
- •2. Системный подход к исследованию систем
- •3. Методы описания информационных систем
- •4. Моделирование и проектирование информационных систем
- •5. Информационные модели принятия решений
3. Семантический подход к языкам программирования
Определения: язык программирования, синтаксис, семантика языка программирования.
Язык программирования – формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.
Синтаксис языка программирования – совокупность правил записи, которым должна удовлетворять программа, включает также правила ввода текстов программ в ЭВМ.
Семантика языка программирования – правила, определяющие какие операции, и в какой последовательности должна выполнять ЭВМ, работающая по программе.
Базовые средства описания данных.
Базовые средства описания действий.
Дополнительные возможности в языках.
Перегрузка процедур и функций
Перегрузка процедур и функций – возможность использования одноимённых подпрограмм: процедур или функций в языках программирования, с разным количеством или типом параметров.
int sum(int a, int b) { return a + b; } |
function sum(var a, b: integer) : integer; overload; begin result := a + b; end; |
float sum(float a, float b) { return a + b; } |
function sum(var a, b: real) : real; overload; begin result := a + b; end; |
Однако JavaScript не имеет такой возможности, так как этот язык не является типизированным.
Множественное наследование
Множественное наследование – свойство, поддерживаемое частью объектно-ориентированных языков программирования, когда класс может иметь более одного суперкласса (непосредственного класса-родителя). Эта концепция является расширением «простого (или одиночного) наследования» при котором класс может наследоваться только от одного суперкласса.
В JavaScript множественное наследование не возможно, так как в нем нет как таковых классов (используется прототипное наследование).
Шаблонные функции
Шаблоны (англ. template) — средство языка, предназначенное для кодирования обобщённых алгоритмов, без привязки к некоторым параметрам (например, типам данных, размерам буферов, значениям по умолчанию).
T sum<T>(T a, T b) { return a + b; }
Console.WriteLine(sum<int>(1, 2)); Console.WriteLine(sum<real>(1, 2)); |
На Delphi аналога нет (точнее он есть, но его реализация слишком сложна). |
Обработка исключений
Обработка исключительных ситуаций (англ. exception handling) — механизм языков программирования, предназначенный для описания реакции программы на ошибки времени выполнения и другие возможные проблемы (исключения), которые могут возникнуть при выполнении программы и приводят к невозможности (бессмысленности) дальнейшей отработки программой её базового алгоритма.
Для Object Pascal: 1.Защищенный блок начинается зарезервированным словом try (попытаться [выполнить]) и завершается словом end. Существуют два типа защищенных блоков - except (исключить) и finally (в завершение), отличающихся способом обработки исключения. В блоке except порядок выполнения операторов таков: сначала выполняются операторы секции try... except; если операторы выполнены без возникновения исключительной ситуации, работа защищенного блока на этом прекращается, и управление получает оператор, стоящий за end; если при выполнении части try возникло исключение, управление получает соответствующий обработчик в секции except, а если таковой не найден - первый из операторов, стоящих За словом else. 2.В блоке finally операторы В секции finally. . .end получают управление всегда, независимо от того, возникло ли исключение в секции try.. .finally или нет. Если исключение возникло, все операторы в секции try.. .finally, стоящие за “виновником” исключения, пропускаются, и управление получает первый оператор секции finally... end. Если исключения не было, этот оператор получает управление после выполнения последнего оператора секции try.. .finally.
try { //код с возможной ошибкой } catch (Exception e) { //обработка ошибки … } finally { //код, который выполняется всегда … } |
try операторы except обработчик исключения else операторы end; |
try { //пример: деление на ноль d = 2 / 0; } catch (DivideByZeroException e) { Console.WriteLine(“Деление на ноль!”); } |
try операторы finally операторы end; |
Литература: [3], [4].