Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika (1).doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
107.52 Кб
Скачать

4)Понятие алгоритма, рекурсивные функции.

Алгоритм: определенная последовательность логических действий для решения поставленной задачи.

Формализованное понятие алгоритма: Средство описания сложных процессов.

Интуитивное понятие алгоритма: Правило, записанное на некором языке, определяющее последовательность образования допустимых исходных результатов.

Рекурсивная функция: функция, которая вызывает саму себя. Пример: факториал.

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

Примитивно рекурсивные функции: рекурсивные функции, построенные без применения операторов минимализации.

Оператор минимизации: оператор построения по первому нулю (µ). Оператор минимизации по заданной функции n+1 аргумента строит функцию n аргументов. f::= µ[f1;(x)]

Алгоритм, сопутствующий рекурсивной функции: Значение получаемой новой функции f для нулевого значения главного дополнительного аргумента (x), считать значением функции f1 (первое условие), а для каждого последующего значения главного дополнительного аргумента считать значением функции f2 при предыдущем значении главного доп. аргумента и при значениях вспомогательного доп. аргумента равного значению этой новой функции f, на предыдущем шаге.

5)Понятия алгоритма, системы текстовых замен.

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

СТЗ: система замен букв в слове или словосочетании

На входе - слова, на выходе - слова.

Пара (V,W)єV* называется заменой над V, когда V→W

Конечное множество замен R будем называть системой текстовых замен (СТЗ) над V.

Замена s->t называется применением правила V->W, если имеются слова такие a,v,w,zєV*, что справедливо соотношение s=a◦v◦z t=a◦w◦z. Пусть s=БАНАН => a=БА, v=Н z=АН. Пусть w=РАБ заменяем v->w

Тогда будет t=БАРАБАН.

Слово S называется терминалом множества V, если не существует слова tєV*, такого, что справедливая замена s→t будет являеться результатом применения одного из правил из СТЗ R.

Алгоритм Маркова: Алгоритм преобразования над строками путём замены символов, описанных в правиле алгоритма (НЕ УВЕРЕНЫ, ЛУЧШЕ ПЕРЕПРОВЕРЬТЕ)

6)Способы описания языков программирования: бнф-нотации, синтаксические диаграммы.

Для описания языков программирования используется Бэкуса-Наурова форма (БНФ-нотация) и синтаксические диаграммы.

БНФ-нотация: мета-синтаксический язык, который широко используется для описания других формальных языков и в частности языков программирования. Не весь синтаксис можно описать. Существуют т.н. контекстно-зависимые условия, которые описываются доп.средствами с помощью специальных предикатов.

Пример: <десятичное число>::=0|[[{-} <p-цифра> {<цифра>}*] {.{<цифра>}*<p-цифра>}]

здесь <p-цифра>::= 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <> - вспомогательный символ

::= - метасимвол "по определению есть"

| - или {} - необязательно, но может быть

Предикат: любое математическое высказывание, в котором есть, по меньшей мере, одна переменная.

Метасинтаксические языки и метасемантические описывают синтаксис и семантику.

Синтаксическая диаграмма: графическое представление синтаксиса языка программирования.

7)Классификация языков программирования, элементы языка программирования С/++: алфавит, слова, константы.

Классификация языков программирования

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

Машинно-ориентированные: языки низкого уровня. Используют в своих конструкциях особенности архитектуры конкретного процессора и потому могут быть выполнены только на данном классе процессоров. Пример: Ассемблер.

Машинно-независимые: не зависят от архитектуры процессора и программы на таких язках могут быть выполнены на любой вычислительной машине, но при условии, если в её програмн. обеспечение входит в спец.программа - транслятор, осуществляющая перевод программы с машин.-независимого на машинный. Пример: C/C++ Pascal

Синтаксис: правила образования выражений

Семантика: приписывание этим выражениям определённого смысла

Алфавит языка – набор символов, которые разрешено использовать.

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

Константа в программировании — способ адресования данных, изменение которых рассматриваемой программой не предполагается или запрещается.

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