Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Schema comandi e funzioni C/Matlab, Schemi e mappe concettuali di Fondamenti di informatica

Una scheda di riferimento per il corso di Informatica B del Politecnico di Milano. La scheda contiene informazioni sulla struttura del programma, dichiarazioni di variabili, comandi per il preprocessore, operatori, flusso di controllo, libreria ANSI C, input/output, operazioni tra stringhe e funzioni matematiche.

Tipologia: Schemi e mappe concettuali

2021/2022

In vendita dal 30/01/2022

Giovanni_Brambilla
Giovanni_Brambilla 🇮🇹

4

(1)

7 documenti

1 / 2

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
C Reference Card (ANSI) - versione semplificata
corso Informatica B Politecnico di Milano
1 Struttura del programma
struttura del programma principale
int main(void) {
declarations
statements
}
Dichiarazione di variabile: type name;
2 Comandi per il preprocessore
inclusione di un file di libreria #include <filename>
definizione di costante #define name value
3 Dichiarazioni
carattere (1 byte) char
intero int
short (16 bit integer) short
long (32 bit integer) long
numero senza segno unsigned
constante type const name;
numero reale float, double
type enumerativo typedef enum name1, name2, ... typeName;
struct typedef struct ... typeName;
ridefinizione di tipo typedef oldTypeName newTypeName;
tipo array typedef elementType arrayType[dim];
tipo matrice typedef elementType matrixType[dim1][dim2];
4 Operatori
accesso al campo di una struct structName.field
accesso all’i-esimo elemento di un array arrayName[i]
operazioni aritmetiche per interi +, -, *, /, %, ++, --
operazioni aritmetiche per reali +, -, *, /
operatori di confronto ==, !=, >, <, >=, <=
operatore di assegnamento =
operatori logici &&, ||, !
5 Flusso di controllo
terminatore di istruzione ;
delimitatore blocco {... }
istruzione if if (espr) istruzione1 else istruzione2
istruzione while while (espr) istruzione
istruzione for for (istr1; espr; istr3) istr2
istruzione do do istruzione while (espr);
istruzione switch switch (espr) {case val1: istr1; break; ...
default istr}
6 Libreria ANSI C
<assert.h> <ctype.h> <errno.h> <float.h> <limits.h> <locale.h>
<math.h> <setjmp.h> <signal.h> <stdarg.h> <stddef.h> <stdio.h>
<stdlib.h> <string.h> <time.h>
7 Input/Output <stdio.h>
stampa formattata printf(‘‘formato’’, arg1, arg2, ...);
acquisizione formattata scanf(‘‘formato’’, arg1, arg2, ...);
8 Operazioni tra stringhe <string.h>
lunghezza di s strlen(s)
copia di s2 in s1 strcpy(s1, s2)
concatenazione di s2 dopo s1 strcat(s1, s2)
confronto tra s1 e s2 strcmp(s1, s2) - restituisce 0 se uguali, <0 se s1 precede s2,
>0 altrimenti
9 Mathematical Functions <math.h>
funzioni trigonometriche sin(x), cos(x), tan(x)
funzioni trigonometriche inverse asin(x), acos(x), atan(x)
arctan(y/x) atan2(y,x)
funzioni trigonometriche iperboliche sinh(x), cosh(x), tanh(x)
esponenziali & logaritmi exp(x), log(x), log10(x)
elevamento a potenza pow(x,y), sqrt(x)
pf2

Anteprima parziale del testo

Scarica Schema comandi e funzioni C/Matlab e più Schemi e mappe concettuali in PDF di Fondamenti di informatica solo su Docsity!

C Reference Card (ANSI) - versione semplificata

corso Informatica B Politecnico di Milano

1 Struttura del programma

struttura del programma principale

