Tags:
create new tag
view all tags

Homework 1

Copiate il programma che trovate nel box qui sotto in un file di testo. Quindi completatelo scrivendo il corpo della funzione capitalize che deve, preso in input l'indirizzo di una stringa di testo terminata da zero presente in memoria, modificare la stringa trasformando ciascuna parola in essa contenuta in una parola che ha solo il primo carattere maiuscolo e tutti gli altri minuscoli. Ad esempio la stringa:

  • PenSo cHe cE la posso fare A svolGere coRRettamente L'Esercizio 1
dovrà essere trasformata e stampata così:
  • Penso Che Ce La Posso Fare A Svolgere Correttamente L'esercizio 1

Il programma legge il testo da trasformare (lungo max 100 caratteri) da input, per cui per provarlo potete lanciarlo (usando la GUI o digitando dalla linea di comando: java -jar mars.jar nome_programma.asm) e poi scrivere con la tastiera la frase da trasformare.

  • NOTA: il separatore tra parole è SOLO il carattere spazio " " (codice ascii 32)
  • NOTA: trasformate solo le lettere a-z e A-Z, non trasformate le altre lettere (numeri, interpunzione e accentate)

####################   inizio del programma   ####################
.data
request: .asciiz "Inserire la stringa: "
result:  .asciiz "Stringa modificata:  "
text:    .space 101
space:   .ascii " "

.text
.globl main

# programma principale da non modificare
main:
    la $a0,request
    li  $v0,4       
    syscall
    la $a0,text
    li $a1,100
    li $v0,8
    syscall
    jal capitalize
    la  $a0,result
    li  $v0,4
    syscall
    la $a0,text   
    syscall
    li $v0,10
    syscall

############# funzione da completare col vostro codice #############
capitalize:
    #...

#####################  fine del programma   ####################

Istruzioni per la consegna dell'esercizio:

  • rinominate il file usando la convenzione CognomeNome.asm (quindi il file del sig. Cicco Pasticcio sarà CiccioPasticcio.asm)
  • inviatelo tramite la pagina di consegna entro la mezzanotte di domenica 12 maggio.
  • per inviare dovete essere registrati a twiki.

Punteggio:

  • chi fa bene questo esercizio (dove bene vuol dire che funzionerà correttamente su alcune stringhe di test) guadagnerà un punto.
  • chi "collaborerà" con altre N persone prenderà invece solo 1/N punti :oops:

-- AndreaSterbini - 04 May 2013

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r3 - 2013-05-06 - AndreaSterbini






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback