Программа четное число или нечетное паскаль

Здравствуйте, дорогие читатели нашего сайта! Сегодня, мы поговорим о логических переменных типа Boolean в Паскаль, логических операциях и решим пять задач.

Для чего нужна логика в Паскаль? Вы, я надеюсь, уже научились писать простейшие линейные программы, и сейчас, наверняка, задаетесь вопросом, как же написать нелинейную программу? Для того чтобы программа была нелинейной в Паскале, как и в других языках программирования, используют логические выражения, которые принимают значения true или false. То есть, на место любого отношения в Паскале ставится true или false. Например,

var A: integer; begin A := 5; write(A > 0); end.

Список операторов отношения:

  • больше: >
  • меньше:
  • больше либо равно: >=
  • меньше либо равно:
  • равно: =
  • неравно: <>

Для того чтобы записать результат логического выражения, нам требуется специальная переменная. Эта переменная будет иметь тип boolean, она может принимать два значения — true или false. Как создавать простые условие вы уже поняли, но как создавать сложные условия? Для этого используются специальные логические операции: and, or, not и xor.

Паскаль с нуля [ч10]. Вывод массива, задача с четными числами

Давайте разберем каждую операцию отдельно и составим таблицы истинности. Примем за 1 — true, а за 0 — false.

And, или конъюнкция.

And

Or, или дизъюнкция.

Истинно, если хотя бы одно простое высказывание истинно.

Xor, или строгая дизъюнкция.

Xor

Not, или инверсия.

Not

Задачи Boolean.

Закрепим полученные знания, решив пару задачек.

Boolean1°. Дано целое число A. Проверить истинность высказывания: «Число A является положительным».

program Boolean1; var a: integer; begin write(‘Введите число A: ‘); read(a); writeln(‘Число A является положительным — ‘, a > 0); end.

Boolean2. Дано целое число A. Проверить истинность высказывания: «Число A является нечетным».

Для того чтобы узнать, является ли данное число нечетным в Паскале предусмотрена специальная функция Odd, которая возвращает true, если число нечетное и false, если число четное.

program Boolean2; var a: integer; b : boolean; begin write(‘Введите число A: ‘); read(a); b := Odd(a); writeln(‘Число A является нечетным — ‘, b); < Можно обойтись и без b >end.

Boolean3. Дано целое число A. Проверить истинность высказывания: «Число A является четным».

Для того чтобы узнать является ли число нечетным, используем уже известную нам функцию, затем инвертируем результат.

Читайте также:
Программированное обучение виды обучающих программ

program Boolean3; var a: integer; b : boolean; begin write(‘Введите число A: ‘); < 6 >read(a); b := Odd(a); < False >writeln(‘Число A является четным — ‘, not b); < True >end.

Boolean7°. Даны три целых числа: A, B, C. Проверить истинность высказывания: «Число B находится между числами A и C».

program Boolean7; var a, b, c: integer; b1, b2: boolean; begin write(‘Введите число A, B, C: ‘); read(a, b, c); b1 := (B > A) and (B < C); b2 := (B >C) and (B < A); < Надо учитывать оба варианта >writeln(‘Число B находится между числами A и C — ‘, b1 or b2); end.

Boolean10°. Даны два целых числа: A, B. Проверить истинность высказывания: «Ровно одно из чисел A и B нечетное».

program Boolean10; var a, b: integer; c :boolean; begin write(‘Введите число A, B: ‘); read(a, b); c := (Odd(a)) xor (Odd(b)); < Сколько скобок 🙂 >writeln(‘Ровно одно из чисел A и B нечетное — ‘, c); end.

Boolean23. Дано четырехзначное число. Проверить истинность высказывания: «Данное число читается одинаково слева направо и справа налево».

Используем знания, полученные в этом уроке.

Итак, данная задача проверяет является ли введенное четырехзначное число палиндромом. Наверняка, самый известный палиндром — фраза Мальвины: «А роза упала на лапу Азора.» (Попробуйте прочитать это предложение справа налево)

program Boolean23; var a, b, c, d, e, f: integer; b1, b2: boolean; begin write(‘Введите число четырехзначное число: ‘); read(e); a := e div 1000; b := e mod 1000 div 100; c := e mod 100 div 10; d := e mod 100 mod 10; f := d * 1000 + c * 100 + b * 10 + a; writeln(‘Данное число является палиндромом — ‘, f = e); end.

На сегодня все! Не забывайте периодически заходить к нам на сайт, подписывайтесь и кликайте по кнопочкам!

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

Функция Odd

Основы программирования 2.0

Функция Odd в Паскале определяет, является ли число чётным или нечётным. Синтаксис:

function odd(N : LongInt) : Boolean; function odd(N : LongWord) : Boolean; function odd(N : Int64) : Boolean; function odd(N : QWord) : Boolean;

Функция Odd возвращает TRUE, если число является НЕчётным. Иначе возвращает FALSE.

Как определить чётное число в Паскале

Если в функцию передано чётное число, то она возвращает FALSE. Следовательно, чтобы проверить, является ли число чётным, надо результат функции сравнить с FALSE:

if not Odd(x) then WriteLn(‘x — чётное число ‘);

Как определить нечётное число в Паскале

Если в функцию передано нечётное число, то она возвращает TRUE. Следовательно, чтобы проверить, является ли число нечётным, надо результат функции сравнить с TRUE:

Читайте также:
Пилотное внедрение программ это

if Odd(x) then WriteLn(‘x — нечётное число ‘);

Пример программы, где используется функция Odd:

