Урок 15. Логический тип данных boolean и логические задачи. Программирование на Pascal / Паскаль

preview_player
Показать описание
Видеоуроки по информатике
Курс "Программирование на Pascal"
Урок 15. Логический тип данных boolean и логические задачи

На этом уроке мы познакомимся с совершенно новым для нас типом данных "boolean", позволяющим работать с особым типом объектов -- логическими высказываниями и логическими выражениями.
Логический тип данных "boolean" совсем не дополнительный, а очень важный и постоянно используемый тип. К сожалению, ему не всегда уделяется должное внимание, поэтому некоторые, особенно начинающие программисты либо используют его очень редко, либо не особо не умеют применять, поэтому пользуются им лишь в одинаковых и хорошо им знакомых конструкциях. Это большая ошибка, поскольку полноценное понимание и грамотное применение этого типа данных позволяет писать красивые и оптимальные программы.

Помимо общего знакомства на уроке мы подробно посмотрим прямое применение логического типа данных в для построения различных логических выражений в решении нескольких логических задач.

Кроме того, вначале урока мы разберём несколько так называемых областных задач, хорошо тренирующих геометрическое и логическое мышление и восприятие программиста.
Рекомендации по теме
Комментарии
Автор

Здравствуйте! А как я могу создать "оболочку" для программы? ( пользовательский интерфейс с кнопками и.т.д....) Подскажите способ по-проще для начинающих)))

ЕКАТЕРИНАФОМЕНКО-ям
Автор

И вопрос отдельный. Зачем использовать тип данных boolean, если можно использовать для простых логических систем if и переменную(ые) со значениями:0..1? А для более сложных систем ведь проще как по количеству ответов, так и по вариативности условий использовать if и else, в которых уже проводится проверка на истинность и ложность. Или boolean оптимальнее?

saidmadraimovv
Автор

Здравствуйте, ваши лекции есть в печатном виде? Спасибо

ИльяПирогов-ьы
Автор

Вопрос насчёт видео*

Не понял, зачем в примере о зависимости довольства мамы от того, будет ли ванильный сырок и ряженка, вообще нужна проверка на фирму во второй скобке?
Т.е. можно было бы просто ввести (t1 and t 4), ведь независимо от фирмы мать будет довольна, даже если фирма та.
{t1 - купила ли девочка ряженку;
t4 - купила ли девочка ванильный сырок}

saidmadraimovv
Автор

Не знаю могу ли я спустя такое время с момента выхода видео рассчитывать на проверку, но вот 2-ая задача из ДЗ:
Program speed;
Var t1, t2, t3, t4, F:boolean;
Begin
writeln('Введите значения в следюущем порядке:');
writeln('Колеса крутятся?');
writeln('Спидометр подключен правильно?');
writeln('Велосипед перемещается?');
writeln('Спидометр промок?');
readln(t1, t2, t3, t4);

F:=(t1 and t2 and not(t4)) OR (not(t1) and t2 and t3 and not(t4));

if F=true then writeln('Спидометр делает замеры')
else writeln('Спидометр не делает замеры')
End.

sportmk
Автор

Первая задачка из ДЗ:
var t1, t2, t3, t4, f : boolean;
begin
writeln('Vvesti yslovie:');
readln(t1, t2, t3, t4);
{ t1 - купил или не купил билет
t2 - подходит ли возраст?
t3 - работник ли кино?
t4 - покупает или нет билет в контролёре?}

f := (t1 and t2) or (t3 and t2) or (t4 and t2);

if f = true then
write('Проход разрешен!!!')
else write('СТОП');
end.

ЕвгенийЕфремов-фе
Автор

Решение 3 задачи дз.
var
a, b, c: real;
t, t1, t2, t3, t4, o: boolean;
r: string;


begin
writeln('шапка неведимка в художественном произведении?');
readln(r);
t := (r = 'да');
writeln('надета на изобретателя?');
readln(r);
t1 := (r = 'да');
writeln('надета на его младшего брата?');
readln(r);
t2 := (r = 'да');
writeln('подставлен отпечаток пальца?');
readln(r);
t3 := (r = 'да');
writeln('надевалась шапка на животных?');
readln(r);
t4 := (r = 'да');
o:=t or((t1 or t2) and t3 and not t4);
if (o = true) then
writeln('шапка работает')
else
writeln('шапка не работает');
end.

saidmadraimovv