- •Часть 1 11
- •Часть 2 18
- •Часть 1 21
- •Часть 2 24
- •Лабораторная работа №1 Тема: “Программы, использующие команды ветвления. Отладка программы“ Отладка программы
- •Часть 1 Ветвление в программе с помощью вложенных конструкцийif-else Задание
- •Пример 1
- •Пример 2
- •Организация повторения программы
- •Выполнение программы в пошаговом режиме
- •Задание для самостоятельного выполнения
- •Часть 2 Ветвление в программе с помощью оператораswitch
- •Задание для самостоятельного выполнения
- •Лабораторная работа №2
- •Программа, которая проверяет, является ли число простым
- •Программа, которая проверяет, является ли число палиндромом
- •Часть 2 Программы, использующие рекуррентные соотношения
- •Программа, которая находит числа Фибоначчи в заданном диапазоне.
- •Программа, которая находит значение квадратного корня из заданного числа, используя рекуррентное соотношение:
- •Программа, которая вычисляет сумму рядас заданной точностью.
- •Пример – программа, которая вычисляет сумму рядадля заданного количества слагаемых.
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 3 Тема: “Программы, использующие вспомогательные функции”.
- •1. Программа, которая считывает координаты вершин треугольника на плоскости и находит все углы этого треугольника в градусах.
- •2. Программа, которая находит заданное количество чисел, содержащих цифру 3
- •3. Программа, которая находит на заданном отрезке натуральные числа, которые можно представить в виде суммы квадратов двух натуральных чисел.
- •Программа, которая находит первое автоморфное число справа от заданного.
- •6. Программа для вычисления биноминальных коэффициентов
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 4 Тема: “Программы, использующие строки символов ”.
- •Программа, которая считывает строку символов и сортирует ее по возрастанию кодов символов
- •Программа перевода числа из десятичной системы счисления в двоичную
- •Первый вариант (с использованием указателя)
- •Программа перевода числа из двоичной системы в десятичную
- •Программа перевода числа из 16-ой системы счисления в 2-ую.
- •Программа перевода числа из 2-ой системы счисления в 16-ую.
- •Программа, которая выводит на экран треугольник Паскаля (треугольник биноминальных коэффициентов)
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 5 Тема: “Программы, использующие файлы ”.
- •Программа, которая считывает имя файла, открывает его и подсчитывает количество скобок каждого вида, содержащихся в файле.
- •Программа, инвертирующая файл (переставляющаясимволыв обратном порядке)
- •Программа выводит на экран n-ую строку файла
- •Программа, которая переписывает текст из одного файла в другой, удаляя лишние пробелы между словами и делая ширину текста максимум 70 символов
- •5. Программа, которая считывает текст файла и создает новый файл, заменив во всем тексте заданное слово на новое (не изменяя деление на строки и количество пробелов между словами)
- •6. Программа, которая считывает данные для структуры Man из файла.
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 6 Тема: “Программы, использующие массивы ”.
- •Программа заполняет массив a(50) случайными целыми числами из диапазона [-20, 30] и упорядочивает его по возрастанию. Исходный и упорядоченный массивы выводятся на экран дисплея.
- •Программа, которая по заданным корням многочлена степениnвосстанавливает все коэффициенты многочлена.
- •Программа считывает линейный массив из файла, выводит его на экран, и подсчитывает количество элементов массива, находит min и max элементы и их индексы.
- •Программа заполняет массив a[5][5] случайными целыми числами из диапазона [-3, 3] и находит произведение элементов, стоящих на побочной диагонали.
- •Программа считывает матрицу из файла, выводит ee на экран, сортирует элементы в каждом столбце и отсортированную матрицу записывает в файл.
- •Программа, сортирующая файл по длине строки методом быстрой сортировки.
- •Задания для самостоятельного выполнения
- •Лабораторная работа № 7 Тема: “Программы, использующие динамические структуры”.
- •Программа, которая создает очередь символов.
- •Программа, которая создает закольцованный список и затем последовательно удаляет из списка каждыйm-й элемент до тех пор, пока не будут удалены все.
- •Программа, которая работает со стеком.
- •Программа, которая работает с деревом.
- •Задания для самостоятельного выполнения
Программа, которая проверяет, является ли число палиндромом
Палиндромом называется симметричное число, например 121, 2332 и т.д.
Для того чтобы проверить, является ли число симметричным, разберем копию числа на цифры, вычисляя остаток от деления на 10, и из цифр соберем перевернутое число, используя схему Горнера для вычисления значения многочлена. Если исходное и перевернутое числа равны, значит введенное число является палиндромом.
Пример: Перевернем число 123
|
Частное от деления на 10 |
Остаток от деления на 10 |
|
123 |
3 |
|
12 |
2 |
|
1 |
1 |
m = ((0*10+3)*10+2)*10+1 = 321
#include<iostream>
#include <math.h>
#include <conio.h>
#include <windows.h>
using namespace std;
int main()
{
//Настройки шрифтов и региональных стандартов
if(SetConsoleCP(1251)==0
{
cerr<<"Fialed to set codepage!"<<endl;
//если не удалось установить кодовую страницу, вывод сообщения об ошибке
}
if(SetConsoleOutputCP(1251)==0)//тоже самое для вывода
{
cerr<<"Failed to set OUTPUT page!"<<endl;
}
long n, m, copyn;
short c;
cout<< "Введите натуральное число ";
cin>> n;
copyn = n; // берем копию исходного числа
m=0;
do // повторяем нижеследующие действия:
{
c = copyn % 10; // получаем последнюю цифру числа
m = m * 10 + c; // добавляем цифру в схему Горнера
copyn /= 10; // делим число нацело на 10
} while (copyn); // пока число не равно 0
if (n==m) cout<< n << " - палиндром\n";
else cout<< n << " - не палиндром\n"; /* если исходное и перевернутое числа равны, значит введенное число – палиндром*/
_getch();
return 0;
}
Часть 2 Программы, использующие рекуррентные соотношения
Рекуррентными
называются соотношения, используемые
для вычисления последовательности
значений некоторой величины, причем
следующее значение этой величины
вычисляется через предыдущее:
.
Наберите одну из трех нижеследующих программ (комментарии набивать не нужно), подберите тестовые исходные данные и выполните программу в пошаговом режиме. Остальные программы внимательно просмотрите и запомните реализованные в них алгоритмы.
Программа, которая находит числа Фибоначчи в заданном диапазоне.
Числа Фибоначчи вычисляются по следующему правилу:
F1= 1,F2= 1,Fi=Fi-1+Fi-2.
Обозначим Fi,Fi-1 иFi-2 какF1, F2 иF3.
Начнем с того, что присвоим начальные значения, равные 1, F2 иF3, а дальше будем повторять следующие действия:F1 =F2;F2 =F3;F3 =F1 +F2. При этом тройка чисел будет смещаться по числовой оси вправо пока не выйдет за правую границу заданного отрезка.
Вычисление чисел Фибоначчи начинается cдвух единиц, но выводить будем только те числа, которые попадают в заданный диапазон.
#include<iostream>
#include <math.h>
#include <conio.h>
#include <windows.h>
using namespace std;
int main()
{
//Настройки шрифтов и региональных стандартов
if(SetConsoleCP(1251)==0
{
cerr<<"Fialed to set codepage!"<<endl; //если не удалось установить кодовую страницу, вывод сообщения об ошибке
}
if(SetConsoleOutputCP(1251)==0) //тоже самое для вывода
{
cerr<<"Failed to set OUTPUT page!"<<endl;
}
long a, b, f1, f2 = 1, f3 = 1;
cout<< "Задайте границы отрезка \n";
cin>> a >> b;
cout<< "Числа Фибоначчи на этом отрезке:\n";
while (f2 <= b) // вычисляем, пока не вышли за правую границу отрезка
{
if (f2 >= a) cout<< f2 << " ";
// выводим, если число не меньше левой границы отрезка
f1 = f2;
f2 = f3;
f3 = f1 + f2;
}
cout<< endl;
_getch();
return 0;
}