program oddtest; var x : Integer; begin Randomize; x := Random(100); if Odd(x) then //Если число нечётное WriteLn(‘x = ‘, x, ‘ — odd number’) else //Если число чётное WriteLn(‘x = ‘, x, ‘ — even number’); WriteLn(‘Press ENTER. ‘); //Вывести числа от 1 до 8 в два столбца for x := 1 to 8 do if Odd(x) then Write(x, ‘ ‘) else WriteLn(x); WriteLn(‘Then end. Press ENTER. ‘); ReadLn; end.

Источник: info-master.su

Программа четное число или нечетное паскаль

добрый вечер, программисты. помогите, пожалуйста, написать подпрограмму-функцию.

написать подпрограмму функцию, которая проверяет, есть ли целое число четным. Если число четное, то функция должна вывести true, если нечетное — false. В главной программе организовать циклическое введение входных даных и вивод результата роботы функции.(Pascal ABC)

МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,134

f := (a mod 2 = 0);
Функция f получает целое число a и возвращает результат.
(Не забудьте описать саму функцию)
Пишите язык программирования — это форум программистов , а не экстрасенсов. (<= это подпись )
Форумчанин
Регистрация: 22.04.2013
Сообщений: 162

спасибо, но не могли бы написать полностью как выглядит программа. Заранее, огромное спасибо, тем, кто откликнится.

спасибо, но не могли бы написать полностью как выглядит программа. Заранее, огромное спасибо, тем, кто откликнится.

спасибо, но не могли бы написать полностью как выглядит программа. Заранее, огромное спасибо, тем, кто откликнится.

Последний раз редактировалось Stilet; 02.06.2013 в 16:06 .
Регистрация: 01.06.2013
Сообщений: 6

Я не проверяла, но должно работать.

const n=10; var a: array [1..n] of integer; i: integer; function F(c: integer): boolean; var b:boolean; begin b:=false; if (с mod 2 = 0) then b:=true; F:=b; writeln(F); end; Begin for i:=1 to n do readln(a[i]); for i:=1 to n do F(a[i]); readln; End.
Если использовать вариант, который Вам показали выше, то функция будет выглядеть так:
function F(c: integer): boolean; begin F:=(с mod 2 = 0); writeln(F); end;
Регистрация: 08.04.2012
Сообщений: 3,229
f := (a mod 2 = 0);
Все гораздо проще:
f := not odd(a);
Ужас!
Все это:
b:=false; if (с mod 2 = 0) then b:=true; F:=b;
легко заменяется на:
f := not odd(a);
или, как было предложено BDA:
F:=(с mod 2 = 0);

Не следует делать явно лишних действий, в особенности, если наши «дополнения» довольно ресурсоемки. А неверно предсказанный условный переход выполняется в десятки раз дольше, чем вычисляется логическое выражение.

Читайте также:
Что значит произошел сбой в программе инициализации библиотеки динамической компоновки dll

Не понимаю, откуда желание вместо

a := b;
if b = TRUE then a := TRUE else a := FALSE;
Последний раз редактировалось Stilet; 03.06.2013 в 17:16 .
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010

Сообщений: 7,134

s-andriano, ну да, можно и odd. Просто мне это показалось совсем глупо — создавать функцию, которая возвращает отрицание другой функции. А так вроде как исследуем остаток от числа — всё «цивильненько».

Пишите язык программирования — это форум программистов , а не экстрасенсов. (<= это подпись )
Форумчанин
Регистрация: 22.04.2013
Сообщений: 162
ОШИБКА «НЕВЕРНОЕ ВЫРАЖЕНИЕ»

program zd; uses crt; const n=10; var a: array [1..n] of integer; i: integer; function F(c: integer): boolean; var b:boolean; begin b:=false; if (ñ mod 2 = 0) then b:=true; F:=b; writeln(F); end; Begin for i:=1 to n do readln(a[i]); for i:=1 to n do F(a[i]); readln; End.
пишет ошибку «неверное выражение» в строке if (c mod 2=0) then b:=true (Pascal ABC)
Последний раз редактировалось Stilet; 03.06.2013 в 17:16 .
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,134

Во-первых, с помощью экстрасенсорных способностей заявляю, что в строке if (c mod 2=0) then b:=true находится русская буква «с».
Во-вторых, Вы почему-то обратили внимание только на пост с кодом, и никакого внимания к замечаниям ниже.
В-третьих, в функции не должно быть вывода на экран, а он должен быть в цикле:

for i:=1 to n do writeln(a[i], ‘ ‘,F(a[i]));
Пишите язык программирования — это форум программистов , а не экстрасенсов. (<= это подпись )
Форумчанин
Регистрация: 22.04.2013
Сообщений: 162
program zd; uses crt; const n=10; var a: array [1..n] of integer; i: integer; function F(c: integer): boolean; begin F:=not odd(a); writeln(F); end; Begin for i:=1 to n do readln(a[i]); for i:=1 to n do F(a[i]); readln; End.

пишет «Ошибка: нельзя переобразовать выражение типа array[1..10] of integer к типу integer».(в строке F:=not odd(a) Pascal ABC

program zd; uses crt; const n=10; var a: array [1..n] of integer; i: integer; function F(c: integer): boolean; var b:boolean; begin b:=false; if (c mod 2 = 0) then b:=true; F:=b; writeln(F); end; Begin for i:=1 to n do readln(a[i],’ ‘,F(a[i])); for i:=1 to n do F(a[i]); readln; End.

а теперь ошибка «неверное количество фактических параметров» в строке writeln(F);(когда добовляю b, то пишет тоже самое)

Последний раз редактировалось Stilet; 03.06.2013 в 17:19 .

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

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