Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 1. Karol Tarnowski A-1 p.

Podobne dokumenty
Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. Karol Tarnowski A-1 p.

Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 13. Karol Tarnowski A-1 p.

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 3. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 6. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 5. Karol Tarnowski A-1 p.

Podstawy Programowania Algorytmy i programowanie

Podstawy Programowania

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Algorytm. a programowanie -

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

Definicje. Algorytm to:

Algorytmy. Programowanie Proceduralne 1

Algorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie

1 Podstawy c++ w pigułce.

Języki programowania zasady ich tworzenia

Algorytmika i pseudoprogramowanie

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Algorytmy. Programowanie Proceduralne 1

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

ALGORYTMY I PROGRAMY

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Języki i metodyka programowania. Wprowadzenie do języka C

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

1 Podstawy c++ w pigułce.

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Wykład IV Algorytmy metody prezentacji i zapisu Rzut oka na język PASCAL

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

Efektywność algorytmów

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 8. Karol Tarnowski A-1 p.

Programowanie komputerów

Wstęp do programowania. Wykład 1

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Wstęp do programowania

Algorytmy, reprezentacja algorytmów.

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 9. Karol Tarnowski A-1 p.

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 7 Algorytmy

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory

Powtórka algorytmów. Wprowadzenie do języka Java.

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Algorytm - pojęcie algorytmu, sposób zapisu, poziom szczegółowości, czynności proste i strukturalne. Pojęcie procedury i funkcji.

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p.

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 8. Karol Tarnowski A-1 p.

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Programowanie w języku C++ Grażyna Koba

Wstęp do Informatyki i Programowania (kierunek matematyka stosowana)

Język C zajęcia nr 7. Uwagi dotyczące stylu programowania

Podstawy i języki programowania

Jerzy Nawrocki, Wprowadzenie do informatyki

Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu

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!

Klasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

KONSPEKT ZAJĘĆ KOŁA INFORMATYCZNEGO LUB MATEMATYCZNEGO W KLASIE III GIMNAZJUM LUB I LICEUM ( 2 GODZ.)

Programowanie w językach wysokiego poziomu

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

Programowanie w języku Python. Grażyna Koba

Podstawy programowania skrót z wykładów:

Podstawy Kompilatorów

Algorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny

Wykład 1 Wprowadzenie do algorytmów. Zawartość wykładu 1. Wstęp do algorytmów i struktur danych 2. Algorytmy z rozgałęzieniami.

Praktyka Programowania

WYKŁAD 1 - KONSPEKT. Program wykładu:

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania

Wykład z Podstaw Informatyki dla I roku BO. Piotr Mika

Podstawy Programowania Podstawowa składnia języka C++

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Język C zajęcia nr 5

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Proces tworzenia programu:

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

1. Wprowadzenie do C/C++

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

Opis efektów kształcenia dla modułu zajęć

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop

Podstawy programowania - 1

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Język ludzki kod maszynowy

Wstęp do Programowania, laboratorium 02

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

1. Wprowadzenie do C/C++

Wstęp do informatyki

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

2.8. Algorytmy, schematy, programy

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

EGZAMIN MATURALNY Z INFORMATYKI

Programowanie I C / C++ laboratorium 01 Organizacja zajęć

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Zadanie 1. Potęgi (14 pkt)

Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1

Wykład I Cyfrowa reprezentacja informacji Algorytmy metody prezentacji i zapisu Tablice (wstęp) Rzut okiem na języki programowania

Podstawy Programowania.

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

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

Transkrypt:

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 1 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B

Plan wykładów (1) Algorytmy i programy Proste typy danych Rozgałęzienia i iteracje Funkcje Tablice i wskaźniki Złożone typy danych

Plan wykładów (2) Rekurencja Złożoność czasowa algorytmów Zasada dziel i zwyciężaj Algorytmy porządkowania Przeszukiwanie z nawrotami Poprawność i skończoność algorytmów Złożoność i efektywność algorytmów Kolokwium zaliczeniowe Kolokwium poprawkowe

Plan prezentacji Co to jest algorytm? Co to jest program? Zapis algorytmów Pierwszy program w języku C Na podstawie: M. M. Sysło, Algorytmy G. Perry, D. Miller, Język C Programowanie dla początkujących D. Harel, Rzecz o istocie informatyki. Algorytmika

Co to jest algorytm? Algorytm jest przepisem opisującym krok po kroku rozwiązanie problemu lub osiągnięcie jakiegoś celu Algorytmika to dziedzina zajmująca się algorytmami i ich właściwościami M. M. Sysło, Algorytmy, WSiP, 2002

Algorytm Słowo algorytm wywodzi się od nazwiska arabskiego matematyka i astronoma. Muhammad ibn Musa al- Chuwarizmi żył na przełomie VIII i IX wieku, jest uznawany za prekursora metod obliczeniowych w matematyce M. M. Sysło, Algorytmy, WSiP, 2002

Przykład algorytmu https://www.kwestiasmaku.com/przepis/kakaowe-ciasto-bez-pieczenia

Przykład algorytmu https://www.kwestiasmaku.com/przepis/kakaowe-ciasto-bez-pieczenia

Przykład algorytmu https://www.kwestiasmaku.com/przepis/kakaowe-ciasto-bez-pieczenia

Algorytm Euklidesa Algorytm wyznaczania największego wspólnego dzielnika dwóch dodatnich liczb całkowitych został sformułowany w IV w. p.n.e. przez Euklidesa

Co to jest program? Program to lista szczegółowych instrukcji przekazywanych komputerowi do realizacji określonych zadań

Program i przepis a algorytm Gotowanie Informatyka Składniki Dane Przepis Program Kucharz i kuchnia Komputer Danie Wynik

