11. Запишите присваивание на языке программирования: Место для ввода текста.
12. Как можно записать возведение в квадрат, куб, 10-ю степень на языке C++?
с x2
d (x+2)3
d 12+z10
13. Чему равен остаток от деления числа N на 100?
int N = 123;
int d12 = N % 100;
ответ:
Закончите фразу: «Остаток от деления числа на 100 – это число, которое записывается как цифры исходного числа».
14. Как с операций / и % выделить вторую с конца цифру дестичной записи числа?
int N = 123;
int d2 =
15. Что будет выведено в результате работы следующей программы:
a = 1; b = 2;
c = 3; d = 4; e = 5;
cout << setw(4) << a << endl;
cout << setw(3) << b << setw(2) << b << endl;
cout << setw(2) << c << setw(4) << c << endl;
cout << d< cout << setw(4) << e;
Место для ввода текста.
16. Исследуйте таблицу и выясните, что означают два числа, которые записываются после двоеточий при выводе вещественного значения (знак ◦ обозначает пробел):
Вывод
cout << setprecision(3);
cout << "x=" << setw(10) << x; x=◦◦◦◦12.346
cout << setprecision(2);
cout << "x=" << setw(8) << x; x=◦◦12.35
cout << setprecision(2);
cout << "x=" << setw(2) << x; x=12.35
cout << setprecision(2);
cout << "x=" << setw(0) << x; x=12.35
cout << setprecision(1);
cout << "x=" << setw(0) << x; x=12.3
Заполните пропуски: «Число в скобках (аргумент) при вызове функции setprecision обозначает
Место для ввода текста.
аргумент при вызове функции setw –
Место для ввода текста.
Если второе число меньше, чем
Место для ввода текста.
то при выводе используется количество по¬зи-ций.»
17. Выполните команду
cout << x;
при различных значениях переменной x и запишите результат вывода:
x Вывод
0,0001
0,00001
0,000001
12,345678
12345,678
123456,78
1234567,8
В каких случаях при выводе используется особый (научный) формат?
Место для ввода текста.
18. Что будет выведено в результате работы следующей программы:
x = 172.3658;
cout << x << endl;
cout << scientific << setprecision(2);
cout << setw(10) << x << endl;
cout << scientific << setprecision(5);
cout << setw(0) << x << endl;
Место для ввода текста.
19. Программа вывела числа в научном формате. Запишите их в «обычном» виде.
1.2345E+01 8.74E+00
2.345E+03 1.8752E-01
5.6E+05 3.462752E-03
20. Как можно выделить дробную часть положительного вещественного числа в языке С++? f =
21. Что будет выведено в результате работы следующей программы:
int a = 1, b = 2, c = 3, d = 7;
cout << fixed << setprecision(2);
cout << a / b << endl;
float x = float(b) / c;
cout << x << " " << int(x) << endl;
cout << x - int(x) << endl;
x = float(d) / c;
cout << x << " " << int(x) << endl;
cout << x - int(x) << endl;
Место для ввода текста.
Объяснение:
Допустим, у нас есть сообщение «habr», которое необходимо передать без ошибок. Для этого сначала нужно наше сообщение закодировать при Кода Хэмминга. Нам необходимо представить его в бинарном виде.На этом этапе стоит определиться с, так называемой, длиной информационного слова, то есть длиной строки из нулей и единиц, которые мы будем кодировать. Допустим, у нас длина слова будет равна 16. Таким образом, нам необходимо разделить наше исходное сообщение («habr») на блоки по 16 бит, которые мы будем потом кодировать отдельно друг от друга. Так как один символ занимает в памяти 8 бит, то в одно кодируемое слово помещается ровно два ASCII символа. Итак, мы получили две бинарные строки по 16 битбит. распараллеливается, и две части сообщения («ha» и «br») кодируются независимо друг от друга. Рассмотрим, как это делается на примере первой части.
Прежде всего, необходимо вставить контрольные биты. Они вставляются в строго определённых местах — это позиции с номерами, равными степеням двойки. В нашем случае (при длине информационного слова в 16 бит) это будут позиции 1, 2, 4, 8, 16. Соответственно, у нас получилось 5 контрольных бит (выделены красным цветом)Таким образом, длина всего сообщения увеличилась на 5 бит. До вычисления самих контрольных бит, мы присвоили им значение «0».
Алгоритм - это система точных и понятных предписаний о содержании и последовательности выполнения конечного числа действий, необходимых для решения любой задачи данного типа.
Примеры: правила сложения, умножения, решения алгебраических уравнений и т.п.
Свойства алгоритма:
1.Универсальность (массовость) - применимость алгоритма к различным наборам исходных данных.
2.Дискретность - процесс решения задачи по алгоритму разбит на отдельные действия.
3.Конечность - каждое из действий и весь алгоритм в целом обязательно завершаются.
4.Результативность - по завершении выполнения алгоритма обязательно получается конечный результат.
5.Выполнимость (эффективность) - результата алгоритма достигается за конечное число шагов.
6.Детерминированность (определенность) - алгоритм не должен содержать предписаний, смысл которых может восприниматься неоднозначно. Т.е. одно и то же предписание после исполнения должно давать один и тот же результат.
7.Последовательность – порядок исполнения команд должен быть понятен исполнителю и не должен допускать неоднозначности.
Классы алгоритмов.
1.вычислительные алгоритмы, работающие со сравнительно простыми видами данных, такими как числа и матрицы, хотя сам процесс вычисления может быть долгим и сложным;
2.информационные алгоритмы, представляющие собой набор сравнительно простых процедур, работающих с большими объемами информации (алгоритмы баз данных);
3.управляющие алгоритмы, генерирующие различные управляющие воздействия на основе данных, полученных от внешних процессов, которыми алгоритмы управляют.
По типу передачи управления алгоритмы бывают: основные (главные выполняемые программы) и вс (подпрограммы).
Для задания алгоритма необходимо описать следующие его элементы:
1.набор объектов, составляющих совокупность возможных исходных данных, промежуточных и конечных результатов;
2.правило начала;
3.правило непосредственной переработки информации (описание последовательности действий);
4.правило окончания;
5.правило извлечения результатов.
описания алгоритмов.
Символьный, когда алгоритм описывается с специального набора символов (специального языка).
Словесная форма записи алгоритмов обычно используется для алгоритмов, ориентированных на исполнителя-человека. Команды такого алгоритма выполняются в естественной последовательности, если не оговорено противного.
Графическая запись с блок-схем осуществляется рисованием последовательности геометрических фигур, каждая из которых подразумевает выполнение определенного действия алгоритма. Порядок выполнения действий указывается стрелками. Графическая запись алгоритма имеет ряд преимуществ: каждая операция вычислительного процесса изображается отдельной геометрической фигурой и графическое изображение алгоритма наглядно показывает разветвления путей решения задачи в зависимости от различных условий, повторение отдельных этапов вычислительного процесса и другие детали.
Виды блоков.
vbl.jpg
Правила создания блок – схем:
1.Линии, соединяющие блоки и указывающие последовательность связей между ними, должны проводится параллельно линиям рамки.
2.Стрелка в конце линии может не ставиться, если линия направлена слева направо или сверху вниз.
3.В блок может входить несколько линий, то есть блок может являться преемником любого числа блоков.
4.Из блока (кроме логического) может выходить только одна линия.
5.Логический блок может иметь в качестве продолжения один из двух блоков, и из него выходят две линии.
6.Если на схеме имеет место слияние линий, то место пересечения выделяется точкой. В случае, когда одна линия подходит к другой и слияние их явно выражено, точку можно не ставить.
7.Схему алгоритма следует выполнять как единое целое, однако в случае необходимости допускается обрывать линии, соединяющие блоки.
Виды алгоритмов.
В линейном алгоритме операции выполняются последовательно, в порядке их записи. Каждая операция является самостоятельной, независимой от каких-либо условий. На схеме блоки, отображающие эти операции, располагаются в линейной последовательности.
В алгоритме с ветвлением предусмотрено несколько направлений (ветвей). Каждое отдельное направление алгоритма обработки данных является отдельной ветвью вычислений. Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа:
1.«да» — условие выполнено.
2.«нет» — условие не выполнено.
Циклические алгоритмы содержат цикл – это многократно повторяемый участок алгоритма.Различают циклы с предусловием и постусловием.Также циклы бывают детерминированные и итерационные.Цикл называется детерминированным, если число повторений тела цикла заранее известно или определено. Цикл называется итерационным, если число повторений тела цикла заранее неизвестно, а зависит от значений параметров (некоторых переменных), участвующих в вычислениях.