
- •Эвм. Различные виды обеспечения эвм. Аппаратное обеспечение эвм.
- •10) Алфавит и лексемы языка Pascal. Идентификаторы. Нотации идентификаторов.
- •11) Понятие оператора. Операторы описания. Исполняемые операторы.
- •12) Структура программы. Правила оформления программы. Комментарии.
- •13) Константы.
- •14) Переменные. Понятие. Изменение значений. Описание.
- •15) Понятие типа данных. Классификация типов данных.
- •16) Логический, целые и вещественные типы. Понятие. Основные операции и функции.
- •17) Символьный и порядковые типы данных. Понятие. Основные операции и функции.
- •18. Выражения. Приоритеты операций.
- •19. Операторы ввода-вывода. Форматированный вывод.
- •20. Условный оператор. Оператор выбора.
- •21. Циклы. Цикл с параметром. Циклы с пост и предусловием. Операторы циклов
- •Инкрементный цикл с параметром
- •Декрементный цикл с параметром
- •Оператор безусловного перехода goto
- •22. Одномерные массивы. Понятие. Описание. Инициализация. Ввод-вывод. Понятие структуры
- •Массив – однородная совокупность элементов
- •Индекс массива
- •Вычисление индекса массива Паскаля
- •Основные действия с массивами Паскаля
- •Ввод массива Паскаля
- •Вывод массива Паскаля
- •22. Одномерные массивы. Понятие. Описание. Инициализация. Ввод-вывод. Массивы
- •Описание массива
- •Нумерация
- •Описание переменных размерностей
- •Обращение к компонентам массива
- •Задание массива константой
- •23. Сортировка массивов простым выбором и «пузырек».
- •24. Многомерные массивы. Понятие. Описание. Инициализация. Ввод-вывод. Двумерные массивы Паскаля – матрицы
- •Описание двумерного массива Паскаля.
- •Основные действия с двумерными массивами Паскаля
- •Ввод двумерного массива Паскаля.
- •Вывод двумерного массива Паскаля на экран.
- •Представление двумерного массива Паскаля в памяти
- •Сколько памяти выделяется для массива?
- •25. Строки. Типы строк. Описание. Операции, процедуры и функции обработки строк.
- •Описание строк
- •Стандартные функции и процедуры обработки строк
- •26. Записи. Описание. Обработка записей. Записи с вариативной частью. Записи
- •Описание записей
- •Задание записей константой
- •Доступ к полям
- •Оперирование несколькими полями
- •Вложенные операторы with
- •Запись с вариантной частью
- •Описание записи с вариантной частью
- •27. Множества. Описание. Операции, процедуры и функции обработки множеств. Множества
- •Описание множеств
- •Множество-константа Неименованная константа
- •Нетипизированная константа
- •Типизированная константа
- •Представление множеств массивами
- •Представление множеств линейными массивами
- •28. Текстовые файлы. Доступ к данным в текстовых файлах. Работа с текстовыми файлами. Описание файлов
- •Пробельные символы
- •Работа с текстовыми файлами
- •29. Бестиповые файлы. Доступ к данным в бестиповых файлах. Работа с бестиповыми файлами. Процедуры и функции обработки бестиповых файлов.
- •Поиск в нетипизированном файле
- •Запись и чтение
- •Подпрограммы обработки директорий
- •30. Компонентные файлы файлы. Доступ к данным в компонентных файлах. Работа с компонентными файлами. Процедуры и функции обработки компонентными файлов. Типизированные файлы
- •Описание типизированных файлов
- •Назначение типизированного файла
- •Открытие и закрытие типизированного файла
- •Считывание из типизированного файла
- •Поиск в типизированном файле
- •Запись в типизированный файл
- •31. Подпрограмма. Понятие. Виды. Синтаксис. Вызов подпрограмм. Локальные и глобальные переменные. Подпрограммы
- •Вызов подпрограмм
- •Побочный эффект
- •Совпадение имен
- •32. Подпрограммы. Виды параметров. Обмен данными между подпрограммами и основной программой. Список параметров
- •Возвращаемые значения
- •Способы подстановки аргументов
- •Параметр-значение Описание
- •Механизм передачи значения
- •Параметр-переменная Описание
- •Механизм передачи значения
- •Параметр-константа Описание
- •Механизм передачи значения
- •Нетипизированные параметры
- •Явное преобразование типа
- •Совмещение в памяти
- •Открытые массивы
- •33. Модули. Синтаксис. Создание и использование модуля.
- •Подключение модулей
- •Секция реализации
- •Секция инициализации
- •Взаимодействие модулей
- •Компиляция модулей
- •34. Стандартные модули языка Pascal. Стандартные модули языка Pascal
- •35. Указатели. Виды указателей. Операции и функции обработки указателей. Статически выделяемая память
- •Разыменование
- •Присваивания
- •Сравнения
- •36. Динамические переменные. Процедуры и функции работы с динамическими переменными. Работа с динамическими переменными. Динамическое выделение памяти Типизированные указатели
- •Нетипизированные указатели
- •Динамическое освобождение памяти Типизированные указатели
- •Нетипизированные указатели
- •Процедуры работы с динамической памятью
- •37. Стек. Добавление и выборка элемента из стека. Стеки Pascal-Паскаль
- •Занесение элемента в стек
- •Извлечение элемента из стека
Эвм. Различные виды обеспечения эвм. Аппаратное обеспечение эвм.
Компьютер – устройство общего назначения, которое может быть запрограммировано, чтобы выполнить конечную, строго определенную последовательно арифметических или логических операций.
ЭВМ – комплекс технических средств, предназначенный для автоматической обработки информации в процессе решения вычислительных и информационных задач.
Виды обеспечения ЭВМ:
Программное-все или часть программ, процедур, правил и соответствующей документации системы обработки информации
Математические-Комплекс программ,описаний и инструкций ,обеспечивающий автоматическое функционирование эвм
Лингвистическое-язык общения человек с эвм
Организационное-Включают в себя положения,инструкции,приказы,штатное расписание
Эргономическое-Совокупность штатов и средств ,создающих благоприятные условия на рабочем месте пользователя эвм
Информационное-Основу составляют данные
Аппаратное обеспечение – электронные и механические части вычислительного устройства, входящие в состав системы или сети. [CPU; оперативная память (memory), устр-ва хранения информации (storage devices); устройства ввода (input devices); устройства вывода (output devices); устройства связи (communication devices)].
2. Взаимодействие пользователя с ЭВМ. Программа. Прикладное и системное ПО.
програ́мма — последовательность инструкций, предназначенная для исполнения устройством управления вычислительной машины. Программа — один из компонентов программного обеспечения
Прикладное ПО - программное обеспечение, состоящее из отдельных прикладных программ и пакетов прикладных программ, предназначенных для решения различных задач пользователей и созданных на их основе автоматизированных систем.
Системное программное обеспечение означает программы и комплексы программ, предназначенных для использования технических средств компьютера, и применяемых как для автоматизации разработки (создания) новых программ, так и для организации выполнения программ существующих. С этих позиций системное программное обеспечение может быть разделено на следующие пять групп:
Операционные системы.
Системы управления файлами.
Интерфейсные оболочки для взаимодействия пользователя с ОС.
Системы программирования.
Утилиты.
Прикладное ПО: ПО общего назначения
Текстовые редакторы
Графические редакторы
Табличные редакторы
…
ПО специального назначения
Экспертные системы
Мультимедиа приложения
Гипертекстовые системы (энциклопедии, справочные системы)
Профессиональное ПО
САПР
АСУ ТП
ГИС
Биллинговые системы
CRM
ERP
BI
3). Данные. Знания. Информация. Аспекты рассмотрения информации.
Данные – это представление фактов и идей в формализованном виде, пригодном для передачи и обработки в некотором информационном процессе.
Знания – это закономерности предметной области (принципы, связи, законы), полученные в результате практической деятельности и профессионального опыта, позволяющие специалистам ставить и решать задачи в этой области.
Информация- совокупность данных о каком-либо объекте, событии, процессе или явлении, передаваемые прямо или косвенно от источника к потребителю, в результате чего снимается или уменьшается неопределенность сложившейся ситуации.
Информация проясняет ситуацию, т.е. в определенной степени снимает неопределенность (энтропию).
Аспекты рассмотрения информации:
Синтаксический - связан со способом представления информации.
Семантический - передает смысловое содержание информации.
Прагматический - отражает потребительские свойства информации
4) 4. Язык программирования. Понятие. История развития. Области применения.
Язык программирования - формальная знаковая система, предназначенная для записи компьютерных программ.
Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.
Существует более двух с половиной тысяч ЯП
История языков программирования:
Планкалкюль (нем. Plankalkül), - первый в мире высокоуровневый язык программирования, созданный немецким инженером Конрадом Цузе в 1945 году для программирования компьютера Z4.
Планкалкюль поддерживал операции назначения, вызов подпрограмм, условные операторы, итерационные циклы, арифметику с плавающей запятой, массивы, иерархические структуры данных, утверждения, обработку исключений и др.
Области применения ЯП:
научные вычисления (языки C++, FORTRAN, Java);
системное программирование (языки C++, Java);
обработка информации (языки C++, COBOL, Java);
искусственный интеллект (LISP, Prolog);
издательская деятельность (Postscript, TeX);
удаленная обработка информации (Perl, PHP, Java, C++);
описание документов (HTML, XML);
5. Машинный код. Язык программирования низкого уровня.
Машинный код, машинный язык — система команд (инструкций) конкретной вычислительной машины, которая интерпретируется непосредственно процессором или микропрограммами этой ЭВМ.
Язык программирования низкого уровня - язык программирования, близкий к программированию непосредственно в машинных кодах используемого реального или виртуального (например, Java, Microsoft .NET) процессора.
Для обозначения машинных команд обычно применяется мнемоническое обозначение. Это позволяет запоминать команды не в виде последовательности двоичных нулей и единиц, а в виде осмысленных сокращений слов естественного языка.
Язык ассемблера - язык программирования низкого уровня, мнемонические команды которого (за редким исключением) соответствуют инструкциям процессора вычислительной системы.
Трансляция программы в исполняемый машинный код производится программой-транслятором. Позволяет использовать символические метки вместо адресов ячеек памяти, а также директивы (команды, не переводящиеся в процессорные инструкции, а выполняемые самим ассемблером).
6. Язык программирования высокого и сверхвысокого уровня.
ЯП высокого уровня - язык программирования, разработанный для быстроты и удобства использования программистом. Основная черта высокоуровневых языков - это абстракция, то есть введение смысловых конструкций, кратко описывающих такие структуры данных и операции над ними, описания которых на ЯП низкого уровня очень длинны и сложны для понимания.
В1954 году был создан первый язык высокого уровня - Фортран (англ. FORTRAN - FORmula TRANslator).
Языки высокого уровня имитируют естественные языки, используя некоторые слова разговорного языка и общепринятые математические символы
Язык программирования сверхвысокого уровня, (VHLL -very high-level programming language) - язык программирования с очень высоким уровнем абстракции. В отличие от языков программирования высокого уровня, где описывается принцип «как нужно сделать», в сверхвысокоуровневых языках программирования описывается лишь принцип «что нужно сделать».
7) 7. Парадигмы программирования. Структурная, логическая, функциональная и агентно-ориентированная парадигмы.
Парадигма программирования - это способ концептуализации, определяющий организацию вычислений и структурирование работы, выполняемой компьютером.
Это система идей и понятий, определяющих стиль написания компьютерных программ, а также образ мышления
1.Структурное программирование предполагает точно обозначенные управляющие структуры, программные блоки, отсутствие инструкций безусловного перехода (GOTO), автономные подпрограммы, поддержку рекурсии и локальных переменных.
Суть такого подхода заключается в возможности разбиения программы на составляющие элементы.
2. Логическое
Функциональное
Параллельно со структурным, на математической основе создавались функциональные языки - на базе λ-исчислений, и логические языки – на базе логики предикатов.
3.Агентно-ориентированный подход к программированию - парадигма программирования, в которой основными концепциями являются понятия агента и его поведения, которое зависит от среды, в которой он находится.
Взаимодействие между агентами осуществляется не через сообщения, как в ООП, а посредством изменения среды, в которой они находятся.
# распределенная объектная среда JADE (основана на Java RMI)
8)8. Парадигмы программирования. Объектно-ориентированное программирование.
Парадигма программирования - это способ концептуализации, определяющий организацию вычислений и структурирование работы, выполняемой компьютером.
Объектно-ориентированное
Инкапсуляция – это свойство системы, позволяющее объединить данные и методы, работающие с ними, в классе и скрыть детали реализации от пользователя.
Наследование – это свойство системы, позволяющее описать новый класс на основе уже существующего с частично или полностью заимствующейся функциональностью.
Полиморфизм – это свойство системы использовать объекты с одинаковым интерфейсом без информации о типе и внутренней структуре объекта.
Симула (1967), Smalltalk (70-е), С++, Java, C#
9) 9. Синтаксис ЯП. БНФ. Классификация грамматик.
Язык программирования - формальная знаковая система, предназначенная для записи компьютерных программ.
Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.
Синтаксис — сторона языка программирования, которая описывает структуру программ как наборов символов (обычно говорят — безотносительно к содержанию). Синтаксису языка противопоставляется его семантика
Форма Бэкуса—Наура (сокр. БНФ, Бэкуса—Наура форма) — формальная система описания синтаксиса, в которой одни синтаксические категории последовательно определяются через другие категории. БНФ используется для описания контекстно-свободных формальных грамматик.
Классификация грамматик
Порождающая грамматика генерирует множество цепочек терминальных символов из начального символа;
Распознающая грамматика используется для построения по цепочке символов дерева грамматического разбора, ведущего к начальному символу.
регулярные грамматики, используемые для построения лексических анализаторов;
КС-грамматики, используемые для построения дерева грамматического разбора. (# НБФ-грамматики);
контекстно-зависимые грамматики - набор правил типа x->y, в которых х - это любая цепочка нетерминальных символов, а y – цепочкой терминальных и нетерминальных символов;
грамматики с фразовой структурой, реализуемые набором правил типа x->y, в которых х - это любая цепочка нетерминальных символов, а y – цепочкой терминальных и нетерминальных символов (без ограничения длины).