Лабораторная работа 1 "Арифметика"

  • ID: 00170 
  • 12 страниц
100 рубСкачать

антиплагиат в подарок

BK32

BK33

BK34

BK35

Отчет.docx

Содержание:


Лабораторная работа №1 «Арифметика»

Задание: Сформировать массив простых чисел, не превышающих заданное. Сущность алгоритма состоит в проверке всех чисел от 2 до val и сохранении их в массиве, если они простые.

Пример работы программы:

Исходный текст программы:

Лабораторная работа №2 «Итерационные процессы и циклы»

Задание: Написать функцию вычисления суммы ряда. для диапазона значений 0.1.. 0.9 и шага 0.1 изменения аргумента вычислить значения суммы ряда и контрольной функции, к которой он сходится, с точностью до 4 знаков после запятой.

Вариант 7

Ряд Функция

n

sin(x) - sin(2x) / 2+..+(-1)sin(nx) / n x / 2

Пример работы программы:

Лабораторная работа №3 «Символы, строки, тексты»

Задание: В строке, содержащей последовательность слов, найти конец предложения, обозначенный символом "точка". В следующем слове первую строчную букву заменить на прописную.

Пример работы программы:

Исходный текст программы:

Лабораторная работа №4 «Сортировка и поиск»

Задание: "Быстрая" сортировка с итерационным циклом вычисления медианы. Для заданного интервала массива, в котором производится разделение, ищется медиана обычным способом. Затем выбирается та часть интервала между границей и медианой, в которой находится середина исходного интервала, и процесс повторяется.

"Быстрая сортировка” является наиболее широко применяемым и одним их самых эффективных алгоритмов.

Общая схема такова:

1. из массива выбирается некоторый опорный элемент a[i]

2. запускается процедура разделения массива, которая перемещает все ключи, меньшие, либо равные a[i], влево от него, а все ключи, большие, либо равные a[i] - вправо

3. теперь массив состоит из двух подмножеств, причем левое меньше, либо равно правого

4. для обоих подмассивов: если в подмассиве более двух элементов, рекурсивно запускаем для него ту же процедуру.

В конце получится полностью отсортированная последовательность. Рассмотрим алгоритм подробнее. На входе массив a[0]...a[N] и опорный элемент p, по которому будет производиться разделение.

1. Введем два указателя: i и j. В начале алгоритма они указывают, соответственно, на левый и правый конец последовательности.

2. Будем двигать указатель i с шагом в 1 элемент по направлению к концу массива, пока не будет найден элемент a[i] >= p.

3. Затем аналогичным образом начнем двигать указатель j от конца массива к началу, пока не будет найден a[j] <= p.

4. Далее, если i <= j, меняем a[i] и a[j] местами и продолжаем двигать i,j по тем же правилам...

5. Повторяем шаг 3, пока i <= j.

Блок-схема алгоритма:

Пример работы программы:

Исходный текст программы: