🗊Презентация Алгоритмизация и программирование (Лекция 4)

Нажмите для полного просмотра!
Алгоритмизация и программирование (Лекция 4), слайд №1Алгоритмизация и программирование (Лекция 4), слайд №2Алгоритмизация и программирование (Лекция 4), слайд №3Алгоритмизация и программирование (Лекция 4), слайд №4Алгоритмизация и программирование (Лекция 4), слайд №5Алгоритмизация и программирование (Лекция 4), слайд №6Алгоритмизация и программирование (Лекция 4), слайд №7Алгоритмизация и программирование (Лекция 4), слайд №8Алгоритмизация и программирование (Лекция 4), слайд №9Алгоритмизация и программирование (Лекция 4), слайд №10Алгоритмизация и программирование (Лекция 4), слайд №11Алгоритмизация и программирование (Лекция 4), слайд №12Алгоритмизация и программирование (Лекция 4), слайд №13Алгоритмизация и программирование (Лекция 4), слайд №14Алгоритмизация и программирование (Лекция 4), слайд №15Алгоритмизация и программирование (Лекция 4), слайд №16Алгоритмизация и программирование (Лекция 4), слайд №17Алгоритмизация и программирование (Лекция 4), слайд №18Алгоритмизация и программирование (Лекция 4), слайд №19Алгоритмизация и программирование (Лекция 4), слайд №20Алгоритмизация и программирование (Лекция 4), слайд №21Алгоритмизация и программирование (Лекция 4), слайд №22Алгоритмизация и программирование (Лекция 4), слайд №23Алгоритмизация и программирование (Лекция 4), слайд №24Алгоритмизация и программирование (Лекция 4), слайд №25Алгоритмизация и программирование (Лекция 4), слайд №26Алгоритмизация и программирование (Лекция 4), слайд №27Алгоритмизация и программирование (Лекция 4), слайд №28Алгоритмизация и программирование (Лекция 4), слайд №29Алгоритмизация и программирование (Лекция 4), слайд №30Алгоритмизация и программирование (Лекция 4), слайд №31Алгоритмизация и программирование (Лекция 4), слайд №32Алгоритмизация и программирование (Лекция 4), слайд №33Алгоритмизация и программирование (Лекция 4), слайд №34Алгоритмизация и программирование (Лекция 4), слайд №35Алгоритмизация и программирование (Лекция 4), слайд №36Алгоритмизация и программирование (Лекция 4), слайд №37Алгоритмизация и программирование (Лекция 4), слайд №38Алгоритмизация и программирование (Лекция 4), слайд №39Алгоритмизация и программирование (Лекция 4), слайд №40Алгоритмизация и программирование (Лекция 4), слайд №41Алгоритмизация и программирование (Лекция 4), слайд №42

Содержание

Вы можете ознакомиться и скачать презентацию на тему Алгоритмизация и программирование (Лекция 4). Доклад-сообщение содержит 42 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Алгоритмизация и программирование (Лекция 4), слайд №1
Описание слайда:

Слайд 2





Алгоритмизация и программирование I
 Лекция  4
Описание слайда:
Алгоритмизация и программирование I Лекция 4

Слайд 3


Алгоритмизация и программирование (Лекция 4), слайд №3
Описание слайда:

Слайд 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 --;
Описание слайда:
Повторение Сколько раз выполняется цикл и почему? а) 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 --;

Слайд 5


Алгоритмизация и программирование (Лекция 4), слайд №5
Описание слайда:

Слайд 6





ОТВЕТ
А) 2 раза
Б) 0 раз
В) зацикливание
Описание слайда:
ОТВЕТ А) 2 раза Б) 0 раз В) зацикливание

Слайд 7





Постановка задачи

Числовым рядом называется бесконечная сумма S некоторой последовательности.
Описание слайда:
Постановка задачи Числовым рядом называется бесконечная сумма S некоторой последовательности.

