SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
Abilità Informatiche
  Ingegneria Chimica
Lezione 8 del 12/03/2012




Prof. Antonino Stelitano
Docente        Antonino Stelitano

Tutor
Lezioni        Lunedì               14:00 – 17:30     aula 16
                                    Lab. Paolo Ercoli – via Tiburtina 205

               Mercoledì            15:45 – 19:00     aula 5
                                    Viale del C. Laurenziano

Ricevimento:   Per appuntamento antonino.stelitano@uniroma1.it

                                    stelitano.a@libero.it

Sito web:      http://w3.uniroma1.it/ab_informatiche/
Quiz ::

• Dato un intero, verifica se é minore di 100
• scrivere un programma per calcolare la radice
  quadrata di un numero
   – a = sqrt ( b ) ;  a = √ b
• Dati due interi che rappresentano il mese e l'anno,
  calcola il mese e l'anno successivi
• Problema: scrivere un programma per calcolare le
  radici di un’equazione di secondo grado
Soluzioni
/* file minore100.c */

/* Dato un intero, verifica se e' minore di 100 */

#include <stdio.h>

int main(void)
{
  int i;

    printf("Dammi un intero: ");

    scanf("%d", &i);
    if (i < 100)
               printf("%d e' minore di 100n", i);
    else
               printf("%d e' maggiore o uguale a 100n", i);

    printf("Ho finito!n");
    return 0;
}
/* Problema: scrivere un programma per calcolare la radice quadrata di un numero */

#include <stdio.h>
#include <math.h>

int main (void)
{
    double num;
    printf(“Inserire un numero non negativo:n”);
    scanf(“%lf ”, &num);
    if (num<0)
           printf(“Errore: inserito un numero negativo”);
    else
           printf(“La radice quadrata è: %lfn”, sqrt(num));
    return 0;
}
/* Dati due interi che rappresentano il mese e l'anno, calcola il mese e l'anno successivi
   */

#include <stdio.h>

int main(void)
{
      int mese;
      int anno;
      printf("Inserisci mese: ");
      scanf("%d", &mese);
      printf("Inserisci anno: ");
      scanf("%d", &anno);
      if (mese == 12) {
             mese = 1;
             anno = anno + 1;
           }
      else mese = mese + 1;
      printf("%d/%dn", mese, anno);
      return 0;
}
/* Problema: scrivere un programma per calcolare le radici di un’equazione di secondo
    grado */
#include <stdio.h>
#include <math.h>

int main(void)
{
     double a, b, c, delta, den, x1, x2;
     printf(“inserisci i coef.equazione a, b, c n”);
     scanf(“%lf %lf %lf ”, &a, &b, &c);
     delta= (b*b)-4*a*c;
      if (delta < 0)
             printf(“radici immaginarien”);
     else
             {
               delta=sqrt(delta);
               den=2*a;
               x1=(-b - delta)/den;
               x2=(-b + delta)/den;
               printf (“X1 =%lf t X2=%lf n”, x1, x2)
             }
   return 0;
}
/* Legge un valore intero che rappresenta una temperatura e stampa un opportuno
    messaggio. */
#include <stdio.h>
int main(void)
{
    int temperat;
    printf("Temperatura ? ");
    scanf("%d", &temperat);

    if (temperat > 30)
            printf("Molto caldon");
    if ((temperat > 20) && (temperat <= 30))
            printf("Abbastanza caldon");
     if ((temperat > 10) && (temperat <= 20))
            printf("Gradevolen");
     if ((temperat > 0) && (temperat <= 10))
            printf("Freddon");
     if (temperat <=0)
            printf("Molto freddon");

    return 0;
}
Scambio di due variabili
• Algoritmo
   – leggi i due valori x1, x2
   – se x1 > x2 scambia il contenuto di x1 e x2
   – stampa x1, x2
• Ordinamento tra due variabili
   – Caso 1: x1=20, x2=40 (già ordinato)
   – Caso 2: x1=40, y2=20



     if x1> x2                          Se x1=35 e x2=10
     { x1=x2                             x1=x2 x1=10
         x2=x1                           x2=x1 x2=10
      }
Schema di scambio tra due variabili
   Caso 1: x1=20, x2=40 (già ordinato)
   Caso 2: x1=40, y2=20

Caso 2: serve una variabile di appoggio
     aux = x1
     x1= x2        cambia x1 con x2
     x2 = aux      cambia x2 con x1 iniziale


int main (void) {
    int x1, x2, aux;
    printf (“inserisci due interi:n”);
    scanf (“%d %d”, &x1, &x2);
    if (x1>x2) {
              aux=x1;
              x1=x2;
              x2=aux; }
    printf (“%d t %d”, x1, x2);
    return 0;
}
Individuare il tipo di un triangolo

•   Problema: verificare quale tipo di triangolo descrivono tre interi.
•   Vincolo: i lati vengono inseriti in ordine crescente

Confronto tra i lati                            Analisi
A<=B<=C
A+B < C                                         Non è un triangolo
A=B=C                                           Triangolo equilatero
A=B o B=C                                       Triangolo isoscele
ABC                                           Triangolo scaleno
• Input: tre valori interi in ordine crescente
• Output: un messaggio
• Algoritmo
   – Leggi i tre valori a, b, c (dati di ingresso)
   – Se a+b < c non è un triangolo
   – Altrimenti contiamo le coppie di lati uguali
   – Output:
      • Se coppie=0 è scaleno
      • Se coppie=1 è isoscele
      • Se coppie=3 è equilatero
Algoritmo
 if (a+b<c) non è un triangolo
 else
     {
  if (a == b)
           incrementa coppie;
 if (b == c)
     incrementa coppie;
 if (a == c)
            incrementa coppie;
 if (coppie == 0)
           Scaleno;
 if (coppie == 1)
            Isoscele
 if (coppie == 3)
            Equilatero;
}
#include <stdio.h>
int main(void) {
 int a, b, c;
 int coppie = 0;
 printf(”Lati triangolo? ");
 scanf("%d%d%d", &a, &b, &c);

 if (a+b<c)
      coppie=-1;
  else {
      if (a == b) coppie = coppie + 1;
      if (b == c) coppie = coppie + 1;
      if (a == c) coppie = coppie + 1;
     }
 if (coppie == -1) printf(”No triangolon");
 if (coppie == 0) printf("Scalenon");
 if (coppie == 1) printf("Isoscelen");
 if (coppie == 3) printf("Equilateron");

 return 0;
}

Weitere ähnliche Inhalte

Was ist angesagt?

Risoluzione disequazione II grado con metodo grafico
Risoluzione disequazione II grado con metodo graficoRisoluzione disequazione II grado con metodo grafico
Risoluzione disequazione II grado con metodo grafico
annamaro
 
Parabola disequazioni
Parabola disequazioniParabola disequazioni
Parabola disequazioni
2tapizzi
 
Disequazioni II gr. (2) altri casi
Disequazioni II gr. (2) altri casiDisequazioni II gr. (2) altri casi
Disequazioni II gr. (2) altri casi
Liceo Galilei Nardò
 
Eserc v del 26 marzo 2012
 Eserc v del 26 marzo 2012 Eserc v del 26 marzo 2012
Eserc v del 26 marzo 2012
STELITANO
 

Was ist angesagt? (20)

Derivate
DerivateDerivate
Derivate
 
Risoluzione disequazione II grado con metodo grafico
Risoluzione disequazione II grado con metodo graficoRisoluzione disequazione II grado con metodo grafico
Risoluzione disequazione II grado con metodo grafico
 
Asintoti
AsintotiAsintoti
Asintoti
 
Derivate - esercizi con soluzioni
Derivate - esercizi con soluzioniDerivate - esercizi con soluzioni
Derivate - esercizi con soluzioni
 
Metodo grafico disequazioni ii grado
Metodo grafico disequazioni ii gradoMetodo grafico disequazioni ii grado
Metodo grafico disequazioni ii grado
 
Disequazioni e sistemi di disequazioni
Disequazioni e sistemi di disequazioniDisequazioni e sistemi di disequazioni
Disequazioni e sistemi di disequazioni
 
Parabola disequazioni
Parabola disequazioniParabola disequazioni
Parabola disequazioni
 
Asintoti
AsintotiAsintoti
Asintoti
 
Gli insiemi q e r
Gli insiemi q e rGli insiemi q e r
Gli insiemi q e r
 
Gli insiemi n e z
Gli insiemi n e zGli insiemi n e z
Gli insiemi n e z
 
Derivata.ppt
Derivata.pptDerivata.ppt
Derivata.ppt
 
Disequazioni II gr. (2) altri casi
Disequazioni II gr. (2) altri casiDisequazioni II gr. (2) altri casi
Disequazioni II gr. (2) altri casi
 
05 calcolo differenziale 2017 imes
05 calcolo differenziale 2017 imes05 calcolo differenziale 2017 imes
05 calcolo differenziale 2017 imes
 
Radice quadrata
Radice quadrataRadice quadrata
Radice quadrata
 
Eserc v del 26 marzo 2012
 Eserc v del 26 marzo 2012 Eserc v del 26 marzo 2012
Eserc v del 26 marzo 2012
 
Integrale definito
Integrale definitoIntegrale definito
Integrale definito
 
Moltiplichiamo...per gelosia!
Moltiplichiamo...per gelosia!Moltiplichiamo...per gelosia!
Moltiplichiamo...per gelosia!
 
Disequazioni
DisequazioniDisequazioni
Disequazioni
 
Massimi e minimi
Massimi e minimiMassimi e minimi
Massimi e minimi
 
Integrali definiti
Integrali definitiIntegrali definiti
Integrali definiti
 

Andere mochten auch

Andere mochten auch (9)

Soluzione esame a del 13 giugno 2012
Soluzione esame a del 13 giugno 2012Soluzione esame a del 13 giugno 2012
Soluzione esame a del 13 giugno 2012
 
Lezione 4 (7 marzo 2012)
Lezione 4 (7 marzo 2012)Lezione 4 (7 marzo 2012)
Lezione 4 (7 marzo 2012)
 
Lezione 13 (2 aprile 2012)
Lezione 13 (2 aprile 2012)Lezione 13 (2 aprile 2012)
Lezione 13 (2 aprile 2012)
 
الدقي
الدقيالدقي
الدقي
 
Lezione 22 (7 maggio 2012)
Lezione 22 (7 maggio 2012)Lezione 22 (7 maggio 2012)
Lezione 22 (7 maggio 2012)
 
Lezione 21 (2 maggio 2012)
Lezione 21 (2 maggio 2012)Lezione 21 (2 maggio 2012)
Lezione 21 (2 maggio 2012)
 
Lezione 2 (29 febbraio 2012)
Lezione 2 (29 febbraio 2012)Lezione 2 (29 febbraio 2012)
Lezione 2 (29 febbraio 2012)
 
Lezione 14 (2 aprile 2012)
Lezione 14 (2 aprile 2012)Lezione 14 (2 aprile 2012)
Lezione 14 (2 aprile 2012)
 
Esercitazione 1 (27 febbraio 2012)
Esercitazione 1 (27 febbraio 2012)Esercitazione 1 (27 febbraio 2012)
Esercitazione 1 (27 febbraio 2012)
 

Ähnlich wie Lezione 8 (12 marzo 2012)

Lezione 6 (12 marzo 2012)
Lezione 6 (12 marzo 2012)Lezione 6 (12 marzo 2012)
Lezione 6 (12 marzo 2012)
STELITANO
 
Esercitazione 3 (14 marzo 2012)
Esercitazione 3 (14 marzo 2012)Esercitazione 3 (14 marzo 2012)
Esercitazione 3 (14 marzo 2012)
STELITANO
 
Calcolo Numerico - 2 - Rappresentazione Dei Numeri
Calcolo Numerico - 2 - Rappresentazione Dei NumeriCalcolo Numerico - 2 - Rappresentazione Dei Numeri
Calcolo Numerico - 2 - Rappresentazione Dei Numeri
Majong DevJfu
 
Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)
STELITANO
 
Esercitazione 4 (19 marzo 2012)
Esercitazione 4 (19 marzo 2012)Esercitazione 4 (19 marzo 2012)
Esercitazione 4 (19 marzo 2012)
STELITANO
 
5 Strutture Iterative
5   Strutture Iterative5   Strutture Iterative
5 Strutture Iterative
guest60e9511
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)
STELITANO
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)
STELITANO
 
