Please enable JavaScript.
Coggle requires JavaScript to display documents.
PROBLEMA, ALGORITMO, Storia del C, PROGRAMMAZIONE, ANALISI, programma,…
PROBLEMA
CATEGORIE
-
decisione
l'output (soluzione) è fornito dal valore vero o falso (1 o 0) a seconda che l'input soddisfi o meno una condizione/proprietà
-
definizione
situazione difficile(quesito) che si deve affrontare e risolvere partendo da dei dati iniziali noti, per arrivare a una soluzione o possibili soluzioni (goal)
origine del termine
deriva dal greco πρόβλημα -ατος «mettere avanti, proporre»
ALGORITMO
PROPRIETA'
-
-
non ambiguità
I passi dell'algoritmo non possono essere interpretati in altri modi >:D (comprensibile e realizzabile)
-
atomicità
I passi del algoritmo devono essere elementari, cioè non devono essere ulteriormente divisibili
riproducibilità
ogni volta che viene eseguito l'algoritmo con gli stessi dati di partenza, si deve arrivare allo stesso risultato
origine del termine
deformazione del nome del matematico arabo Abu Jafar Moohamed Iben Musa Al-Hawkk-Arizzm-i (Abū Jaʿfar Muḥammad ibn Mūsā al-Khwārizmī) Baghdad 780-850 d.C.
l'ultimo pezzo del nome viene trascritto in latino in "algurismus".
definizione
sequenza di azione valida per un insieme di dati iniziali ben definita che eseguita da un opportuno esecutore (processore) trasformi in un numeri finito di passi elementari e non ambigui i dati iniziali nel risultato finale
Storia del C
Ken Thompson
nel 1969 iniziò a lavorare su un computer di nome PDP-7m presso i Bell Laboratories, utilizzando il linguaggio assembler.
-
Libro bianco
Nel 1978 Kernighan e Ritchie scrivono un libro di riferimento il "C programming Language" o "libro bianco"
Dennis Ritzchie
nel 1972 ottimizzò ulteriormente il B inventando il linguaggio C che permise di riscrivere quasi totalmente lo UNIX di Thompson, questa volta per un computer più avanzato il PDP-11. in tempi rapidissimi. La potenza e flessibilità del C apparve subito evidente e per questo il sistema operativo di Unix, scritto in assembly, venne riscritto immediatamente in C.
-
PROGRAMMAZIONE
CATALOGAZIONE
esecuzione
interpretati
linguaggi di scripting come bash, perl, php che non vengono compilati, interpretati in runtime
-
compilati
linguaggi il cui codice deve essere tradotto in linguaggio macchina, attraverso un compilatore (in C si usa il GCC)
paradigma
strutturale
struttura codice basato sul teorema di BOOM JACOPINI che un algoritmo può essere composto soltanto combinando strutture di sequenza, sezione nbl1
orientata agli oggetti
object oriented programming OOP basato sulle classi contenenti attributi (sostantivi) e metodi (verbi) che identificano oggetti come CC++, Java
procedurale
una delle possibilità di paradigma (che un linguaggio di programmazione può avere). Procedurale: il suo codice suddiviso in subroutine, funzioni o/e procedure che eseguono specifici compiti
-
generazionale
3 GL linguaggio di alto livello (C, C++, basic, Java) linguaggi naturali più intuitivi dei precedenti
-
2 GL nascono i programmi assembler (linguaggio assembli): programmi in grado di tradurre il linguaggio assembli in linguaggio macchina
5 GL linguaggi basati sulla soluzione dei problemi adattandosi a situazioni contestuali (robotica, intelligenza artificiale e patterns neurali
1 GL (generation languange) linguaggi macchina proprietari: complessi e legati all'architettura HARDWARE
definizione
Insieme delle attività che, partendo da un problema, conducono alla stesura di un programma. Tramite un linguaggio preciso e codificato.
ANALISI
classificazione
MODELLI
-
-
predittivi
elementi di una situazione che forniscono gli elementi di una situazione per prevederne l'evoluzione (meteorologia)
-
-
astrazione
funzionale
separare la struttura interna (come è fatto) da come appare all'esterno (che cosa fa) in modo da nascondere l'aspetto fisico e considerare solamente come interagisce con il resto del mondo.
sui dati
ha il compito di semplificare le strutture definendo nuovi dati astratti, mantenendo il contenuto dei dati di partenza.
definizioni
processo che permette di nascondere alcuni particolari, evidenziando i dati essenziali del problema
programma
definizione
implementazione di un algoritmo, in un linguaggio adatto ad essere compreso ed eseguito da un elaboratore (ovvero software)
-
-
-
quando il problema si presenta conviene effettuare la tecnica di affinamenti successivi (top down) da una visione si scompone
-