- •1. Структурная схема микропроцессора (на примере i8086). Назначение регистров.
- •3. Организация основной памяти.
- •3. Структура и характеристики оперативной памяти
- •4. Модель osi
- •5. Стек протоколов tcp/ip
- •6. Классификация компьютерных сетей
- •7. Данные и модели данных
- •8. Модель данных «сущность-связь»
- •Ограничения целостности
- •9. Реляционная модель данных
- •10. Основные направления исследования в области ии
- •11. Метод резолюции в лппп.
- •12. Продукционная модель
- •13. Основные парадигмы языков программирования.
- •14. Основные понятия ооп: инкапсуляция, наследование, полиморфизм
- •1. Инкапсуляция
- •2. Полиморфизм
- •3. Наследование
- •15. Понятие алгоритма.
- •16. Понятие о временной и емкостной сложности алгоритма
- •17. Машина Тьюринга: детерминированная и недетерминированная
- •18. Понятие формального языка и формальной грамматики
- •19. Основные понятия теории графов.
- •20. Понятие количества информации и энтропии. Теорема Шеннона.
- •21. Деревья в теории графов.
- •22. Модели линейного программирования (постановка задачи, математическая модель, решение графическим методом).
- •23. Двойственность в задачах линейного программирования.
- •25. Элементы теории игр.
- •2. Подпрограммы. Процедуры и функции
- •3. Массивы
- •4. Записи
- •5. Работа с Динамическими данными
- •6. Динамические структуры данных. Линейные списки.
- •7. Динамические структуры данных: двоичные деревья
- •8. Работа с файлами
- •9.Операции целочисленной арифметики
- •10. Системы счисления. Перевод чисел из одной системы счисления в другую
- •11. Язык sql. Назначение и основные команды.
- •Манипулирование данными
- •Простые запросы
- •12. Алгоритмы внутренней сортировки.
- •13. Алгоритмы внешней сортировки
- •14. Нахождение кратчайших путей в графе
- •15. Поиск в ширину
- •16. Поиск остова и минимального остова.
- •17. Линейная модель работы информационно-поисковой системы.
- •18. Хеширование
- •Основные достоинства в-дерева
- •20. Логические вопросно-ответные системы:выполнение запросов различных типов.
- •21. Поиск в семантической сети.
- •22. Принципы динамического программирования. Иллюстрация на примере.
- •23. Адресация в Интернете
- •Доменные имена
- •Общий вид формата url-адреса
- •Как работает dns-сервер
- •24. Основные сервисы в сети Интернет.
- •Word Wide Web (www) - "Всемирная паутина"
- •Поиск информации в сети
- •VoIp сервис
- •Мессенджеры
- •25. Использование html. Структура Web(html) страницы.
2. Подпрограммы. Процедуры и функции
В практике программирования часто возникают ситуации, когда одну и ту же группу операторов, реализующих определенную цель, требуется повторить без изменений в нескольких местах программы. Для избавления от столь нерациональной траты времени была предложена концепция подпрограммы.
Подпрограмма – это именованная, логически законченная группа операторов языка, которую можно вызвать для выполнения любое количество раз из различных мест программы. В языке Паскаль существуют два вида подпрограмм: процедуры и функции.
Главное отличие процедур от функций заключается в том, что результатом последних является одно единственное значение.
Каждая новая процедура или функция должна быть предварительно описана в разделе описания процедур и функций.
Для использования ПРОЦЕДУРЫ необходимо написать оператор вызова. Описание процедуры состоит из заголовка процедуры и тела процедуры: procedure <имя> (<список параметров процедуры >);
Параметры представляют собой идентификаторы переменных и служат для обмена значениями между подпрограммой и вызывающей ее программной единицей. Имя процедуры, в отличие от функции, уже не является носителем результата, поэтому тип процедуры : заголовке не описывается. Описание процедуры, как и описание функции, находится в разделе описаний основной программы или подпрограммы.
Для того чтобы вызвать процедуру и выполнить операции, содержащиеся в ее описании, следует разместить в соответствующем месте программы имя процедуры со списком фактических параметров.
Например: procedure a17 (a: real, b, c: real, var x1, x2: real; var k: intger);
Сначала в ней идут описания, а затем после зарезервированного слова begin – исполняемые операторы. Завершается подпрограмма-процедура зарезервированным словом end, за которым следует точка с запятой.
Program abc;
Var r, r1, r2: real;
Procedure f1 (x: real; var y: real; var c: real);
Begin
Y := sin(x)/cos(x); C := ln(x)/ln(10);
End;
Begin
Read(r);
F1(r, r1, r2);
Write (r1, r2);
End.
Описание ФУНКЦИИ состоит из заголовка функции и тела. Заголовок содержит служебное слово function, имя функции, список формальных параметров с указанием их типа и возвращаемого результата: function <имя> (<список формальных параметров>): <тип>.
<тип> - описывает тип значения, носителем которого является идентификатор (имя) функции.
Внутренняя структура подпрограммы-функции аналогична структуре программы, т.е. сначала в ней идут описания, а затем после зарезервированного слова begin – исполняемые операторы. Завершается подпрограмма-функция зарезервированным словом end, за которым следует точка с запятой.
В разделе описаний подпрограммы-функции могут содержаться описания других подпрограмм. Таких описаний может быть несколько. В теле подпрограммы-функции должен присутствовать оператор присваивания, в левой части которого указано имя функции, а в правой находится выражение.
Обращение к подпрограмме-функции производится просто путем указания ее имени в составе какого-либо выражения. Это может быть арифметическое выражение, если функция арифметическая. Имя функции в вызывающей программе может появиться только в правой части оператора присваивания.
Program abc;
Var x, y: real;
{определяем функцию tan, которая возвращает значения тангенса (tg)}
Function tan (c: real): real;
Begin
Tan := sin(c)/cos(c);
End;
Begin
Read(x, y);
{вычисляются значения tg(x) и tg(y) путем обращения к функции tan}
Writeln(‘tg(‘ , x:1:3 ‘) = ’, tan(x):1:4);
Writeln(‘tg(‘ , y:1:3 ‘) = ’, tan(y):1:4);
End.
При использовании процедур и функций переменные объявляются несколько раз в основной программе и в подпрограммах.
Переменные и типы, определенные в основной до объявления процедур и функций, называются глобальными – они доступны всем функциям и процедурам. Переменные, определенные в какой-либо подпрограмме или основной программе после раздела описаний процедур и функций, называются локальными.