Покажите что приведенная программа не всегда верно определяет максимальное из трех чисел

(c++)Покажите, что приведенная программка не всегда верно определяет максимальное из трёх чисел, записанных в переменные a, b и c: if (a gt; b) M = a; else M = b; if (с gt; b) M = с; else M = b; Приведите контрпример, то есть значения переменных, при котором в переменной M будет получен неправильный ответ. Как необходимо доработать программу, чтоб она всегда работала верно?

  • Анатолий Склифус
  • Информатика
  • 2019-05-01 11:53:06
  • 1
  • 2

Юковская Ксения 2019-05-01 11:58:06

А=10 b=8 c=9
доработать приблизительно так: if (a gt; b) and (agt;c) M = a;
else if (b gt; c) and (bgt;a) M = b;
else if (с gt; b) and (cgt;a) M = с;

Вазетдинов Тимур 2019-05-01 12:02:50

A=3, b=2, c=1
if (a gt; b) M = a; else if ( с gt; b) M = с ; else M = b;

Источник: obrazovalka.com

Функциональный интерфейс Comparator

К.Ю. Поляков, Е.А. Еремин — Язык Си и Си++

Попробуем немного ускорить работу программы. Делители числа обязательно идут в парах, причём в любой паре меньший из делителей не превосходит n (иначе получается, что произве дение двух делителей, каждый из которых больше n , будет больше, чем n ). Поэтому внутрен ний цикл можно выполнять только до значения

n вместо n-1 . Для того, чтобы работать только с целыми числами (и таким образом избежать вычислительных ошибок), лучше заменить условие

http://kpolyakov.spb.ru

08.11.2014
Информатика, 10 класс К.Ю. Поляков, Е.А. Еремин 20

k ≤ n на равносильное ему условие k 2 ≤ n . При этом потребуется перейти к внутреннему циклу с условием: count = 0 ; k = 2 ; while ( k*k Чтобы еще ускорить работу цикла, заметим, что когда найден хотя бы один делитель, число уже заведомо составное, и искать другие делители в данной задаче не требуется. Поэтому можно за кончить цикл.

Читайте также:
Mac OS не устанавливает программы

Для этого в условие работы цикла добавляется условие n % k != 0 , связанное с имеющимся условием с помощью операции «И», при этом можно обойтись без переменной count : k = 2 ; while ( k*k n ) printf( «%dn» , n); После выхода из цикла мы проверяем, какое условие было нарушено. Если k*k>n (нарушено первое условие в заголовке цикла), то число n простое.

В любом вложенном цикле переменная внутреннего цикла изменяется быстрее, чем пере менная внешнего цикла. Рассмотрим такой вложенный цикл: for ( i = 1 ; i > На первом шаге (при i=1 ) переменная k принимает единственное значение 1. Далее, при i=2 переменная k принимает последовательно значения 1 и 2. На следующем шаге при i=3 пере менная k проходит значения 1, 2 и 3, и т.д. ? Контрольные вопросы 1. Что такое цикл?

Л.14 Графический метод решения задач нелинейного программирования. Лектор Бредихина О. А.

2. Сравните цикл с переменной и цикл с условием. Какие преимущества и недостатки есть у каждого из них? 3. Что означает выражение «цикл с предусловием»? 4. В каком случае цикл с предусловием не выполняется ни разу? 5. В каком случае программа, содержащая цикл с условием, может зациклиться?

6. В каком случае цикл с переменной не выполняется ни разу? 7. Верно ли, что любой цикл с переменной можно заменить циклом с условием? Верно ли об ратное утверждение? 8. В каком случае можно заменить цикл с условием на цикл с переменной? 9. Как будет работать приведенная программа, которая считает количество цифр введённого числа, при вводе отрицательного числа?

Если вы считаете, что она работает неправильно, укажите, как её нужно доработать. Задачи и задания

1. Найдите ошибку в программе: k = 0 ;
k = 0 ;
while ( k < 10 ) while ( k < 10 )
printf ( «приветn» ); cout
Читайте также:
Где пишут рефераты в какой программе

Источник: studfile.net

Упражнения C # Sharp: найти наибольшее из трех чисел

«C #

Условное утверждение C # Sharp: упражнение 8 с решением

Напишите программу на C, чтобы найти наибольшее из трех чисел.

«C #

Пример решения : —

C # острый код:

using System; public class Exercise8 < public static void Main() < int num1, num2, num3; Console.Write(«nn»); Console.Write(«Find the largest of three numbers:n»); Console.Write(«————————————«); Console.Write(«nn»); Console.Write(«Input the 1st number :»); num1 = Convert.ToInt32(Console.ReadLine()); Console.Write(«Input the 2nd number :»); num2 = Convert.ToInt32(Console.ReadLine()); Console.Write(«Input the 3rd number :»); num3 = Convert.ToInt32(Console.ReadLine()); if (num1 >num2) < if (num1 >num3) < Console.Write(«The 1st Number is the greatest among three. nn»); >else < Console.Write(«The 3rd Number is the greatest among three. nn»); >> else if (num2 > num3) Console.Write(«The 2nd Number is the greatest among three nn»); else Console.Write(«The 3rd Number is the greatest among three nn»); > >
Найдите наибольшее из трех чисел: ———————————— Введите 1-е число: 20 Введите 2-е число: 25 Введите 3-е число: 15 2-й номер самый большой среди трех

Блок — схема:

«Блок-схема:

Редактор кода C # Sharp:

Внесите свой код и комментарии через Disqus.

Каков уровень сложности этого упражнения?

Источник: www.kodesource.top

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