Презентация - "Презентация "Программирование циклических алгоритмов""
- Презентации / Другие презентации
- 3
- 12.03.23
Просмотреть и скачать презентацию на тему "Презентация "Программирование циклических алгоритмов""
Задача1
Леспромхоз ведёт заготовку деловой древесины. Её первоначальный объём на территории леспромхоза был равен 120000 м3. Ежегодный естественный прирост составляет 5,5%. Годовой план заготовки древесины - 9500 м3.
Через сколько лет объём деловой древесины на данной территории достигнет минимально допустимого значения - 23000 м3 и заготовку леса придётся прекратить.
1) Переменные:
v – объем древесины (double)
k – количество лет (int)
2) Первоначальные значения:
v=120 000
k=0
3) Тело цикла:
v = v + v*0.055 - 9500
(v = 1.055*v - 9500)
k++
(k=k+1)
4) Условие продолжения цикла:
v > 23 000
5) Результат:
k
Леспромхоз ведёт заготовку деловой древесины. Её первоначальный объём на территории леспромхоза был равен 120000 м3. Ежегодный естественный прирост составляет 5,5%. Годовой план заготовки древесины - 9500 м3. Через сколько лет объём деловой древесины на данной территории достигнет минимально допустимого значения - 23000 м3 и заготовку леса придётся прекратить.
#include <iostream>
using namespace std;
int main()
{
int k=0;
double v=120000;
while (v>23000)
{
v=1.055*v-9500;
k++;
}
cout<<k;
}
Задача 2
Найдите сумму четных цифр и количество нечетных цифр натурального числа N.
Входные данные:
12345
Выходные данные:
s=6
k=3
1) Переменные:
x – число (int)
d – цифра числа (int)
k – количество нечетных цифр (int)
s – сумма четных цифр (int)
2) Первоначальные значения:
s=0
k=0
3) Тело цикла:
Найти цифру в числе
(d=x%10)
Если цифра четная, то увеличить сумму на d
иначе
увеличить количество на 1
Уменьшить х в 10 раз (отсечь последнюю цифру)
4) Условие продолжения цикла:
x > 0
5) Результат:
s, k
Найдите сумму четных цифр и количество нечетных цифр натурального числа N.
#include <iostream>
using namespace std;
int main()
{
int k=0, s=0,d,x;
cin >> x;
while (x>0)
{
d=x%10;
if (d%2==0)s=s+d;
else k++;
x=x/10;
}
cout<<"s="<<s<<endl;
cout<<"k="<<k;
}
Задача 3
Напишите программу, которая вводит с клавиатуры числа до тех пор, пока не будет введено число 0. В конце работы программы на экран выводится сумма и произведение введенных чисел (не считая 0).
Входные данные:
1 2 3 4 5 0
Выходные данные:
s=15
p=120
1) Переменные:
x – число (int)
s – сумма чисел (int)
p – произведение чисел(int)
2) Первоначальные значения:
s=0
p=1
Ввести первое значение x
3) Тело цикла:
Сумму увеличить на х
Произведение увеличить в х раз
Ввести новое значение x
4) Условие продолжения цикла:
x != 0
5) Результат:
s, p
Напишите программу, которая вводит с клавиатуры числа до тех пор, пока не будет введено число 0. В конце работы программы на экран выводится сумма и произведение введенных чисел (не считая 0).
#include <iostream>
using namespace std;
int main()
{
int p=1, s=0,x;
cin >> x;
while (x!=0)
{
s=s+x;
p=p*x;
cin >> x;
}
cout<<"s="<<s<<endl;
cout<<"p="<<p;
}
Задача 4
Алгоритм Евклида для вычисления наибольшего общего делителя двух натуральных чисел, формулируется так: нужно заменять большее число на разность большего и меньшего до тех пор, пока первое число не станет равно второму; тогда второе и есть НОД. Напишите программу, которая реализует этот алгоритм.
Алгоритм Евклида для вычисления наибольшего общего делителя двух натуральных чисел, формулируется так: нужно заменять большее число на разность большего и меньшего до тех пор, пока одно из них не станет равно второму; тогда второе и есть НОД. Напишите программу, которая реализует этот алгоритм.
Пусть A=56, B=24
32 24
+
+
8 24
+
8 16
+
8 8
-
Алгоритм Евклида для вычисления наибольшего общего делителя двух натуральных чисел, формулируется так: нужно заменять большее число на разность большего и меньшего до тех пор, пока одно из них не станет равно второму; тогда второе и есть НОД. Напишите программу, которая реализует этот алгоритм.
1) Переменные:
А, В – числа (int)
N – НОД (А, В) (int)
2) Первоначальные значения:
3) Тело цикла:
Если А > B, то А уменьшить на В
Если В > А, то В уменьшить на А
4) Условие продолжения цикла:
А != В
5) Результат:
В (или А)
#include <iostream>
using namespace std;
int main()
{
int A, B, N;
cin>>A>>B;
while (A!=B)
{
if (A>B) A=A-B;
if (B>A) B=B-A;
}
N=B;
cout<<N;
}
Задача 5
По данному целому числу N распечатайте все квадраты натуральных чисел, не превосходящие N, в порядке возрастания.
Входные данные
25
Выходные данные
1 4 9 16 25
По данному целому числу N распечатайте все квадраты натуральных чисел, не превосходящие N, в порядке возрастания.
1) Переменные:
N – число, до которого будут выводиться квадраты (int)
x – текущее число, квадрат которого будет выводиться(int)
2) Первоначальные значения:
3) Тело цикла:
Вывести квадрат x
Увеличить x на 1
4) Условие продолжения цикла:
x*x <= N
5) Результат:
x=1
#include <iostream>
using namespace std;
int main()
{
int x=1, N;
cin >> N;
while (x*x<=N)
{
cout<<x*x<<' ';
x++;
}
}
Список задач для самостоятельного решения
Дано натуральное число N. Определить количество нулей среди всех цифр числа N.
Модифицированный алгоритм Евклида для вычисления наибольшего общего делителя двух натуральных чисел, формулируется так: нужно заменять большее число на остаток от деления большего на меньшее до тех пор, пока остаток не станет равно нулю; тогда второе число и есть НОД. Напишите программу, которая реализует этот алгоритм.
Программа получает на вход последовательность целых неотрицательных чисел, каждое число записано в отдельной строке. Последовательность завершается числом 0, при считывании которого программа должна закончить свою работу и вывести количество членов последовательности (не считая завершающего числа 0). Числа, следующие за числом 0, считывать не нужно.
Определите среднее значение всех элементов последовательности, завершающейся числом 0.
Определите количество четных элементов в последовательности, завершающейся числом 0.
Последовательность состоит из натуральных чисел и завершается числом 0. Определите, сколько элементов этой последовательности больше предыдущего элемента.
Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый день он увеличивал дневную норму на 10% нормы предыдущего дня. Какой суммарный путь пробежит спортсмен за 7 дней
Дано натуральное число N. Определить , встречается ли в числе N цифра 2.
По данному целому числу N распечатайте четные натуральные числа, не превосходящие N, в порядке возрастания.
Урожайность зерна с 1 гектара составляет x центнеров. Каждый год урожайность повышается на 5%. Через сколько лет урожай удвоится?