Want to create interactive content? It’s easy in Genially!
PYTHON E C
RITA DE STEFANI
Created on February 9, 2024
Start designing with a free template
Discover more than 1500 professional designs like these:
Transcript
wow
PYTHON & C
Go!
Rita De Stefani
INDICE
STORIA
AMBIENTI DI SVILUPPO
CARATTERISTICHE
LIBRERIE
COSE DA SAPERE
VANTAGGI E SVANTAGGI
DIFFERENZE CON C
STORIA
wow
STORIA DI PYTHON
Guido Van Rossum, è un programmatore informatico olandese, ha creato Python. Tutto è iniziato nel 1989 al Centrum Wiskunde & Informatica (CWI) in un primo momento per un progetto a cui si dedicava per hobby. Il nome del linguaggio è ispirato allo show televisivo della BBC Monty Python’s Flying Circus perché Guido Van Rossum ne era un grande fan.
STORIA DI C
Sviluppato tra il 1969 e il 1973 all'interno dei laboratori di ricerca dell'AT&T da Dennis Ritchie e Kevin Thompson, il linguaggio C è un linguaggio di programmazione adatto ad ogni scopo (general-purpose) tra i più utilizzati e conosciuti di sempre.
CARATTERISTICHE
wow
PYTHON
- LINGUAGGIO AD ALTO LIVELLO
- LINGUAGGIO INTERPRETATO
- LINGUAGGIO NON FORTEMENTE TIPIZATO O TIPIZATO DINAMICAMENTE
- LINGUAGGIO MULTI PARADIGMA
- LINGUAGGIO AD ALTO LIVELLO
- COMPILATO
- PRESTAZIONI ELEVATE
- PROCEDURALE
- STATICAMENTE TIPIZZATO
AMBIENTE DI SVILUPPO
wow
CHE COS'è
CHE COS'È
Un ambiente di sviluppo integrato (IDE) è un'applicazione software che aiuta i programmatori a sviluppare i codici in maniera efficiente. Migliora la produttività degli sviluppatori, combinando capacità come l'editing, la creazione, il testing e il confezionamento di software in un'applicazione facile da utilizzare.
AMBIENTE DI SVILUPPO DI PYTHON
Python IDLE è l'ambiente di sviluppo standard per la creazione di programmi Python. Viene fornito insieme al pacchetto di installazione di Python, il che significa che non devi preoccuparti di scaricare un nuovo programma per iniziare a lavorare.
AMBIENTE DI SVILUPPO DI C
- Code::Blocks
- CodeLite
- NetBeans
- Eclipse
- Visual Studio Code
COSE DA SAPERE
wow
COSE DA SAPERE SU PYTHON
- I COMMENTI
- PYTHON È UN LINGUAGGIO NON TIPIZZATO
- L’UTILIZZO DELL’INDENTAZIONE
COSE DA SAPERE SU C
- I COMMENTI
- C È UN LINGUAGGIO È TIPIZZATO
- SINTASSI A BLOCCHI
VANTAGGI & SVANTAGGI
wow
VANTAGGI
Vantaggi di Python sono:
- Facilità di utilizzo
- Facile da leggere
- Perfettamente integrabile con altri linguaggi di programmazione
- L'ampia libreria
- Python ha una licenza open-source
- Python è un linguaggio interpretato: il programma viene eseguito direttamente dal codice sorgente, e non necessita dunque di essere scritto in binario
svantaggi
SVANTAGGI
Svantaggi di Python sono:
- Scarsa velocità: essendo un linguaggio interpretato.
- Gestione della memoria automatica può portare a un consumo più elevato di risorse rispetto a C.
- Non adatto per sviluppo a basso livello o applicazioni critiche in termini di prestazioni.
- Python può presentare errori di runtime per via della sua digitazione dinamica: essendo dinamicamente tipizzato, esegue i compiti durante il runtime delle applicazioni, con conseguenti falle a livello di velocità e di caricamento, e con un aumentato rischio d’errore.
VANTAGGI
Vantaggi di C sono:
- Prestazioni elevate grazie al controllo diretto sulla memoria e alla compilazione a basso livello.
- Ampia presenza in sistemi embedded, sistemi operativi e sviluppo di software di sistema.
- Controllo fine sulla gestione della memoria, consentendo ottimizzazioni specifiche.
- Ampia comunità e supporto per lo sviluppo di applicazioni a basso livello.
svantaggi
SVANTAGGI
Svantaggi di C sono:
- Sintassi più complessa rispetto a Python, richiedendo più righe di codice per compiti comuni.
- Meno adatto per sviluppo rapido o prototipazione a causa della sua complessità sintattica.
- Gestione manuale della memoria può portare a errori come leak o violazioni della memoria.
LIBRERIE
wow
GESTIONE GRAFICA
MATEMATICHE
LIBRERIE MATEMATICHE
wow
LIBRERIE MATEMATICHE
- math.sqrt(x): Restituisce la radice quadrata di x.
- math.exp(x): Restituisce l'esponenziale di x (e^x).
- math.log(x[, base]): Restituisce il logaritmo naturale di x (o il logaritmo nella base specificata, se fornita).
- math.sin(x), math.cos(x), math.tan(x): Restituiscono rispettivamente il seno, il coseno e la tangente di x (in radianti).
- math.radians(x), math.degrees(x): Convertono gli angoli da gradi a radianti e viceversa.
- math.pi e math.e: Costanti matematiche per il pi greco e il numero di Nepero, rispettivamente.
LIBRERIE MATEMATICHE
- sqrt(x): Restituisce la radice quadrata di x.
- exp(x): Restituisce l'esponenziale di x (e^x).
- log(x), log10(x): Restituiscono rispettivamente il logaritmo naturale di x e il logaritmo in base 10 di x.
- sin(x), cos(x), tan(x): Restituiscono rispettivamente il seno, il coseno e la tangente di x (in radianti).
- fmod(x, y): Restituisce il resto della divisione tra x e y.
- M_PI e M_E: Costanti matematiche per il pi greco e il numero di Nepero, rispettivamente.
LIBRERIE GESTIONE GRAFICA
wow
LIBRERIE GESTIONE GRAFICA
- pygame.init(): Inizializza il modulo pygame.
- pygame.display.set_mode(): Crea una finestra di gioco.
- pygame.draw.rect(), pygame.draw.circle(), pygame.draw.line(): Disegna rettangoli, cerchi e linee sulla finestra di gioco.
- pygame.image.load(), pygame.image.get_rect(): Carica immagini e ottiene i rettangoli associati ad esse.
- pygame.event.get(): Ottiene eventi come tastiere e clic del mouse.
- pygame.quit(): Chiude pygame prima di uscire dal programma.
LIBRERIE GESTIONE GRAFICA
- SDL_Init(), SDL_Quit(): Inizializza e chiude SDL.
- SDL_CreateWindow(), SDL_DestroyWindow(): Crea e distrugge una finestra di gioco.
- SDL_Renderer, SDL_Texture: Gestisce la renderizzazione di oggetti e texture sulla finestra.
- SDL_PollEvent(): Ottiene eventi come tastiere e clic del mouse.
- SDL_RenderClear(), SDL_RenderPresent(): Pulisce e aggiorna lo schermo.
DIFFERENZA CON C
VARIABILI
SELEZIONI
CICLI
GESTIONE DELLA MEMORIA
FUNZIONI
ARRAY
VARIABILI
PYTHON
La varibile in python non è necessario dichiarare esplicitamente una variabile prima di utilizzarla o dichiarare il suo tipo. Basta assegnare un valore a un nome variabile per crearlo.
Una variabile in C, è composta da una dichiarazione cioè il tipo (int,float,char,...), il nome della variabiele che segue delle regole e l'assegnazione
int a; a = 1;
a= 5 x = "Ciao"
CICLI
PYTHON
- il while, che continua il suo ciclo fino a quando l'espressione associata non risulta falsa
- il do-while, che agisce come il while, ma assicura l'esecuzione delle istruzioni associate almeno una volta
- il for, che è il costrutto più usato, versatile e potente tra i tre, ma che proprio per questo è quello a cui bisogna prestare un po' più di attenzione.
- il ciclo for: esegue un'iterazione per ogni elemento di un iterabile;
- il ciclo while: itera fintanto che una condizione è vera.
esempi
PYTHON
SELEZIONI
PYTHON
Il costrutto if, elif e else in Python permette l’annidamento di più istruzioni if, cioè le istruzioni se allora altrimenti. Infatti nel linguaggio Python per implementare la selezione multipla, si utilizza questo costrutto.
le istruzioni if e switch permettono al programma di selezionare un percorso di esecuzione fra un insieme di alternative.
esempi
PYTHON
FUNZIONI
esempi
PYTHON
ARRAY
PYTHON
Gli array possono essere implementati utilizzando liste o array della libreria NumPy. Le liste di Python sono dinamiche e possono contenere elementi di diversi tipi. NumPy fornisce un tipo di array più efficiente e specializzato per operazioni matematiche.
Gli array sono una struttura di dati statica in cui è necessario dichiarare la dimensione in anticipo. Gli array C sono tipicamente utilizzati per lavorare con dati di tipo omogeneo.
esempi
PYTHON
GESTONE DELLA MEMORIA
PYTHON
- Manuale: In C, la gestione della memoria è manuale. Il programmatore è responsabile di allocare e deallocare la memoria esplicitamente usando le funzioni come malloc e free.
- Controllo Preciso: Questo approccio offre un controllo preciso sulla memoria, consentendo ottimizzazioni specifiche e minimizzando il rischio di memory leak (perdita di memoria) o di accessi a memoria non validi.
- Rischio di Errori: D'altro canto, la gestione manuale della memoria può portare a errori come dangling pointers o memory leaks se non eseguita correttamente.
- Automatico: Python utilizza la gestione automatica della memoria attraverso un meccanismo chiamato "garbage collection". Ciò significa che i programmatori non devono preoccuparsi di liberare esplicitamente la memoria utilizzata da oggetti che non sono più necessari; il sistema gestisce questo automaticamente.
- Rischio di ritardi: sebbene la gestione automatica semplifichi lo sviluppo, può causare ritardi imprevisti perché la garbage collection può verificarsi in momenti imprevedibili durante l'esecuzione del programma.