Приветствую Вас, господа! В универе столкнулся с тупой проблемой - Алгоритмизация и структурное программирование. Ну по этой дисциплине задали на дом задание: Написать алгоритм нахождения максимального и минимального числа из четырех чисел. Порылся в яндексе и гугле, ничего толкового не нашел. Прошу помощи - т.к. сам довольно смутно представляю данный алгоритм.
Препод просила с тремя разветвлениями после ввода данных (опять же не очень понял что она хотела), но я рассмотрю любые варианты. Ну из языков приемущественно был бы паскаль (если есть возможность - на псевдоязыке).
Заранее спасибо за помощь!
ЭЖД, 5.10.2009 - 19:33
на Си
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;
Благодарю конечно, но тут не СИ нужен...к сожалению Либо паскаль, либо блок-схема, либо на псевдоязыке. Переписать сможешь ввиде блок-схемы? Просто мы как бы не знаем все функции, речь идет о алгоритме типа a>b, без функций
ЭЖД, 5.10.2009 - 20:23
а тут и нет функций... паскаль благополучно забыл уже. если ничего не попутал, то как-то так:
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.
Quim2005, 5.10.2009 - 21:08
Писать буду простым языком, чтобы поверили, что сам делал.
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.
kot003, 17.10.2009 - 15:15
Бабуля по алгоритмизации борзеет. Кто-нибудь можешь помочь реализовать с помощью структуры "цикл ДО" алгоритм определения НОД?
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. Я правильно думаю?