Curs 1

  • Uploaded by: Patrick Johnston
  • 0
  • 0
  • July 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Curs 1 as PDF for free.

More details

  • Words: 1,088
  • Pages: 34
Utilizarea şi Programarea Calculatoarelor L. A. Fulop

Istoric.

Curs 1

Povestea calculatoarelor – Personalităţi 1800 George Boole – Logica Booleană Charles Babbage – Maşină de calcul mecanic Lady Lovelace – Ideea de PROGRAMARE Herman Hollerith – Maşină tabulară (recensământ) 1930 Alan Turing – Maşina Turing | Spargerea codurilor 1940 Howard Aitken – Calculator digital Grace Hopper - Cobol Mauchey & Eckert - ENIAC John von Neumann – Conceptul de salvare a programelor Maurice Wilkes - EDSAC (utilizare de programe) Bardeen & Brattain & Shockley - Tranzistor

Povestea calculatoarelor – Personalităţi 1950

John Backus - (Fortran) Reynold Johnson – Unitatea de discheta Donald Shell – Algoritmi de sortare 1960 Kemeny & Kurtz - BASIC Edsger Dijkstra – Eliminarea lui ‘Go To’ Donald Knuth – Arta Programării Calculatoarelor Hoff, Mazer, Noyce, Faggin - INTEL microprocesor 1970 Ted Codd – Baze de date relaţionale Paul Allen & Bill Gates - Microsoft Steve Wozniak & Steve Jobs - Apple Bricklin & Fylstra – Tabele de calcul

Povestea calculatoarelor – Personalităţi 1980 William Sydnes - IBM PC Mitchel Kapor - LOTUS Tim Berners-Lee - www 1990 Marc Andreessen - Mosaic / Navigare Netscape

Povestea calculatoarelor – Charles Babbage

 Charles Babbage – Maşină de calcul mecanic  Periada ”mecanismelor ingenioase”

Povestea calculatoarelor – Herman Hollerith

 Tabulating Machine Company  Computer Tabulating Recording Company  În 1924 CTR schimbă numele în International Business

Machines sau IBM.

Povestea calculatoarelor – Alan Turing

 Automat imaginar

Povestea calculatoarelor – Mark 1

 1939 Harvard primul calculator modern MARK 1

Povestea calculatoarelor – SUA

 ENIAC - Electronic Numerical Integrator Analyzer and Computer  Primul calculator electronic – fără componente în mişcare  John von Neumann

Povestea calculatoarelor – EDVAC, EDSAC

 EDVAC (Electronic Discrete Variable Automatic Computer)  EDSAC (Electronic Delay Storage Automatic Calculator)

Povestea calculatoarelor – UNIVAC 1107

 Inventarea tranzistoare –

Dezvoltări IBM

Povestea calculatoarelor – IBM

Povestea calculatoarelor – IBM

 NASA Space Flight Center în Greenbelt (1968)  IBM System/360 Model 91

Azi?

Mai multă putere de calcul într-o maşină de clasă mijlocie decât în Apollo 13!!!

Povestea calculatoarelor – Maşina Abaca ~300Bc în Babionia (Iraq) Blaise Pascal 1642 – Maşina manuală cu roţi pentru taxe (+|-)

Îmbunătăţit de Gottfried Leibnitz 1672 (* & /) 1801 Jacquard Loom – cartele perforate 1834 Maşina analitică Babbage - Muzeul de Ştiinţe - Londra Avea Depozit (memorie) - Motor (Procesor) – Intrare Date (Cartele) - Ieşire Date (cartele perforate) Lady Lovelace (Byron) primele instrucţiuni (primul program)

Povestea calculatoarelor – Maşina 1941- 44 calculatoare speciale cu lampă electronică la Bletchley Park - Collossus pentru decodarea mesajelor Germane 1944 - Mark 1 la Harvard bazat pe conceptul lui Babbage Proiecte bazate pe ideile lui John von Neumann în SUA şi UK UNIVAC şi Ferranti Anii 1950 IBM 1401 şi Elliot 803 – Cu tranzistori 1965 calculatoare de generaţia a 3-a cu Circuite Integrate IBM 360, ICT 1900 şi VLSI

Povestea calculatoarelor – Maşina 1969 Intel produce primul microprocesor - 4004 Urmat de 8008 (procesor pe 8 biti) 1980 sisteme integrate într-un telefon mobil etc.

Povestea calculatoarelor – Limbaje de programare Hardwired Cod maşină - Binar - Octal(0-7) - Hex (0-F) Assambler Funcţionale ML, Lisp Limbaje procedurale Fortran, Basic, Cobol, ALGOL (68), PL1, Coral, C Limbaje orientate spre obiect C++, JAVA, Smalltalk Declarative Prologue