Слайд 8





Найти сумму первых N слагаемых
Найти сумму первых N слагаемых
Найти сумму первых слагаемых, больших заданной величины (найти сумму с заданной точностью)
Замечание.  Вычисления организовать оптимально за минимальное число операций умножения и деления.
Описание слайда:
Найти сумму первых N слагаемых Найти сумму первых N слагаемых Найти сумму первых слагаемых, больших заданной величины (найти сумму с заданной точностью) Замечание. Вычисления организовать оптимально за минимальное число операций умножения и деления.

Слайд 9


Алгоритмизация и программирование (Лекция 4), слайд №9
Описание слайда:

Слайд 10





Все суммы можно разделить на три группы:
Все суммы можно разделить на три группы:
каждое слагаемое вычисляется самостоятельно;
 очередное слагаемое вычисляется через предыдущее;
часть очередного слагаемого вычисляется через часть предыдущего слагаемого
Описание слайда:
Все суммы можно разделить на три группы: Все суммы можно разделить на три группы: каждое слагаемое вычисляется самостоятельно; очередное слагаемое вычисляется через предыдущее; часть очередного слагаемого вычисляется через часть предыдущего слагаемого

Слайд 11





Порядок решения задачи
Выписать формулу общего слагаемого
Определить к какой группе относится сумма
Написать программу
Описание слайда:
Порядок решения задачи Выписать формулу общего слагаемого Определить к какой группе относится сумма Написать программу

Слайд 12


Алгоритмизация и программирование (Лекция 4), слайд №12
Описание слайда:

Слайд 13


Алгоритмизация и программирование (Лекция 4), слайд №13
Описание слайда:

Слайд 14


Алгоритмизация и программирование (Лекция 4), слайд №14
Описание слайда:

Слайд 15


Алгоритмизация и программирование (Лекция 4), слайд №15
Описание слайда:

Слайд 16


Алгоритмизация и программирование (Лекция 4), слайд №16
Описание слайда:

Слайд 17





#include <iostream>
#include <iostream>
#include <iomanip>
using namespace std;
void main()
{
	int i,n;
	double x,a,s,b;
	cin >>x>>n;
	s=1;
	a=1;
	for (i=1;i<n;i++)
	{
     a=-a*x*x/((2*i-1)*2*i);
     s=s+a;
	}
	cout <<setprecision(5)<<fixed<<s<<endl;
}
Описание слайда:
#include <iostream> #include <iostream> #include <iomanip> using namespace std; void main() { int i,n; double x,a,s,b; cin >>x>>n; s=1; a=1; for (i=1;i<n;i++) { a=-a*x*x/((2*i-1)*2*i); s=s+a; } cout <<setprecision(5)<<fixed<<s<<endl; }

Слайд 18





#include <iostream>
#include <iostream>
#include <iomanip>
using namespace std;
void main()
{
	int i,n;
	double x,a,s,b;
	cin >>x>>n;
	s=1; 	a=1;
	for (i=1;i<n;i++)
	{
	  b=2*I;
             a=-a*x*x/((b-1)*b);
             s=s+a;
	}
	cout <<setprecision(5)<<fixed<<s<<endl;
}
Описание слайда:
#include <iostream> #include <iostream> #include <iomanip> using namespace std; void main() { int i,n; double x,a,s,b; cin >>x>>n; s=1; a=1; for (i=1;i<n;i++) { b=2*I; a=-a*x*x/((b-1)*b); s=s+a; } cout <<setprecision(5)<<fixed<<s<<endl; }

Слайд 19





#include <iostream>
#include <iostream>
#include <iomanip>
using namespace std;
void main()
{
	int i,n;
	double x,a,s,b;
	cin >>x>>n;
	s=1; 	a=1; b=0;
	for (i=1;i<n;i++)
	{
	  b+=2;
             a=-a*x*x/((b-1)*b);
             s=s+a;
	}
	cout <<setprecision(5)<<fixed<<s<<endl;
}
Описание слайда:
#include <iostream> #include <iostream> #include <iomanip> using namespace std; void main() { int i,n; double x,a,s,b; cin >>x>>n; s=1; a=1; b=0; for (i=1;i<n;i++) { b+=2; a=-a*x*x/((b-1)*b); s=s+a; } cout <<setprecision(5)<<fixed<<s<<endl; }

Слайд 20





#include <iostream>
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
void main()
{
	int i,n;
	double x,a,s,b, eps;
	cin >>x>>eps;
	s=0; 	a=1; i=1;
	while (fabs(a)>eps)
	{
	  s+=a;
	  i++
             b=2*I;
             a=-a*x*x/((b-1)*b);
	}
	cout <<setprecision(5)<<fixed<<s<<endl;
}
Описание слайда:
#include <iostream> #include <iostream> #include <iomanip> #include <math.h> using namespace std; void main() { int i,n; double x,a,s,b, eps; cin >>x>>eps; s=0; a=1; i=1; while (fabs(a)>eps) { s+=a; i++ b=2*I; a=-a*x*x/((b-1)*b); } cout <<setprecision(5)<<fixed<<s<<endl; }

Слайд 21





#include <iostream>
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
void main()
{
	int i,n;
	double x,a,s,b, eps;
	cin >>x>>eps;
	s=0; 	a=1; i=1;
	for (i=2;fabs(a)>eps;i++)
	{
	 s+=a;
	 b=2*I;
            a=-a*x*x/((b-1)*b);
	}
	cout <<setprecision(5)<<fixed<<s<<endl;
}
Описание слайда:
#include <iostream> #include <iostream> #include <iomanip> #include <math.h> using namespace std; void main() { int i,n; double x,a,s,b, eps; cin >>x>>eps; s=0; a=1; i=1; for (i=2;fabs(a)>eps;i++) { s+=a; b=2*I; a=-a*x*x/((b-1)*b); } cout <<setprecision(5)<<fixed<<s<<endl; }

Слайд 22


Алгоритмизация и программирование (Лекция 4), слайд №22
Описание слайда:

Слайд 23





Цикл с параметром
for (инициализация; выражение; модификации) оператор;
Инициализация – это действие, когда переменной присваиваем начальное значение, т.е. значение с которого наш цикл начинает работать. Можно инициализировать сразу несколько переменных. В этом случае используется операция «запятая»
.
Выражение определяет условие продолжения цикла: если его результат, приведенный к типу bool, равен true, цикл выполняется.
Модификация – это действие, которое осуществляется в процессе работы цикла. В части модификаций тоже можно написать несколько операторов через запятую.
Любая из частей может быть пропущена, но точки с запятой должны стоять на своих местах. 
Оператор является телом цикла, т.е. одно действие, но с помощью цикла оно выполняется столько, сколько указано в цикле. Соответственно, если мы хотим задать группу операторов, то они помещаются в фигурные скобки.
Описание слайда:
Цикл с параметром for (инициализация; выражение; модификации) оператор; Инициализация – это действие, когда переменной присваиваем начальное значение, т.е. значение с которого наш цикл начинает работать. Можно инициализировать сразу несколько переменных. В этом случае используется операция «запятая» . Выражение определяет условие продолжения цикла: если его результат, приведенный к типу bool, равен true, цикл выполняется. Модификация – это действие, которое осуществляется в процессе работы цикла. В части модификаций тоже можно написать несколько операторов через запятую. Любая из частей может быть пропущена, но точки с запятой должны стоять на своих местах. Оператор является телом цикла, т.е. одно действие, но с помощью цикла оно выполняется столько, сколько указано в цикле. Соответственно, если мы хотим задать группу операторов, то они помещаются в фигурные скобки.

Слайд 24





Пример 1. Посчитать сумму чисел от 1 до n. 
#include <stdio.h>
#include <iostream>
using namespace std;
void main()
{
  int i,s=0,n;
  cout <<"n=";
  cin >>n;
  for (i=1;i<=n;i++) s=s+i;
  cout <<"s="<< s<<endl;
}
Описание слайда:
Пример 1. Посчитать сумму чисел от 1 до n. #include <stdio.h> #include <iostream> using namespace std; void main() { int i,s=0,n; cout <<"n="; cin >>n; for (i=1;i<=n;i++) s=s+i; cout <<"s="<< s<<endl; }

Слайд 25





Пример 2. Другой вариант решения
#include <stdio.h>
#include <iostream>
using namespace std;
void main()
{
  int n,i,s;
  cout <<"n=";
  cin >>n;
  for (i=1,s=0; i<=n; i++) s += i;
  cout<<"s="<<s;
}
или
 i=s=0;
 for (; i<n; s +=++i) ;
Описание слайда:
Пример 2. Другой вариант решения #include <stdio.h> #include <iostream> using namespace std; void main() { int n,i,s; cout <<"n="; cin >>n; for (i=1,s=0; i<=n; i++) s += i; cout<<"s="<<s; } или i=s=0; for (; i<n; s +=++i) ;

Слайд 26





Взаимозаменяемость трех видов циклов
Описание слайда:
Взаимозаменяемость трех видов циклов

Слайд 27





Взаимозаменяемость трех видов циклов
Описание слайда:
Взаимозаменяемость трех видов циклов

Слайд 28





Текстовые файлы
Текстовыми называются файлы, состоящие из любых символов. 
Они организуются по строкам, каждая из которых заканчивается символом «конец строки» (символы с кодами 13 и 10). 
Конец самого файла обозначается символом «конец файла» (код 26). 
При записи информации в текстовый файл все данные преобразуются к символьному типу и хранятся в символьном виде. 
Текстовый файл можно создать и просмотреть с помощью любого текстового редактора
Описание слайда:
Текстовые файлы Текстовыми называются файлы, состоящие из любых символов. Они организуются по строкам, каждая из которых заканчивается символом «конец строки» (символы с кодами 13 и 10). Конец самого файла обозначается символом «конец файла» (код 26). При записи информации в текстовый файл все данные преобразуются к символьному типу и хранятся в символьном виде. Текстовый файл можно создать и просмотреть с помощью любого текстового редактора

Слайд 29





Работа с текстовыми файлами в с С++ (потоковый)
Поток — это абстрактное понятие, относящееся к любому переносу данных от источника к приемнику.
В программах при работе с текстовыми файлами необходимо подключать библиотеки iostream и fstream.
#include <iostream>
#include <fstream>
using namespace std;
Описание слайда:
Работа с текстовыми файлами в с С++ (потоковый) Поток — это абстрактное понятие, относящееся к любому переносу данных от источника к приемнику. В программах при работе с текстовыми файлами необходимо подключать библиотеки iostream и fstream. #include <iostream> #include <fstream> using namespace std;

Слайд 30





Текстовые файлы. Запись
Для того чтобы записывать данные в текстовый файл, необходимо:
1) описать переменную типа ofstream: 
	ofstream Fout;
2) открыть файл с помощью функции open.
	Fout.open(«file», mode);
		Fout — переменная, описанная как ofstream, 
		file — полное имя файла на диске (ставитcя двойной слеш вместо одинарного: D:\\sites\\accounts.txt ),
		mode — режим работы с открываемым файлом. 
3) вывести информацию в файл.
	Fout<<a;	 Fout<<b<<c<<d;
4) обязательно закрыть файл.
	Fout.close();
