day & night

Алгоритм нахождения максимума и минимума, В помощь учащимся
Дата обновления: , перейти к новому сообщению
#1
kot003



Специалист
****

Группа: Пользователи
Сообщений: 360
Регистрация: 19.03.2005
Из: Санкт-Петербург
Пользователь №: 9.192


Респектов: 5
-----X----


Предупреждений:


Приветствую Вас, господа!
В универе столкнулся с тупой проблемой - Алгоритмизация и структурное программирование.
Ну по этой дисциплине задали на дом задание:
Написать алгоритм нахождения максимального и минимального числа из четырех чисел. Порылся в яндексе и гугле, ничего толкового не нашел. Прошу помощи - т.к. сам довольно смутно представляю данный алгоритм.

Препод просила с тремя разветвлениями после ввода данных (опять же не очень понял что она хотела), но я рассмотрю любые варианты.
Ну из языков приемущественно был бы паскаль (если есть возможность - на псевдоязыке).

Заранее спасибо за помощь!
User is offline
Go topGo end
 

Ответов(1 - 5)
5.10.2009 - 19:33
#2
ЭЖД



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 11.935
Регистрация: 18.09.2004
Пользователь №: 1.679


Респектов: 789
-----XXXX-




ph34r.gif на Си
Code
#include <stdio.h>
#define MAX(x,y) (x) > (y) ? (x) : (y)
#define MIN(x,y) (x) < (y) ? (x) : (y)
int main(void) {
int a, b, c, d;

scanf("%i %i %i %i", &a, &b, &c, &d);
printf("max = %i, min = %i", MAX(MAX(a,b), MAX(c,d)), MIN(MIN(a,b), MIN(c,d)));

return 0;
}
User is offline
Go topGo end
5.10.2009 - 20:01
#3
kot003



Специалист
****

Группа: Пользователи
Сообщений: 360
Регистрация: 19.03.2005
Из: Санкт-Петербург
Пользователь №: 9.192


Респектов: 5
-----X----


Предупреждений:


Благодарю конечно, но тут не СИ нужен...к сожалению
Либо паскаль, либо блок-схема, либо на псевдоязыке.
Переписать сможешь ввиде блок-схемы?
Просто мы как бы не знаем все функции, речь идет о алгоритме типа a>b, без функций
User is offline
Go topGo end
5.10.2009 - 20:23
#4
ЭЖД



*nix`оид
[SoftoRooMTeaM] Group Icon

Группа: Наши Люди
Сообщений: 11.935
Регистрация: 18.09.2004
Пользователь №: 1.679


Респектов: 789
-----XXXX-




ph34r.gif а тут и нет функций... паскаль благополучно забыл уже. если ничего не попутал, то как-то так:
Code
program Hz;
var
integer a,b,c,d,max1,max2,min1,min2;
begin
readln(a);
readln(b);
readln(c);
readln(d);
if (a > b) then begin max1 := a; min1 := b; end else begin max1 := b; min1 := a; end;
if (c > d) then begin max2 := c; min2 := d; end else begin max2 := d; min := c; end;
if (max1 > max2) then writeln(max1); else writeln(max2);
if (min1 < min2) then writeln(min1); else writeln(min2);
end.
User is offline
Go topGo end
5.10.2009 - 21:08
#5
Quim2005



профи!
Group Icon

Группа: Наши Люди
Сообщений: 1.145
Регистрация: 19.01.2006
Из: Россия, г.Набережные Челны
Пользователь №: 111.013


Респектов: 314
-----XX---




Писать буду простым языком, чтобы поверили, что сам делал.

Code
program findmax;
var
a: array [1..4] of integer;
max1, max2: integer;
begin
for i:=1 to 4 do
begin
write ('enter a[' + str(i) + ']');
readln(a[i]);
// нахождение первым способом
if i = 1 then
max1 := a[1];
if i>1 then
if a[i] > max1 then max1 := a[i];
end;

// первый способ уже сработал и макс.число найдено:
writeln('max1 value = ' + str(max1) );

// второй способ
max2 := Max ( Max(a[1], a[2]) , Max (a[3], a[4]) );
writeln('max2 value = ' + str(max2) );

// третий способ - наверное с разветвлениями :)
if a[2] > a[1] then a[1] := a[2];
if a[3] > a[1] then a[1] := a[3];
if a[4] > a[1] then a[1] := a[4];
writeln('max3 value = ' +str( a[1] ) );

end.
User is offline
Go topGo end
17.10.2009 - 15:15
#6
kot003



Специалист
****

Группа: Пользователи
Сообщений: 360
Регистрация: 19.03.2005
Из: Санкт-Петербург
Пользователь №: 9.192


Респектов: 5
-----X----


Предупреждений:


Бабуля по алгоритмизации борзеет.
Кто-нибудь можешь помочь реализовать с помощью структуры "цикл ДО" алгоритм определения НОД?

PS: + еще помогите реализовать на Python код с СИ
Цитата | Quote
switch (z)
{
case '+': r=a+b;
case '-': r=a-b;
case '*': r=a*b;
}

или с паскаля
Цитата | Quote
case z of
'+': r:=a+b;
'-': r:=a-b;
'*': r:=a*b;
End;


Дело все в том, что в Python нету таких конструкций, вероятно надо использовать if. Я правильно думаю?

Заранее благодарю!
User is offline
Go topGo end

Topic Options
Сейчас: 20.04.2024 - 14:37
Мобильная версия | Lite версия