2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Максимальное из трех чисел (pascal)
Сообщение27.12.2014, 18:55 
Аватара пользователя


27/03/14
1091
Написал прогу для выбора из трех введенных чисел наибольшего. Вот она:
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

Var
    x,y,z,max:real;

begin
  writeln ('enter x ');
  readln (x);
  writeln ('enter y ');
  readln (y);
  writeln ('enter z');
  readln (z);
  max:=x;
    if y>x then
      if z>y then
        begin
        max:=z;
        writeln ('max (x,y,z) = ', max:3:3);
        end
             else
        begin
          max:=y;
          writeln ('max (x,y,z) = ', max:3:3);
        end;
    if y<x then
      if z<y then
        begin
        x:=max;
        writeln ('max (x,y,z) = ', max:3:3);
        end
             else
        begin
          if x>z then
            begin
            x:=max;
            writeln ('max (x,y,z) = ', max:3:3);
            end
                 else
            begin
            z:=max;
            writeln ('max (x,y,z) = ', max:3:3);
            end;
        end;
readln;
end.

У меня два вопроса:
1) Как она вам ? Будут ли какие- то комментарии или указания?
2) Как сюда впаять условия для поиска минимального значения? Я делал это, следуя своей "незыблемой" логике, но у меня получались ерунда, не правильно оно определялось.

 Профиль  
                  
 
 Re: Максимальное из трех чисел (pascal)
Сообщение27.12.2014, 19:21 
Заслуженный участник
Аватара пользователя


30/01/09
6651
fronnya в сообщении #953154 писал(а):
1) Как она вам ? Будут ли какие- то комментарии или указания?

Сегодня фильм показывали про графа Калиостро (забыл название). Вопрос там задали мужику: "За сколько дней можешь починить карету?". У меня здесь прямые ассоциации. А если бы вас попросили сделать тоже самое, но чтобы объём программы был бы вдвое больше, то смогли бы справиться с заданием? Вопрос актуальный, поскольку некоторые оценивают сложность программы и кол-во нужных человеко-дней для их разработки по их объёму.

 Профиль  
                  
 
 Re: Максимальное из трех чисел (pascal)
Сообщение27.12.2014, 19:22 


27/08/14
206
Жесть какая-то (страшно представить, что было бы, если входных значений было больше) :-). Посмотрите, что программа выдаст при x = y.
Вообще вам не надо рассматривать все варианты, достаточно последовательно сравнить каждое число с максимальным и, если оно больше, изменять делать максимальным. Для минимального аналогично.

 Профиль  
                  
 
 Re: Максимальное из трех чисел (pascal)
Сообщение27.12.2014, 19:26 
Аватара пользователя


27/03/14
1091
мат-ламер в сообщении #953161 писал(а):
fronnya в сообщении #953154 писал(а):
1) Как она вам ? Будут ли какие- то комментарии или указания?

Сегодня фильм показывали про графа Калиостро (забыл название). Вопрос там задали мужику: "За сколько дней можешь починить карету?". У меня здесь прямые ассоциации. А если бы вас попросили сделать тоже самое, но чтобы объём программы был бы вдвое больше, то смогли бы справиться с заданием? Вопрос актуальный, поскольку некоторые оценивают сложность программы и кол-во нужных человеко-дней для их разработки по их объёму.

Я наоборот хочу максимально укоротить программу.

-- 27.12.2014, 18:29 --

Progger в сообщении #953162 писал(а):
. Посмотрите, что программа выдаст при x = y.

глюк

 Профиль  
                  
 
 Re: Максимальное из трех чисел (pascal)
Сообщение27.12.2014, 19:39 
Аватара пользователя


31/12/13
148
Найдите готовую или напишите свою функцию
Код:
float max(float a, float b);

А потом сможете просто написать
Код:
max = max(x, max(y, z));

 Профиль  
                  
 
 Re: Максимальное из трех чисел (pascal)
Сообщение27.12.2014, 19:48 
Аватара пользователя


27/03/14
1091
electric_retard в сообщении #953166 писал(а):
Найдите готовую или напишите свою функцию
Код:
float max(float a, float b);

А потом сможете просто написать
Код:
max = max(x, max(x, y));

Т.е. функция будет сравнивать только один раз, верно?

 Профиль  
                  
 
 Re: Максимальное из трех чисел (pascal)
Сообщение27.12.2014, 19:50 
Аватара пользователя


31/12/13
148
fronnya
Вызываться будет дважды.
Исправил пред. сообщение.

 Профиль  
                  
 
 Re: Максимальное из трех чисел (pascal)
Сообщение27.12.2014, 20:24 
Аватара пользователя


27/03/14
1091
electric_retard в сообщении #953170 писал(а):
fronnya
Вызываться будет дважды.
Исправил пред. сообщение.

Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;
procedure bmax (i,j,k :real; Var fmax:real);
    begin
      writeln ('enter x ');
      readln (i);
      writeln ('enter y ');
      readln (j);
      writeln ('enter z');
      readln (k);
        if i>j then
          begin
            fmax:=i;
          end
               else
            fmax:=j;
        if fmax>k then
          begin
            writeln ('max(x,y,z)= ', fmax:3:3);
          end
                  else
            writeln ('max(x,y,z)= ', k:3:3);
    end;


Var
    x,y,z,max, a:real;

begin
bmax (x,y,z,max);
readln;
end.

Уж это куда покороче) Спасибо

 Профиль  
                  
 
 Re: Максимальное из трех чисел (pascal)
Сообщение27.12.2014, 23:48 
Заслуженный участник


27/04/09
28128
А теперь добейтесь одного Writeln, и в следующий раз используйте [​syntax] (просто выбираете язык из списка над полем ответа):

Используется синтаксис Delphi
{$APPTYPE CONSOLE}
begin
  // щас каак выведем!
  Writeln("Подсветка синтаксиса радует глаз, и второй глаз тоже!");
end.


-- Вс дек 28, 2014 02:50:15 --

(Кстати, а зачем вам a: Real?)

 Профиль  
                  
 
 Re: Максимальное из трех чисел (pascal)
Сообщение28.12.2014, 03:10 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
fronnya, а что, на физфаке на первом курсе есть программирование? И изучают там не Си, а Паскаль? Или вы помимо универа упражняетесь?

 Профиль  
                  
 
 Re: Максимальное из трех чисел (pascal)
Сообщение02.01.2015, 02:57 
Аватара пользователя


27/03/14
1091
Aritaborian в сообщении #953347 писал(а):
fronnya, а что, на физфаке на первом курсе есть программирование? И изучают там не Си, а Паскаль? Или вы помимо универа упражняетесь?

На всех специальностях, в том числе и на нашей, изучается Delphi, а на компьютерной физике- СИ. Еще Си идет в качестве спецкурса на старших курсах.

 Профиль  
                  
 
 Re: Максимальное из трех чисел (pascal)
Сообщение02.01.2015, 19:54 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Спасибо; не знал.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group