Как найти нечетное число в паскале
Перейти к содержимому

Как найти нечетное число в паскале

  • автор:

Вывести нечетное число

Из двух чисел с разной четностью вывести на экран нечетное число.

Примеры работы программы

Введите одно четное и одно нечетное число 4 5 5 - нечетное число
Введите одно четное и одно нечетное число 5 4 5 - нечетное число

Исходный код программы (решение задачи) на языке Паскаль

var a, b: integer; begin writeln('Введите одно четное и одно нечетное число'); readln(a, b); if a mod 2 <> 0 then writeln(a, ' - нечетное число') else writeln(b, ' - нечетное число'); end.

Пользователь вводит четное и нечетное число. Последовательность их ввода может быть любой. Таким образом, неизвестно какая из двух переменных ( a или b ) содержит нечетное число. Чтобы выяснить это, используется конструкция условного ветвления (if-else), а также операция нахождения остатка от целочисленного деления (mod).

Если результат нахождения остатка от деления значения переменной a на 2 неравен ( <> ) нулю, значит эта переменная содержит нечетное число. Иначе нечетное число находится в переменной b , и тогда его следует вывести на экран.

В данном случае предполагается, что пользователь осуществляет ввод правильно, то есть всегда вводит одно четное и одно нечетное число. Если же ввод был некорректный (два четных или два нечетных числа), то программа будет работать неправильно. В случае двух четных чисел программа выведет второе. В случае двух нечетных — первое введенное. Чтобы избежать подобных недоразумений, программу можно усовершенствовать следующим образом:

var a, b: integer; begin writeln('Введите одно четное и одно нечетное число'); readln(a, b); if (a mod 2 = 0) and (b mod 2 <> 0) then writeln(b,' - нечетное число') else if (a mod 2 <> 0) and (b mod 2 = 0) then writeln(a,' - нечетное число') else writeln('Некорректный ввод'); end.

В данном случае в заголовках условного оператора проверяются оба числа: одно — на четность, другое — на нечетность. Если оба будут четные, или оба будут нечетные, то сработает тело вложенного оператора else.

Введите одно четное и одно нечетное число 3 5 Некорректный ввод
Введите одно четное и одно нечетное число 4 10 Некорректный ввод
Введите одно четное и одно нечетное число 8 13 13 - нечетное число

Четные и нечетные числа

Задача: даны три целых числа A, B, C . Определить, есть ли среди них хотя бы одно четное и хотя бы одно нечетное. Числа A, B, C , не превышающие по модулю 10000. Формат выходных данных. Одна строка – «YES» или «NO».

program Main; var a, b, c: longint; begin readln(a, b, c); if (a < abs(10000)) or (b < abs(10000)) or (c < abs(10000)) then begin if (not odd(a) or not odd(b) or not odd(c)) then writeln('YES') else if odd(a) or odd(b) or odd(c) then writeln('NO') end else writeln('input error!') end. 

Вот что у меня пока что получилось, решение в итоге оказалось частично верным (если верить системе тестов) 🙁 Ах да, есть ещё одна задача, которую я вообще не понимаю как решать:

Дано число X. Требуется перевести это число в римскую систему счисления. Формат входного файла: Дано число X в десятичной системе счисления (1 ≤ X ≤ 100). Формат выходного файла: Выведите X в римской системе счисления.

Полностью решение писать не обязательно, я в принципе представляю, как надо решать (наверное, с помощью оператора case ), но вот незадача, я совершенно не знаю римских цифр 🙁

Вывести на экран все нечетные числа из промежутка, заданного пользователем

Author24 — интернет-сервис помощи студентам

Вывести все числа Мерсенна из заданного пользователем промежутка
вывести все числа Мерсенна из заданного пользователем промежутка . Простое число называется числом.

Вывести на экран все числа кратные 4 из заданного промежутка
Написать программу, которая выводит все числа, кратные 4 из промежутка , и составить блок-схему

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

109 / 68 / 46
Регистрация: 13.01.2019
Сообщений: 288

1 2 3 4 5 6 7 8 9 10 11 12 13
Uses Crt; var a,b,i:integer; begin write('ot. '); read(a); writeln('do. '); readln(b); for i:=a to b do begin if i mod 2 <>0 then begin write(i,' '); end; end; end.

