Strona 1 z 1
Instrukcje iteracyjne
: 5 lut 2005, o 11:22
autor: wiola_pachla
Witam Was! znalazłam sie tu ponieważ studiuje informe i nie za bardzo kojarze tzw "pętle". Nie wiem czy moge znaleźć cos na ten temat w internecie a mianowicie przykładowe pętle z ich rozwiązaniemi.Nie chodzi mi tu o gotowe rozwiązania od razu w języku programowania lecz ich rozwiązania w schematach zwartych.
Przykładowe zadanie:
Napisz schemat algorytmu wykonującego:
1.łączenie dwóch ciągów niemalejących w jeden ciąg uporządkowany nie malejąco,
2.łączenie trzech ciągów nierosnących w jeden ciąg uporządkowany nierosnąco
Napisz schemat algorytmu obliczającego a^n.Liczbę rzeczywistą a oraz naturalną n pobieramy od uzytkownika.
Wiem ze te zadania są proste ale nie wiem za bardzo jak je zapisać w schemacie zwartym. Wiedzących coś na te temat prosze o pomoc! Dziękuje. Pozdrawiam!!
Instrukcje iteracyjne
: 5 lut 2005, o 13:47
autor: arigo
ad 1 i 2
to co rozumiesz pod pojeciem laczenie ciagow ??
ad 3
to nielubie pisac slownych alorytmow wiec na biegu sklecilem szkic rozwiazania i przedstawiam je ponizej
Kod: Zaznacz cały
root@packard:/333# cat pot.c
int main(int argc, char *argv[])
{
long int a,n,wyn=1;
unsigned char i;
a=atoi(argv[1]);
n=atoi(argv[2]);
for(i=0;i<n;i++)
wyn*=a;
printf("%d
",wyn);
return 0;
}
root@packard:/333# gcc pot.c -o pot
root@packard:/333# ./pot 2 5
32
root@packard:/333# ./pot 2 2
4
root@packard:/333# ./pot 4 2
16
root@packard:/333# ./pot 4 4
256
root@packard:/333# ./pot 1 2
1
root@packard:/333# ./pot 2 1
2
Instrukcje iteracyjne
: 5 lut 2005, o 16:50
autor: wiola_pachla
W sumie to ja nie za bardzo rozumiem To jest treść zadania z książki wiec chyba kazdy sam ma sobie reszte dopowiedziec. Podkreślam jedynie ze nie ma to być suma lecz łączenie!
Dzięki za rozwiązanie tego algorytmu ale to mi nie wiele mówi bo jestem na początku programowania tj. narazie to my piszemy na karteczkach schematy zwarte. Ale dzięki za szczere chęci!
pozdrawiam
Instrukcje iteracyjne
: 5 lut 2005, o 18:46
autor: marlon
...
mov ecx, n
mov ebx, a
xor eax, eax
inc eax
@@:
mul ebx
loop @b
...
asm rulez
Instrukcje iteracyjne
: 5 lut 2005, o 18:55
autor: arigo
wiadomo ze asm r00x

ale w tym wypadku nie polecalbym rozkazow mul poniewaz one nie ustawiaja flag ze wzgledu na przekroczenie zakresow co w tego typu programie moze byc wada

Instrukcje iteracyjne
: 5 lut 2005, o 21:36
autor: marlon
ej nie czepiajmy sie szczegolow
Instrukcje iteracyjne
: 8 lut 2005, o 17:59
autor: SoD
A moze chodzi o to ze laczenie ciagow oznacza ze bierzemy jeden ciag a nastepnie do niego wtykamy wyrazy drugiego ciagu tylko ze w ten sposob aby byl on uporzadkowany nie malejaco, czyli trzeba porownywac kolejne wyrazy jednego i drugiego a nastepnie ukladac je razem w jeden ciag tak aby ulozyly sie nie malejaco! Przynajmniej ja tak to rozumiem!
Instrukcje iteracyjne
: 9 lut 2005, o 23:44
autor: Gambit
arigo pisze:
ale w tym wypadku nie polecalbym rozkazow mul poniewaz one nie ustawiaja flag ze wzgledu na przekroczenie zakresow co w tego typu programie moze byc wada

Nie wiem o jakim Assembler'ze mówisz, ale w NASM'ie instrukcja "mul" ustawia flagi O (Overflow) i C (Carry).