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


appunti informatica a, Appunti di Informatica gestionale

appunti semplici personali !!non bastano a passare l'esame!!

Tipologia: Appunti

2025/2026

Caricato il 24/02/2026

m7ynsbwftg
m7ynsbwftg 🇮🇹

1 documento

1 / 12

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
CICLI PRINCIPALI
CICLO WHILE
while (condizione) {
// istruzioni
}
Il ciclo while itera fino a che la condizione tra parentesi è verificata.
La condizione viene verificata prima
Può anche non essere mai iterato(se la condizione è falsa)
CICLO DO-WHILE
do {
// istruzioni
} while (condizione);
Questo ciclo esegue le istruzioni almeno una volta
Dopo verifica la condizione
CICLO FOR
for (inizializzazione; condizione; incremento) {
// istruzioni
}
Fa uso di una variabile ausiliara per scorrere (ad esempio i)
Nelle parentesi si mette 1. Da che valore parte i
2. Che valore deve avere i affinchè si esca
dal ciclo
3. Di quanto aumenta i ad ogni iterazione
GLI ARRAY
DICHIARAZIONE: int Nome [];
Int Nome [] = {29 ,20,2020,2};
Gli indici partono sempre da 0.
STAMPARE ARRAY
pf3
pf4
pf5
pf8
pf9
pfa

Anteprima parziale del testo

Scarica appunti informatica a e più Appunti in PDF di Informatica gestionale solo su Docsity!

CICLI PRINCIPALI

CICLO WHILE

while (condizione) { // istruzioni } Il ciclo while itera fino a che la condizione tra parentesi è verificata. La condizione viene verificata prima Può anche non essere mai iterato(se la condizione è falsa) CICLO DO-WHILE do { // istruzioni } while (condizione); Questo ciclo esegue le istruzioni almeno una volta Dopo verifica la condizione CICLO FOR for (inizializzazione; condizione; incremento) { // istruzioni } Fa uso di una variabile ausiliara per scorrere (ad esempio i) Nelle parentesi si mette 1. Da che valore parte i

  1. Che valore deve avere i affinchè si esca dal ciclo
  2. Di quanto aumenta i ad ogni iterazione GLI ARRAY DICHIARAZIONE: int Nome []; Int Nome [] = {29 ,20,2020,2}; Gli indici partono sempre da 0. STAMPARE ARRAY

for (int i = 0; i < 5; i++) { printf("%d ", v[i]); } RICERCA DI UN ELEMENTO int trovato = 0; for (int i = 0; i < n; i++) { if (v[i] == x) { trovato = 1; break; } } INVERTIRE UN ARRAY for (int i = 0; i < n / 2; i++) { int temp = v[i]; v[i] = v[n - 1 - i]; v[n - 1 - i] = temp; } BUBBLE SORT for (int i = 0; i < n - 1; i++) { for (int j = 0; j < n - 1 - i; j++) { if (v[j] > v[j + 1]) { int t = v[j]; v[j] = v[j + 1]; v[j + 1] = t; } } }

char nomi[3][20] = { "Mario", "Luigi", "Anna" }; LE LISTE PS. Serve includere stdlib.h STRUCT BASE Typedef struct Prova { int dato; struct Prova *next; }Prova; TESTA DI LISTA Prova * testa = 0; X CREARE UN NODO/ELEMENTO con INSERIMENTO IN TESTA Do { temp= (prova *)malloc(sizeof(Prova)); temp-->next = testa; Testa = temp; Printf(“Immetti val da inserire”); Scanf(“%d”, &(testa->dato)); Printf(“1 continua, 0 finisci”); Scanf(“%d”, &ancora); // ancora variabile ausiliara }while (ancora ==1 || ancora);

X STAMPARE I VALORI AL CONTRARIO e trovare la media for (temp = testa; temp != 0; temp = temp->next) { printf("%d", temp->dato); somma = somma + temp->dato; cont++; } Printf (“la media è : %d”, (somma/cont)); INSERIMENTO IN CODA #include #include typedef struct Prova { int dato; struct Prova next; }Prova; Prova * testa = 0; int inscoda(int valore) { Prova * temp; if (!testa) if (testa = (Prova)malloc(sizeof(Prova))) { testa->dato = valore; testa->next = 0; return 1;

for (temp = testa; temp != 0; temp = temp->next) printf("%d", temp->dato); return 0; } CANCELLARE UN ELEMENTO #include #include Typedef struct prova { Int dato; Struct prova*next; }prova; Void cancellanodo(prova ** testa, int chiave){ Prova * temp = *testa; // (1 caso: il nodo da eliminare è la testa) If(temp != 0 && temp->dato == chiave){ *testa = temp->next; Free(temp); Return ; } // (2 caso : cerca il nodo da eliminare scorrendo la lista) // dobbiamo tenere traccia del nodo precedente While (temp != 0 && temp->dato != chiave){ Precedente = temp; Temp = temp->next; } // (il valore non viene trovato) If (temp == 0){

Printf(“valore %d non trovato nella lista.\n” , chiave); Return ; } //sgancia il nodo dalla lista Precedente->next = temp->next; // libera la memoria Free(temp); } INSERIMENTO IN TESTA void inserisciInTesta(prova** testa, int valore) { prova* temp = (prova)malloc(sizeof(prova)); temp->dato = valore; temp->next = (testa); (testa) = temp; } STAMPA LISTA void stampaLista(prova nodo) { while (nodo != 0 ) { printf(" %d ->", nodo->dato); nodo = nodo->next; } printf(" FINE LISTA\n"); } INSERIMENTO IN CODA void inserisciincoda(prova **testa , int valore) { prova temp = (prova)malloc(sizeof(prova)); prova *ultimo = *testa; temp->dato = valore;

Fprintf(fp, “iwcnicniwucuiic”); // chiudi il file Fclose(fp); NEL MAIN DI LETTURA FILE: FILE *fp; Char buffer[100];// contenitore temporaneo per ogni riga Fp = fopen... If(fp = 0){ Printf (“errore nell’apertura del file”); Return 1; } //leggi il file riga per riga finche non finisce While (fgets(buffer, 100, fp) != 0){ Printf(“letto dal file: %s” , buffer); } //Chiudi il file Fclose(fp); NEL MAIN DI AGGIOUNTA FILE: FILE *fp; Fp = fopen... If(fp = 0){ Printf (“errore nell’apertura del file”); Return 1; } // chiediamo all’utente cosa aggiungere Char nome[50]; Printf(“inserisci il tuo nome ”); Scanf(“%s”, nome); // scriviamo nel file

Fprintf(fp , “accesso effetuato da : %s\n”, nome); Fclose(fp) LE STRUCT Typedef struct studente{ Char nome[50]; Int età; Float media; }studente; Studente s1; //per accedere ai membri si usa l’operatore pinto (.) Strcpy (s1.nome , “Mario Rossi”); S1.età = 20; S1.media = 26; Studente *ptr = &s1; Ptr -> età = 20; // piu leggibile