- •Лабораторная работа №1 Тема: “Программы, использующие команды ветвления. Отладка программы“ Отладка программы
- •Часть 1 Ветвление в программе с помощью вложенных конструкций if-else Задание
- •Пример 1
- •Пример 2
- •Организация повторения программы
- •Выполнение программы в пошаговом режиме
- •Задание для самостоятельного выполнения
- •Часть 2 Ветвление в программе с помощью оператора switch
- •Задание для самостоятельного выполнения
- •Программа, которая проверяет, является ли число простым
- •Программа, которая проверяет, является ли число палиндромом
- •Часть 2 Программы, использующие рекуррентные соотношения
- •Программа, которая находит числа Фибоначчи в заданном диапазоне.
- •Программа, которая находит значение квадратного корня из заданного числа, используя рекуррентное соотношение:
- •Программа, которая вычисляет сумму ряда с заданной точностью.
- •Пример – программа, которая вычисляет сумму ряда для заданного количества слагаемых.
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 3 Тема: “Программы, использующие вспомогательные функции”.
- •1. Программа, которая считывает координаты вершин треугольника на плоскости и находит все углы этого треугольника в градусах.
- •2. Программа, которая находит заданное количество чисел, содержащих цифру 3
- •3. Программа, которая находит на заданном отрезке натуральные числа, которые можно представить в виде суммы квадратов двух натуральных чисел.
- •Программа, которая находит первое автоморфное число справа от заданного.
- •6. Программа для вычисления биноминальных коэффициентов
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 4 Тема: “Программы, использующие строки символов ”.
- •Программа, которая считывает строку символов и сортирует ее по возрастанию кодов символов
- •Программа перевода числа из десятичной системы счисления в двоичную
- •Первый вариант (с использованием указателя)
- •Второй вариант ( с использованием индексации)
- •Программа перевода числа из двоичной системы в десятичную
- •Программа перевода числа из 16-ой системы счисления в 2-ую.
- •Программа перевода числа из 2-ой системы счисления в 16-ую.
- •If (!strcmp(table[j].Bin,tmp)) // если strcmp() вернула 0, значит tmp совпала с I-ой строкой таблицы
- •Программа, которая выводит на экран треугольник Паскаля (треугольник биноминальных коэффициентов)
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 5 Тема: “Программы, использующие файлы ”.
- •Программа, которая считывает имя файла, открывает его и подсчитывает количество скобок каждого вида, содержащихся в файле.
- •Программа, инвертирующая файл (переставляющая символы в обратном порядке)
- •Программа выводит на экран n-ую строку файла
- •Программа, которая переписывает текст из одного файла в другой, удаляя лишние пробелы между словами и делая ширину текста максимум 70 символов
- •5. Программа, которая считывает текст файла и создает новый файл, заменив во всем тексте заданное слово на новое (не изменяя деление на строки и количество пробелов между словами)
- •6. Программа, которая считывает данные для структуры Man из файла.
- •Программа создающая новый текстовый файл из двух данных, в котором 1-я строка –строка из первого файла, 2-я строка – строка из 2-го файла, 3-я строка – содержит общие символы первых 2-х строк.
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 6 Тема: “Программы, использующие массивы ”.
- •Программа заполняет массив a(50) случайными целыми числами из диапазона [-20, 30] и упорядочивает его по возрастанию. Исходный и упорядоченный массивы выводятся на экран дисплея.
- •Программа, которая по заданным корням многочлена степени n восстанавливает все коэффициенты многочлена.
- •Программа считывает линейный массив из файла, выводит его на экран, и подсчитывает количество элементов массива, находит min и max элементы и их индексы.
- •Программа заполняет массив a[5][5] случайными целыми числами из диапазона [-3, 3] и находит произведение элементов, стоящих на побочной диагонали.
- •Программа считывает матрицу из файла, выводит ee на экран, сортирует элементы в каждом столбце и отсортированную матрицу записывает в файл.
- •Программа, сортирующая файл по длине строки методом быстрой сортировки.
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 7 Тема: “Программы, использующие динамические структуры”.
- •Программа, которая создает очередь символов.
- •Программа, которая создает закольцованный список и затем последовательно удаляет из списка каждый m-й элемент до тех пор, пока не будут удалены все.
- •Программа, которая работает со стеком.
- •Программа, которая работает с деревом.
- •Задания для самостоятельного выполнения
6. Программа для вычисления биноминальных коэффициентов
Чтобы вычислить биноминальные коэффициенты, можно использовать рекуррентное соотношение: . Для программирования вычислений по такому соотношению, лучше всего подходит рекурсивная функция, т.е. функция, которая вызывает сама себя.
#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;
// Рекурсивная функция, которая точно соответствует рекуррентным соотношениям:
int C(int m, int n)
{
if (m == 0 || m == n)
return 1;
else return C(m, n-1) + C(m-1, n-1);
}
int main()
{
//Настройки шрифтов и региональных стандартов
if(SetConsoleCP(1251)==0
{
cerr<<"Fialed to set codepage!"<<endl;
}
if(SetConsoleOutputCP(1251)==0)
{
cerr<<"Failed to set OUTPUT page!"<<endl;
}
int n;
cout<< "Задайте n ";
cin >> n;
cout<< "Биноминальные коэффициенты: \n" ;
for (int m = 0; m <= n; m++)
cout<< C(m, n) << " ";
cout<< endl;
_getch();
return 0;
}
Задания для самостоятельного выполнения
Написать программу, которая находит точки пересечения линий, заданных уравнениями: x2 +(y-a)2 = b2 и y = cx. Решить задачу с использованием функции. Подобрать тестовые данные так, чтобы получить все варианты ответов. Нарисовать на листе бумаги графики, соответствующие тестовым данным.
Написать программу, которая находит точки пересечения линий, заданных уравнениями: (x-a)2 + y2 = b2 и (x-c)2 + y2 = d2. Решить задачу с использованием функции. Подобрать тестовые данные так, чтобы получить все варианты ответов. Нарисовать на листе бумаги графики, соответствующие тестовым данным
Написать программу, которая находит точки пересечения линий, заданных уравнениями: y = ax2 + bx + c и y = dx + k. Решить задачу с использованием функции. Подобрать тестовые данные так, чтобы получить все варианты ответов. Нарисовать на листе бумаги графики, соответствующие тестовым данным.
Написать программу, которая считывает длины сторон треугольника, проверяет возможность построения треугольника и находит все медианы этого треугольника. Решить задачу с использованием функции, которая вычисляет длину одной медианы.
Написать программу, которая считывает координаты вершин треугольника на плоскости, проверяет возможность построения треугольника и находит радиусы вписанной и описанной окружностей. Решить задачу с использованием функции, которая вычисляет длину одной стороны треугольника.
Написать программу, которая считывает длины сторон треугольника, проверяет возможность построения треугольника и находит все биссектрисы этого треугольника. Решить задачу с использованием функции, которая вычисляет длину одной биссектрисы.
Написать программу, которая находит в заданном диапазоне числа, которые являются палиндромами, и выводит их на экран. Проверку "палиндром – не палиндром" оформить в виде функции.
Написать программу, которая находит заданное количество чисел, которые являются палиндромами, и выводит их на экран Проверку "палиндром – не палиндром" оформить в виде функции".
Написать программу, которая считывает число с клавиатуры и находит ближайшее справа натуральное число, которое является палиндромом, и выводит его на экран. Проверку "палиндром – не палиндром" оформить в виде функции".
Написать программу, которая считывает число с клавиатуры и находит ближайшее справа число, которое является квадратом натурального числа, и выводит его на экран. Проверку "квадрат – не квадрат" оформить в виде функции.
Написать программу, которая на заданном отрезке находит все числа, являющиеся квадратами натуральных чисел, и выводит их на экран. Проверку "квадрат – не квадрат" оформить в виде функции.
Написать программу, которая находит заданное количество чисел, являющихся квадратами натуральных чисел, и выводит их на экран. Проверку "квадрат – не квадрат" оформить в виде функции.
Написать программу, которая находит на заданном отрезке все числа, которые равны сумме кубов своих цифр (например: 153 = 13 + 53 + 33) и выводит их на экран. Проверку числа оформить в виде функции.
Написать программу, которая находит заданное количество чисел, которые равны сумме кубов своих цифр (например:153 = 13 + 53 + 33)и выводит их на экран. Проверку числа оформить в виде функции.
Написать программу, которая считывает число с клавиатуры и находит ближайшее справа число, которое равно сумме кубов своих цифр (например: 153 = 13 + 53 + 33) и выводит его на экран. Проверку числа оформить в виде функции.
Два нечетных простых числа, разность которых равна 2, называются близнецами. Написать программу, которая находит все числа-близнецы на заданном отрезке и выводит их на экран. Проверку "простое – не простое" оформить в виде функции.
Два нечетных простых числа, разность которых равна 2, называются близнецами. Написать программу, которая находит заданное количество чисел-близнецов и выводит их на экран. Проверку "простое – не простое" оформить в виде функции.
Написать программу, которая находит заданное количество чисел, равных сумме квадратов двух натуральных чисел и выводит их на экран. Проверку числа оформить в виде функции.
Написать программу, которая на заданном интервале находит все пары "дружественных" чисел и выводит их в список. "Дружественными" называются числа, каждое из которых равно сумме всех натуральных делителей другого, исключая само другое число, например, такими числами являются 220 и 284. Вычисление суммы делителей числа оформить в виде функции.
Написать программу, которая на заданном интервале находит заданное количество пар "дружественных" чисел и выводит их на экран."Дружественными" называются числа, каждое из которых равно сумме всех натуральных делителей другого, исключая само другое число, например, такими числами являются 220 и 284. Вычисление суммы делителей числа оформить в виде функции.
Написать программу, которая на заданном интервале находит все автоморфные числа. Автоморфным называется число, которое равно последним цифрам своего квадрата, например, 52 = 25, 252 = 625. Проверку числа оформить в виде функции.
Написать программу, которая находит заданное количество автоморфных чисел и выводит их в список. Автоморфным называется число, которое равно последним цифрам своего квадрата, например, 52 = 25, 252 = 625. Проверку числа оформить в виде функции.
Написать программу, которая считывает число с клавиатуры и находит ближайшее справа натуральное число, которое является числом Фибоначчи (см. Лаб. раб. №2) , и выводит его на экран. Проверку числа оформить в виде функции".
Написать программу, которая находит в заданном диапазоне все числа, которые являются степенями двойки, и выводит их на экран. Проверку "степень – не степень" оформить в виде функции.
Написать программу, которая находит заданное количество чисел, которые являются степенями двойки, и выводит их на экран. Проверку " степень – не степень " оформить в виде функции".
Написать программу, которая считывает число с клавиатуры и находит ближайшее справа натуральное число, которое является степенью двойки, и выводит его на экран. Проверку " степень – не степень " оформить в виде функции".
Написать программу, которая находит в заданном диапазоне все числа, которые содержат две шестерки, и выводит их на экран. Проверку числа оформить в виде функции.
Написать программу, которая считывает число с клавиатуры и находит ближайшее справа натуральное число, которое является содержит три шестерки, и выводит его на экран. Проверку числа оформить в виде функции".
Написать программу, которая вычисляет факториал натурального числа, вводимого с клавиатуры с помощью рекурсивной функции. Проверить, для какого максимального числа можно получить точное значение факториала. n! = 1*2*3…*n
30*. Написать программу, которая по известным корням многочлена восстанавливает все коэффициенты многочлена. Для вычислений использовать рекурсивную функцию. Рекомендуется воспользоваться соотношением: Xn + an-1Xn-1 + … a1X + a0 = (X-x1) * (X – x2) * … *(X-xn)