Описание слайда:
Текстовые файлы. Запись Для того чтобы записывать данные в текстовый файл, необходимо: 1) описать переменную типа ofstream: ofstream Fout; 2) открыть файл с помощью функции open. Fout.open(«file», mode); Fout — переменная, описанная как ofstream, file — полное имя файла на диске (ставитcя двойной слеш вместо одинарного: D:\\sites\\accounts.txt ), mode — режим работы с открываемым файлом. 3) вывести информацию в файл. Fout<<a; Fout<<b<<c<<d; 4) обязательно закрыть файл. Fout.close();

Слайд 31





Режимы работы с файлом
ios::in — открыть файл в режиме чтения данных; режим является режимом по умолчанию для потоков ifstream;
ios::out — открыть файл в режиме записи данных (при этом информация о существующем файле уничтожается); режим является режимом по умолчанию для потоков ofstream;
ios::app — открыть файл в режиме записи данных в конец файла;
ios::ate—Перейти к концу файла после открытия .
ios::trunc — очистить файл, это же происходит в режиме ios::out;
Описание слайда:
Режимы работы с файлом ios::in — открыть файл в режиме чтения данных; режим является режимом по умолчанию для потоков ifstream; ios::out — открыть файл в режиме записи данных (при этом информация о существующем файле уничтожается); режим является режимом по умолчанию для потоков ofstream; ios::app — открыть файл в режиме записи данных в конец файла; ios::ate—Перейти к концу файла после открытия . ios::trunc — очистить файл, это же происходит в режиме ios::out;

Слайд 32





Пример записи в текстовый файл
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
	int a,b;
	ofstream f;
	f.open("a.txt",ios::out);
	cin >>a>>b;
	f<<a<<b;
	f.close();
}
Описание слайда:
Пример записи в текстовый файл #include <iostream> #include <fstream> using namespace std; void main() { int a,b; ofstream f; f.open("a.txt",ios::out); cin >>a>>b; f<<a<<b; f.close(); }

Слайд 33





Текстовые файлы. Чтение
Для того чтобы прочитать данные из текстового файла, необходимо:
1) описать переменную типа ifstream : 
	 ifstream Finp;
2) открыть файл с помощью функции open.
	Finp.open(«file», mode);
		Finp — переменная, описанная как ifstream, 
		file — полное имя файла на диске,
		mode — режим работы с открываемым файлом. 
3) считать информацию из файла, при считывании каждой порции данных необходимо проверять, достигнут ли конец файла
	Finp>>a;
4) закрыть файл.
	Finp.close();
Описание слайда:
Текстовые файлы. Чтение Для того чтобы прочитать данные из текстового файла, необходимо: 1) описать переменную типа ifstream : ifstream Finp; 2) открыть файл с помощью функции open. Finp.open(«file», mode); Finp — переменная, описанная как ifstream, file — полное имя файла на диске, mode — режим работы с открываемым файлом. 3) считать информацию из файла, при считывании каждой порции данных необходимо проверять, достигнут ли конец файла Finp>>a; 4) закрыть файл. Finp.close();

Слайд 34





Пример чтения из файла
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
	int a,b;
	ifstream f;
	f.open("a.txt",ios::in);
	f >>a>>b;
	cout<<a<<b;
	f.close();
}
Описание слайда:
Пример чтения из файла #include <iostream> #include <fstream> using namespace std; void main() { int a,b; ifstream f; f.open("a.txt",ios::in); f >>a>>b; cout<<a<<b; f.close(); }

Слайд 35





Пример чтения из файла (конец файла)
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
	int a;
	ifstream f;
	f.open("a.txt",ios::in);
     while(!f.eof())
	{
		f >>a;
		cout<<a<<‘\t’;
	}
	f.close();
}
Описание слайда:
Пример чтения из файла (конец файла) #include <iostream> #include <fstream> using namespace std; void main() { int a; ifstream f; f.open("a.txt",ios::in); while(!f.eof()) { f >>a; cout<<a<<‘\t’; } f.close(); }

Слайд 36





