Please enable JavaScript.
Coggle requires JavaScript to display documents.
Problema, Algoritmo, Storia del linguaggio C, Analisi, Programazione,…
Problema
Categorie
-
-
decisione
l'output cioè soluzione è fornito dal valore vero e falso ( 0 e1, si o no) a seconda che l'input sodisfi o meno una determinata condizione o proprietà.
definizione
sttuazione difficcile(questione o quesitò) che si deve affrontare(guardo e penso) e risolvere partendo da dei dati iniziali noti per arrivare a una soluzione o possibili soluzioni(goal)
-
Algoritmo
proprietà
-
-
non ambiguità
i passi del algoritmo non possono essere interpretati in altri modi, quindi comprensibile e realizzabili.
-
atomicità
i passi del algoritmi devono essere elementari, cioè non possono essere ulteriormente divisibili.
riproducibilità
ogni volta che viene eseguito l'algoritmo con i stessi dati di partenza si deve arrivare allo stesso risultato.
definizione
sequenza di azioni valida per un insieme di dati iniziali ben definiti che eseguita da un opportuno esegutore (poccessore) trasformi in un numero finito di passi elementari e non ambigui i dati iniziali nel risultato finale.
origine del termine
deformazione del nome del matematico persiano Abū Jaʿfar Muḥammad ibn Mūsā al-Khwārizmī che è nato nel 780 circa – 850 circa a Baghdad e l'ultimo parte del name viene tradotto in latino "Algoritmus"
Storia del linguaggio C
Dennis Ritchie
1972 è stato un collaboratore di Thompson ottimizò ulteriormente il linguaggio 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 flessibilita del C apparve subito evidente e per questo il sistema operativo di Unix, scritto in assembly, venne riscritto immediatamente in C.
-
Ken Thompson
nel 1969 iniziò a lavoraare su un computer di nome PDP-7, presso i Bell Laboratories, utilizzando il linguaggio assembler; prese spunto dal CPL (Combined Programming Language) e dal BCPL (Basic CPL) pere creare il linguaggio B che risultava, però, essere ancora troppo pesante per l'hardware a disposizione perchè occupava troppo spazio per poter girare in moltre applicazioni
-
Analisi
classificaziioni MODELLI
prescrittivi
impongono un particolare comportamento in previsione del obbietivo da raggiungere(es riccetta medica)
-
-
-
-
astrazione
funzionale
separare la struttura interna(come è fatto) da come appare al esterno(che cosa fa) in modo da nascondere l'aspetto fisico e considerare solamente come interagisce (con l resto del mondo)
sui dati
ha i compito di semplificare le strutture definendo nuovi dati astratti, mantenendo il contenuto dei dati iniziali
definizione
proccesso che permette di nascondere alcuni particolari evidenziando solo i dati essenziali del problema.
Programazione
Catalogazione
paradigma
-
procedurale, suo codice è suddiviso in sub routine funzioni o procedure nell suo intero che eseguono specifici compiti
orientata aglii oggetti OOP(object oriented programming) basato sulle classi contenenti atributi(sostantivi) e metodi(verbi) che identificano oggetti come C++, Java.
strutturata codice basato sul teorema BOO JACOBINI che un algoritmo può essere composto soltanto combinando strutture di secuenza e sezione.
-
generazionale
2 GL nascono gli assembler, programmi in grado di tradurre il linguaggio assembly in linguaggio machina.
3 GL linguaggio di alto livello,(C C++,Basic.) linguaggii naturali più intuitivi dei precedenti.
1 GL(GERATION LANGUAGE) i linguaggi machina proprietari, complessi e legati al archtettura hardware.
4 GL linguaggi dichiarativi, principalmente legati ai data base come (SQL)
5 GL linguaggi basati sulla soluzione dei problemi adattandosi alle situazioni contestuali come ( AI, paterns neurali)
esecuzione
interpretati, linguaggi di stripting come bash, perl, PHP che non vengono compilati ma interpretati in run time.
intermedi, situazione ibrida tra le due
compilati, linguaggi il cui codice deve essere tradotto in linguaggio machina atraverso un compilatore(in C si usa il GCC(compilatere dell C)
definizione
gli insieme delle attività che partendo da un problema conducono alla stesura della programma tramite un linguaggio preciso e codificato.
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 efettuare la tecnica di affinamenti succesivi (top down) da una visione si scompone