Cerca nei blog e nel web

04 ottobre, 2009

Esercizi per il 05/10/'09

---------------|
Esercizio 1
---------------|


Richiesta dell'esercizio:
- Descrivere una radiosveglia indicando le sue caratteristiche ed i suoi comportamenti.

Risoluzione:

- Caratteristiche:
1) Ora - nell'indicazione dell'orologgio le cifre che indicano le ore/h
2) Minuto - nell'indicazione dell'orologgio le cifre che indicano i minuti/min
3) Ora sveglia - le cifre che indicano l'ora a cui è impostata la sveglia
4) Minuto sveglia - le cifre che indicano i minuti a cui è impostata la sveglia
5) Sveglia - indica se la sveglia è inpostata su: On; Off; Radio
6) Frequenza radio - indica la frequenza su cui è impostata la radio
7) Radio - indica se la radio è accesa o spenta, indifferentemente dalla sveglia

- Comportamenti:
1) cambiaOra - cambia l'ora su cui è impostato l'orologio
2) cambiaMinuto - cambia il minuto su cui è impostato l'orologio
3) cambiaOraSveglia - cambia l'ora su cui è impostata la sveglia
4) cambiaMinSveglia - cambia il minuto su cui è impostata la sveglia
5) attdisSveglia - attiva/disattiva la sveglia (On;Off;Radio)
6) impostaFrequenza - imposta la frequenza della radio
7) accendispegniRadio - accende/spegne la radio, indipendentemente dalla sveglia



---------------|
Esercizio 2
---------------|


Richiesta dell'esercizio:
- Dall'elenco che segue, individuare gli oggetti e associare loro gli attributi e i metodi corretti:
raggio; poligono; calcolaCirconferenza, numero lati; calcolaPerimetro, calcolaArea; cerchio.

Risoluzione:

- Classi:
1) Cerchio
2) Poligono

- Attributi (Cerchio):
1) Raggio

- Attributi (Poligono):
1) Numero lati

- Metodi (Cerchio):
1) calcolaCirconferenza
2) calcolaArea

- Metodi (Poligono):
1) calcolaPerimetro
2) calcolaArea





24 settembre, 2009

Appunti del 21/09/09 e del 23/09/09

  • Ripasso dei concetti di:
- variabile;
- array;
- funzione;
- puntatore;
- file.txt.

Nel linguaggio C.

20 settembre, 2009

Piramide Rovescita (Gruppo: Di Bari - Bailon)

  • Gioco della piramide rovesciata

- Lo scopo del gioco è quello di lasciare all'avversario l'ultima astina della piramide.
- Ogni giocatore durante il suo turno può eliminare un insieme di astine che si trovano sulla stessa riga, qualsiasi sia il loro numero.
- Si può giocare sia contro il PC che contro un altro utente.

  • Realizzamento del Gioco

- Innanzi tutto abbiamo pensato di numerare le aste cosi da definire la loro posizione per facilitare lo sviluppo del programma e facilitare il gameplay.

ALTRE IDEE VERRANO IN SEGUITO... to be continue (si spera XD)

Il Rientro - 4/ALE (4/A Liceo Elettronica)

Ecco il mio primo messaggio dal rientro delle vacanze.


Dopo tre mesi di riposo ho pensato di ripetere gli obbiettivi di questo blog per rispolverarli e anche perchè non fui tanto chiaro la prima volta.



  • Obbievi del Blog:

Innanzi tutto, questo blog, come spiega il nome, è un blog didattico, con temi perciò scolastici. L'idea della sua creazione è dovuta al professor. Silvano Natalizzi, che ci insegna informatica alla ITIS A. Volta di Perugia. Perciò il tema portante del blog sarà per l'appunto l'informatica, sul quale verteranno, praticamente, tutti gli argomenti (esempio flow chart, linguaggio c, algebra boleana, ecc.).

Quest'anno, però, più del precedente, mi servirò, come i miei compagni, di queasto blog, con lo scopo di condividere i miei appunti, integrandoli anche con alcune ricerche, e i lavori, che saranno svolti in classe o casa, in gruppo o singolarmente; al fine di rendere più interressante e dinamico l'apprendimento di questa materia che non solo è comlessa come le altre, ma è anche in rapido sviluppo.

Questo blog è, infatti, uno strumento che serve a spezzare quelle barriere scolastiche alfine di avvicinare noi studenti con i professori e con altri appassionati.


Quest'anno, inoltre, avremo più tempo per esercitarci in
quanto a scuola ora abbiamo il doppio delle ore dell'anno scorso.

27 maggio, 2009

Porte logiche - NOT / AND / OR / NAND / ...

Ecco il collegamento con una pagina di wikipedia dove sono spiegate molto bene le porte logiche, vengono mostrate, infatti tutte le loro tavole di verità e le loro rappresentazioni:

Elettronica digitale- Algebra Booleana & Porte logiche

L'elettronica digitale ha a che fare con circuiti e sistemi che agiscono sfruttando due possibili stati di funzionamento; ad esempio due livelli di tensione, oppure due diversi livelli di corrente. Nei sistemi digitali i due diversi stati servono a rappresentare numeri, simboli, caratteri e altre informazioni. Nei sistemi numerici a due stati, detti sistemi binari, le due cifre sono 1 e 0 e ciascuna di esse costituisce ciò che viene appunto chiamato bit.

Come si vede in figura un segnale analogico (quello sopra) può assumere, in un determinato istante di tempo, tutti i valori appartenenti ad un certo intervallo di R. Un segnale digitale (quello sotto) invece può assumere solo dederminati valori, ad esempio uno alto e uno basso come nella figura a lato che riporta un segnale binario. La differenza fondamentale tra i due tipi di segnale è che mentre nei segnali analogici l'informazione è contenuta nella "forma" stessa del segnale, nei segnali digitali l'informazione da elaborare è codificata in serie di simboli (1 e 0). La forma del segnale quindi non ha importanza, basta che sia possibile discernere in ogni istante a quale valore logico corrisponde il segnale.

Anche un segnale digitale è fisicamente un segnale analogico. Non è realmente come mostrato in figura, poiché il rumore lo farà "fluttuare". Inoltre è fisicamente impossibile che le transizioni da un valore logico all'altro siano istantanee. Tuttavia quello che conta è che le fluttuazioni si mantengano entro un certo margine, in modo che non si perda l'informazione.

P.S. Questo post è una citazione tratta da wikipedia, dato che mi è sembrato essere molto chiara e dettagliata ho deciso di riportarla.

File e puntatori - Compito in classe del 23/04/2009

Il 23/04 abbiamo fatto un compito sull'utilizzo dei puntatori e su interazione sui file mediante un programma.

Il problema, infatti, richiedeva:

  • Realizzare un programma che prenda una serie di numeri, scritta in un file ".txt", la stampi sullo schermo e poi la riscriva in ordine crescente, prima sul monitor, poi su di un altro file.

N.B. Per far funzionare il programma bisogna prima creare un file ".txt" che, in questo caso, deve essere chiamato: "compito1.txt" dove sono riportati i numeri (uno per riga e come ultimo 999, per chiudere il programma).

>>>--------->>> Ecco il programma

>>>--------->>> Ecco il programma eseguito

>>>--------->>> Ecco il file di input - compito1.txt

>>>--------->>> Ecco il file di output - file1.txt

P.S. Scusi il ritado proffesò! 

20 marzo, 2009

Array - Compito in classe del 19/03/2009

Ieri abbiamo svolto il compito in classe su le array nel linguaggio c.

Il compito era dviso in 10 punti ognuno dei quali da realizzare con una funzione:

  1° --> Fare un array in cui vengano inseriti in ingresso  10 numeri.

  2° --> Stampare i numeri inseriti nell'array.

  3° --> Fare la media dei numeri e stamparla.

  4° -->Determinare il numero maggiore.

  5° --> Determinare il numero minore.

  6° --> Determinare i numeri pari.

  7° --> Determinare i numeri dispari.

  8° --> Restisuire la somma dei numeri pari.

  9° --> Restisuire la somma dei numeri dispari.

10° --> Fare una stampa in ordine inverso a quello di immisione dei numeri.

>>------>> Compito consegnato <<------<<

N.B. Il file qui sopra è come l'ho consegnato, però ho provato anche a fare una variante per correggere un errore nella funzione MaxMi, in cui ho sbagliato nelle if dove, a causa di un errore di disrazione, ho sbagliato in modo anche abbastanza stupido la condizione. Inoltre ho cambiato anche l'aspetto "formale" del programma rendendolo più funzionale e facilmente capibile.

>>------>> Compiro corretto a casa <<------<<

Esecuzione del programma corretto

26 febbraio, 2009

Funzioni e array - Compito in classe del 26/02/2009

Oggi abbiamo svolto il compito in classe su le funzioni e le array nel linguaggio c.

Il compito era dviso in tre funzioni da riunire in un programma unico, di seguito ho riportato la mia soluzione delle tre funzioni e del programma finale:

1° Funzione: questa funzione consente d'inserire un numero inizile, diverso da 6 e minore di 80, per il quale verranno stampate tante righe quanto è il suo valore, e per ogni riga verrà ripetuto il numero tante volte quanto e' il suo valore.

2° Funzione: con la seguente funzione chiamata "piramide" viene stamata una piramide rovesciata sul monitor.

3° Funzione: serve a stampare una sequenza di venti numeri inseriti precedentemente.

Programma completo: questo programma è una succesione delle prime tre funzioni.

N.B. I file sopra sono come li ho consegnati, però ho provato anche a fare una variante del programma completo a mio parere più funzionale: 

Compiti per casa del 12/02 per il 18/02

Scrivere le seguenti funzioni:

a) La funzione elevaQudrato: dato in input un numero intero n, restituisce il sui quadrato.
b) La funzione isEven: dato un intero n, restituisce 1 se n è un numero pari, e 0 se è dispari.
c) La funzione isOdd: dato un numero intero n, restituisce 1 se n è un numero dispari, e 0 se pari.
d) La funzione power: dato un numero double x ed uno intero n, restituisce n elevato alla x.
e) La funzione triangoloRettangolo: dati tre numeri interi che rappresentano i lati di un triangolo, restituisce 1 se il triangolo è rettangolo, altrimenti.
f) La funzione isPrime: dato un numero intero n, restituisce 1 se il numero dato è primo,    altrimenti 0.

Qui di seguito sono riportate le mie soluzioni tutte scaricabili:

Funzione elevaQuadrato

Funzione isEven

Funzione isOdd

Funzione power

Funzione triangoloRettangolo

Funzione isPrime

04 febbraio, 2009

Linguaggio C - Compito in classe del 22/01/2009

La presentazione mostra la mia risoluzione, mediante l'utilizzo del linguaggio C, del quesito posto durante il compito in classe.

N.B. Non essendo ancora stata corretta potrebbe contenere errori.

Dal flow chart al linguaggio di programmazione

Questo schema rappresenta il processo della programmazione dopo aver fatto il flow chart (diagramma di flusso)

Linguaggi di programmazione

Questa è un'altra spiegazione più semplice e diretta del concetto di linguaggio di programmazione e della differenza che c'è tra compilatore ed interprete.

Linguaggi di programmazione, tipi di linguaggio, compilatori ed interpreti.

Questo file in pdf, fatto da uno studette dell'università di Roma, è un documento che spiega in maniera molto chiara e concisa che cos'è il linguaggio di programmazione e la differenza fra i vari tipi. Inoltre fa capire bene i concetti di compilatore e di interprete.

21 gennaio, 2009

Esercizio 15 pag. 291

#include
int pos;
int neg;
int num;
int tot;
int percpos;
int percneg;
int i;
int fine;
main(){
  i=1;
  while(i==1){
  printf("\nInserisci un numero. Per terminare immetti: 999\n");
  scanf("%d",&num);
  if(num<0){ num="=" i="2;" pos="pos-1;" tot="neg+pos;" percpos="pos*100/tot;" percneg="neg*100/tot;">

N.B.

- In questo programmma come nei seguenti ho aggiunto una funzione "scanf" che permette di aprire anche l'eseguibile.

-Sono spiacente per lo scadente aspetto formale dell'esercizio, dovuto a causa di mancanza di tempo. Spero di riuscire a migliorarlo questo fine settimana.