Найти максимальное число из трех

Задача: 

Определить какое из трех, введенных пользователем, чисел максимальное и вывести его на экран.

Описание переменных: 

В программе будет три переменные для чисел, вводимых пользователем: n1, n2, n3. Также для упрощения алгоритма введем четвертую переменную, в которую по ходу выполнения кода будет помещено максимальное значение: max.

Алгоритм решения задачи: 
  1. Сравнить первое и второе число (n1 и n2). Переменной max присвоить значение переменной, содержащей большее значение.
  2. Сравнить значение переменной max с третьим числом, введенным пользователем (n3). Если значение n3 окажется больше, чем max, то присвоить max значение третьего числа. Если же значение max окажется больше, то ничего не делать.
Программа на языке Паскаль: 

var
    a1, a2, a3, max: integer;
 
begin
    write ('Введите три числа: ');
    readln (a1, a2, a3);
 
    if a1 >= a2 then
        max := a1
    else
        max := a2;
 
    if a3 > max then
        max := a3;
 
    writeln ('Максимальное из них: ', max);
 
readln
end.

Примечания: 

Три числа не обязательно могут быть разными. Достаточно предусмотреть вариант равенства значений только в первом операторе if.

Комментарии

Вложенные ветвления c тремя переменными.

if a1 > a2 then 
if a1 > a3 then writeln ('Наибольшее число: ', a1) else writeln ('Наибольшее число: ', a3)
else 
if a2 > a3 then writeln ('Наибольшее число: ', a2) else writeln ('Наибольшее число: ', a3);

есть момент: если хотя бы два

есть момент: если хотя бы два числа ввести одинаковые, то программа выведет только одно из них и никак не учтет этот момент. А вот чтобы все это учесть программа несколько длиннее получается...

var a1,a2,a3: integer;
 begin
   write ('vvedite 3 celyh chisla 4ere3 probel ');
  readln (a1,a2,a3);
  if a1>a2 then begin
   if a1then writeln ('max chislo a3= ',a3) else
    if a1=a3 then writeln ('max chislo a1=a3= ',a3) else
    writeln ('max chislo a1= ',a1);
   end
  else
    if a1then begin
       if a2>a3 then writeln ('max chislo a2= ',a2) else
        if a2=a3 then writeln ('max chislo a2=a3= ',a2) else
        writeln ('max chislo a3= ',a3) end
    else
     if a1>a3 then writeln ('max chislo a1=a2= ',a1) else
      begin
       if a3>a1 then writeln ('max chislo a3= ',a3) else
        writeln ('vse chisla odinakovie a1=a2=a3= ',a1);
      end;
  readln;
  end.

избыточность примечания

в обоих сравнениях можно использовать как знак =, так и >=. это никоим образом не влияет на результат.

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

Максимальное из трех

Помогите пожалуйста с задачей: вводим три разные числа и надо найти максимальное но с выводом не числа а номера числа. Например: вводим первое-1, второе-2, третье-3; вывод должен быть: наибольшее третье число.

Нахождение максимального из

Нахождение максимального из 2-х чисел без сравнения (IF)
a=123
b=789

(a+b+abs(a-b))/2

Ну и из 3-х

a=123
b=456
c=789

(abs(2*c-abs(b-a)-b-a)+2*c+abs(b-a)+b+a)/4

Задачи на целочисленное деление

1 Напишите программу которая по введенному не более чем четырехзначному числу будет выдавать сумму цифр этого числа

2В трехзначном числе X зачеркнули первую цифру. Когда полученное число умножили на 10, ф произведение сложили с первой цифрой числа Х, то получили число N. По заданному N найти число Х (значение N вводится с клавиатуры, не более чем 999)

Вот программы на задачи

Вот программы на задачи которые вы писали:

По заданному N найти число Х (значение N вводится с клавиатуры, не более чем 999)

foo = "bar";
var n,i,f: integer;
    a: array[1..4] of integer;
begin
  write('Введите число, в котором не больше 4 цифр:');
  readln(n);
  for i:=1 to 4 do  begin
    a[i]:=n mod 10;
    n:=n div 10;
    end;
    if n0 then
      writeln('Вы ввели число, в котором больше 4 знаков!')
    else
      begin
          f:=a[1]+a[2]+a[3]+a[4];
          writeln('Сумма цифр этого числа: ' , f);
      end;
end.

2 программа:В трехзначном числе X зачеркнули первую цифру. Когда полученное число умножили на 10, ф произведение сложили с первой цифрой числа Х, то получили число N.

foo = "bar";
var n,c,b,a: integer;
begin
  writeln('Введите 3-х значное число:');
  read(n);
  c:=0;
  a:=n;
  while n  0 do begin // Считаем кол-во цифр в числе
    c:=c+1;
    n:=n div 10;
  end;
  if c=3 then 
    begin
      b:=a div 100;//зачеркиваем 1 цифру
      c:=a mod 100;//умножаем полученное число на 10
      n:=c*10+b;//прибавляем зачеркнутое число
      write('Число N: ',n);//выводим результат на экран
    end
  else writeln('Число не 3-х значное');
end.

Помогите с змейкой

uses crt;
 
var
 
x,y,vx,vy:integer;
ch:char;
 
begin
clrscr;
x:=1;
y:=25 div 2;
 
while (x>=1) and (x=80) and (y>=1) and (y=25) do begin
GoTOXY(x,y);
write('0');
delay(60);
if keypressed then begin
ch:=readkey;
case ch of
'd':begin vx:=1; vy:=0 end;
'a':begin vx:=-1; vy:=0 end; 
'w':begin vx:=0; vy:=-1 end; 
's':begin vx:=0; vy:=1 end; 
end;
end;{if}
gotoxy(x,y);
write(' ');
inc(x,vx);
inc(y,vy);
 
 
 
end;
end.

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

Какое из трех максимальное...

var a1, a2, a3, max: integer;
begin
    write ('Введите три числа: ');
    readln (a1, a2, a3);
max:=а1;
if a2>max then max:=b;
if a3>max then max:=c;
    writeln ('Максимальное из них: ', max);
 
readln
end.

а каким образом мы вводим

а каким образом мы вводим переменную мах??ее не может быть

Изначально она равна нулю, но

Изначально она равна нулю, но по мере выполнения программы ей присваиваются разные значения. Читай на этом сайте тему'Начала программирования'.

неправильный ход

с

Переменная max получает

Переменная max получает значение в процессе выполнения программы. Переменные не обязательно должны получать значение от ввода пользователя с помощью процедур readln или read.

как их удвоить?

как их удвоить?

кого и зачем? Сформулируйте,

кого и зачем? Сформулируйте, пожалуйста, вашу задачу.

Найти максимальное число из четырёх.

Найти максимальное число из четырёх.

через массив можно сколько угодно найти к примеру

const
  n = 30;
 
var
  mas: array[1..50]of integer;
  max, i: integer;
 
begin
  for i := 1 to n do 
    begin mas[i] := random(21) - 3;
       write(mas[i],'; ');
    end;
 writeln; max := mas[1];
 
 for i := 1 to n do 
    if max [i] then max := mas[i];
 
  writeln('максимальное из введенных чисел = ',max,' имеет индекс положения');
  for i:=1 to n do
  if mas[i]=max then write(i,';');
end.