Fondamenti di Informatica - Esercitazione3 (1).pdf
Fondamenti di Informatica - Esercitazione3 (1).pdfFondamenti di Informatica - Esercitazione3 (1).pdf
Fondamenti di Informatica - Esercitazione3 (1).pdf
lorenzosalvi30
 

Ähnlich wie Lezione 8 (12 marzo 2012) (20)

Lezione 6 (12 marzo 2012)
Lezione 6 (12 marzo 2012)Lezione 6 (12 marzo 2012)
Lezione 6 (12 marzo 2012)
 
Visual Basic, Equazioni Sec Grado
Visual Basic, Equazioni Sec GradoVisual Basic, Equazioni Sec Grado
Visual Basic, Equazioni Sec Grado
 
Esercitazione 3 (14 marzo 2012)
Esercitazione 3 (14 marzo 2012)Esercitazione 3 (14 marzo 2012)
Esercitazione 3 (14 marzo 2012)
 
Calcolo Numerico - 2 - Rappresentazione Dei Numeri
Calcolo Numerico - 2 - Rappresentazione Dei NumeriCalcolo Numerico - 2 - Rappresentazione Dei Numeri
Calcolo Numerico - 2 - Rappresentazione Dei Numeri
 
Python - Primi passi
Python - Primi passi Python - Primi passi
Python - Primi passi
 
Metodo di Newton
Metodo di NewtonMetodo di Newton
Metodo di Newton
 
Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)Lezione 23 (9 maggio 2012)
Lezione 23 (9 maggio 2012)
 
Esercitazione 4 (19 marzo 2012)
Esercitazione 4 (19 marzo 2012)Esercitazione 4 (19 marzo 2012)
Esercitazione 4 (19 marzo 2012)
 
5 Strutture Iterative
5   Strutture Iterative5   Strutture Iterative
5 Strutture Iterative
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)
 
Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)Lezione 12 (28 marzo 2012)
Lezione 12 (28 marzo 2012)
 
Python@Unina - Exercises
Python@Unina - ExercisesPython@Unina - Exercises
Python@Unina - Exercises
 
Vogliamo programmatori stupidi e pigri!
Vogliamo programmatori stupidi e pigri!Vogliamo programmatori stupidi e pigri!
Vogliamo programmatori stupidi e pigri!
 
7. MATLAB - Parte 2 (IO, cicli, funzioni).pdf
7. MATLAB - Parte 2 (IO, cicli, funzioni).pdf7. MATLAB - Parte 2 (IO, cicli, funzioni).pdf
7. MATLAB - Parte 2 (IO, cicli, funzioni).pdf
 
Lezione 1 insiemi numerici
Lezione 1 insiemi numericiLezione 1 insiemi numerici
Lezione 1 insiemi numerici
 
07 2 ricorsione
07 2 ricorsione07 2 ricorsione
07 2 ricorsione
 
Fondamenti di Informatica - Esercitazione3 (1).pdf
Fondamenti di Informatica - Esercitazione3 (1).pdfFondamenti di Informatica - Esercitazione3 (1).pdf
Fondamenti di Informatica - Esercitazione3 (1).pdf
 
Algorithmist guide II
Algorithmist guide IIAlgorithmist guide II
Algorithmist guide II
 
Algoritmi e Programmazione Avanzata - Esercizi propedeutici
Algoritmi e Programmazione Avanzata - Esercizi propedeuticiAlgoritmi e Programmazione Avanzata - Esercizi propedeutici
Algoritmi e Programmazione Avanzata - Esercizi propedeutici
 
Fondamenti di algebra lineare, parte 1: vettori e matrici
Fondamenti di algebra lineare, parte 1: vettori e matriciFondamenti di algebra lineare, parte 1: vettori e matrici
Fondamenti di algebra lineare, parte 1: vettori e matrici
 

Mehr von STELITANO

Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012
STELITANO
 
Soluzioni abilità informatiche 16 maggio 2012
Soluzioni abilità informatiche 16 maggio 2012Soluzioni abilità informatiche 16 maggio 2012
Soluzioni abilità informatiche 16 maggio 2012
STELITANO
 
Dispenza aloisi
Dispenza aloisiDispenza aloisi
Dispenza aloisi
STELITANO
 
Lezione 20 (2 maggio 2012) seconda parte
Lezione 20 (2 maggio 2012) seconda parteLezione 20 (2 maggio 2012) seconda parte
Lezione 20 (2 maggio 2012) seconda parte
STELITANO
 
Lezione 20 (2 maggio 2012) prima parte
Lezione 20 (2 maggio 2012) prima parteLezione 20 (2 maggio 2012) prima parte
Lezione 20 (2 maggio 2012) prima parte
STELITANO
 
Lezione 19 (18 aprile 2012) ricerca
Lezione 19 (18 aprile 2012)   ricercaLezione 19 (18 aprile 2012)   ricerca
Lezione 19 (18 aprile 2012) ricerca
STELITANO
 
Lezione 18 (18 aprile 2012) ordinamenti
Lezione 18 (18 aprile 2012)   ordinamentiLezione 18 (18 aprile 2012)   ordinamenti
Lezione 18 (18 aprile 2012) ordinamenti
STELITANO
 
Lezione 15 (2 aprile 2012)
Lezione 15 (2 aprile 2012)Lezione 15 (2 aprile 2012)
Lezione 15 (2 aprile 2012)
STELITANO
 
Lezione 13 (2 aprile 2012)
Lezione 13 (2 aprile 2012)Lezione 13 (2 aprile 2012)
Lezione 13 (2 aprile 2012)
STELITANO
 
Lezione 16 (2 aprile 2012)
Lezione 16 (2 aprile 2012)Lezione 16 (2 aprile 2012)
Lezione 16 (2 aprile 2012)
STELITANO
 
Lezione 12 (28 marzo 2012) puntatori vettori
Lezione 12 (28 marzo 2012) puntatori   vettoriLezione 12 (28 marzo 2012) puntatori   vettori
Lezione 12 (28 marzo 2012) puntatori vettori
STELITANO
 
Lezione 12 (28 marzo 2012) funzioni memoria - puntatori
Lezione 12 (28 marzo 2012) funzioni   memoria - puntatoriLezione 12 (28 marzo 2012) funzioni   memoria - puntatori
Lezione 12 (28 marzo 2012) funzioni memoria - puntatori
STELITANO
 
Soluzione esonero del 4 aprile 2012
Soluzione esonero del 4 aprile 2012Soluzione esonero del 4 aprile 2012
Soluzione esonero del 4 aprile 2012
STELITANO
 
Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)
STELITANO
 
Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)
STELITANO
 
Lezione 10 (21 marzo 2012)
Lezione 10 (21 marzo 2012)Lezione 10 (21 marzo 2012)
Lezione 10 (21 marzo 2012)
STELITANO
 
Lezione 10 (21 marzo 2012)3
Lezione 10 (21 marzo 2012)3Lezione 10 (21 marzo 2012)3
Lezione 10 (21 marzo 2012)3
STELITANO
 
Lezione 10 (21 marzo 2012)2
Lezione 10 (21 marzo 2012)2Lezione 10 (21 marzo 2012)2
Lezione 10 (21 marzo 2012)2
STELITANO
 
Lezione 10 (21 marzo 2012)
Lezione 10 (21 marzo 2012)Lezione 10 (21 marzo 2012)
Lezione 10 (21 marzo 2012)
STELITANO
 

Mehr von STELITANO (20)

Risultati
RisultatiRisultati
Risultati
 
Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012Soluzione esame b del 13 giugno 2012
Soluzione esame b del 13 giugno 2012
 
Soluzioni abilità informatiche 16 maggio 2012
Soluzioni abilità informatiche 16 maggio 2012Soluzioni abilità informatiche 16 maggio 2012
Soluzioni abilità informatiche 16 maggio 2012
 
Dispenza aloisi
Dispenza aloisiDispenza aloisi
Dispenza aloisi
 
Lezione 20 (2 maggio 2012) seconda parte
Lezione 20 (2 maggio 2012) seconda parteLezione 20 (2 maggio 2012) seconda parte
Lezione 20 (2 maggio 2012) seconda parte
 
Lezione 20 (2 maggio 2012) prima parte
Lezione 20 (2 maggio 2012) prima parteLezione 20 (2 maggio 2012) prima parte
Lezione 20 (2 maggio 2012) prima parte
 
