Языки и технологии программирования



Введение
1. Постановка задание
2. Описание использованного метода
3. Разработка алгоритма
4. Описание программы (Турбо Паскаль)
4.1 Общие сведения
4.2 Функциональное назначение
4.3 Описание логической структуры
4.4 Используемые технические средства
4.5 Вызов и загрузка
4.6 Инструкция пользователя
5. Описание программы (Турбо Си)
5.1 Общие сведения
5.2 Функциональное назначение
5.3 Описание логической структуры
5.4 Используемые технические средства
5.5 Вызов и загрузка
5.6 Инструкция пользователя
Заключение
Список литературы

Приложение 1 (Листинг программы на языке Паскаль)
Приложение 2 (Листинг программы на языке Си)
Расстановка четырех букв это очень интересное задание. Оно интересно тем, что необходимо продумать такой правильный алгоритм, чтобы число встречалось только один раз. Если разобраться, то это кажется не так уж и трудно, хотя с другой стороны трудности тоже возникают.
1. Фаронов В. В.
Turbo Pascal 7.0 – Москва, издат. «Нолидж», 2000.

2. Turbo Pascal – Интернет-руководство.

3. Чинер Р. Язык Турбо Си. «Мир», 1991.

Дисциплина: Информатика, Программирование, Базы данных
Тип работы:  Реферат
Бесплатно:  Антиплагиат
Объем: 13 страниц
В избранное:   
МИНИСТЕРСТВО НАУКИ И ОБРАЗОВАНИЯ РЕСПУБЛИКИ КАЗАХСТАН

Казахский национальный технический университет им. К.И.Сатпаева

Институт информатики и информационных технологий

Кафедра технической кибернетики

Курсовая работа по дисциплине

“Языки и технологии программирования”

Проверил: преподаватель

________________________

“___” ____________ 20__ г.

Выполнил: ст. гр._________

____________________________

“___” ____________ 20__ г.

Алматы, 20__ г.
Содержание

Введение
1. Постановка задание
2. Описание использованного метода
3. Разработка алгоритма
4. Описание программы (Турбо Паскаль)
4.1 Общие сведения
4.2 Функциональное назначение
4.3 Описание логической структуры
4.4 Используемые технические средства
4.5 Вызов и загрузка
4.6 Инструкция пользователя
5. Описание программы (Турбо Си)
5.1 Общие сведения
5.2 Функциональное назначение
5.3 Описание логической структуры
5.4 Используемые технические средства
5.5 Вызов и загрузка
5.6 Инструкция пользователя
Заключение
Список литературы

Приложение 1 (Листинг программы на языке Паскаль)
Приложение 2 (Листинг программы на языке Си)

Введение
Расстановка четырех букв это очень интересное задание. Оно интересно
тем, что необходимо продумать такой правильный алгоритм, чтобы число
встречалось только один раз. Если разобраться, то это кажется не так уж и
трудно, хотя с другой стороны трудности тоже возникают.

A B C D
B C D A
C D A B
D A B C

Из этого рисунка видно, что числа своеобразно повторяются по
диагонали, с помощью такой расстановки и была решена данная задача.
1. Постановка задачи

Вариант 18.

“Расстановка 16 букв”. В квадрате размером 4x4 клетки расставить 16
букв (четыре A, четыре B, четыре C, четыре D) так, чтобы в каждом
горизонтальном и в каждом вертикальном ряду любая буква встречалась только
один раз.
2. Описание использованного метода

Последовательный поиск

Имеется таблица записей R1,R2,..., RN снабженных соответственно
ключами К1, К2,..., КN. Алгоритм предназначен для поиска записи с данным
ключом К. Предполагается, что N = 1.

