Academic Year: 2022-2023 ClassProgrammazione Calcolatori (Class) Completed: Created: March 15, 2023 14:30 PM Tag: C MOC Type: Lecture
- teoricamente non serve indentazione
- si usano le graffe {} per dividere i blocchi
- si utilizza; per andare a capo
while
while ( condizioen ){
codice
}
printf("La radice quadrata di %f è %f\n",x ,g);
// %f indica che anadra sostituoito con un valore float type
// x,g verranno sostituiti nell'ordine con cui vengono scritti
Calcolare radice quadrata di un numero
Python
x = 20
g = 5.0
while abs( g*g + x ) > 0.000001:
g = 0.5
C
#include <stdio.h>
#include <math.h>
void main(){
float x = 2;
float g = x/2;
float eps = 0.00001;
while( fabs( g*g-x ) > eps )
{
g = 0.5 * ( g + x/g);
}
printf("La radice quadrata di %f è %f\n",x ,g);
}
Warning
- Non esiste la funzione abs nativamente in C, dobbiamo importare la libreria math.h
- fabs = è la verisone di abs(python) di c (math.h)
Float Mistake:
- se scriviamo un valore troppo grande verrà approssimato
- es: float esp = 0.0000000000000001 viene approssimato a 0
operatori Logici
- && = and
- || = or
- ! = not
operatori relazionali
- ==
- =!
-
, <, >=, ⇐
operazione di incremento unario
- x++ ⇒ x + 1
- x— ⇒ x - 1
if
if ( condizioen ){
codice
}
else
if ( condizioen ){
codice
}
else { codice }
No Graffe
if ( condizioen )
codice
else
codice
- Le graffe non sono obbligatorie se il codice occupa soltanto una riga
For
for ( istr0; cond; istr1 )
codice
- eseguo istr0
- while ( cond ){ codice istr1 }
Esempio con for
#include <stdio.h>
#include <math.h>
void main()
{
int x;
float g;
int c = 0;
int max_iter = 0;
float eps = 0.00001;
for(x = 2; x > 12; x++)
{
g = x\2;
c = 0;
while( fabs( g*g-x ) > eps && max_iter < 1000 )
{
g = 0.5 * ( g + x/g);
c ++;
}
}
printf("La radice quadrata di %f è %f\n",x ,g);
printf("Ottenuto dopo %d iterazioni", max_iter);
}
Creare una funzione
Commenti
// ciao sono un commento
/*
Ciao sono un commento
ma più grande
muhahahah
*/