Ciclul dezvoltării unui program 1. Analiza – definirea problemei 2. Proiectarea – Paşii soluţionării problemei (algoritm) 3. Interfaţa – Date de intrare (Input) / Date de ieşire 4. Codificarea în TC 5. Testarea şi eliminarea erorilor 6. Documentarea programului

Proiectarea unui program (1) Date de intrare Care sunt cunoscutele ?

Prelucrarea (Ce facem cu datele de intrare?)

Date de iesire (Ce vrem să obţinem ca rezultat?)

Proiectare unui program (2)  Ce vrem să aflăm? (Output)  Înţelegerea datelor de intrare  Proiectarea conecxiunilor – prima dată în

limbaj natural! (algoritm)  Implementarea conexiunilor într-un limbaj de programare (VB, C++, Java etc)  Testarea Eliminarea erorilor  Documentarea programului

Proceduri de proiectare  Limbaj natural  Pseudocod  Scheme logice

Exemplu de rezolvare a unei probleme Program de inventariere Program de inventar Descriere generală

Iniţializare

Meniu

Date de intrare

Proceduri

Rezulate

Grafice

Liste

Examplul 1 –Pseudocod (1) Întrebare – În clădire sunt 20 de trepte între fiecare etaj, fiecare de 33 cm. Căt Nutella trebuie să mânânce un om de 70 kg să recupereze energia consumată pentr a ajunge la secretariat? (Nutella are 2147 joules / 100 gr)

Examplul 1 –Pseudocod (2) Soluţie: Energia folosită pentru a urca o treptă = m x g x h = 70 x 9.81 x 0.33 = 226.61 j Energia utilizată pentru a ajunge la etajul 1 = 1 x 20 x 226.61 = 4532.22 j Dacă 100 gr de Nutella conţine 2147 kilo jouli atunci: ∴1 joul este produs de 100/2147000 gr de Nutella. ∴Va trebui să mânânce 4532.22 x 100 / 2147000 = 0.211 gr de Nutella să ajungă la secretariat.

Exempul 1 – Date de intrare (Input) Evidente (date în enunţ): Masa persoanei 70 kg; înălţimea unei trepte 0.33 m; numărul de trepte pe etaj 20; conţinutul de energie a Nutella (2147 KJ/gr) Ascunse (cunoştiinţe anterioare): Acceleraţia gravitaţională 9.81 m/sec2; faptul că secretariatul este la etajul 1 şi nou suntem la parter;

Exempul 1 – Rezultate (Output) Finale (cerute prin enunţ): Cantitatea de Nutella care trebuie consumat (0.21 gr). Parţiale (necesare pentru a ajunge la soluţie – deregulă rezultate ale unor subprobleme): Energia consumată pentru a urca o treaptă; Energia consumată pentru a urca un etaj; Cantitatea de Nutella care conţine un Joul de energie;

Ciclul de viaţă al unui program (1) Concept – Scopul proiectului (programului) Necesităţi – Informaţii necesare pentru a atinge scopul propus Concepere – Specificarea a cea ce primeste utilizatorul Codare – Activitatea programatorului Testare – Corectarea, verificarea programului până ajunge să realizeze ce s-a dorit (versiuni beta) Mentenanţă – Suport client (utilizator)

Ciclul de viaţă al unui program (2) Dorinţa clientului Propunere Furnizare Tehnică Produs 40%

Conceperea sistemului Conceperea program Implementare

20%

Probe Teste Acceptare sistem Integrare Testare

40%

Modele de cicluri de viaţă (1) Cascadă – Concepere sistematică bazată pe definiţie clară Incremental – Folosit când definiţia poate suporta modificări în timpul dezvoltării

Model cascadă

Concept Necesităţi

Proiectare Concept Codificare Necesităţi

Test

Proiectare

Suport

Codare Test

Model Incremental

Suport

Architectură - Traditională Modul procedural Modul procedural Modul procedural Structura modulelor

Set Date Set Date Set Date Set Date Structura de date

Architectură – Orientată către Obiect Modul Procedural Modul Procedural

Set Date Set Date Structura în obiect (Date + Module)

Modul Procedural

Set Date

Modul Procedural

Set Date

Related Documents

Curs 1
October 2019 16
Curs 1
October 2019 22
Curs 1
May 2020 13
Curs 1
July 2020 12
Curs 1
May 2020 11
Curs 1
May 2020 11

More Documents from ""