Komputer O komputerach można myśleć, jako o zestawie przełączników bitów. Każdy bit może znajdować się w jednym z dwóch stanów oznaczających 0 lub 1. Komputer może wykonać bezpośrednio niewielką liczbę prostych operacji (przerzucenie, wyzerowanie, sprawdzenie).

Komputer przerzuć bit 0 1 0 1 1 przerzuć bit 0 1 0 0 1 wyzeruj bit 0 1 0 1 1 wyzeruj bit 0 1 0 0 1 0 1 1 0 1 0 1 0 0 1

Poziomy szczegółowości Przykład: mnożenie 528 46

Reprezentacje problemów Oblicz wartość funkcji f x = x x Konieczne jest sformułowanie specyfikacji: warunki jakie powinny spełniać dane wejściowe, oraz jaki jest związek wyników z danymi. Dane: dowolna liczba rzeczywista x. Wynik: wartość funkcji f(x), jeśli x jest różne od zera i zero w przeciwnym przypadku

Reprezentacje problemów Opis słowny Dane: dowolna liczba rzeczywista x. Wynik: wartość funkcji f(x), określonej wzorem 1, dla x < 0 f x = ቐ 0, dla x = 0 1, dla x > 0

Reprezentacje problemów Lista kroków Dane: dowolna liczba rzeczywista x. Wynik: wartość funkcji f(x), określonej wzorem Krok 0. Wczytaj wartość danej x. Krok 1. Jeśli x > 0, wynikiem jest 1. Zakończ algorytm. Krok 2. {W tym przypadku x 0} Jeśli x = 0, wynikiem jest 0. Zakończ algorytm. Krok 3. {W tym przypadku x < 0} Wynikiem jest -1. Zakończ algorytm.

Reprezentacje problemów Schemat blokowy start czytaj x x>0? wypisz 1 x=0? koniec wypisz 0 wypisz -1 koniec koniec

Reprezentacje problemów Program w języku C

Reprezentacje problemów Różnorodność języków programowania http://www.99-bottles-of-beer.net

Reprezentacje problemów Języki programowania a język maszynowy Język maszynowy zestaw podstawowych instrukcji, jakie dany procesor potrafi wykonać przerzuć bit wyzeruj bit Program zapisany w języku programowania jest przetwarzany na język maszynowy

Co jest potrzebne do pisania programów w języku C? Kompilator program, który przetwarza program (kod) na język maszynowy Lista kompilatorów C (za en.wikipedia.org)

Co jest potrzebne do pisania programów w języku C? Code::Blocks (www.codeblocks.org) Wieloplatformowe darmowe środowisko programistyczne o otwartym kodzie źródłowym dla programistów C, C++, Fortrana

Co jest potrzebne do pisania programów w języku C?

Co jest potrzebne do pisania programów w języku C?

Co jest potrzebne do pisania programów w języku C?

Co jest potrzebne do pisania programów w języku C?

Proces programowania 1. Dokładne określenie planowanej funkcjonalności programu 2. Napisanie kodu programu 3. Skompilowanie programu 4. Sprawdzenie, czy program nie zawiera błędów, i ewentualnie ich naprawienie 5. Wykonanie programu i sprawdzenie, czy działa prawidłowo (zgodnie z oczekiwaniami), ewentualna poprawa

Przykład kodu #include <stdio.h> main(){ printf("hello"); printf(" world!\n"); return 0; }

Przykład kodu kompilacja uruchomienie kompilacja+uruchomienie

Przykład kodu - uwagi starannie wpisuj kod źródłowy dodawaj puste wiersze i wcinaj sekcje kodu polecenia i funkcje standardowe pisze się małymi literami

Funkcja main() przykłady funkcji: main() calcit() printf() strlen() przykłady poleceń: return while int if float

Funkcja main() wykonywanie programu zawsze zaczyna się od funkcji main() program musi zawierać funkcję main() program może zawierać więcej funkcji bezpośrednio za napisem main()znajduje się otwierający nawias klamrowy ({) wyznaczający początek funkcji koniec funkcji wyznacza zamykający nawias klamrowy (})

Funkcja main() prawie zawsze program będzie pobierał i drukował dane pomaga w tym dyrektywa #include <stdio.h>

Rodzaje danych znaki liczby całkowite liczby zmiennopozycyjne

Rodzaje danych - znaki każda litera, cyfra, spacja, symbol specjalny to jakiś znak A a 7 %! \ + ] ( dane znakowe umieszcza się między apostrofami 'A' 'a' '7' '-'

Rodzaje danych - znaki w apostrofach można umieszczać pojedyncze znaki, a nie ich ciągi przykłady danych nie będących prawidłowymi znakami 'Wstęp do programowania' 'WPPT'

Rodzaje danych - łańcuchy ciąg znaków nazywamy łańcuchem łańcuchy umieszcza się w cudzysłowie "Wstęp do programowania" "WPPT" "Hello" " world!\n"

Rodzaje danych sekwencje specjalne w języku C istnieje kilka dwuznakowych kombinacji interpretowanych jako pojedynczy znak, np. '\n'

Rodzaje danych liczby liczby całkowite nie mają części ułamkowej 12 61 0-51 liczby zmiennopozycyjne 12.61 0.51 0.0-10.48-2.016 wybór liczb zależy od rodzaju danych, na których pracuje program

Rodzaje danych liczby Pamięć 3 4.57 2016 liczby zmiennopozycyjne zajmują więcej miejsca, niż liczby całkowite zajęta pamięć nie zależy od wartości liczby

Przykład funkcja main() treść to (ciało) jedyna funkcji funkcja main() w tym programie w programie wywołano funkcję printf() objęta napisana jest nawiasami przez programistę klamrowymi

Podsumowanie Co to jest algorytm? Co to jest program? Zapis algorytmów Pierwszy program w języku C