Написать программу которая проверяет является ли год високосным паскаль

If28. Дан номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются).

Delphi/Pascal
program if28 ;
Y : Integer ;
Write ( ‘Введите год: ‘ ) ;
if ( y mod 100 ) = 0 then
if ( y mod 400 ) = 0 then Writeln ( ‘366’ )
else Writeln ( ‘365’ )
if ( y mod 4 ) = 0 then Writeln ( ‘366’ )
else Writeln ( ‘365’ ) ;
Delphi/Pascal
A : integer ;
Write ( ‘Введите год: ‘ ) ;
if ( Y mod 4 = 0 ) and ( ( Y mod 100 < >0 ) or ( Y mod 400 = 0 ) ) then
writeln ( ‘366’ )
else writeln ( ‘365’ ) ;

Другие задачи из раздела If можно посмотреть здесь.

ВКонтакте ( X )
Facebook ( X )

Маргарита
А так не проще?
A : integer ;
Write ( ‘Введите год: ‘ ) ;
if ( A mod 4 = 0 ) and not ( A mod 100 = 0 ) and ( A mod 400 < >0 ) then
writeln ( ‘В ‘ , A , ‘ году 366 дней’ )
else writeln ( ‘В ‘ , A , ‘ году 365 дней’ )

Решение простых задач на python | Високосный ли год

К сожалению так сложнее.
Переведём предложение на язык логики: «Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются).»
Вот здесь рекомендация к автору учебника :). То что можно вынести в отдельное предложение, лучше вынести в отдельное предложение, а то это не читабельно. Хотя может быть автор учебника этого и добивался, поэтому первая итерация убрать всё что в скобках.
«Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400.»
Теперь переводим на язык математической логики, перевод я буду писать в фигурных скобках.
год = A
«Високосным считается год , делящийся на 4 < (A mod 4 = 0)>, за исключением тех годов < and not( >, которые делятся на 100 < (a mod 100 = 0) >и не < not( >делятся на 400 <(A mod 400 = 0)>. . В итоге у нас получилось:
true = (A mod 4 = 0) and not( (A mod 100 = 0) and not(( A mod 400 =0)))
получилось в конце слишком много скобок убираем лишнии для красоты…
true = (A mod 4 = 0) and not( (A mod 100 = 0) and not(A mod 400 =0)) теперь по закону общей инверсии так же известный как закон Моргана, раскрываем вот это : «not( (A mod 100 = 0) and not(A mod 400 =0))» true = (A mod 4 = 0) and ( not (A mod 100 = 0) or not(not(A mod 400 =0))) по закону двойного отрицания убираем два not true = (A mod 4 = 0) and ( not (A mod 100 = 0) or (A mod 400 =0)) здесь я думаю можно и остановиться, так как следующие шаги только усложнят и без того сложную формулу . ну и запишем всё это в код:

Читайте также:
Объем изучаемого материала от объема учебной программы

Источник: coolcode.ru

Написать программу которая проверяет является ли год високосным паскаль

Дано целое положительное число, соответствующее номеру года. Напишите программу, позволяющую определить является ли введенные год високосным. Год является високосным, если его номер кратен 4, но из лет кратных 100, високосными считаются кратные 400. (Например, 1700, 1800 или 1900-не високосные годы, а 2000-високосный).

Урок 1. Первая программа на Pascal (Сложение чисел)

Регистрация: 21.01.2013
Сообщений: 9

Дано целое положительное число, соответствующее номеру года. Напишите программу, позволяющую определить является ли введенные год високосным. Год является високосным, если его номер кратен 4, но из лет кратных 100, високосными считаются кратные 400. (Например, 1700, 1800 или 1900-не високосные годы, а 2000-високосный).

var i:integer; begin readln(i); if (i mod 4 = 0) then begin if (i mod 100 = 0) then begin if (i mod 400 = 0) then writeln(‘Год високосный’) else writeln(‘Год не високосный’) end else writeln(‘Год високосный’); end else writeln(‘Год не високосный’); end.
Регистрация: 16.05.2012
Сообщений: 3,211

Guagpro, слишком сложно. Учитесь пользоваться логическими операторами.
Кроме того, у Вас ошибка: год високосный, если он делится без остатка на 4, но не делится на 100, либо если делится без остатка на 400.

Так проще и короче:

var i:integer; begin readln(i); if ((i mod 4 = 0) and (i mod 100<>0)) or (i mod 400=0) then writeln(‘Год високосный’) else writeln(‘Год не високосный’) end.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы.

Источник: www.programmersforum.ru

информатика, паскаль. Напишите пожалуйста программу Определить является ли год високосным, используя div,mod

program N85036681;
var
Year: longint;
begin
repeat
write(‘Введите год (1582 — 3999): ‘);

readln(Year);

if (IOResult <> 0) or (Year 3999) then
write(‘Ошибка! ‘)
until (Year >= 1582) and (Year 0) or (Year mod 400 = 0) then
writeln(‘Високосный’)
else
writeln(‘Невисокосный’);
readln
end.

Читайте также:
Как работать в программе логомиры

Program 234234
var s,k:integer;
begin
read(s);
if s div 365 = 0 then write (‘год не высок. ‘) else write (‘высокосный’);
end.

Вопросы и «спасибо» в личку)

Наимджон Джураев

выдели остаток от деления на 100 и проверь его на делимость на 4

Источник: sprashivalka.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru