Report tech
samuel emili
Created on November 4, 2024
Over 30 million people create interactive content in Genially.
Check out what others have designed:
Transcript
Sblocca Il Codice
Presentazione a cura di Emili Samuel, Impallara Riccardo, Filosofi Simone e Brai Filippo
3N
Start
Linguaggi di programmazione
Böhm e Jacopini
C e C++
Hackeraggio
INDEX
- Che cos'è un linguaggio di programmazione
- Evoluzione
- Tipi di linguaggi di programmazione
Linguaggi di programmazione
01
Che cos'è unlinguaggio di programmazione
01
Un linguaggio di programmazione è un sistema formale di comunicazione che permette agli esseri umani di scrivere istruzioni che un computer può eseguire.
INFORME TECH
SwiftRust
PhytonJava JavaScript
C#GO
TypeScript
BasicLogo
CPascal
C++Perl
FortranCobol
2020
2010
2000
Evoluzione
01
1950
1960
1970
1980
1990
INFORME TECH
Esempio: Phyton
Esempio: Assembly
Tipi di linguaggi di programmazione
02
Linguaggio di basso livello
livello sono orientati "alla macchina".
Linguaggio di alto livello
Adatto per lo sviluppo di software e applicazioni in generale
Linguaggio di altissimo livello
Il linguaggio di altissimo livello serve a semplificare la scrittura di programmi, rendendo più facile per gli esseri umani scrivere e comprendere il codice.
INFORME TECH
Böhm e Jacopini
- Biografia dei matematici
- Come nasce il Teorema
- a cosa è servito
- il teorema vero è proprio
02
Giovanni Jacopini
- Nato in Italia nel 1939
- Ottenne un dottorato in matematica
- Nei vari anni contribuì alla diffusione dell’
- nel 1966 assieme al suo Professore Böhm per dimostrare il teorema che prende il loro Nome
- La sua famiglia ha eliminato ogni singola traccia di lui sul web dopo la sua morte.
02
INFORME TECH
Corrado Böhm
- Nato nel 1923
- Studia ingegneria e nel 1942 scappa in Svizzera e continua gli studi lì
- nel 1946 ottiene il diploma in ingegneria portando in tesi il linguaggio di programmazione (compilatori meticolari)
- e nel 1954 ottiene il dottorato in Matematica
- Dal 1953 al 1968 diventa ricercatore a Roma presso (IAC)
- dal 59’ al 74’ Diventa professore all’Università di Pisa, Roma e Torino.
- Nel 1966 assieme a Giuseppe Jacopini.
02
INFORME TECH
Come nasce il Teorema di Böhm-Jacopini
- Il teorema nasce come esigenza di dimostrare che ogni programma può essere rappresentato utilizzando un insieme limitato di strutture di controllo.
- Grazie agli studi di Böhm sulla macchina di Turing nel 1966 enunciano il teorema Di Böhm-Jacopini
- Durante l’invenzione del teorema Böhm è attivo nell’Accademia di Roma e ha collaborato con altri ricercatori nel campo dell'informatica teorica.
- Jacopini ha lavorato in ambito accademico
02
INFORME TECH
A cosa è servito questo teorema?
- Semplificazione dei linguaggi di programmazione.
- ha fornito una base teorica per studiare i principi dell’informatica.
- Ha contribuito alla standardizzazione dei linguaggi di programmazione.
02
INFORME TECH
Il teorema
Il teorema afferma: che ogni programma può essere rappresentato utilizzando un insieme finito di strutture di controllo.
02
INFORME TECH
- Storia ,scopo e derivati del linguaggio in C
- Caratteristiche del linguaggio C
- Storia e caratteristiche linguaggio C++
- Perchè C++ è meglio di C
C e C++
03
Storia, scopo e derivati del linguaggio in C
- Il linguaggio in C nasce negli USA presso i laboratori “Bell labs” nel 1972 e fu sviluppato da Dennis Ritchie.
- Deriva dall’unione dei linguaggi BCPL e B,è un linguaggio di programmazione imperativo di natura procedurale e fa parte dei linguaggi di alto livello che ha caratteristiche di basso livello(numeri,lettere e indirizzi combinati tra loro da operatori aritmetico-logici.
- Generalmente il C si presta per scrivere programmi e scopi di diversi ambiti: compilatori,sistemi di telecomunicazioni,sistemi embedded,sistemi in tempo reale.
- Un problema causato dall’espansione dell’utilizzo del linguaggio in C sui vari computer fu l’incompatibilità rispetto ad alcuni dispositivi,quindi nel 1983 l'ANSI fondò un comitato per modernizzare il C e da quest’anno in poi siamo arrivati a raggiungere le seguenti evoluzioni del linguaggio: C89,C99,C11,C18(il numero indica l’anno di pubblicazione di ciascun derivato del C).
03
INFORME TECH
Caratteristiche del linguaggio C
- Il C è un linguaggio di programmazione definibile minimalista poiché utilizza un piccolo insieme di concetti semplici e vicini al funzionamento dell'hardware dei calcolatori.
- La maggior parte delle istruzioni in C sono traducibili con una solo istruzione di linguaggio macchina.
- Il linguaggio utilizza un modo di accedere alla memoria hardware caratteristico di tutte le moderne cpu,ossia tramite il concetto di Puntatore che è generalizzato fino a farlo coincidere con l’indirizzamento indiretto.
- C ha una struttura logica leggibile e definita con funzioni in stile pascal e centrali sui tipi(in fase di compilazione)
- La sintassi di C è piuttosto versatile e il linguaggio è in forma libera non essendo influenzata dal posizionamento dei caratteri.
- C non possiede il Garbage collection dunque la memoria bisogna gestirla da soli,questo implica una grande attenzione riguardo alla questione bug ma allo stesso tempo rende il linguaggio ideale per scrivere programmi con Arduini.
03
INFORME TECH
Storia e caratteristiche linguaggio C++
- Il C++ è linguaggio di programmazione ad uso generale creato dall informatico danese Bjarne stroustrup pubblicato nel 1985 ed è l’estensione del C ed è stato nel tempo esteso notevolmente.
- Dal 1997 C++ ha caratteristiche per la programmazione funzionale,generica e orientata agli oggetti,oltre a strutture per la gestione a basso livello della memoria.
- Il C++ viene implementato come linguaggio compilato,ci sono molti compilatori creati da varie organizzazioni tra cui Microsoft ed Intel.
- C++ fu progettato con in mente la programmazioni di sistemi e software integrati presentando come punti principali:prestazioni,efficienza e flessibilità.
- C++ è stato ritenuto utile in molti contesti come per le app e per i server(e-commerce,ricerca in rete o basi dati).
03
INFORME TECH
Perchè C++ è meglio di C
- Libreria Standard:lo Standard del 1998 si divide in due parti (nucleo del linguaggio e libreria);quest’ultima comprende la maggior parte della Standard Template Library,però esistono diverse librerie per il C++ che non fanno parte dello Standard ed è possibile usando linking esterno,utilizzare le librerie scritte per il linguaggio C.
- Compilatori:GCC(multiplate),Clang,Mingc per Windows,DJGPP,compilatori commerciali (Visual C++ e C++ BUILDER) e MACos si può Xcode,lo standard del C++ non specifica l’implementazione della decorazione dei nomi e della gestione delle eccezioni.
- Operatori:in C++ gli operatori sono punteggiature speciali che eseguono operazioni su una o più operandi che possono essere logici o di assegnazione e anche booleani che consentono di scrivere espressioni e di manipolare dati in modo più efficace internamente.
03
INFORME TECH
Hackeraggio
I linguaggi di programmazione si basano su istruzioni logiche e strutture di controllo che permettono di manipolare dati e controllare il comportamento dei computer.
04
Tentativi di indovinare password o codici di accesso provando tutte le combinazioni possibili.
Software dannoso installato sul dispositivo della vittima per rubare dati, spiare o bloccare l'accesso fino a pagamento di un riscatto.
Tecnica che inganna le persone per ottenere informazioni sensibili.
Attacchi brute force
Malware
Phishing
Metodi di hackeraggio
04
INFORME TECH
Uno degli attacchi di phishing più famosi è stato quello ai danni di John Podesta, il capo della campagna elettorale di Hillary Clinton nel 2016. Questo attacco portò al furto e alla pubblicazione di migliaia di email riservate, creando una grande controversia durante le elezioni presidenziali americane del 2016.
Phishing
vicenda famosa
04
INFORME TECH
Uno degli attacchi malware più famosi è stato WannaCry, un attacco ransomware che colpì nel maggio 2017. WannaCry infettò oltre 230.000 computer in 150 paesi, sfruttando una vulnerabilità di Windows per diffondersi rapidamente in reti non aggiornate. Questo malware criptava i file delle vittime e chiedeva un riscatto in Bitcoin per sbloccarli.
Malware
vicenda famosa
04
INFORME TECH
Un famoso attacco brute force è stato quello alla piattaforma GitHub nel 2013. In quell'episodio, ttaccarono con un attacco brute force per cercare di accedere a numerosi account utente di GitHub, una piattaforma di sviluppo collaborativo. Gli aggressori sfruttarono una combinazione di tentativi automatizzati per indovinare le password degli utenti e accedere ai loro repository di codice.
Attacchi brute force
vicenda famosa
04
INFORME TECH