Задачи по теме "Логические выражения" В обычной школьной и вузовской практике учащимся и студентам предлагаются для решения те задания, которые представлены в задачниках или составлены преподавателем. Однако усвоение материала будет более осознанным, если предоставить ученикам возможность самостоятельно разработать и решить задачи на указанную тему. Здесь появляется возможность дать волю фантазии, выдумке, сделать какие-то нестандартные ходы. Всё это идёт на пользу делу. В настоящей публикации представлены наиболее удачные задачи по теме "Логические выражения и их запись на языке Pascal", которые были составлены студентами. Задание они получили в следующей формулировке: "Составить высказывание, содержащее переменные, которое в зависимости от их значений принимает значение RUE или FALSE. Записать соответствующее логическое выражение.". Тема "Логические выражения" является очень важной при изучении программирования как в школьном, там и вузовском курсе. Зачастую она остается незаслуженно обойденной, в то время как именно по этой причине учащиеся затрудняются правильно построить логическое выражения, являющееся условием в развилке или цикле. Потому подобного рода задания позволяют акцентировать внимание на указанной проблематике и лучшей степени подготовить учащихся к изучению тем "Развилка", "Циклы". Что касается моего задания, то следует отметить, что некоторые студенты подошли к его выполнению формально, предложив полные аналоги задач из учебников, но были и своего рода находки. Ниже приведены сами задания и соответствующие им логические выражения. 1. Сумма цифр заданного четырёхзначного числа превосходит произведение цифр этого же числа на 1. Div 1000 Div 100 Mod 10 Mod 100 Div 10 Mod 10 - 1 = ( Div 1000) ( Div 100 Mod 10) ( Mod 100 Div 10) ( Mod 10) 2. Сумма двух последних цифр заданного трёхзначного числа меньше заданного K, а первая цифра больше5. ( Div 10 Mod 10 Mod 10 < K) A d ( Div 100 > 5) 3. Заданное натуральное число является двузначным и кратно K. ( >= 10) A d ( C) A d (A C > B) A d (B C > A) A d ((A = B) Or (B = C) Or (A = C)) Для действительных A, B, C (A B > C) A d (A C > B) A d (B C > A) A d ((Abs(A - B) < 1E-7) Or (Abs(B - C) < 1E-7) Or (Abs(A - C) < 1E-7)) 8. Среди заданных целых чисел A, B, C, D есть хотя бы два чётных. Ord( o Odd(A)) Ord( o Odd(B)) Ord( o Odd(C)) Ord( o Odd(D)) >= 2 9. Прямоугольник с измерениями A, B подобен прямоугольнику с соответствующими измерениями C, D. Abs(A / C - B / D) < 1E-7 10. Дробь A / B является правильной. (A < B) A d (B > 0) 11. Дано натуральное число — некоторый год. Этот год является високосным. ( Mod 4 = 0) A d ( Mod 100 0) Or ( Mod 400 = 0) или ( Mod 4 = 0) A d o (( Mod 100 = 0) Xor ( Mod 400 = 0)) Список литературыПути решения изложены в эскизном проекте соответствующей модернизации экспериментальной РЛС «Дута-2» в районе Николаева, разработанном в 1981 году. Осенью 1981 года директор НИИДАР (Марков В.И. Прим. автора.) сначала отложил рассмотрение этого проекта на НТС предприятия, а как следствие и представление его заказчику. Затем, в связи с переводом опытно-конструкторской работы «Дуга-2М» в научно-исследовательскую экспериментальную работу НИЭР «Дуга-2М», он потребовал разработку и утверждение нового ТТЗ. На это Заказчик (Прим. Автора. Минобороны, 4 ГУМО), по понятным в частности для меня мотивам, не дал согласия и предложил оформить «Решение...», которое определило бы порядок выполнения НИЭР «Дуга-2М» на основе ранее утвержденного ТТЗ на ОКР «Дуга-2М». Многократные попытки сблизить решение директора НИИДАР с мнением «Заказчика» к успеху не привели. Такое отношение его к данному вопросу, тем более выраженное в отказе подписать ТТЗ на совершенствование радиолокационного узла «Дуга№1» только из-за того, что в нем предусмотрена задача оценить в эскизном проекте возможности узла по обнаружению запусков одиночных и малых групп МБР с последующим уточнением при испытаниях, естественно, снизило настойчивость исполнителей в доведении данного вопроса до нормальных условий выполнения работы.
Interface Ключевое слово Interface начинает определение внешнего интерфейса модуля.
Uses Ключевое слово Uses определяет список одного или более модулей, которые используются текущим модулем, программой или библиотекой.
Type Ключевое слово Type является фундаментальной частью Delphi оно позволяет создать новые категории (типы) переменной и процесса.
TForm1 = class(TForm) Ключевое слово Class это центральная часть Объектно-ориентированного кода. Объявление класса имеет следующее типичное описание : Private Определения данных/методов локальные для этого модуля Protected Определения данных/методов, локальных для этого класса + потомки Public Определения данных/методов пригодных для использования всеми объектами этого класса Published Внешне общественные определения
Edit1: TEdit; Компонент Delphi представляет собой однострочное текстовое поле, служащее для ввода данных пользователем Label1: TLabel; компонент который позволяет отображать текст Button1: TButton; Кнопка procedure Button1Click(Sender: TObject); Процедура которая сработает если кликнуть на кнопке
var Ключевое слово Var используется, чтобы начать раздел определения переменных.
Form1: TForm1; Определяем переменную типа TForm1 смотри выше
Implementation Ключевое слово Implementation начинает активный раздел кода модуля - где объявления интерфейса реализовываются.
{$R *.dfm}//Подключение .dfm файла (файл с данными о визуальных объектах)
procedure TForm1.Button1Click(Sender: TObject); Не посредственно сама процедура обработки события нажатия кнопки
varx,y,z,p:real; Объявляем переменные вещественного типа real
Begin Начало кода процедуры
x:=StrToFloat(Edit1.Text);y:=StrToFloat(Edit2.Text);z:=StrToFloat(Edit3.Text); Считываем текст из однострочное текстовое поле, StrToFloat – пытаемся преобразовать в вещественное значение
Label5.Font.color:=clBlue; Label5.Caption:='Результат:'+#13+'p='+ FloatToStr(5); Делаем цвет текста голубой, и отображаем значение цифры 5, скорее всего наверное имелось введу «p», #13 это начать с новой строчки – как будто нажали клавишу Enter
Interface Ключевое слово Interface начинает определение внешнего интерфейса модуля.
Uses Ключевое слово Uses определяет список одного или более модулей, которые используются текущим модулем, программой или библиотекой.
Type Ключевое слово Type является фундаментальной частью Delphi оно позволяет создать новые категории (типы) переменной и процесса.
TForm1 = class(TForm) Ключевое слово Class это центральная часть Объектно-ориентированного кода. Объявление класса имеет следующее типичное описание :
Private Определения данных/методов локальные для этого модуля
Protected Определения данных/методов, локальных для этого класса + потомки
Public Определения данных/методов пригодных для использования всеми объектами этого класса
Published Внешне общественные определения
Edit1: TEdit; Компонент Delphi представляет собой однострочное текстовое поле, служащее для ввода данных пользователем
Label1: TLabel; компонент который позволяет отображать текст
Button1: TButton; Кнопка
procedure Button1Click(Sender: TObject); Процедура которая сработает если кликнуть на кнопке
var
Ключевое слово Var используется, чтобы начать раздел определения переменных.
Form1: TForm1; Определяем переменную типа TForm1 смотри выше
Implementation Ключевое слово Implementation начинает активный раздел кода модуля - где объявления интерфейса реализовываются.
{$R *.dfm}//Подключение .dfm файла (файл с данными о визуальных объектах)
procedure TForm1.Button1Click(Sender: TObject); Не посредственно сама процедура обработки события нажатия кнопки
varx,y,z,p:real; Объявляем переменные вещественного типа real
Begin Начало кода процедуры
x:=StrToFloat(Edit1.Text);y:=StrToFloat(Edit2.Text);z:=StrToFloat(Edit3.Text); Считываем текст из однострочное текстовое поле, StrToFloat – пытаемся преобразовать в вещественное значение
p:=(3*x*(exp(3*ln(y)))+(sqrt(y+sqr(x)*z))+ln(Z));
p:=p/(Abs(x-y+sqr(z))+(sin(x)*sin(x)));
Производим расчеты
Label5.Font.color:=clBlue;
Label5.Caption:='Результат:'+#13+'p='+ FloatToStr(5);
Делаем цвет текста голубой, и отображаем значение цифры 5, скорее всего наверное имелось введу «p», #13 это начать с новой строчки – как будто нажали клавишу Enter
end;
Конец процедуры кнопки
end.
конец модуля