Алгоритми,їх основні властивості

Автор работы: Пользователь скрыл имя, 15 Сентября 2013 в 21:10, реферат

Краткое описание

Алгоритм – це скінчена послідовність вказівок (команд), виконання яких дозволяє за обмежений час отримати розв’язок задачі.
Сам термін “алгоритм” утворився в результаті перекладу на європейські мови імені арабського математика ІХ століття Аль-Хорезмі, який описав правила (алгоритми) виконання основних арифметичних операцій у десятковій системі числення.

Содержание

Алгоритми,їх основні властивості.
Способи представлення алгоритмів.
Блок-схеми. Приклади створення блок-схем
Поняття про криптографію.
Методи кодування інформації.
Приклади криптографічних задач.
Поняття рекурсії. Рекурсія в синтаксичних правилах.
Задача про Ханойські вежі.

Вложенные файлы: 1 файл

Реферат інформатика.docx

— 157.67 Кб (Скачать файл)

2. Перемістити N-1 диск  на другий (середній) сердечник;

3. Перемістити прямо N-ий  диск з третього сердечника  на перший (лівий);

4. Перемістити N-1 диск  з другого на третій;

5. Перемістити N-ий диск  прямо з першого на третій  сердечник.

 Поділ слів на склади.

 На прикладі розв’язання  цієї задачі продемонструємо  можливості Прологу при обробці  текстової інформації в редакторах.

 Для розв’язання задачі  ділення слів на склади, будемо  використовувати простий алгоритм, який базується на впорядкуванні  голосних і приголосних в слові. 

 Наприклад, розглянемо  дві послідовності:

1) приголосна - голосна - приголосна. В цьому випадку, слово  ділится після першої голосної:

ruler ---> ru-ler

prolog ---> pro-log

2) голосна - приголосна - приголосна. В цьому випадку , слово ділиться між двома приголосними:

number ---> num-ber

panter ---> pan-ter

 Ці два правила добре  застосовуються для більшості  слів, але не працюють для слів  типу handbook и hungry, які не підходять  до жодного правила. 

 Такі слова програма  повинна обробляти спеціальним  чином, наприклад використовувати  бібліотеку таких слів.

ПРАКТИЧНА ЧАСТИНА

Приклад 1:

domains

loc = right;

middle;

left

predicates

hanoi(integer)

move(integer, loc, loc, loc)

inform(loc, loc)

clauses

hanoi(N) :- move(N, left, middle, right).

move(1, A, _, C) :- inform(A, C), !.

move(N, A, B, C) :- N1=N-1,

move(N1, A, C, B),

inform(A, C),

move(N1, B, A, C).

inform(Loc1, Loc2) :-

write("\nMove a disk from ", Loc1, "to", Loc2).

  Приклад 2:

domains

letter = char

word = letter*

predicates

divide(word, word, word, word)

vocal(letter)

consonant(letter)

string_word(string, word)

append(word, word, word)

repeat

goal

clearwindow,

repeat,

write("Write a multi-syllable word: "),

readln(S),

string_word(S, Word),

divide([], Word, Part1, Part2),

string_word(Syllable1, Part1),

string_word(Syllable2, Part2),

write("Division: ",Syllable1,"-",Syllable2),nl,

fail.

clauses

divide(Start, [T1, T2, T3|Rest], D1, [T2, T3|Rest]):- vocal(T1),    consonant(T2), vocal(T3), append(Start, [T1], D1).

divide(Start, [T1, T2, T3, T4|Rest], D1,[T3, T4|Rest]):- vocal(T1), consonant(T2), consonant(T3), vocal(T4), append(Start, [T1, T2], D1).

divide(Start, [T1|Rest], D1, D2):- append(Start, [T1], S), divide(S, Rest, D1, D2).

vocal('a').vocal('e').vocal('i').

vocal('o').vocal('u').vocal('y').

consonant(B):- not(vocal(B)), B <= 'z', 'a' <= B.

string_word("", []):-!.

string_word(Str, [H|T]):- bound(Str), frontchar(Str, H, S), string_word(S, T).

string_word(Str, [H|T]):- free(Str), bound(H), string_word(S,T),

frontchar(Str,H,S).

append([], L, L):-!.

append([X|L1], L2, [X|L3]) :- append(L1, L2, L3).

repeat.

repeat :- repeat.

 

 

 

 

 

 

 

 

Література:

  1. Ахи А., Хопкрофт Д., Ульман Д. Структуры данных и алгоритмы.: Пер. с англ. М.: Издат. дом «Вильямс», 2000.  С. 183–225
  2. Седжвик Р. Фундаментальные алгоритмы на С. Анализ/Структуры данных/Сортировка/Поиск/Алгоритмы на графах: Пер. с англ. СПб.: «ДиаСофтЮП», 2003. С. 673–1000
  3. Зуйкова О.Л. Основи криптографічного захисту інформації. Навчальний посібник
  4. Аліпов Ілля Миколайович. Методи захисту інформації при її передаванні
  5. Браян. В. Керніган і Деніс М. Річі : Мова програмування C
  6. Барвайс Дж. (ред.) - Довідкова книга з математичної логіки. Частина 3. Теорія рекурсії

 


Информация о работе Алгоритми,їх основні властивості