S1. [Начальная установка.] Установить i ( 1
S2. [Сравнение.] Если К = Кi, алгоритм оканчивается удачно.
S3. [Продолжение.] Увеличить i на 1.
S4. [Конец файла?] Если i = N, то вернуться к шагу S2.
В противном случае алгоритм оканчивается неудачно.

Заметим, что у этого алгоритма может быть два разных исхода: удачный (когда
найдено положение нужного ключа) и неудачный (когда установлено, что
искомого аргумента нет в таблице). Это справедливо для большинства
алгоритмов данного описания.

Метод перебора

Метод перебора или равномерного поиска является простейшим из прямых
методов минимизации и состоит в следующем.
Разобьем отрезок [a,b] на n равных частей точками деления:
xi=a+i(b-a)n, i=0,...n
Вычислив значения F(x) в точках xi, путем сравнения найдем точку xm,
где m - это число от 0 до n, такую, что
F(xm) = min F(xi) для всех i от 0 до n.
Погрешность определения точки минимума xm функции F(x) методом
перебора не превосходит величены Eps=(b-a)n. 

Алгоритмы сортировки

Проблема упорядочивания данных с практической точки зрения:
Достоинства и недостатки четырех различных методов сортировки.

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

Практически каждый алгоритм сортировки можно разбить на три части:

- сравнение, определяющее упорядоченность пары
элементов;

- перестановку, меняющую местами пару элементов;

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

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

Метод пузырька.

( метод назван также обменной сортировкой с выбором) .

Идея этого метода отражена в его названии. Самые легкие элементы
массива "всплывают" наверх, самые "тяжелые" - тонут. Алгоритмически это
можно реализовать следующим образом. Мы будем просматривать весь массив
"снизу вверх" и менять стоящие рядом элементы в там случае, если "нижний"
элемент меньше, чем "верхний".
Таким образом, мы вытолкнем наверх самый "легкий” элемент всего
массива. Теперь повторим всю оперно для оставшихся неотсортироваными N-1
элементов (т.е. для тех, которые лежат "ниже" первого. Как видно, алгоритм
достаточно прост, но, как иногда замечают, он является непревзойденным в
своей неэффективности. Немного более эффективным, но таким наглядным
является второй метод.

 
Сортировка выбором

На этот раз при просмотре мaccива мы будем искать наименьший элемент,
Сравнивая его с первым. Если такой элемент найден, поменяем его местами с
первым. Затем повторим эту операцию, но начнем не с первого элемента, а со
второго. И будем продолжать подобным образом, пока
не рассортируем весь массив.

Метод Шелла

Этот метод был предложен автором Donald Lewis Shеll в 1959 г. Основная
идея этого алгоритма заключается в том, чтобы в начале ycтpанить массовый
беспорядок в массиве, сравнивая далеко стоящие друг от друга элементы. Как
видно, интервал между сравниваемыми элементами (gap) постепенно уменьшается
до единицы. Это означает, что на поздних стадиях сортировка сводится просто
к перестановкам соседних элементов (если, конечно, такие
перестановки являются необходимыми).

Метод Хoopа

Этот метод, называемый также быстрой сортировкой(QuickSort), был
Разработан в 1962 г. (его разработал Charles Antony Richard Hoare).

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

Алгоритм Кнута - Морриса - Пратта

 Алгоритм Кнута-Морриса-Пратта (КМП) получает на  вход слово

X=x[1]x[2]... x[n]

и просматривает его слева направо буква за буквой, заполняя при этом массив
натуральных чисел l[1]... l[n], где l[i]=длина слова l(x[1]...х[i])
(функция l определена в предыдущем пункте). Словами: l[i] есть длина
наибольшего начала слова x[1]...x[i], одновременно являющегося его концом.
Какое отношение все это имеет к поиску подслова?
Другими словами, как использовать алгоритм КМП для определения того,
является ли слово A подсловом слова B? 
Решение. Применим алгоритм КМП к слову A#B, где # - специальная буква, не
встречающаяся ни в A, ни в B. Слово A является подсловом слова B тогда и
только тогда, когда среди чисел в массиве l будет число, равное длине слова
A.
Описать алгоритм заполнения таблицы l[1]...l[n].

Решение. Предположим, что первые i значений l[1]...l[i] уже найдены. Мы
читаем очередную букву слова (т.е. x[i+1]) и должны вычислить l[i+1].
Другими словами, нас интересуют начала Z слова x[1]...x[i+1, одновременно
являющиеся его концами -из них нам надо брать самое длинное. Откуда берутся
эти начала? Каждое из них (не считая пустого) получается из некоторого
слова Z' приписыванием буквы x[i+1] . Слово Z' является началом и
концом слова x[1]...x[i]. Однако не любое слово, являющееся началом и
концом слова x[1]...x[i], годится - надо, чтобы за ним следовала буква
x[i+1].
Получаем такой рецепт отыскания слова Z. Рассмотрим все начала слова
x[1]...x[i], являющиеся одновременно его концами. Из них выберем подходящие
- те, за которыми идет буква x[i+1]. Из подходящих выберем самое длинное.
Приписав в его конец х[i+1], получим искомое слово Z. Теперь пора
воспользоваться сделанными нами приготовлениями и вспомнить, что все слова,
являющиеся одновременно началами и концами данного слова, можно
получить повторными применениями к нему функции l из предыдущего раздела.
Вот что получается:       i:=1; 1[1]:=0; {таблица l[1]..l[i] заполнена
правильно}

while i n do begin
len:= l[i] {len - длина начала слова x[1]..x[i], которое является его
концом; все более длинные начала оказались неподходящими}

while (x[len+1]х[i+1]) and (len0) do begin {начало не подходит,
применяем к нему функцию l}
len:=l[len];
end;

{нашли подходящее или убедились в отсутствии}
if x[len+1]=x[i+1] do begin {х[1]..x[len] - самое длинное подходящее
начало}
l[i+1]:=len+1;
end else begin

{подходящих нет}
l[i+1]:= 0;
end;
i:=i+1;
end;

       Доказать, что число действий в приведенном только что алгоритме не
превосходит Cn для некоторой константы C.
Решение. Это не вполне очевидно: обработка каждой очередной буквы может
потребовать многих итераций во внутреннем цикле. ... продолжение

Вы можете абсолютно на бесплатной основе полностью просмотреть эту работу через наше приложение.
Похожие работы
Сущность объектно-ориентированного подхода к программированию
Коровы и быки (Turbo Pascal)
Мультимодельные СУБД
Создание автоматизированной информационной системы для организации выдачи кредита банка
Понятие структурного программирования
Технология Macromedia Flash
Принципы работы ОСИ и основные нормативные документы
ТЕОРЕТИЧЕСКИЕ ОСНОВЫ КОМПЬЮТЕРИЗАЦИИ УЧЕБНОГО ПРОЦЕССА
Macromedia Flash Технология
Программируемые логические контроллеры OMRON CP1L
Дисциплины