Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 13.11.2015
Сообщений: 2

Циклы: вычисление роста населения

13.11.2015, 14:07. Показов 775. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Подскажите пожалуйста как решить данную проблему.
Надо сделать так, чтобы каждый раз, когда население увеличивается дважды (изначально население = 7 млрд), коэффициент прироста уменьшился в два раза. Вот пример


Population en 2012 : 7.085 ; taux de croissance : 1.2 %
Population en 2013 : 7.17 ; taux de croissance : 1.2 %
Population en 2014 : 7.257 ; taux de croissance : 1.2 %
Population en 2015 : 7.344 ; taux de croissance : 1.2 %
...
Population en 2065 : 13.38 ; taux de croissance : 1.2 %
Population en 2066 : 13.54 ; taux de croissance : 1.2 %
Population en 2067 : 13.71 ; taux de croissance : 1.2 %
Population en 2068 : 13.87 ; taux de croissance : 1.2 %
Population en 2069 : 14.04 ; taux de croissance : 0.6 %
Population en 2070 : 14.12 ; taux de croissance : 0.6 %
Population en 2071 : 14.21 ; taux de croissance : 0.6 %
Population en 2072 : 14.3 ; taux de croissance : 0.6 %
Population en 2073 : 14.38 ; taux de croissance : 0.6 %
...
Population en 2183 : 27.82 ; taux de croissance : 0.6 %
Population en 2184 : 27.99 ; taux de croissance : 0.6 %
Population en 2185 : 28.16 ; taux de croissance : 0.3 %
Population en 2186 : 28.24 ; taux de croissance : 0.3 %
Population en 2187 : 28.33 ; taux de croissance : 0.3 %
Population en 2188 : 28.41 ; taux de croissance : 0.3 %
Population en 2189 : 28.5 ; taux de croissance : 0.3 %
Population en 2190 : 28.59 ; taux de croissance : 0.3 %
Population en 2191 : 28.67 ; taux de croissance : 0.3 %
Population en 2192 : 28.76 ; taux de croissance : 0.3 %
Population en 2193 : 28.84 ; taux de croissance : 0.3 %
Population en 2194 : 28.93 ; taux de croissance : 0.3 %
Population en 2195 : 29.02 ; taux de croissance : 0.3 %


Прилагаю также свой код
C++
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#include <iostream>
#include <iomanip> // pour setprecision()
#include <cmath>   // pour exp()
using namespace std;
 
int main()
{
  // réduire le format d'affichage
  cout << setprecision(4);
 
  constexpr double population_initiale(7.0); // population initiale, en milliard d'humains
  constexpr int    annee_depart(2011);       // année initiale
  double taux(1.2);                          // taux de croissance, en %
 
  int annee(annee_depart);                // année de calcul
  double population(population_initiale); // population mondiale pour l'année 'annee'
 
  cout << "====---- PARTIE 1 ----====" << endl;
  cout << "Population en " << annee << " : " << population
       << endl;
 
  /*****************************************************
   * Compléter le code à partir d'ici
   *****************************************************/
 
  // ===== PARTIE 1 =====
  do{ 
  cout << "Quelle année (> " <<annee_depart 
       << ") ? ";
  cin >> annee;
  } while (annee <= annee_depart); 
  
  population = population_initiale * exp ((annee - annee_depart) *(taux/100));
 
  cout << "Population en " << annee << " : " << population
       << endl;      
       
       
 
  // ===== PARTIE 2 =====
  cout << endl << "====---- PARTIE 2 ----====" << endl;
 
double populationCible(0);
  do{
  cout << "Combien de milliards (> " << population_initiale << ") ? ";
  cin >> populationCible;
}while (populationCible<=population_initiale);
  
  cout << "Population voulue : " <<populationCible<<endl;
  
   int annee1 (2012);
   double populationInitiale1 (7.085);
   double population1 (populationInitiale1);
 
   do {
      
       cout <<"Population en" << annee1 <<  " : "<< population1 << endl;
       
       ++ annee1;
       
       population1 = population_initiale * exp ((annee1 - annee_depart) *(taux/100));
       
       }while (populationCible >= population1);
       cout <<"Population en" << annee1 <<  " : "<< population1 << endl;
 
 
 
 
  // ===== PARTIE 3 =====
  cout << endl << "====---- PARTIE 3 ----====" << endl;
  int annee2 (2012);
  
  
   double population2 (7.085);
   
   
  do {
      
     if ((population2>=population_initiale*2) and (population2<=populationCible)){
         taux = taux/2;
     }
       cout <<"Population en" << annee2 <<  " : "<< population2 << " ; taux de croissance : " << taux<< " %" << endl;
       
       ++ annee2;
    
       
       population2 = population_initiale * exp ((annee2 - annee_depart) *(taux/100));
   
  
      
       
    
       
       }while ( population2 <=populationCible);
       cout <<"Population en" << annee2 <<  " : "<< population2 << endl;
    
 
    
 
  
 
  /*******************************************
   * Ne rien modifier après cette ligne.
   *******************************************/
 
  return 0;
}
полное задание можно найти по ссылке (снизу на английском)
https://class.coursera.org/ini... t_id=13#en
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.11.2015, 14:07
Ответы с готовыми решениями:

Цикл, вычисление среднего роста
Всем Привет! Мое задание: Задано n количество студентов. Нужно узнать средний рост. В Общем мне нужно составить так код, что бы я ввел, к...

Известны данные о численности населения и площадь.Определить плотность населения
Известны данные о численности населения (в млн жителей) и площади (в тысячах квадратных километров) 5 государств. Определить максимальную...

Даны результаты переписи населения. Покажите список населения которые родились после 1990года.
Даны результаты переписи населения. Покажите список населения которые родились после 1990года. Также покажите число такого населения.

2
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
13.11.2015, 14:25
Цитата Сообщение от Kvlkv Посмотреть сообщение
if ((population2>=population_initiale*2) and (population2<=populationCible))
and на && замените
0
0 / 0 / 0
Регистрация: 13.11.2015
Сообщений: 2
13.11.2015, 14:32  [ТС]
Спасибо за ответ, но ведь && и and одинаковые функции имеют... я, конечно, попробовала заменить, но это не помогло, цикл все равно получается бесконечным
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.11.2015, 14:32
Помогаю со студенческими работами здесь

Расставить учащихся с указаниям роста. Выяснить, перечислены ли ученики в списке в порядке убывания их роста
Имеется список учащихся класса с указанием роста каждого из них. Выяснить, перечислены ли ученики в списке в порядке убывания их роста.

Исправить задачу (написать прогу, которая запрашивает численность населения Земли и численность населения США)
Задача: написать прогу, которая запрашивает численность населения Земли и численность населения США. Сохранить информацию в переменных типа...

вычисление погрешности - циклы.
Задание во вложении. мой код приложен. не правильно работает ряд, точнее его накопление, на сколько я понимаю - поправте что ни так.. ...

Циклы: вычисление синуса
Приступил к циклам. Задание такое: Как известно, функция sin(x) может может быть вычислена в виде ряда ...

Класс Государство (вычисление плотности населения, отношения числа жителей столицы к общей численности населения)
Помогите составить прогу: Напишите программу, которая будет включать описание указанного ниже класса, создаст и инициализирует экземпляр...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru