Вопрос задан 06.05.2019 в 12:31. Предмет Информатика. Спрашивает Иданов Сергей.

5. Исходя из условия задачи, исправьте программу и напишите правильное решение Задача: Даны три

целых числа A, B, C. Определить, есть ли среди них хотя бы одно четное и хотя бы одно нечетное. var a, b, c, d: integer; begin readln (a, b, c); d := 0; if a mod 2 = 0 then d := d + 1; if b mod 2 = 0 then d := d + 1; if c mod 2 = 0 then d := d + 1; if a mod 2 <> 0 then d := d + 1; if b mod 2 <> 0 then d := d + 1; if c mod 2 <> 0 then d := d + 1; if d > 0 then writeln ('YES') else writeln ('NO'); end.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Баринов Рома.
Var
  i,n:integer;
  IsOdd,IsEven:boolean;
begin
  IsOdd:=false; IsEven:=false;
  Write('Введите три числа: ');
  for i:=1 to 3 do
  begin
    Read(n);
    if n<>0 then
      if (n mod 2)=0 then IsEven:=True
      else IsOdd:=True
  end;
  Write('Среди введенных чисел ');
  if IsOdd then Write('есть нечетное')
  else Write('нет нечетных');
  if IsEven then Write(' и есть четное')
  else Write('и нет четных')
end.

Тестовое решение:
Введите три числа: 5 8 3
Среди введенных чисел есть нечетное и есть четное


0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Я могу помочь вам с программированием на языке Pascal. Ваша программа содержит ошибку в логике. Вы проверяете, есть ли среди трех чисел хотя бы одно четное и хотя бы одно нечетное, но вы делаете это неправильно. Вы увеличиваете переменную d на 1 каждый раз, когда число четное или нечетное, но это не дает вам правильный ответ. Например, если a, b и c равны 2, 4 и 6, то d будет равно 6, и программа напишет 'YES', хотя среди чисел нет ни одного нечетного. Чтобы исправить программу, вам нужно проверять, есть ли среди чисел хотя бы одно четное и хотя бы одно нечетное одновременно, а не по отдельности. Для этого вы можете использовать логические операторы and и or. Вот правильное решение задачи:

var a, b, c: integer; begin readln(a, b, c); if (a mod 2 = 0) or (b mod 2 = 0) or (c mod 2 = 0) then // есть хотя бы одно четное число if (a mod 2 <> 0) or (b mod 2 <> 0) or (c mod 2 <> 0) then // есть хотя бы одно нечетное число writeln('YES') else writeln('NO') else writeln('NO'); end.

Если вы хотите узнать больше о языке Pascal, вы можете посмотреть эти ссылки:

- [Pascal (programming language) - Wikipedia](https://en.wikipedia.org/wiki/Pascal_%28programming_language%29) - общая информация о языке Pascal, его истории, синтаксисе и особенностях. - [Free Pascal - Download](https://www.freepascal.org/download.var) - бесплатный компилятор для Pascal и Object Pascal, который поддерживает разные платформы и операционные системы. - [Pascal (programming language) - CodeDocs](https://codedocs.org/what-is/pascal-programming-language) - краткое описание языка Pascal с примерами кода и ссылками на другие ресурсы. - [Pascal Tutorial - Online Courses and eBooks Library](https://www.tutorialspoint.com/pascal/index.htm) - учебник по языку Pascal, который объясняет основные концепции, операторы, типы данных, процедуры, функции и другие аспекты программирования на Pascal.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос