Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
zerty
0 / 0 / 1
Регистрация: 18.11.2013
Сообщений: 20
1

вычислить прирост населения(задача практически решена)

18.12.2013, 00:27. Просмотров 1517. Ответов 18
Метки нет (Все метки)

Прежде всего заранее спасибо за помощь.
Условие задачи.
Население страны составляет M млн. чел. Прогнозируется ежегодная рождаемость p% от численности населения и смертность q%.Вычислить ежегодный прирост населения в течение ближайших N лет.
Код программы
Pascal
1
2
3
4
5
6
7
8
9
10
11
 var M,p,q,R:real;N,i:integer;
Writeln('Input M,p,q,N);
Readln(M,p,q,N);
R:=M;
for i:=1 to N do
begin
R:=R+R*(p-q)/100;
Writeln(i,'      ',R:5:2);
end;
 readln
end.
Знаю задача очень легкая(для вас),но я не смог её решить до конца. Возникла проблема с нахождением прироста населения(надо что бы программа выдавала только прирост ,а не численность)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.12.2013, 00:27
Ответы с готовыми решениями:

Задача решена в Paskal, а блок схемы нету!
Даны два множества М и N, состоящие из 10 целых чисел из диапазона 1..100. Из данных множеств...

задача на множества, если она уже решена то прошу ссылку
. Напечатать текст, за которым следует точка. В алфавитном порядке напечатать все строчные русские...

Необходимо составить блок-схему.Задача решена
Помогите,пож-та, составить блок-схему . Задача решена. program nood; uses crt; var a,b:longint;...

[Цикл] Найти делители числа (задача уже решена, но где-то ошибка)
Вот собственно попробовал решить (нужно решить с помощью while), но видимо где-то ошибка: ...

Определить прирост населения
В 1992 году население города составляло 850 тысяч человек. Сколько прогноз численности населения на...

18
grom_oleg
21 / 21 / 7
Регистрация: 24.01.2013
Сообщений: 129
18.12.2013, 00:35 2
Цитата Сообщение от zerty Посмотреть сообщение
Прежде всего заранее спасибо за помощь.
Условие задачи.
Население страны составляет M млн. чел. Прогнозируется ежегодная рождаемость p% от численности населения и смертность q%.Вычислить ежегодный прирост населения в течение ближайших N лет.
Код программы
var M,p,q,R:real;N,i:integer;
Writeln('Input M,p,q,N);
Readln(M,p,q,N);
R:=M;
for i:=1 to N do
begin
R:=R+R*(p-q)/100;
Writeln(i,' ',R:5:2);
end;
readln
end.

Знаю задача очень легкая(для вас),но я не смог её решить до конца. Возникла проблема с нахождением прироста населения(надо что бы программа выдавала только прирост ,а не численность)
poprobuyte vivesti write(R*(p-q)/100:5:2)
0
zerty
0 / 0 / 1
Регистрация: 18.11.2013
Сообщений: 20
18.12.2013, 00:47  [ТС] 3
К сожалению выводит значения, которые не являются правильными:52.5055.1357.8860.7863.81.

Добавлено через 5 минут
Я пробовал после R:=R+R*(p-q)/100;
добавить R:=R-M(что бы получить только прирост),но цикл проходил не так как я бы хотел из-за изменение R(то есть первый остаток он считал правильно, а остальные нет)
0
grom_oleg
21 / 21 / 7
Регистрация: 24.01.2013
Сообщений: 129
18.12.2013, 00:58 4
Цитата Сообщение от zerty Посмотреть сообщение
К сожалению выводит значения, которые не являются правильными:52.5055.1357.8860.7863.81.

Добавлено через 5 минут
Я пробовал после R:=R+R*(p-q)/100;
добавить R:=R-M(что бы получить только прирост),но цикл проходил не так как я бы хотел из-за изменение R(то есть первый остаток он считал правильно, а остальные нет)

Poprobuyte write do prisvoeniya R t.e. do R:=R+R*(p-q)/100
Ya seychas s telefona poetomu tochno skazhu zavtra

Добавлено через 2 минуты
Pascal
1
2
3
4
5
6
7
8
9
10
11
var M,p,q,R:real;N,i:integer;
Writeln('Input M,p,q,N');
Readln(M,p,q,N);
R:=M;
for i:=1 to N do
begin 
writeln(R*(p-q)/100:5:2);
R:=R+R*(p-q)/100;
end;
readln
end.
vot tak imeyu vvidu
0
18.12.2013, 00:58
zerty
0 / 0 / 1
Регистрация: 18.11.2013
Сообщений: 20
18.12.2013, 01:07  [ТС] 5
Цитата Сообщение от grom_oleg Посмотреть сообщение
Poprobuyte write do prisvoeniya R t.e. do R:=R+R*(p-q)/100
Ya seychas s telefona poetomu tochno skazhu zavtra

Добавлено через 2 минуты
var M,p,q,R:real;N,i:integer;
Writeln('Input M,p,q,N);
Readln(M,p,q,N);
R:=M;
for i:=1 to N do
begin
writeln(R*(p-q)/100:5:2);
R:=R+R*(p-q)/100;
end;
readln
end.
vot tak imeyu vvidu

результат такой же
0
grom_oleg
21 / 21 / 7
Регистрация: 24.01.2013
Сообщений: 129
18.12.2013, 01:11 6
Цитата Сообщение от zerty Посмотреть сообщение
результат такой же
Тогда посмотрю завтра на компе и найду ошибку.
Возможно кто-то напишет раньше.
Если можно, напишите числа на каких проверяли и что должно быть в ответе
По числам будет легче понять ошибку
0
zerty
0 / 0 / 1
Регистрация: 18.11.2013
Сообщений: 20
18.12.2013, 01:21  [ТС] 7
Цитата Сообщение от grom_oleg Посмотреть сообщение
Тогда посмотрю завтра на компе и найду ошибку.
Возможно кто-то напишет раньше.
Если можно, напишите числа на каких проверяли и что должно быть в ответе
По числам будет легче понять ошибку
M=1000,p=10,q=5,N=5;
1.1050.00 //а должно просто 50
2.1102.50 //как и все остальные
3.1157.63
4.1215.51
5.1276.28
0
grom_oleg
21 / 21 / 7
Регистрация: 24.01.2013
Сообщений: 129
18.12.2013, 01:26 8
Цитата Сообщение от zerty Посмотреть сообщение
M=1000,p=10,q=5,N=5;
1.1050.00 //а должно просто 50
2.1102.50 //как и все остальные
3.1157.63
4.1215.51
5.1276.28
Что должно быть во втором:62.5 или 102.5?Это будет разный код
0
zerty
0 / 0 / 1
Регистрация: 18.11.2013
Сообщений: 20
18.12.2013, 01:36  [ТС] 9
Цитата Сообщение от grom_oleg Посмотреть сообщение
Что должно быть во втором:62.5 или 102.5?Это будет разный код
Как я понял из условия это все же "ежегодный прирост", поэтому 62.5 - 2-й год.
0
grom_oleg
21 / 21 / 7
Регистрация: 24.01.2013
Сообщений: 129
18.12.2013, 01:44 10
Цитата Сообщение от zerty Посмотреть сообщение
Как я понял из условия это все же "ежегодный прирост", поэтому 62.5 - 2-й год.
Я ошибся 52.5)
я смотрю по истории Вы сказали что это неправильно
Если абсолютно:Тогда будет writeln(i,' ',R-M:5:2)
Если 52.5:смотри раньше
0
zerty
0 / 0 / 1
Регистрация: 18.11.2013
Сообщений: 20
18.12.2013, 01:55  [ТС] 11
Цитата Сообщение от grom_oleg Посмотреть сообщение
Что должно быть во втором:62.5 или 102.5?Это будет разный код
я вот подумал ,может как-то через шаг сделать задачу?Тоесть следующий элемент вычитает предыдущий=остаток(прирост).Только не понимаю как оформить по правилам.

Добавлено через 10 минут
Цитата Сообщение от grom_oleg Посмотреть сообщение
Я ошибся 52.5)
я смотрю по истории Вы сказали что это неправильно
Если абсолютно:Тогда будет writeln(i,' ',R-M:5:2)
Если 52.5:смотри раньше
выводит
1.0.00 //50(0скорей всего из-за того что в начале R=M)
2.50.00
3.102.50 //52.5 должно быть
4.157.63
5.215.51
0
grom_oleg
21 / 21 / 7
Регистрация: 24.01.2013
Сообщений: 129
18.12.2013, 09:39 12
Цитата Сообщение от zerty Посмотреть сообщение
К сожалению выводит значения, которые не являются правильными:52.5055.1357.8860.7863.81.
Здесь было 52.5
0
zerty
0 / 0 / 1
Регистрация: 18.11.2013
Сообщений: 20
18.12.2013, 10:09  [ТС] 13
Цитата Сообщение от grom_oleg Посмотреть сообщение
Здесь было 52.5
Да,но должно быть:
1.50
2.52.5
3.55.13
4.57.8
5.60.77
0
grom_oleg
21 / 21 / 7
Регистрация: 24.01.2013
Сообщений: 129
18.12.2013, 10:55 14
Цитата Сообщение от zerty Посмотреть сообщение
Да,но должно быть:
1.50
2.52.5
3.55.13
4.57.8
5.60.77
Попробуйте поменять присвоение и вывод местами.
Если не работает, что выведет напишите
0
zerty
0 / 0 / 1
Регистрация: 18.11.2013
Сообщений: 20
18.12.2013, 11:01  [ТС] 15
Цитата Сообщение от grom_oleg Посмотреть сообщение
Попробуйте поменять присвоение и вывод местами.
Если не работает, что выведет напишите
1000 10 5 5
1.50
2.102.5
3.157.63
4.215.51
5.276.28
0
grom_oleg
21 / 21 / 7
Регистрация: 24.01.2013
Сообщений: 129
18.12.2013, 11:10 16
Цитата Сообщение от zerty Посмотреть сообщение
1000 10 5 5
1.50
2.102.5
3.157.63
4.215.51
5.276.28
begin
qq:=R;
R:=R+R*(p-q)/100;
Writeln(i,' ',R-qq:5:2);
end;

ne zabudte qq:real; v nachale
1
zerty
0 / 0 / 1
Регистрация: 18.11.2013
Сообщений: 20
18.12.2013, 11:14  [ТС] 17
Цитата Сообщение от grom_oleg Посмотреть сообщение
begin
qq:=R;
R:=R+R*(p-q)/100;
Writeln(i,' ',R-qq:5:2);
end;

ne zabudte qq:real; v nachale
ЗАРАБОТАЛО! Спасибо огромное!
0
grom_oleg
21 / 21 / 7
Регистрация: 24.01.2013
Сообщений: 129
18.12.2013, 11:15 18
Цитата Сообщение от zerty Посмотреть сообщение
ЗАРАБОТАЛО! Спасибо огромное!
Извините что та долго обычно быстрее)
0
zerty
0 / 0 / 1
Регистрация: 18.11.2013
Сообщений: 20
18.12.2013, 11:19  [ТС] 19
Цитата Сообщение от grom_oleg Посмотреть сообщение
Извините что та долго обычно быстрее)
Да не все быстро)думал месяц задачка лежать будет)
0
18.12.2013, 11:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2013, 11:19

Вычислить значения функции. Правильно ли решена задача?
Не знаю как записать Ln^2 (x). Правильно ли я сделала? program Zadacha2; var x, t: real;...

Правильно ли решена задача на нахождение суммы ряда?
Правильно ли я написал? Если нет, то исправьте. Найти сумму ряда с точностью \varepsilon...

Не могу понять в чем ошибка и верно ли решена задача?
для чисел из отрезка подсчитать количество цифр в десятичной записи каждого целого...


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru