Podstawy Programowania

Podobne dokumenty
Podstawy Programowania.

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

2 Przygotował: mgr inż. Maciej Lasota

Wstęp do Programowania, laboratorium 02

1 Podstawy c++ w pigułce.

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

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

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

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

JAVA?? to proste!! Autor: wojtekb111111

Programowanie komputerowe. Zajęcia 1

Część 4 życie programu

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

1 Podstawy c++ w pigułce.

Zmienne, stałe i operatory

Programowanie strukturalne i obiektowe

1. Wprowadzenie do C/C++

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Warunki logiczne instrukcja if

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

1. Wprowadzenie do C/C++

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

Instrukcje sterujące. Programowanie Proceduralne 1

Podstawy programowania C. dr. Krystyna Łapin

Programowanie - wykład 4

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

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Programowanie - instrukcje sterujące

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

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

Struktura pliku projektu Console Application

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

lekcja 8a Gry komputerowe MasterMind

I - Microsoft Visual Studio C++

Programowanie obiektowe i C++ dla matematyków

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

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

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

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

Programowanie Proceduralne

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

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

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

KURS C/C++ WYKŁAD 1. Pierwszy program

C++ wprowadzanie zmiennych

Programowanie komputerowe. Zajęcia 4

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Proste programy w C++ zadania

Pytania sprawdzające wiedzę z programowania C++

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Proces tworzenia programu:

Warto też w tym miejscu powiedzieć, że w C zero jest rozpoznawane jako fałsz, a wszystkie pozostałe wartości jako prawda.

3. Instrukcje warunkowe

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Zadanie nr 3: Sprawdzanie testu z arytmetyki

Podstawy programowania. Wykład 2 Zmienne i obsługa wejścia/wyjścia. Krzysztof Banaś Podstawy programowania 1

Język C - podstawowe informacje

Wstęp do systemu Linux

void Pobierz(Student &a); void Wypisz(Student a); void Ustaw_zaliczenia(Student t[],int r); void Wypisz_najlepszych(Student t[],int r, float prog);

Podstawy programowania - 1

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

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

Spis treści. Język interpretowany vs język kompilowany

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

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

Administracja sieciowymi systemami operacyjnymi III Klasa - Linux

Podstawy programowania w języku C

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

1 Przygotował: mgr inż. Maciej Lasota

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

Laboratorium 1: Podstawy języka c. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Wprowadzenie do języka Java

4. Funkcje. Przykłady

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

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

KURS C/C++ WYKŁAD 2. char znak; znak = a ; Program 2 #include<stdio.h> void main() { char znak; while( (znak = getchar() )!= t ) putchar(znak); }

Microsoft IT Academy kurs programowania

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

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

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

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

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!

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

Systemy operacyjne. Instrukcja laboratoryjna. Ćwiczenie 1: Polecenia systemu UNIX/LINUX. Opracował: dr inż. Piotr Szpryngier

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja

Niektóre katalogi są standardowymi katalogami zarezerwowanymi do użytku przez system. Znaczenie wybranych katalogów systemowych jest następujące:

Podstawy Programowania Algorytmy i programowanie

Transkrypt:

Podstawy Programowania http://www.saltbox.com/img/under_the_hood.png Any sufficiently advanced technology is indistinguishable from magic. Arthur C. Clarke

O mnie... dr inż. Małgorzata Janik Zakład Fizyki Jądrowej Wydział Fizyki Politechniki Warszawskiej majanik@if.pw.edu.pl www.if.pw.edu.pl/~majanik/wiki s. 117d GF konsultacje: pn. 10-11, cz. 11-12 2

Konfiguracja poczty https://pp.fizyka.pw.edu.pl/poczta_pw/ W toku tych zajęć używana będzie poczta studencka: domena pw.edu.pl Webmail: https://portal.office.com/ Polecam skonfigurować programy pocztowe do odbierania / przekierowywania wspomnianej poczty. 7

Komendy systemu linux ls (list) - wyświetla zawartość bieżącego katalogu lub katalogu podanego jako parametr. cd (change directory) - wchodzi do katalogu, no. cd katalog1 cd.. - wchodzi do katalogu wyżej mkdir (make directory) - do tworzenia katalogów. Przykład: mkdir nazwa_katalogu cp (copy) - do kopiowania plików i katalogów. Przykłady: cp plik1 plik2 cp -r - kopiuje katalog wraz z zawartością np. cp -r katalog1 katalog2 * - gwiazdka zastępuje dowolny ciąg znaków np.: cp * alfa/ - kopiuje wszystkie pliki z bieżącego katalogu do katalogu alfa mv (move) - przenosi plik/pliki, służy też do zmiany nazwy pliku lub katalogu. mv plik1 plik2 - zmienia nazwę plik1 na plik2 rm (remove) - usuwa pliki. Przykład: rm plik1 - usuwa plik1 rm * - usuwa wszystkie pliki z bieżącego katalogu (należy używać bardzo ostrożnie - sprawdzić, czy rzeczywiscie chcemy wszystko skasować). rm -r - usuwa cały katalog razem z zawartością more - pozwala na przegladanie danych (plików, komunikatów poleceń) ekran po ekranie. kate plik.txt uruchamia edytor kate tworząc plik plik.txt cat - podobnie do polecenia 'more' pokazuje zawartość pliku ale nie zatrzymuje się ekran po ekranie tylko wyświetla od razu całość. 8

Prosta kompilacja programu Linux Plik z kodem źródłowym: program00.c (pliki z kodem źródłowym języka C powinny mieć rozszerzenie.c) Plik wynikowy: progam00 (w środowisku linux programy nie posiadają rozszerzenia, lecz wyróżnia je flaga wykonywalności 'x') gcc -o program00 program00.c -Wall -pedantic -std=c99 Flagi kompilacji: -Wall wyświetla wszystkie ostrzeżenia -pedantic wyświetla niezgodności ze standardem ISO -std=c99 stosuj standard C99 Dodatkowo: -O2 optymalizacja kompilacji i kodu programu http://imgs.xkcd.com/comics/compiling. png 9

Pierwszy program Komentarz blokowy dowolny tekst pomiędzy znakami /* oraz */ /****************** * Jan Kowalski * * 15.03.2013 r. * ******************/ Instrukcja preprocesora zaczyna się od znaku # #include <stdio.h> Funkcja main() tutaj zaczyna się sterowanie programem int main (void) // Wyświetla linijkę tekstu printf("moj pierwszy program!"); return 0; // kończy program Komentarz zaczyna się od // kończy wraz z końcem linii Instrukcja linijki na ogół kończą się średnikiem 10

Wypisywanie na ekran int main (void) puts("hello world!"); printf("hello world 2!\n"); printf("hello world %d!\n",3); return 0; puts( Napis ); // pisanie po ekranie printf( Napis\n ); // \n oznacza znak nowej linii printf( %d %f %c,zmienna_int, zmienna_float, zmienna_char); //wypisywanie zmiennych 11

(1) Hello world Wypisać na ekran (w terminalu) słowa Hello World! - tworzymy nowy plik tekstowy, nadajemy mu nazwę hello.c - na początku załączamy bibliotekę: #include <stdio.h> - tworzymy funkcję main int main(void) //tu będziemy wpisywać kod return 0; - w środku funkcji wypisujemy słowo przy użyciu puts : puts( Napis! ); - kompilujemy przez terminal (w terminalu wpisujemy: gcc -Wall -pedantic -O2 -std=c99 hello.c -o hello //jesli hello.c to nasza nazwa pliku - wypisujemy to samo przy użyciu printf

(2) Typy zmiennych Stworzyć funkcję główną (main) w której należy kolejno (można użyć istniejącej): puts( --------------------------------------- ); - zadeklarować zmienną całkowitą a = 5 i wypisać ją na ekran (int a = 5;) - zadeklarować zmienną zmiennoprzecinkową b = 3.5 i wypisać ją na ekran (double. ;) - zadeklarować zmienną zmiennoprzecinkową c która będzie wynikiem sumowania zmiennych a i b ( c = a + b; ) - wypisać na ekran napis: a + b = c oraz odpowiednio to samo równanie używając wartości zmiennych (wskazówka: printf( napis %d + %lf = %lf, x,y,z);) - zadeklarować zmienną typu char (napis) 'a'. Wypisać ją na ekran. int %d float %f double %lf tylko dwa miejsca po przecinku: %.2lf char %c 13

Wczytaj i wypisz int main (void) int n; scanf( %d, &n); printf( %d\n,n); return 0; scanf( %d, &n); // standardowe wejście (klawiatura) wpisz do zmiennej if(scanf( %d, &n)) printf( %d\n,n); // bez ostrzeżenia 14

(3) scanf Stworzyć funkcję główną (main) w której należy kolejno (można użyć istniejącej): puts( --------------------------------------- ); - wypisać na ekran napis Ile masz lat? - poprosić użytkownika programu o wprowadzenie liczby z klawiatury (scanf( %d, &wiek);) (wiek jest liczbą całkowitą!) - wypisać podany przez użytkownika wiek w postaci Mam X lat - poprosić użytkownika o wprowadzenie pierwszej litery imienia z klawiatury (litera jest znakiem char!) - poprosić użytkownika o wprowadzenie pierwszej litery nazwiska z klawiatury (litera jest znakiem!) - wypisać na ekranie Moje inicjały to X. Y. 15

Instrukcja warunkowa if int main (void) int n; scanf( %d, &n); if (n >= 0) Jeśli n większe równe 0 wtedy rób to co w klamrach printf( "Liczba naturalna"); return 0; 16

Instrukcja warunkowa if int main (void) int n; scanf( %d, &n); if (n >= 0) printf( "Liczba naturalna.\n"); else wtedy rób to co w kolejnych klamrach printf( "Liczba mniejsza niż 0.\n"); return 0; W przeciwnym wypadku 17

(3) Jeśli Stworzyć funkcję główną (main) w której należy kolejno(można użyć istniejącej): puts( --------------------------------------- ); - wypisać na ekranie Ile masz lat? - poprosić użytkownika o wprowadzenie liczby całkowitej z klawiatury - jeśli użytkownik podał wiek mniejszy niż 18 lat wypisać: Nie masz 18 lat!, jeśli większy to wypisać Masz XXX lat i możesz przeczytać ten tekst! Przykład użycia w kodzie programu jeśli if(a > 5) puts( Liczba a jest większa niż 5! ); else puts( Liczba a jest mniejsza niż 5! ); 18

Instrukcja warunkowa if int main (void) int n; scanf( %d, &n); if (n > 0) printf( "Liczba większa niż 0.\n"); else if(n == 0) printf( "Liczba równa 0.\n"); else printf( "Liczba mniejsza niż 0.\n"); return 0; - dopisać jeszcze: jeśli użytkownik podał wiek pomiędzy 16 a 17 lat (włącznie) wypisać: Już niedługo! i logiczne to &&, czyli np. warunek (a>3 i a <8) to (a>3 && a<8) 19

Pętla for int main (void) int n; scanf( %d, &n); printf( %d\n, n); for (int i=1;i<=n;i++) printf( %d,i); //... return 0; Pętla for : (int i=1;i<=n;i++) Zaczynając od i równego 0 (int i = 1), do i mniejszego równego n (i<=n), wykonuj raz po raz to co jest w pętli, przy każdej iteracji zwiększając i (i++) Czyli: n razy wykonaj to, co jest w pętli za każdym razem zwiększając i 20

(4) pętla for Stworzyć funkcję główną (main) w której należy kolejno (można użyć istniejącej): puts( --------------------------------------- ); - wypisać na ekranie liczby od 1 do 50 - poprosić użytkownika o wprowadzenie liczb całkowitych (a i b) z klawiatury i wypisać na ekranie co drugą liczbę w przedziale od a do b for (int i=1;i<=n;i++) //... 21

Indentacja int main (void) int n; scanf( %d, &n); if (n > 0) printf( "Liczba większa niż 0.\n"); else if(n == 0) printf( "Liczba równa 0.\n"); else printf( "Liczba mniejsza niż 0.\n"); return 0; Brak wcięć nie powoduje błędów kompilacji, jednak prawidłowe używanie wcięć zwiększa czytelność kodu! 22

(5) Naucz brata dodawania Stworzyć funkcję główną (main) w której należy kolejno: - stworzyć pętlę while bool koniec = false; while(!koniec)... - pobrać od użytkownika pojedynczy znak z klawiatury (int a) - w zależności od podanego znaku wykonać jedną z trzech rzeczy (1) lub (2) - jeśli (2) to wyjdź z programu (zmienną koniec należy ustawić na true) koniec = true; - jeśli (1) to poproś użytkownika o podanie dwóch liczb, następnie poproś użytkownika o podanie sumy tych dwóch liczb. Jeśli podał prawidłową wartość, wypisz Poprawny wynik! jeśli zaś nieprawidłowy, to wypisz Wynik niepoprawny, poprawny wynik to XXX. 23

(6) Kalkulator Dodawanie Odejmowanie Mnożenie Dzielenie Silnia Modulo (reszta z dzielenia) 1/x Pierwiastek Jakie działanie chcesz wykonać? + Podaj dwie liczby: 23 Wynik: 2+3=5 Jakie działanie chcesz wykonać? * Podaj dwie liczby: 43 Wynik: 4*3=12 24