logo
ВОПРОСЫ

4. Алгоритм декомпозиции отношения с целью его нормализации.

5. Алгоритмические языки, их виды и классификация. (лекция Маркина)

Алгоритмические языки – набор предписаний, основанный на основе строгих правил обеспечивающий однозначное описание в виде воспринимаемым ЭВМ. Алгоритм записанный в алгоритмическом языке называется исходной программой (кодом на этом языке).

Алгоритмические языки ориентированные на определенный класс ЭВМ – языки низшего уровня (ассемблеры). Алгоритмические языки независящие от конкретной ЭВМ и ориентированные на широкий круг пользователей – языки высшего уровня. Они делятся на 3 группы:

- Проблемно-ориентированная для решения частных задач в области обработки данных. Позволяет снизить планку квалификации исполнителя. ( DBasa, Paradox, Jawa)

- Процедурно-ориентированная. Имеют специализированные средства решения задач определенного класса. ( Кобол, Лисп, Пролог)

- Универсальные языки, которые имеют возможности их использования в большинстве решения большого круга задач. (Паскаль, Ада, Модула, Си, Си++)

6. Алгоритмы, их основные свойства. Способы записи алгоритмов. Программирование «вниз» и «снизу вверх». (лекция Маркина)

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

Основные свойства алгоритмов:

Понятность для исполнителя — т.е. исполнитель алгоритма должен знать, как его выполнять.

Дискpетность (прерывность, раздельность) — т.е. алгоpитм должен пpедставлять пpоцесс pешения задачи как последовательное выполнение пpостых (или pанее опpеделенных) шагов (этапов).

Опpеделенность — т.е. каждое пpавило алгоpитма должно быть четким, однозначным и не оставлять места для пpоизвола. Благодаpя этому свойству выполнение алгоpитма носит механический хаpактеp и не тpебует никаких дополнительных указаний или сведений о pешаемой задаче.

Pезультативность (или конечность). Это свойство состоит в том, что алгоpитм должен пpиводить к pешению задачи за конечное число шагов.

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

Способы записи алгоритмов

Словесный – запись на естественном языке.

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

Графический – изображается из графических символов.(Блок-схема. Описание алгоритма с помощью блок схем осуществляется рисованием последовательности геометрических фигур, каждая из которых подразумевает выполнение определенного действия алгоритма.) Есть символы действия (геометрические фигуры), а их соединения – линии передачи управления. Преимущества: наглядность, возможность модификации. Недостаток: ЭВМ не воспринимает.

Программирование «вниз» и «снизу вверх».

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

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

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

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