Слайд 1 Слайд 2 Слайд 3 Слайд 4 Слайд 5 Слайд 6 Слайд 7 Слайд 8 Слайд 9 Слайд 10 Слайд 11 Слайд 12 Слайд 13 Слайд 14 Слайд 15 Слайд 16 Слайд 17 Слайд 18 Слайд 19 Слайд 20 Слайд 21 Слайд 22 Слайд 23 Слайд 24 Слайд 25 Слайд 26 Слайд 27 Слайд 28 Слайд 29 Слайд 30 Слайд 31 Слайд 32 Слайд 33 Слайд 34 Слайд 35 Слайд 36 Слайд 37 Слайд 38 Слайд 39 Слайд 40 Слайд 41 Слайд 42
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