• Nie Znaleziono Wyników

Cztery kroki programowania

N/A
N/A
Protected

Academic year: 2021

Share "Cztery kroki programowania"

Copied!
25
0
0

Pełen tekst

(1)

1 / 25

Programowanie I. Wprowadzenie. Proces programowania

Aleksander Denisiuk

Uniwersytet Warmi ´nsko-Mazurski Olsztyn, ul. Słoneczna 54

denisjuk@matman.uwm.edu.pl

6 lutego 2018

(2)

Wprowadzenie. Proces programowania

Programowanie Cztery kroki programowania

Najnowsza wersja tego dokumentu dost ˛epna jest pod adresem

http://wmii.uwm.edu.pl/~denisjuk/uwm

(3)

Programowanie

Programowanie

Programowanie Cztery kroki programowania

3 / 25

(4)

Programowanie

Programowanie

Programowanie Cztery kroki programowania

Rozwi ˛azanie konkretnego zagadnienia za pomoc ˛a komputera

sporz ˛adzenie programu

kompletna, dokładne i zrozumiałe rozwi ˛azanie zagadnienia

Program komputerowy a przepis kulinarny

(5)

Cztery kroki programowania

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

5 / 25

(6)

Kroki

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

1. Formułowanie zadania

2. Projektowanie rozwi ˛azania 3. Kodowanie programu

4. Utrzymanie programu

Dokumentacja

(7)

Formułowanie zadania

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

7 / 25

Umowa mi ˛edzy u˙zytkownikiem a programist ˛a 1. dokładno´s´c

wykluczy´c niejednoznaczno´sci 2. kompletno´s´c

rozwa˙zy´c równie˙z bł ˛edne dane 3. zrozumiało´s´c

Balans pomi ˛edzy trzema wymaganiami

(8)

Case study

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

Czy zagadnienie jest dobrze sformułowane?

wprowadi´c, uporz ˛adkow´c i wy´swietli´c trzy liczby

(9)

Standardowe sformułowane

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

9 / 25

1. Nazwa

2. Ogólne opisanie 3. Dane wej´sciowe 4. Dane wyj´sciowe 5. Bł ˛edy

6. Przykład

(10)

Case Study

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

Nazwa

Sortowanie trzech liczb Opisanie

Wprowadzenie trzech liczb całkowitych i wy´swietlenie ich w rosn ˛acej kolejno´sci

Dane Wej ´sciowe

Wprowadza si ˛e trzy liczby całkowite, po jednej w ka˙zdej linijce. Liczba całkowita składa si ˛e z jednej lub wi ˛ecej cyfr dziesi ˛etnych, opcjonalnie poprzedzonych znakiem + lub −.

Dane Wyj ´sciowe

Wy´swietla si ˛e w jednej linijce trzy wprowadzone liczby w kolejno´sci od mniejszej do wi ˛ekszej, z lewa na prawo.

Poszczególne liczby rozdzielone s ˛a spacj ˛a.

(11)

Case Study. Bł ˛edne dane

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

11 / 25

Bł ˛edne Dane

1. Je˙zeli wprowadzono mniej ni˙z trzy liczby, program czeka na kontynuacj ˛e wej´scia

2. Wszystkie wprowadzone dane, oprócz pierwszych trzech linijek, s ˛a ignorowane

3. Je˙zeli linijka zawiera wi ˛ecej, ni˙z jedn ˛a liczb ˛e, program ko ´nczy prac ˛e, wy´swietlaj ˛ac komunikat:

Bł ˛ad danych: w ka˙zdym wierszu powinno by´c po jednej liczbie

(12)

Case Study. Przykład

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

Przykład Wej ´scie:

-3 2 +17

Wyj ´scie:

-3 2 +17

(13)

Bł ˛edne dane. Niezdefiniowane zachowanie

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

13 / 25

undefined behaviour

w programach

w kompilatorze C

(14)

Projektowane

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

Sformułowanie zadania przemieni´c na algorytm

metoda dedukcyjna

metoda indukcyjna

pseudokod

(15)

Kodowanie

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

15 / 25

Translacja algorytmu na program

J ˛ezyki programowania

kod maszynowy

niskopoziomowe i wysokopoziomowe

kompilowane, interpretowane, JIT kompilacja

j ˛ezyki ogólne a specjalizowane

dynamicznie, statycznie typowane

programowanie imperatywne, deklaratywne, programowanie obiektowe, etc

(16)

Popularne j ˛ezyki programowania

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

TIOBE programming community index

1. Java (14,639%) 2. C (7,002%)

3. C++ (4,751%) 4. Python

5. C#

6. Visual Basic .NET 7. JavaScript

8. J ˛ezyk asemblera 9. PHP

10. Perl

11. Ruby

12. Visual Basic 13. Swift

14. R

15. Objective-C 16. Go

17. MATLAB

18. Delphi/Object Pascal 19. PL/SQL

20. Scratch

(17)

J ˛ezyki programowania

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

17 / 25

Fortran

John Backus

Ada

Jean Ichbiah

C

Ken Thompson

Dennis Ritchie

Brian Kernighan

(18)

J ˛ezyki obiektowe

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

Smalltalk

Alan Kay

Simula

Objective C

Brad Cox

C++

(19)

JIT

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

19 / 25

C# (.net)

Anders Hejlsberg

Java

James Gosling

(20)

J ˛ezyki deklaratywne

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

Prolog

Alain Colmeraurer

Lisp

John McCarthy

(21)

Bardzo dobre j ˛ezyki programowania

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

21 / 25

Eiffel

Bertrand Meyer

Scheme

Guy L. Steele Jr.

Haskell

Lennart Augustsson

Erlang

Mike Williams Joe Armstrong

(22)

J ˛ezyki skryptowe

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

Basic

Thomas Kurtz

Perl

Python

Guido van Rossum

Rubi

(23)

Python

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

23 / 25

Guido van Rossum, 2014

(24)

J ˛ezyk C (1972)

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

Imperatywny, strukturalny, wysokiego poziomu j ˛ezyk ogólnego przeznaczenia

K&R C (1978)

ANSI C (1989)

C99

C11

C++ (1983)

ANSI C++ (1996)

C++11

C++17

(25)

Utrzymanie programu

Programowanie Cztery kroki programowania

Kroki

Formułowanie

Projektowane

Kodowanie

Utzrymanie

25 / 25

Testowanie

Szkolenie u˙zytkowników

Poprawka bł ˛edów

Modyfikacja

Dokumentacja

Cytaty

Powiązane dokumenty

stawowych wiadomości lekarskich, przejawia się troska Perzyny o podniesienie stanu zdrowia ludności polskiej. Własna znajomość podstawowych spraw z dziedziny

Przez długi czas pracownia A rrheniusa była Mekką wszystkich zajm ujących się chemią fi­. zyczną i ustępow ała pierwszeństwa jedynie

[r]

Asymptotyczna teoria testowania hipotez: graniczne rozk lady statystyk testowych, asympto- tyczna efektywno´s´c test´ow,

Kornificjusz wzywał go częstymi pismami, by szedł na pomoc tej prowincji. Jednocześnie doszło do jego uszu, że Marek Oktawiusz pozawierał układy z barbarzyńcami i w wielu miej-

Uzasadnij, »e je±li dwa zbiory sko«czone maj¡ tyle samo elementów, to s¡

Ile wynosi liczba chromatyczna grafu otrzymanego z Kn przez a usuni¸ecie jednej kraw¸edzi, b usuni¸ecie dw´och s¸asiednich kraw¸edzi, c usuni¸ecie dw´och nies¸asiaduj¸acych

Zbi´or warto´sci przyjmowanych przez zmienn¸a losow¸a typu skokowego mo˙ze by´c