Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗАЧЁТ ПО ИНФЕ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
774.66 Кб
Скачать
  1. Простая обменная сортировка одномерного массива (метод пузырька).

Идея этого метода отражена в названии. Самые легкие элементы массива “всплывают” наверх, самые “тяжелые” – тонут.

Пример: дана D – последовательность из 5 (N=5) чисел, которую и будем сортировать по убыванию.

D: 10 3 -1 4 15

d1 d2 d3 d4 d5

1) Задаем k=1 (должен "всплыть" первый "пузырек").

1.1. Задаем i=1; проверяем условие i N-k, т.е. 15-1? – да, значит, будем сравнивать di и di+1, т.е. d1 и d2: 10<3? – нет, поэтому d1 и d2 местами не меняем.

D: 10 3 -1 4 15

d1 d2 d3 d4 d5

1.2. Задаем i=2; проверяем условие 25-1? – да, значит, будем сравнивать d2 и d3: 3<-1? – нет, поэтому d2 и d3 местами не меняем.

D: 10 3 -1 4 15

d1 d2 d3 d4 d5

1.3. Задаем i=3; проверяем условие 35-1? – да, значит, будем сравнивать d3 и d4: -1<4? – да, поэтому d3 и d4 меняем местами.

D: 10 3 4 -1 15

d1 d2 d3 d4 d5

1.4. Задаем i=4; проверяем условие 45-1? – да, значит, будем сравнивать d4 и d5: -1<15? – да, поэтому d4 и d5 меняем местами.

D: 10 3 4 15 -1

d1 d2 d3 d4 d5

1.5. Задаем i=5; проверяем условие 55-1? – нет, значит, мы закончили проверять неотсортированную часть. Действительно, самое маленькое число (-1) встало на последнее место, т.е. первый "пузырек" "всплыл".

2) Задаем k=2 (должен "всплыть" второй "пузырек").

2.1. Задаем i=1; проверяем условие i N-k, т.е. 15-2? – да, значит, будем сравнивать di и di+1, т.е. d1 и d2: 10<3? – нет, поэтому d1 и d2 местами не меняем.

D: 10 3 4 15 -1

d1 d2 d3 d4 d5

2.2. Задаем i=2; проверяем условие 25-2? – да, значит, будем сравнивать d2 и d3: 3<4? – да, поэтому d2 и d3 меняем местами.

D: 10 4 3 15 -1

d1 d2 d3 d4 d5

2.3. Задаем i=3; проверяем условие 35-2? – да, значит, будем сравнивать d3 и d4: 3<15? – да, поэтому d3 и d4 меняем местами.

D: 10 4 15 3 -1

d1 d2 d3 d4 d5 и т.д

  1. Метод сортировки одномерного массива Шелла.

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

  1. Понятие программирования, языка программирования, алфавит, синтаксис, семантика языка.

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

Программа - это последовательность команд, понятных компьютеру.

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

Языки программирования - языки для записи программ для компьютеров. Это совокупность средств и правил представления алгоритма в виде, приемлемом для компьютера.

Виды языков программирования:

1. Машинно-ориентированные языки (языки ассемблера).

2. Языки высокого уровня.

3. Командные языки баз данных.

Примеры языков программирования высокого уровня: Фортран, Алгол, Бейсик (Basic), Паскаль (Pascal), Си++, Пролог, Лисп, Форт и др.

Алфавит - символы для записи конструкций языка программирования (из каких знаков составляются конструкции языка). Алфавит языка состоит из букв, цифр и лексем.

Лексема - это наименьшая единица языка имеющая самостоятельный смысл. К лексемам относятся:

  • спецсимволы (==, !=, ++, =, >, < и т.д.);

  • ключевые слова (main, switch, if, while и т.д.).

синтаксис -- правила построения сообщений в этой системе, семантику -- правила истолкования сообщений тем, кому они адресованы,