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

  • ID: 00170 
  • 12 страниц
x

Часть текста скрыта. После покупки Вы получаете полную версию

Содержание:


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

Лабораторная работа №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.

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

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

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


Список файлов
BK32
BK32.CPP2 КБ
BK32.docx24 КБ
BK33
BK33.CPP1 КБ
BK33.docx26 КБ
BK34
BK34.CPP1 КБ
BK34.docx25 КБ
BK35
BK35.cpp2 КБ
BK35.docx31 КБ
Отчет.docx72 КБ

Информация по контрольной
код работы (ID)00170
просмотров1593
страниц12
автосодержаниеДА
изображений7
оформление по ГОСТуДА
были доработкиНЕТ
проверено преподавателем НГТУДА

ᚠᚠᚠ