Задание
В текстовом файле input.txt находятся целые числа. Подсчитать количество отрицательных.
Описание слайда:
Задание В текстовом файле input.txt находятся целые числа. Подсчитать количество отрицательных.

Слайд 37





Решение
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
	int a, k=0;
	ifstream f;
	f.open("a.txt",ios::in);
    while (!f.eof())
     {
	   	 f >>a;
      	 If (a<0) k++;
     }
	cout<<k;
	f.close();
}
Описание слайда:
Решение #include <iostream> #include <fstream> using namespace std; void main() { int a, k=0; ifstream f; f.open("a.txt",ios::in); while (!f.eof()) { f >>a; If (a<0) k++; } cout<<k; f.close(); }

Слайд 38





Задание
Найти все числа Фибоначчи, попадающие в промежуток от a до b. Ответ записать в файл c именем a.tst, располагая по одному числу в строке. Если таких чисел нет, то результирующий файл должен быть создан, но пуст.
Описание слайда:
Задание Найти все числа Фибоначчи, попадающие в промежуток от a до b. Ответ записать в файл c именем a.tst, располагая по одному числу в строке. Если таких чисел нет, то результирующий файл должен быть создан, но пуст.

Слайд 39





Решение
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
  int a,b,f1,f2,f3;
  ofstream f;
  cin>>a>>b; 
  f.open("a.tst",ios::out);
  f1=1;f2=1;
  while (f2<=b)
  {
    if (f2>=a && f2<=b) f<<f2<<"\n";
	f3=f2+f1;
	f1=f2;
	f2=f3;
  }
  f.close();
}
Описание слайда:
Решение #include <iostream> #include <fstream> using namespace std; void main() { int a,b,f1,f2,f3; ofstream f; cin>>a>>b; f.open("a.tst",ios::out); f1=1;f2=1; while (f2<=b) { if (f2>=a && f2<=b) f<<f2<<"\n"; f3=f2+f1; f1=f2; f2=f3; } f.close(); }

Слайд 40





Задание
Дан текстовый файл с именем a.txt, в котором записано несколько натуральных чисел. Посчитать среднее арифметическое чисел, хранимых в файле. Массивы использовать запрещается, а файл для чтения открывать только один раз.
Описание слайда:
Задание Дан текстовый файл с именем a.txt, в котором записано несколько натуральных чисел. Посчитать среднее арифметическое чисел, хранимых в файле. Массивы использовать запрещается, а файл для чтения открывать только один раз.

Слайд 41





Решение
#include <iostream>
#include <fstream>
using namespace std;
void main()
{
  int n=0,s=0,a;
  ifstream f;
  f.open("a.txt",ios::in);
  if (f)
  {
	while (!f.eof())
	{
		  f>>a;
		 s+=a;
		n++;
	}
	cout<<(double(s)/n);
  }
  else cout<< "Not file!";
  f.close();
}
Описание слайда:
Решение #include <iostream> #include <fstream> using namespace std; void main() { int n=0,s=0,a; ifstream f; f.open("a.txt",ios::in); if (f) { while (!f.eof()) { f>>a; s+=a; n++; } cout<<(double(s)/n); } else cout<< "Not file!"; f.close(); }

Слайд 42





Пример 6. Вычислить сумму ряда S=1*2+2*4+3*8+4*16+…+n*2n

#include <iostream>
using namespace std;
void main()
{
	int i,j,n,s;
	cin >>n;
	for (i=1,j=2,s=0;i<=n;i++,j=j*2)
     s=s+i*j;
	cout <<s;
}
Описание слайда:
Пример 6. Вычислить сумму ряда S=1*2+2*4+3*8+4*16+…+n*2n #include <iostream> using namespace std; void main() { int i,j,n,s; cin >>n; for (i=1,j=2,s=0;i<=n;i++,j=j*2) s=s+i*j; cout <<s; }



Похожие презентации
Mypresentation.ru
Загрузить презентацию