9874 / 5242 / 3306
Регистрация: 17.08.2012
Сообщений: 16,012

WildDen, не пренебрегайте, пожалуйста, форматированием, а то смотреть противно. Не используйте лишние операторные скобки: выглядит нелепо. Не путайте read / write и readln / writeln, они далеко не одно и то же. Не пишите uses CRT; , если в программе это самое CRT Вы ни разу не uses. Старайтесь не использовать лишние точки с запятой (хотя, это на Ваш вкус). Перед end и until они из разделителей превращаются в пустые операторы. И ещё. Написано же:

ЦитатаСообщение от Kdkdkifif Посмотреть сообщение

учитывая ab
Исправленная программа:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
var a, b, i: integer; begin write('ot. '); readln(a); write('do. '); readln(b); if a > b then begin i := a; a := b; b := i end; for i := a to b do if odd(i) then write(i, ' ') end.

60 / 41 / 23
Регистрация: 09.02.2020
Сообщений: 233

Cyborg Drone, подскажите, в чем я ошибаюсь?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
var a,b,i:byte; begin write('nz счетчика-переменной:'); readln(a); write('kz счетчика-переменной:'); readln(b); if athen for i:=a to b do if odd(i) then write(i,' '); if a>b then for i:=b downto a do if odd(i) then write(i,' '); end.

Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
Нет операторных скобок, нет else, и во втором случае тоже to, a не downto.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
var a,b,i,k:byte; begin readln(a,b); k:=0; if a=b then for i:=a to b do begin if odd(i) then begin k:=1; write(i,' ') end end else begin for i:=b to a do if odd(i) then begin k:=1; write(i,' '); end; end; if k=0 then write('Нечетных чисел нет') end.

60 / 41 / 23
Регистрация: 09.02.2020
Сообщений: 233

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
var a,b,i:byte; begin write('nz счетчика-переменной:'); readln(a); write('kz счетчика-переменной:'); readln(b); if athen for i:=a to b do if odd(i) then write(i,' '); if a>b then for i:=a downto b do if odd(i) then write(i,' '); end.

87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь

Нечетные числа из заданного промежутка.
Привет! Помогите решить задачу в Prolog: Напечатайте все нечётные числа из промежутка от A до B. A.

Вывести на экран только нечетные целые числа из диапазона от 0 до заданного числа
Напишите программу, которая бы выводила на экран только нечетные целые числа из диапазона от 0 до.

Вывести на экран все простые числа из данного промежутка
Вывести на экран все простые числа из данного промежутка.

Вывести на экран все простые числа из данного промежутка
Здравствуйте, помогите пожалуйста с задачей Вывести на экран все простые числа из данного.

Или воспользуйтесь поиском по форуму:

Разработчику о работе с 1С:Предприятие, Pascal, Паскаль

Решение вопросов, возникающие при автоматизации учета с помощью 1С:Предприятие. Паскаль.

Pascal (Паскаль). Посчитать четные и нечетные числа в массиве.

08.05.2017 | Автор Дмитрий

Pascal (Паскаль). Посчитать четные и нечетные числа в массиве.
Код:

program Calk_Even_Task; //программа Посчитать четные и нечетные числа в массиве в Паскале const n = 10; var i, i_even, i_not_even: integer; i_MasNum: array[1..n] of integer; i_Num_even: boolean; begin i_even:=0; i_not_even:=0; //заполяем массив i_MasNum[1] := 2; i_MasNum[2] := 17; i_MasNum[3] := -5; i_MasNum[4] := 3; i_MasNum[5] := 108; i_MasNum[6] := 4; i_MasNum[7] := 16; i_MasNum[8] := 19; i_MasNum[9] := 37; i_MasNum[10] := 1; for i := 1 to n do begin i_Num_even := odd(i_MasNum[i]); // нечетное число if i_Num_even then i_not_even:=i_not_even+1 //сумма нечетных чисел else i_even:=i_even+1; //сумма четных чисел end; Writeln('Количество нечетных чисел: ', i_not_even); Writeln('Количество четных чисел: ', i_even); //завершение работы программы WriteLn('Нажмите , чтобы выйти.'); ReadLn(); end.  

Посчитать четные и нечетные числа в массиве Паскаль (Pascal).

Рубрика: Pascal (Паскаль) - задачи и решения

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *