Want to create interactive content? It’s easy in Genially!

Get started free

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 ​
È un linguaggio di programmazione costruito in modo che possa essere più facilmente compreso e memorizzato dall’uomo ​
  • LINGUAGGIO INTERPRETATO​
Nel linguaggio interpretato, la fonte del codice non viene tradotta direttamente dalla macchina, il programma viene detto interprete, cioè che legge ed esegue il codice.​
  • LINGUAGGIO NON FORTEMENTE TIPIZATO O TIPIZATO DINAMICAMENTE​
Il linguaggio fortemente tipizzato è più verboso e meno flessibile perché bisogna dichiarare esplicitamente il tipo della variabile invece il tipizzato dinamicamente è il tipo di una variabile che può cambiare durante l'esecuzione
  • LINGUAGGIO MULTI PARADIGMA​
Integra le strategie di programmazione procedurali ed ad oggetti e supporta inoltre vari elementi dei linguaggi funzionali. Tale caratteristica gli consente di adattarsi ad ogni contesto ed esigenza di sviluppo.​
  • LINGUAGGIO AD ALTO LIVELLO ​
È un linguaggio di programmazione costruito in modo che possa essere più facilmente compreso e memorizzato dall’uomo ​
  • COMPILATO
Il codice C deve essere compilato in linguaggio macchina prima di essere eseguito, offrendo un controllo più diretto sull'esecuzione del programma.
  • PRESTAZIONI ELEVATE
C è noto per le sue prestazioni elevate, ed è spesso utilizzato in applicazioni che richiedono velocità e controllo sulla gestione della memoria.
  • PROCEDURALE
Mentre supporta alcuni aspetti della programmazione orientata agli oggetti, C è principalmente un linguaggio di programmazione procedurale.
  • STATICAMENTE TIPIZZATO
Le variabili in C devono essere dichiarate con un tipo specifico e non possono cambiare durante l'esecuzione del programma.

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​
Una linea di commento in Python si introduce con il simbolo cancelletto (#).​
  • PYTHON È UN LINGUAGGIO NON TIPIZZATO​
Questo vuol dire che non bisogna specificare a priori il tipo che una variabile, ed è anche possibile riassegnare una variabile ad un tipo differente. Per convertire una variabile da un tipo ad un altro possiamo usare il casting​
  • L’UTILIZZO DELL’INDENTAZIONE
Python fa a meno della parentesi graffe e ci obbliga ad utilizzare l’indentazione per definire nuovi blocchi di codice e identificare il contesto delle istruzioni.​

COSE DA SAPERE SU C​

  • I COMMENTI​
scrivere un commento su una singola riga con il doppio slash // oppure scrivere un testo di commento su più righe inserendolo tra /* e */.
  • C È UN LINGUAGGIO È TIPIZZATO​
richiede che le variabili siano dichiarate con un tipo specifico e mantiene la coerenza dei tipi durante la compilazione o l'esecuzione del programma. Ciò fornisce un controllo più rigoroso sui tipi di dati, prevenendo errori di tipo e garantendo la corretta manipolazione delle variabili nel codice.
  • SINTASSI A BLOCCHI
C utilizza le parentesi graffe {} per delimitare i blocchi di codice. La sintassi a blocchi è fondamentale per la struttura del programma.

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.