Lezione 19 (18 aprile 2012) ricerca
Lezione 19 (18 aprile 2012)   ricercaLezione 19 (18 aprile 2012)   ricerca
Lezione 19 (18 aprile 2012) ricerca
 
Lezione 18 (18 aprile 2012) ordinamenti
Lezione 18 (18 aprile 2012)   ordinamentiLezione 18 (18 aprile 2012)   ordinamenti
Lezione 18 (18 aprile 2012) ordinamenti
 
Lezione 15 (2 aprile 2012)
Lezione 15 (2 aprile 2012)Lezione 15 (2 aprile 2012)
Lezione 15 (2 aprile 2012)
 
Lezione 13 (2 aprile 2012)
Lezione 13 (2 aprile 2012)Lezione 13 (2 aprile 2012)
Lezione 13 (2 aprile 2012)
 
Lezione 16 (2 aprile 2012)
Lezione 16 (2 aprile 2012)Lezione 16 (2 aprile 2012)
Lezione 16 (2 aprile 2012)
 
Lezione 12 (28 marzo 2012) puntatori vettori
Lezione 12 (28 marzo 2012) puntatori   vettoriLezione 12 (28 marzo 2012) puntatori   vettori
Lezione 12 (28 marzo 2012) puntatori vettori
 
Lezione 12 (28 marzo 2012) funzioni memoria - puntatori
Lezione 12 (28 marzo 2012) funzioni   memoria - puntatoriLezione 12 (28 marzo 2012) funzioni   memoria - puntatori
Lezione 12 (28 marzo 2012) funzioni memoria - puntatori
 
Soluzione esonero del 4 aprile 2012
Soluzione esonero del 4 aprile 2012Soluzione esonero del 4 aprile 2012
Soluzione esonero del 4 aprile 2012
 
Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)
 
Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)Lezione 11 (26 marzo 2012)
Lezione 11 (26 marzo 2012)
 
Lezione 10 (21 marzo 2012)
Lezione 10 (21 marzo 2012)Lezione 10 (21 marzo 2012)
Lezione 10 (21 marzo 2012)
 
Lezione 10 (21 marzo 2012)3
Lezione 10 (21 marzo 2012)3Lezione 10 (21 marzo 2012)3
Lezione 10 (21 marzo 2012)3
 
Lezione 10 (21 marzo 2012)2
Lezione 10 (21 marzo 2012)2Lezione 10 (21 marzo 2012)2
Lezione 10 (21 marzo 2012)2
 
Lezione 10 (21 marzo 2012)
Lezione 10 (21 marzo 2012)Lezione 10 (21 marzo 2012)
Lezione 10 (21 marzo 2012)
 

