Смекни!
smekni.com

Задачи по теме "Логические выражения"

Задачи по теме "Логические выражения"

В обычной школьной и вузовской практике учащимся и студентам предлагаются для решения те задания, которые представлены в задачниках или составлены преподавателем. Однако усвоение материала будет более осознанным, если предоставить ученикам возможность самостоятельно разработать и решить задачи на указанную тему. Здесь появляется возможность дать волю фантазии, выдумке, сделать какие-то нестандартные ходы. Всё это идёт на пользу делу.

В настоящей публикации представлены наиболее удачные задачи по теме "Логические выражения и их запись на языке Pascal", которые были составлены студентами. Задание они получили в следующей формулировке: "Составить высказывание, содержащее переменные, которое в зависимости от их значений принимает значение TRUE или FALSE. Записать соответствующее логическое выражение.". Тема "Логические выражения" является очень важной при изучении программирования как в школьном, там и вузовском курсе. Зачастую она остается незаслуженно обойденной, в то время как именно по этой причине учащиеся затрудняются правильно построить логическое выражения, являющееся условием в развилке или цикле. Потому подобного рода задания позволяют акцентировать внимание на указанной проблематике и лучшей степени подготовить учащихся к изучению тем "Развилка", "Циклы".

Что касается моего задания, то следует отметить, что некоторые студенты подошли к его выполнению формально, предложив полные аналоги задач из учебников, но были и своего рода находки. Ниже приведены сами задания и соответствующие им логические выражения.

1. Сумма цифр заданного четырёхзначного числа N превосходит произведение цифр этого же числа на 1.

N Div 1000 + N Div 100 Mod 10 + N Mod 100 Div 10 + N Mod 10 - 1 =

(N Div 1000) * (N Div 100 Mod 10) * (N Mod 100 Div 10) * (N Mod 10)

2. Сумма двух последних цифр заданного трёхзначного числа N меньше заданного K, а первая цифра N больше5.

(N Div 10 Mod 10 + N Mod 10 < K) And (N Div 100 > 5)

3. Заданное натуральное число N является двузначным и кратно K.

(N >= 10) And (N <= 99) And (N Mod K = 0)

или

(N in [10..99]) And (N Mod K = 0)

4. Сумма двух первых цифр заданного четырёхзначного числа N равна произведению двух последних.

N Div 1000 + N Div 100 Mod 10 = (N Mod 100 Div 10) * (N Mod 10)

5. Каждая последующая цифра трёхзначного числа N, начиная со старшего разряда, больше предыдущей на 1.

(N Mod 10 - N Div 10 Mod 10 = 1) And (N Div 10 Mod 10 - N Div 100 = 1)

6. X — отрицательное целое число, делящееся на 3 нацело.

(X < 0) And (X Mod 3 = 0)

7. Заданы три положительных числа A, B, C. Эти числа являются сторонами равнобедренного треугольника.

(A + B > C) And (A + C > B) And (B + C > A) And

((A = B) Or (B = C) Or (A = C))

Для действительных A, B, C

(A + B > C) And (A + C > B) And (B + C > A) And

((Abs(A - B) < 1E-7) Or (Abs(B - C) < 1E-7) Or (Abs(A - C) < 1E-7))

8. Среди заданных целых чисел A, B, C, D есть хотя бы два чётных.

Ord(Not Odd(A)) + Ord(Not Odd(B)) + Ord(Not Odd(C)) + Ord(Not Odd(D)) >= 2

9. Прямоугольник с измерениями A, B подобен прямоугольнику с соответствующими измерениями C, D.

Abs(A / C - B / D) < 1E-7

10. Дробь A / B является правильной.

(A < B) And (B > 0)

11. Дано натуральное число N — некоторый год. Этот год является високосным.

(N Mod 4 = 0) And (N Mod 100 <> 0) Or (N Mod 400 = 0)

или

(N Mod 4 = 0) And Not((N Mod 100 = 0) Xor (N Mod 400 = 0))