Меню

Среди трех чисел найти среднее если среди чисел есть равные вывести сообщение ошибка паскаль

Перейти к содержанию

Среди трех чисел найти среднее

Просмотров 22.3к. Обновлено 15 октября 2021

Вводятся три разных числа. Найти, какое из них является средним (больше одного, но меньше другого).

Проверить, лежит ли первое число между двумя другими. При этом может быть два случая:

  • первое больше второго и первое меньше третьего,
  • первое меньше второго и первое больше третьего.

Если ни один из вариантов не вернул истину, значит первое число не среднее. Тогда проверяется, не лежит ли второе число между двумя другими. Это может быть в двух случаях, когда

  • второе больше первого и меньше третьего,
  • второе меньше первого и больше третьего.

Если эти варианты также не вернули истину, то остается только один вариант — посередине лежит третье число. Это при условии, что никакие два числа из трех не могут быть равны между собой. Иначе и здесь надо использовать логические выражения.

Pascal

даны три числа найдите среднее паскаль


var
a1, a2, a3: integer;

begin
write ('Введите три числа: ');
readln (a1, a2, a3);

if ((a1 > a2) and (a1 < a3)) or ((a1 < a2) and (a1 > a3)) then
writeln(a1)
else
if ((a2 > a1) and (a2 < a3)) or ((a2 < a1) and (a2 > a3)) then
writeln(a2)
else
writeln(a3);

end.



Введите три числа: 3 5 4
4

Язык Си


#include < stdio.h>
main() {
int a, b, c;
scanf("%d%d%d", &a,&b,&c);
if (a > b && a < c || a < b && a > c)
printf("%dn", a);
else
if (b > a && b < c || b < a && b > c)
printf("%dn", b);
else
printf("%dn", c);
}



110 111 109
110

Python

найти среднее число из 3 чисел Python


print('Введите три числа: ')
a = int(input())
b = int(input())
c = int(input())

if b < a < c or c < a < b:
print('Среднее:', a)
elif a < b < c or c < b < a:
print('Среднее:', b)
else:
print('Среднее:', c)



Введите три числа:
453
244
901
Среднее: 453

Basic-256


print "Введите три числа: "
input a
input b
input c
print "Среднее: ";
if a > b and a < c or a < b and a > c then
print a
else
if b > a and b < c or b < a and b > c then
print b
else
print c
endif
endif



Введите три числа:
45
60
54
Среднее: 54

Задача1.

Месячная выплата m по займу в s
рублей на n лет под процент p вычисляется по формуле:
m = (s * r * (1 + r)n) / (12 * ((1 + r)n – 1)), где r = p
/ 100.

Программа, вычисляющая значение m
(месячную выплату) по известным s (сумме займа), p (проценту) и n (количеству
лет), может выглядеть так:

Программа на языке
Паскаль: 

var

    m, s, p, n, r, a: real;

begin

    write(‘Величина заема : ‘);

    readln(s);

    write(Процент: ‘);

    readln(p);

    write(‘Количество лет: ‘);

    readln(n);

    r := p / 100;

    a := exp(ln(1 + r) * n);

    m := (s * r * a) / (12 * (a 1));

    m := trunc(100 * m + 0.5) / 100;

    writeln;

    writeln(‘Месячная выплата: ‘, m:5:2);

    writeln(‘Прибыль банка: ‘, m * 12 * n s:5:2);

readln

end.

Примечания: Выражение
exp(ln(1 + r) * n) вычисляет (1 + r)n.
Выражение trunc(100 * m + 0.5) / 100 выполняет округление до копейки.

Задача 2: Среди
трех чисел найти среднее. Если среди чисел есть равные, вывести сообщение
«Ошибка».

Программа на языке
Паскаль: 

var

    a1, a2, a3: integer;

begin

    write
(‘Введите три числа:
);

    readln (a1, a2, a3);

    if (a1 = a2) or (a1 = a3) or (a2 = a3) or ((a1 = a2) and (a2 = a3)) then

        writeln(Ошибка)

    else

        if ((a1 >
a2) and (a1 < a3)) or ((a1 <
a2) and (a1 > a3)) then

            writeln(a1)

        else

            if ((a2 >
a1) and (a2 < a3)) or ((a2 <
a1) and (a2 > a3)) then

                writeln(a2)

            else

                writeln(a3);

end.

Пример работы программы:        Введите три числа: 7
4 6

                                              
6

lypou123

lypou123

Вопрос по информатике:

Составьте программу,которая определяет какое из трех введенных с клавиатуры чисел является средним.если среди чисел есть равные,то вывести сообщение»ошибка»

Трудности с пониманием предмета? Готовишься к экзаменам, ОГЭ или ЕГЭ?

Воспользуйся формой подбора репетитора и занимайся онлайн. Пробный урок — бесплатно!

Ответы и объяснения 1

momidacomes47

momidacomes47

Знаете ответ? Поделитесь им!

Гость

Гость ?

Как написать хороший ответ?

Как написать хороший ответ?

Чтобы добавить хороший ответ необходимо:

  • Отвечать достоверно на те вопросы, на которые знаете
    правильный ответ;
  • Писать подробно, чтобы ответ был исчерпывающий и не
    побуждал на дополнительные вопросы к нему;
  • Писать без грамматических, орфографических и
    пунктуационных ошибок.

Этого делать не стоит:

  • Копировать ответы со сторонних ресурсов. Хорошо ценятся
    уникальные и личные объяснения;
  • Отвечать не по сути: «Подумай сам(а)», «Легкотня», «Не
    знаю» и так далее;
  • Использовать мат — это неуважительно по отношению к
    пользователям;
  • Писать в ВЕРХНЕМ РЕГИСТРЕ.

Есть сомнения?

Не нашли подходящего ответа на вопрос или ответ отсутствует?
Воспользуйтесь поиском по сайту, чтобы найти все ответы на похожие
вопросы в разделе Информатика.

Трудности с домашними заданиями? Не стесняйтесь попросить о помощи —
смело задавайте вопросы!

Информатика — наука о методах и процессах сбора, хранения, обработки, передачи, анализа и оценки информации с применением компьютерных технологий, обеспечивающих возможность её использования для принятия решений.

Notoriously

70 / 70 / 35

Регистрация: 06.07.2016

Сообщений: 415

1

Найти среднее среди трех введенных чисел

10.09.2016, 16:40. Показов 9426. Ответов 10

Метки нет (Все метки)


Задача «Определить среднее из трёх чисел».
Мой код :

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Program TheAverageOfNumbers;
var a,b,c : Integer;
Begin
    Writeln('Type three numbers');
    Readln(a,b,c);
    If (b>a) and (b<c) then
    Writeln (b)
    else
    If (b<a) and (b>c) then
    Writeln(b)
    else
    If (a<b) and (a>c) then
    Writeln (a)
    else
    If (a>b) and (a<c) then
    Writeln (a)
    else
    If (c<b) and (c>a) then
    Writeln (c)
    else
    If (c>b) and (c<a) then
    Writeln(c)
    else
    If (a=b) or (a=c) or (b=c) or ((a=b) and (b=c)) then 
    Writeln ('Error');
End.

Вроде бы работает.
А можно как-то проще?

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Puporev

Почетный модератор

64270 / 47569 / 32739

Регистрация: 18.05.2008

Сообщений: 115,182

10.09.2016, 16:44

2

Лучший ответ Сообщение было отмечено Notoriously как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
var a,b,c,mn,mx,x : Integer;
Begin
    Writeln('Type three numbers');
    Readln(a,b,c);
    if a>b then mx:=a else mx:=b;
    if c>mx then mx:=c;
    if a<b then mn:=a else mn:=b;
    if c<mn then mn:=c;
    x:=a+b+c-mn-mx;
    Writeln (x);
End.



1



ФедосеевПавел

Модератор

Эксперт по электронике

8276 / 4180 / 1595

Регистрация: 01.02.2015

Сообщений: 12,995

Записей в блоге: 3

10.09.2016, 16:49

3

Если не учитывать опасность переполнения, то
https://www.cyberforum.ru/cgi-bin/latex.cgi?avg:= (a+b+c) - min(min(a,b), c) - max(a, max(b,c))
Или сделать сортировку по возрастанию методом пузырька (определив процедуру swap, как обмен значений переменных):

Pascal
1
2
3
4
5
6
7
  if a<b then
    swap(a,b);
  if b<c then
    swap(b,c);
  if a<b then
    swap(a,b);
  writeln(c);



1



70 / 70 / 35

Регистрация: 06.07.2016

Сообщений: 415

10.09.2016, 16:51

 [ТС]

4

Puporev , спасибо.



0



Модератор

Эксперт по электронике

8276 / 4180 / 1595

Регистрация: 01.02.2015

Сообщений: 12,995

Записей в блоге: 3

10.09.2016, 16:51

5

Припозднился я



1



70 / 70 / 35

Регистрация: 06.07.2016

Сообщений: 415

10.09.2016, 16:56

 [ТС]

6

