- •Оглавление
- •Введение
- •1 Разработка и реализация алгоритмов на языке с#
- •1.1 Лабораторная работа №1. Циклические программы
- •Код имеет линейную сложность o(n), так как количество итераций циклаК пропорционально введенному числу n.
- •1.2 Лабораторная работа №2. Массивы
- •1.3 Лабораторная работа №3. Функции
- •1.4 Лабораторная работа №4. Обработка текста
- •1.5 Лабораторная работа №5. Структуры
- •1.6 Лабораторная работа №6. Коллекции
- •1.7 Лабораторная работа №7. Основы ооп
- •Заключение
1.3 Лабораторная работа №3. Функции
Задание 3.1: оформить функцию stepen(x, n) от вещественного х и целого n, вычисляющую (через последовательное умножение) xn и проверить ее.
Графический способ задания данного алгоритма в виде блок-схемы представлен на рисунке 1.16.
Рисунок 1.16 — Блок-схема алгоритма задания 3.1
Также был составлен алгоритм функции в виде блок схемы, представленный на рисунке 1.17.
Рисунок
1.17 — Блок — схема функции
stepen(x,n)
На рисунке 1.18 представлен исходный код данной программы на языке программирования C#.
Р
исунок
1.18
— Код программы задания 3.1
Результат работы программы представлен на рисунке 1.19.
Рисунок
1.19
— Результат работы программы задания
3.1
Результат работы программы при неправильном значении представлено на рисунке 1.20.
Р
исунок
1.20 —
Результат работы программы задания 3.1
Код
имеет временную
сложность O(n),
так как основной вклад в сложность
вносит функция stepen,
которая выполняет цикл n раз.
Остальные операции выполняются за
константное время.
Задание 3.2: Найти сумму цифр НАТУРАЛЬНОГО числа.
Графический способ задания данного алгоритма в виде блок-схемы представлен на рисунке 1.21.
Рисунок
1.21 —
Блок-схема алгоритма задания 3.2
На рисунке 1.22 представлен исходный код данной программы на языке программирования C#.
Р
исунок
1.22
— Код программы задания
3.2
Результат работы программы представлен на рисунке 1.23.
Рисунок
1.23
— Результат работы программы задания
3.2
Результат работы программы при неправильном значении представлено на рисунке 1.24.
Р
исунок
1.24
— Результат работы программы задания
3.2
Код
имеет временную
сложность O(n),
где n —
количество
цифр в числе n.
Это связано с тем, что цикл выполняется N раз,
а каждая итерация занимает константное
время.
1.4 Лабораторная работа №4. Обработка текста
Задание 4.1: дана строка из N символов. Группы символов, разделенные пробелами (одним или несколькими) и не содержащие пробелов внутри себя, будем называть словами. Написать программу, определяющую в заданном тексте для каждой буквы алфавита количество ее употребления.
Графический способ задания данного алгоритма в виде блок-схемы представлен на рисунке 1.25.
Рисунок
1.25 — Блок-схема алгоритма задания 4.1
На рисунке 1.26 представлен исходный код данной программы на языке программирования C#.
Р
исунок
1.26
— Код программы задания 4.1
Результат работы программы представлен на рисунке 1.27.
Рисунок 1.27 — Результат работы программы задания 4.1
Результат работы программы при неправильном значении представлено на рисунке 1.28.
Р
исунок
1.28
— Результат работы программы задания
4.1
Код
имеет временную
сложность O(N),
где N —
длина
введенной строки. Это связано с тем, что
основной цикл проходит по каждому
символу строки один раз. Остальные
операции выполняются за константное
время.
Задание 4.2: Разработать программу – клавиатурный тренажер. В ходе работы программы должны генерироваться символы, которые необходимо вводить пользователю, количество правильно введенных символов должно подсчитываться, при вводе неверного символа, счетчик правильно введенных символов должен обнуляться, по завершению работы тренажера результат верно введенных символов должен выводиться на экран. Выход из режима тренажера должен осуществляться по нажатию клавиши «Esc». При вводе неверного символа необходимо выдавать звуковое сопровождение (системный звук). При запуске приложения должен предоставляться выбор набор символов какого языка необходимо тренировать: русский или английский.
Графический способ задания данного алгоритма в виде блок-схемы представлен на рисунке 1.29.
Р
исунок
1.29 — Блок-схема алгоритма
задания 4.2
На рисунке 1.30 представлен исходный код данной программы на языке программирования C#.
Р
исунок
1.30
— Код программы задания 4.2
Результат работы программы представлен на рисунке 1.31.
Р
исунок
1.31 —
Результат работы программы задания 4.2
Результат работы программы при неправильном значении представлено на рисунке 1.32.
Р
исунок
1.32 —
Результат работы программы задания 4.2
Код имеет константную сложность O(1), так как его работа не зависит от объема входных данных, а определяется количеством действий пользователя.