Lezione 8 (12 marzo 2012)

  • 1. Abilità Informatiche Ingegneria Chimica Lezione 8 del 12/03/2012 Prof. Antonino Stelitano
  • 2. Docente Antonino Stelitano Tutor Lezioni Lunedì 14:00 – 17:30 aula 16 Lab. Paolo Ercoli – via Tiburtina 205 Mercoledì 15:45 – 19:00 aula 5 Viale del C. Laurenziano Ricevimento: Per appuntamento antonino.stelitano@uniroma1.it stelitano.a@libero.it Sito web: http://w3.uniroma1.it/ab_informatiche/
  • 3. Quiz :: • Dato un intero, verifica se é minore di 100 • scrivere un programma per calcolare la radice quadrata di un numero – a = sqrt ( b ) ;  a = √ b • Dati due interi che rappresentano il mese e l'anno, calcola il mese e l'anno successivi • Problema: scrivere un programma per calcolare le radici di un’equazione di secondo grado
  • 5. /* file minore100.c */ /* Dato un intero, verifica se e' minore di 100 */ #include <stdio.h> int main(void) { int i; printf("Dammi un intero: "); scanf("%d", &i); if (i < 100) printf("%d e' minore di 100n", i); else printf("%d e' maggiore o uguale a 100n", i); printf("Ho finito!n"); return 0; }
  • 6. /* Problema: scrivere un programma per calcolare la radice quadrata di un numero */ #include <stdio.h> #include <math.h> int main (void) { double num; printf(“Inserire un numero non negativo:n”); scanf(“%lf ”, &num); if (num<0) printf(“Errore: inserito un numero negativo”); else printf(“La radice quadrata è: %lfn”, sqrt(num)); return 0; }
  • 7. /* Dati due interi che rappresentano il mese e l'anno, calcola il mese e l'anno successivi */ #include <stdio.h> int main(void) { int mese; int anno; printf("Inserisci mese: "); scanf("%d", &mese); printf("Inserisci anno: "); scanf("%d", &anno); if (mese == 12) { mese = 1; anno = anno + 1; } else mese = mese + 1; printf("%d/%dn", mese, anno); return 0; }
  • 8. /* Problema: scrivere un programma per calcolare le radici di un’equazione di secondo grado */ #include <stdio.h> #include <math.h> int main(void) { double a, b, c, delta, den, x1, x2; printf(“inserisci i coef.equazione a, b, c n”); scanf(“%lf %lf %lf ”, &a, &b, &c); delta= (b*b)-4*a*c; if (delta < 0) printf(“radici immaginarien”); else { delta=sqrt(delta); den=2*a; x1=(-b - delta)/den; x2=(-b + delta)/den; printf (“X1 =%lf t X2=%lf n”, x1, x2) } return 0; }
  • 9. /* Legge un valore intero che rappresenta una temperatura e stampa un opportuno messaggio. */ #include <stdio.h> int main(void) { int temperat; printf("Temperatura ? "); scanf("%d", &temperat); if (temperat > 30) printf("Molto caldon"); if ((temperat > 20) && (temperat <= 30)) printf("Abbastanza caldon"); if ((temperat > 10) && (temperat <= 20)) printf("Gradevolen"); if ((temperat > 0) && (temperat <= 10)) printf("Freddon"); if (temperat <=0) printf("Molto freddon"); return 0; }
  • 10. Scambio di due variabili • Algoritmo – leggi i due valori x1, x2 – se x1 > x2 scambia il contenuto di x1 e x2 – stampa x1, x2 • Ordinamento tra due variabili – Caso 1: x1=20, x2=40 (già ordinato) – Caso 2: x1=40, y2=20 if x1> x2 Se x1=35 e x2=10 { x1=x2 x1=x2 x1=10 x2=x1 x2=x1 x2=10 }
  • 11. Schema di scambio tra due variabili Caso 1: x1=20, x2=40 (già ordinato) Caso 2: x1=40, y2=20 Caso 2: serve una variabile di appoggio aux = x1 x1= x2 cambia x1 con x2 x2 = aux cambia x2 con x1 iniziale int main (void) { int x1, x2, aux; printf (“inserisci due interi:n”); scanf (“%d %d”, &x1, &x2); if (x1>x2) { aux=x1; x1=x2; x2=aux; } printf (“%d t %d”, x1, x2); return 0; }
  • 12. Individuare il tipo di un triangolo • Problema: verificare quale tipo di triangolo descrivono tre interi. • Vincolo: i lati vengono inseriti in ordine crescente Confronto tra i lati Analisi A<=B<=C A+B < C Non è un triangolo A=B=C Triangolo equilatero A=B o B=C Triangolo isoscele ABC Triangolo scaleno
  • 13. • Input: tre valori interi in ordine crescente • Output: un messaggio • Algoritmo – Leggi i tre valori a, b, c (dati di ingresso) – Se a+b < c non è un triangolo – Altrimenti contiamo le coppie di lati uguali – Output: • Se coppie=0 è scaleno • Se coppie=1 è isoscele • Se coppie=3 è equilatero
  • 14. Algoritmo if (a+b<c) non è un triangolo else { if (a == b) incrementa coppie; if (b == c) incrementa coppie; if (a == c) incrementa coppie; if (coppie == 0) Scaleno; if (coppie == 1) Isoscele if (coppie == 3) Equilatero; }
  • 15. #include <stdio.h> int main(void) { int a, b, c; int coppie = 0; printf(”Lati triangolo? "); scanf("%d%d%d", &a, &b, &c); if (a+b<c) coppie=-1; else { if (a == b) coppie = coppie + 1; if (b == c) coppie = coppie + 1; if (a == c) coppie = coppie + 1; } if (coppie == -1) printf(”No triangolon"); if (coppie == 0) printf("Scalenon"); if (coppie == 1) printf("Isoscelen"); if (coppie == 3) printf("Equilateron"); return 0; }