0 / 0 / 0
Регистрация: 15.10.2013
Сообщений: 48
1

Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел

15.10.2013, 14:00. Показов 49915. Ответов 8
Метки нет (Все метки)

Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел.
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.10.2013, 14:00
Ответы с готовыми решениями:

Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел
Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел

Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел
Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел. Единицы длины...

Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел(If)
Даны три числа. Вывести вначале наименьшее, а затем наибольшее из данных чисел(If)

Ввести три числа A, B, C. Вывести вначале наименьшее, а затем наибольшее из данных чисел
Ввести три числа A,B,C.Вывести вначале наименьшее, а затем наибольшее из данных чисел. Если...

8
0 / 0 / 5
Регистрация: 15.10.2013
Сообщений: 7
15.10.2013, 14:04 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
var a,b,c,min,max:integer;
  begin
  writeln('Введите три числа:');
  readln(a,b,c);
 max:=a;
  if b>max then max:=b;
  if c>max then max:=c;
 min:=a;
  if b<min then min:=b;
  if c<min then min:=c;
  writeln('Минимальное: ',min);
  writeln('Максимальное: ',max);
  end.
0
4 / 4 / 2
Регистрация: 26.08.2015
Сообщений: 59
26.08.2015, 16:06 3
(pascal)
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
var
a,b,c,m1,m2,m3:real;
begin
write(a,b,c);
read(a,b,c);
if a<b then m1:=a
else m1:=b;
if b<c then m2:=b
else m2:=c;
if m1<m2 then m3:=m1 
else m3:=m2;
writeln(m3);
if a>b then m1:=a
else m1:=b;
if b>c then m2:=b
else m2:=c;
if m1>m2 then m3:=m1 
else m3:=m2;
writeln(m3);
end.
0
Модератор
9466 / 4792 / 3208
Регистрация: 17.08.2012
Сообщений: 15,021
26.08.2015, 17:28 4
Для Free Pascal можно проще:
Pascal
1
2
3
4
5
6
7
8
uses math;
var a, b, c: integer;
begin
  write('Введите три числа: ');
  readln(a,b,c);
  write('Минимальное: ', min(min(a, b), c), ', Максимальное: ', max(max(a, b), c));
  readln
end.
0
4 / 4 / 2
Регистрация: 26.08.2015
Сообщений: 59
26.08.2015, 17:51 5
Код хорош, только я забыл указать, что мое решение для задачи раздела if.
В данном разделе не предполагается использование функций min и max, а решается с помощью if then else.
И потом, если будут вводить дробные числа? на мой взгляд тип real более пригоден в контексте данной задачи.
0
Модератор
9466 / 4792 / 3208
Регистрация: 17.08.2012
Сообщений: 15,021
26.08.2015, 19:04 6
Строчка 4 лишняя. В ней выводятся неинициализированные переменные, причём ещё и слитно.
Строчка 5: должно быть readln.
Излишне сложно построено условие. Достаточно как у _vladimirK.
Согласен насчёт real. Не применяю в учебных задачах во избежание вопроса про непонятный вывод 0.00000000000000E+000 с неумолимо следующим за этим вопросом насчёт форматированного вывода.
1
4 / 4 / 2
Регистрация: 26.08.2015
Сообщений: 59
26.08.2015, 20:15 7
На счет строчек 4 и согласен, потом доработал до вида:
Pascal
1
2
3
4
5
6
writeln('a= ');
readln(a);
writeln('b= ');
readln(b);
writeln('c= ');
readln(c);
Что касательно условия, согласен с тем, что оно сложно и не оптимально, но прошу сделать скидку что я в программировании НУБ и паскалем в частности занимаюсь 3 дня.
Выложил код на суд людской за тем, что бы посмотрели, оценили и сказали, что не так, за что большое спасибо. Ну и как один из вариантов решения задачи, возможно кому то будет полезно)
0
Модератор
9466 / 4792 / 3208
Регистрация: 17.08.2012
Сообщений: 15,021
26.08.2015, 22:40 8
Лучше
Pascal
1
2
3
4
5
6
write('a= ');
readln(a);
write('b= ');
readln(b);
write('c= ');
readln(c);
Ввод получается в этом случае более человеческий.

Не по теме:

И не пренебрегайте форматированием кода. Вот так:

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
27
28
29
var a, b, c, m1, m2, m3: real;
begin
  write('a = ');
  readln(a);
  write('b = ');
  readln(b);
  write('c = ');
  readln(c);
  if a < b
    then m1 := a
    else m1 := b;
  if b < c
    then m2 := b
    else m2 := c;
  if m1 < m2
    then m3 := m1
    else m3 := m2;
  writeln('Min = ', m3);
  if a > b
    then m1 := a
    else m1 := b;
  if b > c
    then m2 := b
    else m2 := c;
  if m1 > m2
    then m3 := m1
    else m3 := m2;
  writeln('Max =', m3);
end.
или даже так, несколько не по правилам:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var a, b, c, m1, m2, m3: real;
begin
  write('a = ');
  readln(a);
  write('b = ');
  readln(b);
  write('c = ');
  readln(c);
  if a < b then m1 := a else m1 := b;
  if b < c then m2 := b else m2 := c;
  if m1 < m2 then m3 := m1 else m3 := m2;
  writeln('Min = ', m3);
  if a > b then m1 := a else m1 := b;
  if b > c then m2 := b else m2 := c;
  if m1 > m2 then m3 := m1 else m3 := m2;
  writeln('Max =', m3);
end.
Главное, чтобы при прочтении кода не возникало разночтений. Эта программа ещё ладно, но, если бы были вложенные условия, код без отступов может быть интерпретирован неверно, да ещё и внимание приходится в этом случае всё время напрягать, чтобы не упустить, что к чему относится.

И код при размещении на форуме в теги заключайте. Когда напечатаете/скопируете код в сообщение, выделите его, и нажмите соответствующее слово в шапке редактора сообщений, для паскаля - "PASCAL", естественно.

0
634 / 866 / 144
Регистрация: 10.08.2015
Сообщений: 4,445
27.08.2015, 19:27 9
Задачка простая, в три действия, поэтому и условий if должно быть три:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
var a, b, c, mi, ma: real;
begin
  write('a = ');
  readln(a);
  write('b = ');
  readln(b);
  write('c = ');
  readln(c);
 
  if a < b then
    begin mi := a; ma := b; end
  else
    begin ma := a; mi := b; end;
 
  if c < mi
    then  mi := c
    else  if c > ma  then  ma := c;
 
  writeln('Min = ', mi);
  writeln('Max = ', ma);
  readln;
end.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.08.2015, 19:27
Помогаю со студенческими работами здесь

Вывести вначале наименьшее, а затем наибольшее из данных чисел
Задача:Ввести три числа A, B, C. Вывести вначале наименьшее, а затем наибольшее из данных чисел....

Даны два числа. Вывести вначале большее, а затем меньшее из них
Даны два числа. Вывести вначале большее, а затем меньшее из них.

Даны два числа Вывести вначале большее, а затем меньше из них
Даны два числа Вывести вначале большее, а затем меньше из них

Даны три различных действительных числа. Найти два числа, модуль разности которых имеет наибольшее/наименьшее значение
Я сижу на экзамене по Информатике и запутался. Данно задание Даны три различных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru