|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
14.11.2011, 20:29 | #1 |
Новичок
Джуниор
Регистрация: 14.11.2011
Сообщений: 8
|
Линейные алгоритмы
1.1. Определите длину жизни в секундах. Исходные данные – день рождения и текущая дата задаются тремя числами: днем, месяцем и годом.
|
14.11.2011, 20:42 | #2 |
Участник клуба
Регистрация: 23.12.2010
Сообщений: 1,129
|
Ну да ) Посчитать, сколько лет прошло. Посчитать, сколько из них было високосных. Сравнить дни и месяцы, и либо добавить, либо вычесть разницу между ними. Умножить все это на количество секунд в сутках. И получится ответ.
Что из этого не получается? ) |
14.11.2011, 20:58 | #3 |
Новичок
Джуниор
Регистрация: 14.11.2011
Сообщений: 8
|
Я не могу связать високосные дни и невысокосные. Без високосных решение есть. Посмотри пожалуйста и исправь.
Var year1: word; {год рождения} Var year2: word; {текущий год} Var year3: word; {временная переменная лет} Var month1: word; {месяц рождения} Var month2: word; {текущий месяц} Var month3: word; {временная переменная месяцев} Var day1: word; {день рождения} Var day2: word; {текущий день} Var day3: word; {временная переменная дней} Var sec: long; {итоговое время} Begin Writeln( 'Введите исходные данные' year2, month2, day2);{берем текущую дату} Readln(year2, month2, day2); If (day1 < day2) then {Если день рождения меньше текущего, то…} begin Day3 := day2 – day1;{просто отнимаем} End; Else {если наоборот -} Begin {Для простоты все месяцы по 31 дню} Day3 := 31 – day1 + day2; { - вычисляем разницу в днях и} Month2 := month2 – 1; {отнимаем месяц} End; {с месяцами то же самое} If (month1 < month2) then {Если месяц рождения меньше текущего, то…} begin month3 := month2 – month1;{просто отнимаем} End; Else {если наоборот -} Begin month3 := 12 – month1 + month2; { - вычисляем разницу в месяцах и} year2 := year2 – 1; {отнимаем год} End; year3 := year2 – year1;{разбираемся с годами} {теперь мы знаем разницу, считаем секунды} Sec := day3 * 60 * 60 * 24; {кол-во секунд в днях} Sec := sec * month3 * 31; {месяцы тоже посчитали} Sec := sec * year3 * 12; {и вот итог} WriteLn('Вы прожили : ', sec,' секунд!'); End. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
с++ . ветвление \\линейные алгоритмы | DiLemma | Общие вопросы C/C++ | 8 | 01.04.2010 16:32 |
Delphi 7. Линейные алгоритмы. | Юрий2009 | Помощь студентам | 1 | 01.05.2009 11:23 |
Линейные и разв. алгоритмы на С++ | Wia | Помощь студентам | 1 | 28.01.2009 20:34 |
Линейные и разв. алгоритмы | Wia | Помощь студентам | 3 | 14.12.2008 15:57 |