Информатика практическа 0. Практическая работа 0 Рекурсивные алгоритмические структуры
Скачать 0.69 Mb.
|
Страница 1 из 5 ПРАКТИЧЕСКАЯ РАБОТА №0 Рекурсивные алгоритмические структуры Цель работы: научиться строить и реализовывать рекурсивные алгоритмы, записывать алгоритмы в виде блок-схемы и на алгоритмическом языке. Задание к практической работе По результатам работы необходимо в отчёте привести алгоритм в виде схемы алгоритма и на алгоритмическом языке (с необходимыми комментариями и пояснениями) и реализовать его на языке С++. Выполнение схемы алгоритма производится в соответствии с ГОСТ 19.701-90 «Единая система программной документации. Схемы алгоритмов, программ, данных и систем. Обозначения условные и правила выполнения». 1) Построить и записать алгоритм вычисления значения функции exp(𝑥) действительного аргумента x с использованием рекурсии. 2) Построить и записать алгоритм вычисления значения функции 𝑥exp(𝑥) действительного аргумента x с использованием рекурсии. 3) Построить и записать алгоритм вычисления значения функции exp(𝑥) − 1 действительного аргумента x с использованием рекурсии. 4) Построить и записать алгоритм вычисления значения функции √1 + 𝑥 действительного аргумента |x|<1 с использованием рекурсии. 5) Построить и записать алгоритм вычисления значения функции 𝑥√1 + 𝑥 действительного аргумента |x|<1 с использованием рекурсии. 6) Построить и записать алгоритм вычисления значения функции √1 + 𝑥 − 1 действительного аргумента |x|<1 с использованием рекурсии. 7) Построить и записать алгоритм вычисления значения функции ln(1 + 𝑥) действительного аргумента |x|<1 с использованием рекурсии. 8) Построить и записать алгоритм вычисления значения функции ln(1+𝑥) 𝑥 действительного аргумента |x|<1 с использованием рекурсии. 9) Построить и записать алгоритм вычисления значения функции 𝑥 − ln(1 + 𝑥) действительного аргумента |x|<1 с использованием рекурсии. 10) Построить и записать алгоритм вычисления значения функции sin(𝑥) действительного аргумента x с использованием рекурсии. 11) Построить и записать алгоритм вычисления значения функции sin(𝑥) 𝑥 действительного аргумента x с использованием рекурсии. 12) Построить и записать алгоритм вычисления значения функции 𝑥 − sin(𝑥) действительного аргумента x с использованием рекурсии. 13) Построить и записать алгоритм вычисления значения функции cos(𝑥) действительного аргумента x с использованием рекурсии. 14) Построить и записать алгоритм вычисления значения функции 𝑥cos(𝑥) действительного аргумента x с использованием рекурсии. 15) Построить и записать алгоритм вычисления значения функции 1 − cos(𝑥) действительного аргумента x с использованием рекурсии. 16) Построить и записать алгоритм вычисления значения функции arctg(𝑥) действительного аргумента |x|<1 с использованием рекурсии. 17) Построить и записать алгоритм вычисления значения функции arctg(𝑥) 𝑥 действительного аргумента |x|<1 с использованием рекурсии. 18) Построить и записать алгоритм вычисления значения функции arctg(𝑥) + 1 𝑥 действительного аргумента |x|<1 с использованием рекурсии. Страница 2 из 5 19) Построить и записать алгоритм вычисления значения функции sh(𝑥) действительного аргумента x с использованием рекурсии. 20) Построить и записать алгоритм вычисления значения функции sh(𝑥) 𝑥 действительного аргумента x с использованием рекурсии. 21) Построить и записать алгоритм вычисления значения функции sh(𝑥) − 𝑥 действительного аргумента x с использованием рекурсии. 22) Построить и записать алгоритм вычисления значения функции ch(𝑥) действительного аргумента x с использованием рекурсии. 23) Построить и записать алгоритм вычисления значения функции 𝑥ch(𝑥) действительного аргумента x с использованием рекурсии. 24) Построить и записать алгоритм вычисления значения функции ch(𝑥) − 1 действительного аргумента x с использованием рекурсии. 25) Построить и записать алгоритм вычисления значения функции arth(𝑥) действительного аргумента |x|<1 с использованием рекурсии. 26) Построить и записать алгоритм вычисления значения функции arth(𝑥) 𝑥 действительного аргумента |x|<1 с использованием рекурсии. 27) Построить и записать алгоритм вычисления значения функции arth(𝑥) − 𝑥 действительного аргумента |x|<1 с использованием рекурсии. 28) Построить и записать алгоритм вычисления значения функции arcsin(𝑥) действительного аргумента |x|<1 с использованием рекурсии. 29) Построить и записать алгоритм вычисления значения функции arcsin(𝑥) 𝑥 действительного аргумента |x|<1 с использованием рекурсии. 30) Построить и записать алгоритм вычисления значения функции arcsin(𝑥) − 𝑥 действительного аргумента |x|<1 с использованием рекурсии. 31) Построить и записать алгоритм вычисления значения производной 𝑑 𝑑𝑥 (𝑥exp(𝑥)) действительного аргумента x с использованием рекурсии. 32) Построить и записать алгоритм вычисления значения функции 𝑑 𝑑𝑥 (𝑥√1 + 𝑥) действительного аргумента |x|<1 с использованием рекурсии. 33) Построить и записать алгоритм вычисления значения функции 𝑑 𝑑𝑥 (𝑥 ln(1 + 𝑥)) действительного аргумента |x|<1 с использованием рекурсии. 34) Построить и записать алгоритм вычисления значения функции 𝑑 𝑑𝑥 (𝑥 sin(𝑥)) действительного аргумента x с использованием рекурсии. 35) Построить и записать алгоритм вычисления значения функции 𝑑 𝑑𝑥 (𝑥 cos(𝑥)) действительного аргумента x с использованием рекурсии. 36) Построить и записать алгоритм вычисления значения функции 𝑑 𝑑𝑥 (𝑥arctg(𝑥)) действительного аргумента |x|<1 с использованием рекурсии. 37) Построить и записать алгоритм вычисления значения функции 𝑑 𝑑𝑥 (𝑥sh(𝑥)) действительного аргумента x с использованием рекурсии. 38) Построить и записать алгоритм вычисления значения функции 𝑑 𝑑𝑥 (𝑥ch(𝑥)) действительного аргумента x с использованием рекурсии. 39) Построить и записать алгоритм вычисления значения функции 𝑑 𝑑𝑥 (𝑥arth(𝑥)) действительного аргумента |x|<1 с использованием рекурсии. 40) Построить и записать алгоритм вычисления значения функции 𝑑 𝑑𝑥 (𝑥arcsin(𝑥)) действительного аргумента |x|<1 с использованием рекурсии. Страница 3 из 5 СПРАВОЧНАЯ ИНФОРМАЦИЯ Структурное программирование (подпрограммы) в C++ 1) Текст программы, вычисляющей значение факториала с использованием рекурсивной функции (подпрограммы) #include // Программа вычисляет значение факториала целого числа в диапазоне от 0 до 170 // с использованием рекурсивной функции (подпрограммы) // Объявление функции в формате: // [тип_возвращаемого_значения] имя_функции([тип_аргументов] имена_аргументов) double faktor( unsigned short int n); // Основная функция main(): int main() { // Директива, позволяющая выводить кириллицу на экран без перекодировки: setlocale(LC_ALL, "Russian" ); // Объявление пременных: unsigned long int number; // number - натуральное число double fakt; // fakt - значение факториала // Ввод значения натурального числа с проверкой // его принадлежности интервалу от 0 до 170: do { system( "cls" ); cout << "Программа вычисляет значение факториала целого числа" << endl; cout << "в диапазоне от 0 до 170" << endl << endl; cout << "Введите число (от 0 до 170): " ; cin >> number; } while (number<0 || number>170); // Использование ранее объявленной функции: fakt = faktor(number); // Вывод результата в формате с фиксированной запятой (fixed) // с точностью 0 знаков после запятой (cout.precision(0)): cout << number << "! = " << fixed << cout.precision(0) << fakt << endl << endl; // Один из способов задержки экрана без дополнительного сообщения // "Для продолжения нажмите любую клавишу . . .": system( "pause" ); // Значение возвращаемое функцией main(): return 0; } // Описание ранее объявленной функции double faktor( unsigned short int n) { // Значение, возвращаемое функцией faktor() при n==0 [ 0!=1 ]: if (n==0) return 1; // Значение, возвращаемое функцией faktor() при n>0 [ n!=(n-1)!*n ]: else return faktor(n-1)*n; } Страница 4 из 5 Описание принципов структурного программирование приведено в [1, гл. 2], [2, гл. 3] и [3, Chapter 5, 6]. 2) Типы данных С++ Таблица 1 – Типы данных С++ Тип Обозначение Диапазон значений Раз мер, байт логический bool true и false – знаковый символьный char (signed char) –128…127 1 беззнаковый символьный unsigned char 0…255 1 простой знаковый целый int (short, short int, signed int, signed short, signed short int) –32.768…32.767 2 простой беззнаковый целый unsigned int (unsigned short, unsigned short int) 0…65.535 2 расширенный знаковый целый long (long int, signed long int) 0…4.294.967.295 4 расширенный беззнаковый целый unsigned long (unsigned long int) –2.147.483.648… +2.147.483.647 4 с плавающей запятой простой точности float 1,1 10 –38 …3,4 10 +38 4 с плавающей запятой двойной точности double 2,2 10 –308 …1,7 10 +38 8 расширенный с плавающей запятой двойной точности long double 3,3 10 –4932 …1,1 10 +4932 10 3) Основные операции С++ Таблица 2 – Основные операции С++ Операции Описание Пример +; –; *; / сложение; вычитание; умножение; деление a+b; a–b; a*b; a/b % остаток от деления a%b <; <= >; >= отношение ab; a>=b = присваивание a=b == != равно не равно a==b a!=b && || логическое «И» логическое «ИЛИ» a>=b && a!=c a>=b || a!=c += –= *= /= %= сложение с присваиванием вычитание с присваиванием умножение с присваиванием деление с присваиванием остаток от деления с присваиванием a+=b (эквивалентно a=a+b) a–=b (эквивалентно a=a–b) a*=b (эквивалентно a=a*b) a/=b (эквивалентно a=a/b) a%=b (эквивалентно a=a%b) ++ –– увеличение на 1 уменьшение на 1 a++ (эквивалентно a=a+1) a–– (эквивалентно a=a–1) ?: Операция условие a ? b : c (если а, то b, если не a, то c) max = (x > y) x : y abs = (x > 0) x : –x Описание типов данных и выражений приведено в [2, с. 67–85] и [3, Chapter 2]. Страница 5 из 5 4) Библиографический список 1. Павловская, Т.А. С/С++. Программирование на языке высокого уровня / Т.А. Павловская. – СПб.: Питер, 2003. – 461 с. 2. Савич, У. Программирование на С++ / У. Савич. – СПб.: Питер, 2004. – 781 с. 3. Шилдт, Герб (Schildt, Herb) Руководство по С++ для начинающих (C++ Beginner's Guide). – http://go.microsoft.com/fwlink/?LinkId=115303 5) Содержание отчета: 1. Титульный лист. 2. Текст задания для своего варианта. 3. Алгоритмы программы. 4. Текст программы на С++ с комментариями. 5. Контрольный пример (со скриншотом результата работы программы). 6. Вывод по работе. |