Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
noxon
PRAWIE elektronik - prawie robi...
Dołączył: 15 Lis 2006
Posty: 253
Przeczytał: 0 tematów
Skąd: [TK] bytom
|
Wysłany: Nie 18:15, 13 Cze 2010 Temat postu: ZADANIA |
|
|
ma ktos moze pomysl jak rozwiazac zadanie 2 z terminu 2 z 25.06.2008
(zadanie o dodawaniu wielocyfrowych liczb dziewiatkowych)
lub podobne.
|
|
Powrót do góry |
|
 |
|
 |
Gzeho
Chuda Jedynka
Dołączył: 05 Paź 2008
Posty: 107
Przeczytał: 0 tematów
Skąd: z wyższego roku
|
Wysłany: Nie 19:39, 13 Cze 2010 Temat postu: |
|
|
Jeszcze nie
Drugie ciekawe pytanie o algorytm tworzenia pierwiastka z liczby
|
|
Powrót do góry |
|
 |
YeLLoW
Chuda Jedynka
Dołączył: 23 Maj 2007
Posty: 146
Przeczytał: 0 tematów
|
Wysłany: Nie 20:49, 13 Cze 2010 Temat postu: |
|
|
moja propozycja zadania z dodawaniem liczb dziewiątkowych. Jak by jakieś błędy to pisać. zadanie na pewno nie jest optymalne.
[link widoczny dla zalogowanych]
Uploaded with [link widoczny dla zalogowanych]
|
|
Powrót do góry |
|
 |
shymoon
Tłuste zero
Dołączył: 05 Kwi 2008
Posty: 58
Przeczytał: 0 tematów
|
Wysłany: Nie 20:54, 13 Cze 2010 Temat postu: |
|
|
Moim zdaniem program jest źle napisany, liczbę trzeba traktować całościowo kolejne bajty to kolejne cyfry, zamieszczę zaraz swoje rozwiązanie.
|
|
Powrót do góry |
|
 |
YeLLoW
Chuda Jedynka
Dołączył: 23 Maj 2007
Posty: 146
Przeczytał: 0 tematów
|
Wysłany: Nie 21:01, 13 Cze 2010 Temat postu: |
|
|
no ok,to tak jest właśnie napisany ten program. kolejny bajt pamięci to kolejna cyfra.
|
|
Powrót do góry |
|
 |
shymoon
Tłuste zero
Dołączył: 05 Kwi 2008
Posty: 58
Przeczytał: 0 tematów
|
Wysłany: Nie 21:03, 13 Cze 2010 Temat postu: |
|
|
Ja uważam, że powinno być tak ... ( z tym podaniem adresu na początku może coś pokręciłem ale wiadomo o co chodzi no i na końcu źle sprawdzam R16 )
[link widoczny dla zalogowanych]
Uploaded with [link widoczny dla zalogowanych]
edit:
po dłuższym zastanowieniu, chyba obie wersje będą działać , a mój program jest trochę nadmiarowy więc polecam rozwiązanie Yellowa, aczkolwiek moja metoda jest proponowana przez atmela do obchodzenia się z różnymi podstawami systemu liczenia
Ostatnio zmieniony przez shymoon dnia Nie 21:32, 13 Cze 2010, w całości zmieniany 4 razy
|
|
Powrót do góry |
|
 |
Gzeho
Chuda Jedynka
Dołączył: 05 Paź 2008
Posty: 107
Przeczytał: 0 tematów
Skąd: z wyższego roku
|
Wysłany: Pon 6:53, 14 Cze 2010 Temat postu: |
|
|
Jeśli idzie o ten pierwiastek to treść wygląda mniej więcej tak:
Mamy w pamięci zbiór KWADRATÓW liczb całkowitych z zakresu 0-255. Policzyć część całkowitą pierwiastka kwadratowego z takich liczb.
Czyli jak sądzę wynikowa liczba z pamięci jest 2-bajtowa(255^2). Ma ktoś sensowniejszy pomysł niż np. ręczne dodawanie(aa bo oczywiście AVR bez mnożenia ma być ) liczb i sprawdzanie czy są w zbiorze??
|
|
Powrót do góry |
|
 |
rodzio
Chuda Jedynka
Dołączył: 11 Sty 2007
Posty: 127
Przeczytał: 0 tematów
|
Wysłany: Pon 8:23, 14 Cze 2010 Temat postu: |
|
|
Ja to widzę inaczej. Mamy już policzone kwadraty liczb, największy kwadrat nie przekracza 255. Naszym zadaniem jest teraz sprawdzić te 15 kombinacji (15^2=225) i odpowiednio je dopasować. Np dla liczby 150 wynikiem jest 12, bo szukamy tylko całkowitych.
Najłatwiej stworzyć sobie tablicę DB z pełnymi kwadratami i tylko porównywać na bieżąco większe mniejsze równe.
|
|
Powrót do góry |
|
 |
YeLLoW
Chuda Jedynka
Dołączył: 23 Maj 2007
Posty: 146
Przeczytał: 0 tematów
|
Wysłany: Pon 8:32, 14 Cze 2010 Temat postu: |
|
|
tu jest dokładna treść:
[link widoczny dla zalogowanych]
Uploaded with [link widoczny dla zalogowanych]
|
|
Powrót do góry |
|
 |
