ПОЖАЛУЙСТО ПОМОГИТЕ С РЕШЕНИЕМ ЗАДАЧ
|
|
lomon | Дата: Среда, 09.11.2011, 16:53 | Сообщение # 1 |
Сообщений: 4
Репутация: 0
Статус: Offline
| даны две даты. Определить сколько дней прошло между этими датами. Ограничения:от 01,01,1920 до 31,12,2007 формат ввода: даты вводяться в формате DD.MM.YYYY формат вывода: вывести единственное число-кол-во дней прошедшее между датами ______________________________________________________________________________
Есть прямоугольный брусок со сторанами a,b,c. Определить пройдёт ли он в прямоугольное отверстие размером d на e. ОГРАНИЧЕНИЯ: 1<=a, b, c, d, e<=1000 ФОРМАТ ВВОДА: в одной строке через пробел вводиться 5 чисел :a, b, c, d, e. ФОРМАТ ВЫВОДА: вывести "YES",если пройдёт, или "NO", если не пройдёт
|
Страна: Беларусь |
| |
Freeman | Дата: Четверг, 10.11.2011, 02:09 | Сообщение # 2 |
Сообщений: 43
Репутация: 104
Статус: Offline
| 1. Program Date2; type TDate = record day: 1..31; month: 1..12; year: word; end; var srcdate, curdate: TDate; (*---------------------------------------- Функция проверяет, является ли год високосным ----------------------------------------*) function VisokosnyGod (n: integer): boolean; begin if (((n mod 400)=0) or (((n mod 4)=0) and ((n mod 100) <> 0))) then VisokosnyGod := TRUE else VisokosnyGod := FALSE; end; (*---------------------------------------- Функция проверяет, правильно ли задан день в зависимости от месяца и года ----------------------------------------*) function CheckDayOfMonth (day, month, year: integer): boolean; begin if ((day>30)and(month in [2,4,6,9,11])) or ((day>29)and(month=2)) or ((day>28)and(month=2)and(not VisokosnyGod(year))) then CheckDayOfMonth:=false else CheckDayOfMonth:=true; end; (*---------------------------------------- Процедура ввода даты с защитой от дурака ----------------------------------------*) procedure EnterDate (var d: TDate); var n: integer; dayOk: boolean; begin write('Год: '); readln(d.year); repeat write('Месяц (1..12): '); readln(n); if (n<1)or(n>12) then writeln('Ошибка! Номер месяца должен находиться в диапазоне 1..12'); until (n>0)and(n<13); d.month:=n; repeat dayOk:=true; write('День (1..31): '); readln(n); if (n<1)or(n>31)or(not CheckDayOfMonth(n, d.month, d.year)) then begin writeln('Ошибка! День не может иметь такое значение для выбранных '+ 'года и месяца. Выберите другой день'); dayOk:=false; end; until dayOk; d.day:=n; end; (*---------------------------------------- Функция возвращает количество дней от начала эры до указанной даты ----------------------------------------*) function DaysFromZero (d, m, y: integer): longint; begin if m>2 then m := m+1 else begin m := m+13; y := y-1; end; DaysFromZero := trunc(36525*y/100+306*m/10+d); end; begin writeln('Программа возвращает количество дней между заданной '+ 'датой и текущей'); writeln('Введите сегодняшнее число'); EnterDate(curdate); writeln('Введите интересующую вас дату'); EnterDate(srcdate); writeln('Заданная дата: ',srcdate.day,'.',srcdate.month,'.',srcdate.year); writeln('Сегоднящняя дата: ',curdate.day,'.',curdate.month,'.',curdate.year); writeln('Количество дней между этими датами = ', abs(DaysFromZero(curdate.day, curdate.month, curdate.year)- DaysFromZero(srcdate.day, srcdate.month, srcdate.year))); writeln('Нажмите [Enter] для завершения программы'); readln; end.
|
Страна: Беларусь |
| |
lomon | Дата: Четверг, 10.11.2011, 22:10 | Сообщение # 3 |
Сообщений: 4
Репутация: 0
Статус: Offline
| спасибо большое...если может кто то помогите вторую плиз
|
Страна: Беларусь |
| |
Freeman | Дата: Пятница, 11.11.2011, 01:16 | Сообщение # 4 |
Сообщений: 43
Репутация: 104
Статус: Offline
| 2.Quote (lomon) Есть прямоугольный брусок со сторанами a,b,c. Определить пройдёт ли он в прямоугольное отверстие размером d на e. Code program zadacha1; uses crt; var a,b,c,d,e:1..1000; begin write('Введите стороны бруска (a,b,c), а также ограничения (d,e):'); readln(a,b,c,d,e); if a*b<=d*e then writeln('Yes') else if b*c<=d*e then writeln('Yes') else if a*c<=d*e then writeln('Yes') else writeln('No'); end.
|
Страна: Беларусь |
| |
lomon | Дата: Суббота, 12.11.2011, 14:46 | Сообщение # 5 |
Сообщений: 4
Репутация: 0
Статус: Offline
| БОЛЬШОЕ СПАСИБО
|
Страна: Беларусь |
| |