Контрольная работа №2 «Элементы алгебры логики» Вариант 1. 1)Выпиши номера истинных высказываний: Число 376 четное и трехзначное. Неверно, что Земля вращается вокруг Солнца. Таблицу умножения начинают изучать в старших классах. Некоторые млекопитающие не живут на суше. Крокодилы живут в Антарктиде.
2)Составь таблицу истинности для следующей логической функции F=(X&¬Y)+(¬X & Y) X Y 0 0 0 1 1 0 1 1 3)Реши задачу табличным Богини Гера, Афина и Афродита пришли к юному Парису, чтобы тот решил, кто из них прекраснее. Представ перед Па- рисом, богини высказали следующие утверждения: Афродита: «Я самая прекрасная». Афина: «Афродита не самая прекрасная». Гера: «Я самая прекрасная». Афродита: «Гера не самая прекрасная». Афина: «Я самая прекрасная». Парис предположил, что все утверждения прекраснейшей из богинь истинны, а все утверждения двух других богинь ложны. Мог ли Парис вынести решение, кто прекраснее из бо- гинь? 4)Изобрази логическую схему для следующего выражения ( A V ¬ B) & C 5) вычисли: ((1 & 0) + 1) & (1+A) 6)Реши задачу кругами Эйлера (картинка)
Не особо знаю паскаль, так что дабы не накосячить с синтаксисом, покажу на примере. Тут всё просто - тебе лишь нужен цикл For и расчет процентов.
FOR i = 1 TO 100 percents = FIX(x * p / 100) ' здесь у нас есть переменная percents, которой присваиваются округленные функцией fix проценты (насколько я знаю, в паскале аналогичная функция называется Round) x = x + percents 'тут всё понятно - переменной X присваивается она сама и годовые проценты по вкладу IF x >= y THEN 'проверяем, не равен или не превысил ли наш вклад ожидаемую сумму PRINT i 'в цикле For можно не заморачиваться с отслеживанием лет, переменная i сама подсчитает количество итераций-лет END 'завершаем программу END IF NEXT i ' конец цикла Можно ещё чисто для себя добавить в условие вывод переменной X, чтобы было нагляднее.
CLS DIM n AS INTEGER INPUT "Введите кол-во студентов:", n
DIM studentYearsOld(1 TO n) AS INTEGER DIM studentName(1 TO n) AS STRING
FOR i = 1 TO n INPUT "Введите имя студента:", studentName(i) INPUT "Введите год рождения студента:", studentYearsOld(i) NEXT i PRINT FOR i = 1 TO n PRINT "Студент "; studentName(i) studentYrs = 2016 - studentYearsOld(i) IF studentYrs < 18 THEN PRINT "Лет до права голоса:"; 18 - studentYrs ELSEIF studentYrs >= 18 THEN PRINT "Студент уже имеет право голоса!" PRINT END IF studentYrs = 0 NEXT i
Код валидный, если допустил ошибку во время переписывания - сообщите.
FOR i = 1 TO 100
percents = FIX(x * p / 100) ' здесь у нас есть переменная percents, которой присваиваются округленные функцией fix проценты (насколько я знаю, в паскале аналогичная функция называется Round)
x = x + percents 'тут всё понятно - переменной X присваивается она сама и годовые проценты по вкладу
IF x >= y THEN 'проверяем, не равен или не превысил ли наш вклад ожидаемую сумму
PRINT i 'в цикле For можно не заморачиваться с отслеживанием лет, переменная i сама подсчитает количество итераций-лет
END 'завершаем программу
END IF
NEXT i ' конец цикла
Можно ещё чисто для себя добавить в условие вывод переменной X, чтобы было нагляднее.
DIM n AS INTEGER
INPUT "Введите кол-во студентов:", n
DIM studentYearsOld(1 TO n) AS INTEGER
DIM studentName(1 TO n) AS STRING
FOR i = 1 TO n
INPUT "Введите имя студента:", studentName(i)
INPUT "Введите год рождения студента:", studentYearsOld(i)
NEXT i
PRINT
FOR i = 1 TO n
PRINT "Студент "; studentName(i)
studentYrs = 2016 - studentYearsOld(i)
IF studentYrs < 18 THEN
PRINT "Лет до права голоса:"; 18 - studentYrs
ELSEIF studentYrs >= 18 THEN
PRINT "Студент уже имеет право голоса!"
PRINT
END IF
studentYrs = 0
NEXT i
Код валидный, если допустил ошибку во время переписывания - сообщите.