shymoon
Tłuste zero
Dołączył: 05 Kwi 2008
Posty: 58
Przeczytał: 0 tematów
|
Wysłany: Pon 12:24, 14 Cze 2010 Temat postu: Moja propozycja 2009 t2 z2 (OCT->BIN) |
|
|
Kod: | .include "m16def.inc"
GET_BEGIN_ADRES:
LDI R30,LOW(OCTET+1)
LDI R31,HIGH(OCTET+1)
LDI R28,LOW(BIN)
LDI R29,HIGH(BIN)
LSR R16 ;DZIELE LICZBE CYFR PRZEZ 2 ABY OTRZYMAC LICZBĘ BAJTÓW
BRCC SCALBAJT ;JEZELI NIEPARZYSTA TO DODAJE 1 ABY ZGADZAŁA SIE LICZBA BAJTÓW
INC R16
MOV R19,R16 ;ZAPAMIĘTANIE LICZBY BAJTÓW W R19
SCALBAJT: ;TUTAJ NASTĘPUJE SCALENIE BAJTÓW W SPOSÓB 01110111=>00111111, PRZY OKAZJI "ZEJSCIE DO POCZATKU ADRESU
LD R17,-Z
MOV R18,R17
ANDI R18,0B01110000
ANDI R17,0B00000111
LSR R18
OR R17,R18
ST Z,R17
DEC R16
BRNE SCALBAJT
PRZYGOTOWANIE:
ldi r17,0x00 ;INICJACJA STOSU
ldi r16,high(ramend)
out sph,r16
ldi r16,low(ramend)
out spl,r16
CLR R0
CLR R1
CLR R2 ;AKUMULATOR (tutaj grupuje 3 bajty które są zsunięte z 4 bajtów w postaci 8kowej (tej spłaszczonej w SCALBAJT)
CLR R10
CLR R11
CLR R12
CLR R13 ;REJESTR PRZESUWNY
LADUJ_RP: ;ZALADOWANIE DO REJESTRU PRZESUWNEGO
LD R0,Z+ ;PIERWSZA LICZBA NIE BĘDZIE PRZESUWANA WIĘC ODRAZU KOPIUJE DO AKUMULATORA(R0-R2)
DEC R19
BREQ WGRAJDOBIN
LD R11,Z+
MOV R20,2 ;LICZNIK PRZESUNIĘĆ
CALL PRZESUN_I_WSTAW
DEC R19
BREQ WGRAJDOBIN
LD R12,Z+
MOV R20,4
CALL PRZESUN_I_WSTAW
DEC R19
BREQ WGRAJDOBIN
LD R13,Z+
MOV R20,6
CALL PRZESUN_I_WSTAW
WGRAJDOBIN:
ST Y+,R0
ST Y+,R1
ST Y+,R2
CLR R0
CLR R1
CLR R2
DEC R19
BRMI KONIEC
BRNE LADUJ_RP
KONIEC:
RJMP PC
PRZESUN_I_WSTAW: ;PRZESUWA REJESTR PRZESUWNY (R10-R13) w prawo o tyle o ile potrzeba i wstawia potem do "akumulatora
LSR R13
ROR R12
ROR R11
ROR R10
DEC R20
BRNE PRZESUN_RP
OR R0,R10
OR R1,R11
OR R2,R12
CLR R10
CLR R11
CLR R12
CLR R13 ;REJESTR PRZESUWNY
RET |
Moje rozwiązanie, raczej nieoptymalne i bez sensu choć wydaje mi się, że działa, jak ktoś ma coś "normalnego" to niech wrzuci
Ostatnio zmieniony przez shymoon dnia Pon 12:26, 14 Cze 2010, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
 |
KuKocz
Sado-Elektro - wiecie gdzie ma lutownice
Dołączył: 25 Paź 2006
Posty: 503
Przeczytał: 0 tematów
Skąd: Jastrzębie Zdrój
|
Wysłany: Pon 12:29, 14 Cze 2010 Temat postu: |
|
|
Tutaj propozycja rozwiązania zad2-T1-2009 oraz zad2-T1-2008
[link widoczny dla zalogowanych]
Zadania oczywiście nieoptymalne, ale myślę że powinny działać
|
|
Powrót do góry |
|
 |
przemo
Tłuste zero
Dołączył: 08 Sty 2008
Posty: 96
Przeczytał: 0 tematów
|
Wysłany: Pon 15:52, 14 Cze 2010 Temat postu: |
|
|
a t0?
[link widoczny dla zalogowanych]
Uploaded with [link widoczny dla zalogowanych][/img]
|
|
Powrót do góry |
|
 |
rodzio
Chuda Jedynka
Dołączył: 11 Sty 2007
Posty: 127
Przeczytał: 0 tematów
|
Wysłany: Pon 16:33, 14 Cze 2010 Temat postu: |
|
|
Fajne:)
Jak to jest u nas z tymi AVR, można korzystać z DIV i MUL? Bo niektóre mają a niektóre nie:]
|
|
Powrót do góry |
|
 |
Misiael
Sado-Elektro - wiecie gdzie ma lutownice
Dołączył: 14 Paź 2006
Posty: 502
Przeczytał: 0 tematów
|
Wysłany: Pon 16:36, 14 Cze 2010 Temat postu: |
|
|
ty nie mozesz ;D... twoje maja tylko mov i ldi !
|
|
Powrót do góry |
|
 |
Gzeho
Chuda Jedynka
Dołączył: 05 Paź 2008
Posty: 107
Przeczytał: 0 tematów
Skąd: z wyższego roku
|
Wysłany: Pon 16:38, 14 Cze 2010 Temat postu: |
|
|
Prawd. w zadaniach, w których nie potrzebujesz mnożenia możesz, w innych będzie raczej zaznaczone
|
|
Powrót do góry |
|
 |
|