ФедосеевПавел , спасибо, то что написано выше, я понял.
А вот до изучения «swap» еще не дошёл. Что она делает? Меняет местами значения переменных в памяти компьютера?
Получается, что при введенных 1,3,2=>3,1,2=>3,2,1
И на вывод же идет 1? Или нет?



0



5 / 5 / 7

Регистрация: 02.03.2016

Сообщений: 46

10.09.2016, 16:59

7

ну, если в свап отправить a=1 и b=2, то на выходе a будет равно 2, а b равно 1



0



ФедосеевПавел

Модератор

Эксперт по электронике

8276 / 4180 / 1595

Регистрация: 01.02.2015

Сообщений: 12,995

Записей в блоге: 3

10.09.2016, 17:04

8

Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Сейчас полностью состряпаю. Минуточку…

Добавлено через 4 минуты
Ранее я ошибся и вывел c, а надо было среднее — b. Сейчас правильно вывожу среднее

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
program Compare;
 
  procedure Swap(var a, b: integer);
  var
    temp: integer;
  begin
    temp := a;
    a := b;
    b := temp;
  end;
 
var
  a, b, c: integer;
begin
  a := 10;
  b := 0;
  c := 20;
  if a < b then
    swap(a, b);
  if b < c then
    swap(b, c);
  if a < b then
    swap(a, b);
  writeln(b);
end.



1



70 / 70 / 35

Регистрация: 06.07.2016

Сообщений: 415

10.09.2016, 17:07

 [ТС]

9

Всё понял. Спасибо!



0



Модератор

Эксперт по электронике

8276 / 4180 / 1595

Регистрация: 01.02.2015

Сообщений: 12,995

Записей в блоге: 3

10.09.2016, 17:08

10

Это почти реализация сортировки пузырьком.

Добавлено через 32 секунды
Что-то я сегодня невпопад с задержкой отвечаю.



0



5 / 5 / 7

Регистрация: 02.03.2016

Сообщений: 46

10.09.2016, 17:17

11

Бывает



0



Оглавление:

  • 1 Задача — Среди трех чисел найти среднее
    — программирование на Pascal, Си, Кумир, Basic-256, Python

    • 1.1 Pascal
    • 1.2 Язык Си
    • 1.3 Python
    • 1.4 Basic-256

Задача — Среди трех чисел найти среднее
— программирование на Pascal, Си, Кумир, Basic-256, Python

Вводятся три разных числа. Найти, какое из них является средним (больше одного, но меньше другого).

Проверить, лежит ли первое число между двумя другими. При этом может быть два случая:

  • первое больше второго и первое меньше третьего,
  • первое меньше второго и первое больше третьего.

Если ни один из вариантов не вернул истину, значит первое число не среднее. Тогда проверяется, не лежит ли второе число между двумя другими. Это может быть в двух случаях, когда

  • второе больше первого и меньше третьего,
  • второе меньше первого и больше третьего.

Если эти варианты также не вернули истину, то остается только один вариант — посередине лежит третье число.

Pascal

var
a1, a2, a3: integer;

begin
write (‘Введите три числа: ‘);
readln (a1, a2, a3);

if ((a1 > a2) and (a1 < a3)) or ((a1 < a2) and (a1 > a3)) then
writeln(a1)
else
if ((a2 > a1) and (a2 < a3)) or ((a2 < a1) and (a2 > a3)) then
writeln(a2)
else
writeln(a3);

end.

Введите три числа: 3 5 4
4

Язык Си

#include <stdio.h>
main() {
int a, b, c;
scanf(«%d%d%d», &a,&b,&c);
if (a > b && a < c || a < b && a > c)
printf(«%dn», a);
else
if (b > a && b < c || b < a && b > c)
printf(«%dn», b);
else
printf(«%dn», c);
}

110 111 109
110

Python

print(‘Введите три числа: ‘)
a = int(input())
b = int(input())
c = int(input())

if b < a < c or c < a < b:
print(‘Среднее:’, a)
elif a < b < c or c < b < a:
print(‘Среднее:’, b)
else:
print(‘Среднее:’, c)

Введите три числа:
453
244
901
Среднее: 453

Basic-256

print «Введите три числа: »
input a
input b
input c
print «Среднее: «;
if a > b and a < c or a < b and a > c then
print a
else
if b > a and b < c or b < a and b > c then
print b
else
print c
endif
endif

Введите три числа:
45
60
54
Среднее: 54

Did you find apk for android? You can find new Free Android Games and apps.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Среди трех чисел найти среднее если среди чисел есть равные вывести сообщение ошибка python
  • Справочник ошибок бытовой техники