2: Алгоритмизация и программирование I Лекция 4
4: Повторение Сколько раз выполняется цикл и почему? а) a 4; b 6; while ( a b ) a a 1; б) a 4; b 6; while ( a b ) a ; в) a 4; b 6; while ( a b ) a --;
6: ОТВЕТ А) 2 раза Б) 0 раз В) зацикливание
7: Постановка задачи Числовым рядом называется бесконечная сумма S некоторой последовательности.
8: Найти сумму первых N слагаемых Найти сумму первых N слагаемых Найти сумму первых слагаемых, больших заданной величины (найти сумму с заданной точностью) Замечание. Вычисления организовать оптимально за минимальное число операций умножения и деления.
10: Все суммы можно разделить на три группы: Все суммы можно разделить на три группы: каждое слагаемое вычисляется самостоятельно; очередное слагаемое вычисляется через предыдущее; часть очередного слагаемого вычисляется через часть предыдущего слагаемого
11: Порядок решения задачи Выписать формулу общего слагаемого Определить к какой группе относится сумма Написать программу
17: include include include using namespace std; void main() int i,n; double x,a,s,b; cin xn; s1; a1; for (i1;i
18: include include include using namespace std; void main() int i,n; double x,a,s,b; cin xn; s1; a1; for (i1;i
19: include include include using namespace std; void main() int i,n; double x,a,s,b; cin xn; s1; a1; b0; for (i1;i
20: include include include include using namespace std; void main() int i,n; double x,a,s,b, eps; cin xeps; s0; a1; i1; while (fabs(a)eps) sa; i b2I; a-axx/((b-1)b); cout
21: include include include include using namespace std; void main() int i,n; double x,a,s,b, eps; cin xeps; s0; a1; i1; for (i2;fabs(a)eps;i) sa; b2I; a-axx/((b-1)b); cout
23: Цикл с параметром for (инициализация; выражение; модификации) оператор; Инициализация – это действие, когда переменной присваиваем начальное значение, т. е. значение с которого наш цикл начинает работать. Можно инициализировать сразу несколько переменных. В этом случае используется операция «запятая» . Выражение определяет условие продолжения цикла: если его результат, приведенный к типу bool, равен true, цикл выполняется. Модификация – это действие, которое осуществляется в процессе работы цикла. В части модификаций тоже можно написать несколько операторов через запятую. Любая из частей может быть пропущена, но точки с запятой должны стоять на своих местах. Оператор является телом цикла, т. е. одно действие, но с помощью цикла оно выполняется столько, сколько указано в цикле. Соответственно, если мы хотим задать группу операторов, то они помещаются в фигурные скобки.
24: Пример 1. Посчитать сумму чисел от 1 до n. include include using namespace std; void main() int i,s0,n; cout n; for (i1;i
25: Пример 2. Другой вариант решения include include using namespace std; void main() int n,i,s; cout n; for (i1,s0; i
26: Взаимозаменяемость трех видов циклов
27: Взаимозаменяемость трех видов циклов
28: Текстовые файлы Текстовыми называются файлы, состоящие из любых символов. Они организуются по строкам, каждая из которых заканчивается символом «конец строки» (символы с кодами 13 и 10). Конец самого файла обозначается символом «конец файла» (код 26). При записи информации в текстовый файл все данные преобразуются к символьному типу и хранятся в символьном виде. Текстовый файл можно создать и просмотреть с помощью любого текстового редактора
29: Работа с текстовыми файлами в с С (потоковый) Поток — это абстрактное понятие, относящееся к любому переносу данных от источника к приемнику. В программах при работе с текстовыми файлами необходимо подключать библиотеки iostream и fstream. include include using namespace std;
30: Текстовые файлы. Запись Для того чтобы записывать данные в текстовый файл, необходимо: 1) описать переменную типа ofstream: ofstream Fout; 2) открыть файл с помощью функции open. Fout. open(«file», mode); Fout — переменная, описанная как ofstream, file — полное имя файла на диске (ставитcя двойной слеш вместо одинарного: D:sitesaccounts. txt ), mode — режим работы с открываемым файлом. 3) вывести информацию в файл. Fout
31: Режимы работы с файлом ios::in — открыть файл в режиме чтения данных; режим является режимом по умолчанию для потоков ifstream; ios::out — открыть файл в режиме записи данных (при этом информация о существующем файле уничтожается); режим является режимом по умолчанию для потоков ofstream; ios::app — открыть файл в режиме записи данных в конец файла; ios::ate—Перейти к концу файла после открытия . ios::trunc — очистить файл, это же происходит в режиме ios::out;
32: Пример записи в текстовый файл include include using namespace std; void main() int a,b; ofstream f; f. open("a. txt",ios::out); cin ab; f
33: Текстовые файлы. Чтение Для того чтобы прочитать данные из текстового файла, необходимо: 1) описать переменную типа ifstream : ifstream Finp; 2) открыть файл с помощью функции open. Finp. open(«file», mode); Finp — переменная, описанная как ifstream, file — полное имя файла на диске, mode — режим работы с открываемым файлом. 3) считать информацию из файла, при считывании каждой порции данных необходимо проверять, достигнут ли конец файла Finpa; 4) закрыть файл. Finp. close();
34: Пример чтения из файла include include using namespace std; void main() int a,b; ifstream f; f. open("a. txt",ios::in); f ab; cout
35: Пример чтения из файла (конец файла) include include using namespace std; void main() int a; ifstream f; f. open("a. txt",ios::in); while(!f. eof()) f a; cout
36: Задание В текстовом файле input. txt находятся целые числа. Подсчитать количество отрицательных.
37: Решение include include using namespace std; void main() int a, k0; ifstream f; f. open("a. txt",ios::in); while (!f. eof()) f a; If (a
38: Задание Найти все числа Фибоначчи, попадающие в промежуток от a до b. Ответ записать в файл c именем a. tst, располагая по одному числу в строке. Если таких чисел нет, то результирующий файл должен быть создан, но пуст.
39: Решение include include using namespace std; void main() int a,b,f1,f2,f3; ofstream f; cinab; f. open("a. tst",ios::out); f11;f21; while (f2a && f2
40: Задание Дан текстовый файл с именем a. txt, в котором записано несколько натуральных чисел. Посчитать среднее арифметическое чисел, хранимых в файле. Массивы использовать запрещается, а файл для чтения открывать только один раз.
41: Решение include include using namespace std; void main() int n0,s0,a; ifstream f; f. open("a. txt",ios::in); if (f) while (!f. eof()) fa; sa; n; cout
42: Пример 6. Вычислить сумму ряда S122438416…n2n include using namespace std; void main() int i,j,n,s; cin n; for (i1,j2,s0;i