Programowanie I. Wprowadzenie. Proces programowania

Podobne dokumenty
Podstawy programowania wykład

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie komputerów

Języki i metodyka programowania

Wykład 4. Algorytmy i programy. Algorytmy + struktury danych = programy. Niklaus Wirth. Algorytm = logika + sterowanie.

Informatyczna Wieża Babel, czyli o różnych językach programowania. Informatyczna Wieża Babel, czyli o różnych językach programowania

Paradygmaty programowania

Praktyka Programowania

Wstęp do Informatyki i Programowania

dr inż. Paweł Myszkowski Wykład nr 5 ( )

Podstawy Informatyki Języki programowania

Modelowanie i Programowanie Obiektowe

Informatyka na UG... Witold Bołt

ALGORYTMY I PROGRAMY

Wstęp do Informatyki dla bioinformatyków

Krótka historia języków programowania

Programowanie obiektowe

Programowanie. Technologie Informacyjne

Komputer nie myśli. On tylko wykonuje nasze polecenia. Nauczmy się więc wydawać mu rozkazy

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Programowanie obiektowe W1 Wprowadzenie. Dr hab. inż. Lucyna Leniowska, prof. UR Zakład Mechatroniki, Automatyki i Optoelektroniki

Programowanie. Technologie Informacyjne

Podstawy programowania. Wprowadzenie

Wprowadzenie do programowania

Informatyka II stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

Podstawy programowania w języku C

Ryszard Myhan. Wykład 1: Języki programowania

Języki i paradygmaty programowania

Wstęp do Informatyki. Program, proces tworzenia programu Środowisko programistyczne Języki programowania

. Podstawy Programowania 1. Wstęp. Arkadiusz Chrobot. 15 października 2015

Algorytmy od problemu do wyniku

Wstęp do programowania

Środowiska i platformy programistyczne

Wykład 1

Technologie Informacyjne

Technologie informacyjne - wykład 12 -

Języki i paradygmaty programowania. I. Wprowadzenie

Podstawy Programowania 1 Wstęp. Plan. Informacje organizacyjne. Bibliografia Literatura Podstawowa. Notatki. Notatki. Notatki.

Programowanie obiektowe Wykład 1. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/20

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

Wstęp do programowania

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

PROLOG WSTĘP DO INFORMATYKI. Akademia Górniczo-Hutnicza. Wydział Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej.

O programowaniu komputerów

Programowanie obiektowe

Historia i podstawowe koncepcje. Tomasz Borzyszkowski

Języki i paradygmaty programowania Wykład 2. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/18

Języki i paradygmaty programowania. Wykład 1 wstęp

Metodyki i techniki programowania

Języki programowania Bardzo krótka historia Przykłady

Języki i paradygmaty programowania

O programowaniu komputerów

Techniki Programowania

SYLABUS DOTYCZY CYKLU KSZTAŁCENIA realizacja w roku akademickim 2016/2017

rozdział 1: PROGRAMOWANIE

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Technologie informatyczne WYKŁAD. a więc zaczynamy... Autor prezentacji: prof. dr hab. Maria Hilczer

Paradygmaty programowania

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne. Wykład Ćwiczenia

Podstawy Informatyki dla Nauczyciela

Podstawy Programowania. Języki programowania

Podstawy i języki programowania

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998.

Podstawy programowania

Podstawy programowania. Wykład 1 Wstęp. Krzysztof Banaś Podstawy programowania 1

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

Kierunek: Informatyka Poziom studiów: Studia I stopnia Forma studiów: Stacjonarne. audytoryjne. Wykład Ćwiczenia

Instrukcja laboratoryjna cz.0

Programowanie Obiektowe i C++

Typy danych. Przemysław Gawroński D-10, p lutego Wykład 1. (Wykład 1) Typy danych 25 lutego / 11

KARTA KURSU. Wstęp do programowania

Java EE produkcja oprogramowania

Programowanie w języku Python. Grażyna Koba

Translacja wprowadzenie

Wstęp do informatyki Paradygmaty programowania

Wstęp do informatyki. Język asemblera. Język maszynowy. Programowanie komputerów PC. Cezary Bolek

Wstęp do informatyki. Język maszynowy. Programowanie komputerów PC. Cezary Bolek

Paradygmaty Programowania dr inŝ. Cezary Bolek

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Metodyki i techniki programowania

Paradygmaty i języki programowania. Wprowadzenie. dr Robert Kowalczyk, Katedra Analizy Nieliniowej, WMiI UŁ 1

Programowanie obiektowe - 1.

EGZAMIN MATURALNY Z INFORMATYKI 17 MAJA 2016 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut

Algorytm. Definicja i algorytmu METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE

Przedmowa Podziękowania O autorach Redaktorzy techniczni... 24

Języki programowania

Algorytm. a programowanie -

Programowanie funkcyjne wprowadzenie Specyfikacje formalne i programy funkcyjne

2.8. Algorytmy, schematy, programy

Programowanie Obiektowe i C++ Marcin Benke

Podstawy programowania.

Translacja i translatory Translacja

Programowanie od pierwszoklasisty do maturzysty. Grażyna Koba

KARTA PRZEDMIOTU. 1. Informacje ogólne. 2. Ogólna charakterystyka przedmiotu. Programowanie I C15

II. Języki programowania

Transkrypt:

I. Wprowadzenie. Proces Aleksander Denisiuk Uniwersytet Warmińsko-Mazurski Olsztyn, ul. Słoneczna 54 denisjuk@matman.uwm.edu.pl 6 lutego 2018 1 / 25

Wprowadzenie. Proces Najnowsza wersja tego dokumentu dostępna jest pod adresem http://wmii.uwm.edu.pl/~denisjuk/uwm 2 / 25

3 / 25

Rozwiazanie konkretnego zagadnienia za pomoca komputera sporzadzenie programu kompletna, dokładne i zrozumiałe rozwiazanie zagadnienia Program komputerowy a przepis kulinarny 4 / 25

5 / 25

Kroki 1. Formułowanie zadania 2. Projektowanie rozwiazania 3. Kodowanie programu 4. Utrzymanie programu Dokumentacja 6 / 25

Formułowanie zadania Umowa między użytkownikiem a programista 1. dokładność wykluczyć niejednoznaczności 2. kompletność rozważyć również błędne dane 3. zrozumiałość Balans pomiędzy trzema wymaganiami 7 / 25

Case study Czy zagadnienie jest dobrze sformułowane? wprowadić, uporządkowć i wyświetlić trzy liczby 8 / 25

Standardowe sformułowane 1. Nazwa 2. Ogólne opisanie 3. Dane wejściowe 4. Dane wyjściowe 5. Błędy 6. Przykład 9 / 25

Case Study Nazwa Sortowanie trzech liczb Opisanie Wprowadzenie trzech liczb całkowitych i wyświetlenie ich w rosnacej kolejności Dane Wejściowe Wprowadza się trzy liczby całkowite, po jednej w każdej linijce. Liczba całkowita składa się z jednej lub więcej cyfr dziesiętnych, opcjonalnie poprzedzonych znakiem + lub. Dane Wyjściowe Wyświetla się w jednej linijce trzy wprowadzone liczby w kolejności od mniejszej do większej, z lewa na prawo. Poszczególne liczby rozdzielone sa spacja. 10 / 25

Case Study. Błędne dane Błędne Dane 1. Jeżeli wprowadzono mniej niż trzy liczby, program czeka na kontynuację wejścia 2. Wszystkie wprowadzone dane, oprócz pierwszych trzech linijek, sa ignorowane 3. Jeżeli linijka zawiera więcej, niż jedna liczbę, program kończy pracę, wyświetlajac komunikat: Błąd danych: w każdym wierszu powinno być po jednej liczbie 11 / 25

Case Study. Przykład Przykład Wejście: -3 2 +17 Wyjście: -3 2 +17 12 / 25

Błędne dane. Niezdefiniowane zachowanie undefined behaviour w programach w kompilatorze C 13 / 25

Projektowane Sformułowanie zadania przemienić na algorytm metoda dedukcyjna metoda indukcyjna pseudokod 14 / 25

Kodowanie Translacja algorytmu na program Języki kod maszynowy niskopoziomowe i wysokopoziomowe kompilowane, interpretowane, JIT kompilacja języki ogólne a specjalizowane dynamicznie, statycznie typowane programowanie imperatywne, deklaratywne, programowanie obiektowe, etc 15 / 25

Popularne języki 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ęzyk 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 C językiem roku 2017! 16 / 25

Języki Fortran C Ken Thompson John Backus Ada Dennis Ritchie Jean Ichbiah Brian Kernighan 17 / 25

Języki obiektowe Smalltalk Objective C Simula Alan Kay C++ Brad Cox Kristen Nygaard Bjarne Stroustrup 18 / 25

JIT C# (.net) Java Anders Hejlsberg James Gosling 19 / 25

Języki deklaratywne Prolog Lisp Alain Colmeraurer John McCarthy 20 / 25

Bardzo dobre języki Eiffel Haskell Scheme Bertrand Meyer Lennart Augustsson Erlang Guy L. Steele Jr. Mike Williams Joe Armstrong 21 / 25

Języki skryptowe Basic Python Perl Thomas Kurtz Guido van Rossum Rubi Larry Wall Yukihiro Matsumoto 22 / 25

Python Guido van Rossum, 2014 23 / 25

Język C (1972) Imperatywny, strukturalny, wysokiego poziomu język ogólnego przeznaczenia K&R C (1978) ANSI C (1989) C99 C11 C++ (1983) ANSI C++ (1996) C++11 C++17 24 / 25

Utrzymanie programu Testowanie Szkolenie użytkowników Poprawka błędów Modyfikacja Dokumentacja 25 / 25