Как в паскале составить программу упорядочения по возрастанию значений в трех переменных

Puporev

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

64286 / 47585 / 32739

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

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

25.03.2010, 09:06

6

Polkanchik, В приведенном Вами примере неудачный вариант решения с использованием массивов, это неправильно.
А сложение и вычитание делается для обмена чисел, например 2 числа a=5, b=8. Нужно их написать по убыванию
a:=a+b;(5+8=13)
b:=a-b;(13-8=5);
a:=a-b;(13-5=8);
поменяли местами. Так и у Жека-старший, только там чисел 3.

Добавлено через 8 минут
Только тип byte взят крайне неудачно, при вычитании могут получаться отрицательные числа, которых нет в этом типе и программа будет выдавать что захочет, лучше уж написать для всех чисел.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
program pr1;
uses crt;
var a,b,c:real;
begin
  clrscr;
  writeln('Введите 3 числа:');
  readln(a,b,c);
  if a>b then
   begin
    a:=a+b; b:=a-b; a:=a-b;
   end;
  if b>c then
   begin
    b:=b+c; c:=b-c; b:=b-c;
   end;
  if a>b then
   begin
    a:=a+b; b:=a-b; a:=a-b;
   end;
  writeln('Числа по возрастанию:');
  write(a:0:2,' ',b:0:2,' ',c:0:2);
  readln
end.

Добавлено через 9 минут
Если значения чисел нельзя почему-то менять, то тогда нужно писать например так.

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
uses crt;
var x,y,z,mn,sr,mx:real;
begin
clrscr;
write('x=');readln(x);
write('y=');readln(y);
write('z=');readln(z);
mx:=x;//найдем наибольшее
if y>mx then mx:=y;
if z>mx then mx:=z;
mn:=x;//наименьшее
if y<mn then mn:=y;
if z<mn then mn:=z;
sr:=x+y+z-mx-mn;//среднее
writeln('По убыванию:');
writeln(mx:0:2,' ',sr:0:2,' ',mn:0:2);
writeln('По возрастанию:');
writeln(mn:0:2,' ',sr:0:2,' ',mx:0:2);
readln
end.



0



Informatika-10-klass-Semakin ГДЗ § 19. Программирование ветвлений

§ 19. Программирование ветвлений ГДЗ по Информатике для 10 класса Семакин.


Составьте на Паскале программу упорядочения по возрастанию значений в трех переменных: X, Y, Z.

Ответ

Program chislapovozrostaniy;
uses crt;
var a,b,c : integer;
begin
Writeln(‘Введите значения X Y Z: ‘);
Readln(a,b,c);
if a>b then
begin
a:=a+b;
b:=a-b;
a:=a-b;
end;
if b>c then
begin
b:=b+c;
c:=b-c;
b:=b-c;
end;
if a>b then
begin
a:=a+b;
b:=a-b;
a:=a-b;
end;
writeln(‘X=’,a,’ Y=’,b,’ Z=’,c);
end.




Ученик

(8),
закрыт



5 лет назад

Дмитрий Заботин

Знаток

(396)


8 лет назад

var a, b, c, t: integer;
begin
readln(a, b, c);
if (a > b) then
begin
t := a;
a := b;
b := t;
end;
if (b > c) then
begin
t := b;
b := c;
c := t;
end;
if (a > b) then
begin
t := a;
a := b;
b := t;
end;
writeln(a, ‘ ‘, b, ‘ ‘, c);
end.

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

поделиться знаниями или
запомнить страничку

  • Все категории
  • экономические
    43,655
  • гуманитарные
    33,653
  • юридические
    17,917
  • школьный раздел
    611,944
  • разное
    16,904

Популярное на сайте:

Как быстро выучить стихотворение наизусть? Запоминание стихов является стандартным заданием во многих школах. 

Как научится читать по диагонали? Скорость чтения зависит от скорости восприятия каждого отдельного слова в тексте. 

Как быстро и эффективно исправить почерк?  Люди часто предполагают, что каллиграфия и почерк являются синонимами, но это не так.

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

Var
A,B,C:integer;
Begin

WriteLn(Введите три числа);
ReadLn(A,B,C);
if (A<=B)and(B<=C) then Write(A, ,B, ,C)
else if (A<=C)and(C<=B) then Write(A, ,C, ,B)
else if (B<=A)and(A<=C) then Write(B, ,A, ,C)
else if (B<=C)and(C<=A) then Write(B, ,C, ,A)
else if (C<=A)and(A<=B) then Write(C, ,A, ,B)
else if (C<=B)and(B<=A) then Write(C, ,B, ,A)
End.

Var a,b,c,D:real;
Begin
Write(a = );ReadLn(a);
Write(b = );ReadLn(b);
Write(c = );ReadLn(c);
D:=b*b-4*a*c;
if D>=0 then
   Begin
   WriteLn(x = ,(-b-sqrt(D))/(2*a));
   WriteLn(x = ,(-b+sqrt(D))/(2*a));
   End
else WriteLn(Действительных корней нет)
End.

Оцени ответ

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