Zkouška 11.2.2020 Assembler by Zavoral

Základní kurs objektově orientovaného programování v C++. Třídy a objekty, zapouzdření, metody, plymorfismus. Abstraktní datové typy, přetěžování. Kontejnery, iterátory, algoritmy. Šablony, generické programování, kompilační polymorfismus. Výjimky. Bezpečné a přenositelné programování, vazby na OS.
WhoamiHF
Matfyz(ák|ačka) level I
Příspěvky: 6
Registrován: 21. 1. 2019 19:52
Typ studia: Informatika Bc.

Zkouška 11.2.2020 Assembler by Zavoral

Příspěvek od WhoamiHF »

Dnešní zkouška byla zadána panem Zavoralem. Oproti ostatním nebyla příliš těžká akorát byla poměrně rozsáhlá. Asi všichni odevzdávali až v posledních pár minutách a i proto si zadávající vzal čas do konce týdne na opravu (bylo nás tam 11). Hodně štěstí.
85058232_209049876936411_2920104198185943040_n.jpg
86178041_1015892728796300_6510067425889746944_n.jpg
85252734_183070289708957_5643576770562097152_n.jpg
spulkam
Matfyz(ák|ačka) level I
Příspěvky: 1
Registrován: 12. 2. 2020 11:08
Typ studia: Informatika Bc.

Re: Zkouška 11.2.2020 Assembler by Zavoral

Příspěvek od spulkam »

Vstupní soubory:

Factorial

Kód: Vybrat vše

; parameters
  LDC R0 10    ; R0 = parameter/counter
; initialization 
  LDC R1 1     ; R1 = 1 (constant)
  LDC R2 1     ; R2 = result
; loop
  LE  R0 R1    ; counter <= 1 ?
  JF  3        ; goto output
  MUL R2 R0    ; R2 *= R0
  SUB R0 R1    ; R0 -= 1
  JMP -5       ; goto test
; output
  OUT R2       ; print result

Fill-in and print of the array:

Kód: Vybrat vše

; parameters
  LDC R0 10    ; input - count of numbers
; initialization
  LDC R1 1
  LDC R2 10    ; the first index of the 'array'
  LDC R3 0     ; number counter
  MOV R4 R2    ; index counter
; fill-in the array
  LE  R3 R0    ; counter <= input ?
  JNF 4        ; if not goto output
  ST  R4 R3    ; [R4]=R3
  ADD R3 R1
  ADD R4 R1
  JMP -6       ; goto test
; output
  LDC R3 0     ; reinitialization
  MOV R4 R2
  LE  R3 R0    ; counter <= input ?
  JNF 5        ; if not goto end
  LD  R5 R4    ; R5=[R4]
  OUT R5       ; print
  ADD R3 R1
  ADD R4 R1
  JMP -7
; end
Odpovědět

Zpět na „NPRG041 Programování v C++“