int main(void) {

declarations

statements

Dichiarazione di variabile: type name;

2 Comandi per il preprocessore

inclusione di un file di libreria #include

definizione di costante #define name value

3 Dichiarazioni

carattere (1 byte) char

intero int

short (16 bit integer) short

long (32 bit integer) long

numero senza segno unsigned

constante type const name;

numero reale float, double

type enumerativo typedef enum name1, name2, ... typeName;

struct typedef struct ... typeName;

ridefinizione di tipo typedef oldTypeName newTypeName;

tipo array typedef elementType arrayType[dim];

tipo matrice typedef elementType matrixType[dim1][dim2];

4 Operatori

accesso al campo di una struct structName.field

accesso all’i-esimo elemento di un array arrayName[i]

operazioni aritmetiche per interi +, -, *, /, %, ++, --

operazioni aritmetiche per reali +, -, *, /

operatori di confronto ==, !=, >, <, >=, <=

operatore di assegnamento =

operatori logici &&, ||,!

5 Flusso di controllo

terminatore di istruzione ;

delimitatore blocco { ... }

istruzione if if (espr) istruzione1 else istruzione

istruzione while while (espr) istruzione

istruzione for for (istr1; espr; istr3) istr

istruzione do do istruzione while (espr);

istruzione switch switch (espr) {case val1: istr1; break; ...

default istr}

6 Libreria ANSI C

<assert.h> <ctype.h> <errno.h> <float.h> <limits.h> <locale.h>

<math.h> <setjmp.h> <signal.h> <stdarg.h> <stddef.h> <stdio.h>

<stdlib.h> <string.h> <time.h>

7 Input/Output <stdio.h>

stampa formattata printf(‘‘formato’’, arg1, arg2, ...);

acquisizione formattata scanf(‘‘formato’’, arg1, arg2, ...);

8 Operazioni tra stringhe <string.h>

lunghezza di s strlen(s)

copia di s2 in s1 strcpy(s1, s2)

concatenazione di s2 dopo s1 strcat(s1, s2)

confronto tra s1 e s2 strcmp(s1, s2) - restituisce 0 se uguali, < 0 se s1 precede s2,

> 0 altrimenti

9 Mathematical Functions <math.h>

funzioni trigonometriche sin(x), cos(x), tan(x)

funzioni trigonometriche inverse asin(x), acos(x), atan(x)

arctan(y/x) atan2(y,x)

funzioni trigonometriche iperboliche sinh(x), cosh(x), tanh(x)

esponenziali & logaritmi exp(x), log(x), log10(x)

elevamento a potenza pow(x,y), sqrt(x)

Aiuto!

help x mostra la documentazione su x doc apre la documentazione di matlab docsearch x cerca x nella documentazione

Comandi generali di matlab

Informative whos mostra tutte le variabili nel workspace ans mostra l’ultimo risultato Pulizia clc pulisci il contenuto della finestra comandi clear cancella tutte le variabili dal workspace clear x cancella solo x dal workspace close all chiude le figure close(H) chiude la figura H Caricamento e salvataggio save filename salva le variabili nel file filename save filename x,y salva solo le variabili x,y nel file filename save -append filename x salva x in un file già esistente load filename carica le variabili da file Sistema addpath(string) aggiunge una directory dove cercare gli script pwd directory corrente mkdir crea una directory tempdir crea una directory temporanea exit esci da matlab dir stampa contenuto directory corrente

Funzioni e variabili già presenti in matlab

Generiche sum(x) somma elementi del vettore x prod(x) prodotto degli elementi del vettore x diff(x) differenze fra elementi adiacenti di x abs(x) valore assoluto; abs(-3) = 3 Arrotondamento floor(x) tronca x (floor(0.7) = 0) ceil(x) tronca per eccesso x (ceil(0.1) = 1) round(x) arrotonda x round(x,n) arrotonda x alla n-esima cifra decimale Variabili pi 3.1415… inf ∞ eps floating point accuracy 1e6 106

Vettori e matrici

Creazione j:k vettore riga [j, j + 1, …, k] j:i:k vettore riga [j, j + i , …] ones(a,b) matrice a×b di 1 zeros(a,b) matrice a×b di 0 x[1, 2, 3]= vettore riga 1x x[1; 2; 3]= vettore colonna 3x x[1, 2; 3, 4]= matrice 2x Accesso e modifica x(2)=4 scrivi 4 nel secondo elemento di x x(:) tutti gli elementi di x x(j: end ) gli elementi di x da j fino alla fine x(2:5) dal secondo al quinto elemento di x x([3,2,5]) sottovettore di x (3o^ , poi 2o^ poi 5o^ elemento di x) x(j,:) tutti gli elementi della riga j x(:,j) tutti gli elementi della colonna j

Operatori x.*y moltiplicazione elemento per elemento x./y divisione elemento per elemento x+y somma elemento per elemento x-y sottrazione elemento per elemento A’ trasposta size(x) [righe, colonne] di x Ricerca x(x>5) gli elementi di x maggiori di 5 x(x>5)=0 cambia gli elementi di x maggiori di 5 in 0 find(A>5) trova gli indici degli elementi di A maggiori di 5 Layout [A,B] concatena orizzontalmente A e B [A;B] concatena verticalmente A e B

Operatori logici

Semplici valori logici && 0 && 1 == 0 etc..

|| 0 || 1 == 1 etc..

~ NOT

Vettori di valori logici & AND elemento per elemnto

| OR elemento per elemento

~ NOT elemento per elemento

Operatori relazionali

== Uguaglianza ~= Vero se sono differenti

= Maggiore uguale <= Maggiore uguale

Stampa

format short Usa 4 cifre dopo la virgola format long Usa 16 cifre dopo la virgola disp(x) Mostra la stringa x num2str(x) Converte il numero x in una stringa mat2str(x) Converte una matrice in una stringa int2str(x) Converte un intero in una stringa sprintf(x) Converte un oggetto generico in stringa

Grafici

Creazione/Manipolazione Grafici fig1 = plot(x,y) crea plot 2d e assegna handle a fig fig1 = gcf() assegna handle figura corrente a fig fig1 = figure crea una nuova figura vuota hold on abilita sovrascrittura immagini hold off chiude la figura corrente Modifica stili grafici set(fig1, ’LineWidth’, 2) cambia dimensione linea set(fig1, ’LineStyle’, ’-’) cambia stile linea -, --, :, -. possibili stili di linea set(fig1, ’Marker’, ’.’) cambia il marker per i punti ’, +, *, x, o, square possibili markers set(fig1, ’color’, ’red’) cambia colore della linea red, blue, green, yellow, black possibili colori set(fig1, ’MarkerSize’, 10) cambia la dimensione dei markers set(fig1, ’FontSize’, 14) cambia la dimensione del font Assi, griglie e leggende xlabel(’\mu line’,’FontSize’,14) assegna un nome all’asse X ylim([a b]) assegna dei limiti all’asse y title(’name’,’fontsize’,22) assegna un titolo al grafico grid on/off; aggiunge/toglie una griglia legend(’y1’,’y2’) aggiunge una legenda per i plot y1 e y

Programmazione

if/elseif/else

Esegue bodyTrue1 se cond1!=0, altrimenti se cond2!=0 esegue bodyTrue2, al- trimenti esegue bodyFalse12. elseif così come else è opzionale.

1 if (cond1) 2 bodyTrue 3 elseif cond 4 bodyTrue 5 else 6 bodyFalse 7 end

for

Esegue body n volte; ad ogni iterazione la variabile i viene incrementata di 1 fino ad arrivare ad n:

1 for i=1:n 2 body 3 end

while

Esegue body ripetutamente finche’ l’espressione cond non vale 0:

1 while (cond) 2 body 3 end

switch/case

Esegue bodyA se exp è uguale ad a; oppure esegue bodyB se exp è uguale ad b. Se nessun caso è verificato esegue bodyDefault.

1 switch exp 2 case a 3 bodyA 4 case b 5 bodyB 6 ... 7 otherwise 8 bodyDefault 9 end

Data import/export

xlsread/xlswrite Spreadsheets (.xls,.xlsm) readtable/writetable Spreadsheets (.xls,.xlsm) dlmread/dlmwrite text files (txt,csv) load/save -ascii text files (txt,csv) load/save matlab files (.m) imread/imwrite Image files Copyright ©2015—2017 Vittorio Zaccaria Revision: 0.7 - December 18, 2017