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

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

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

Wstęp do programowania INP003203L rok akademicki 2016/17 semestr zimowy. Laboratorium 1. 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 12. Karol Tarnowski A-1 p.

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

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

Tablice (jedno i wielowymiarowe), łańcuchy znaków

1 Podstawy c++ w pigułce.

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

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

2 Przygotował: mgr inż. Maciej Lasota

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

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

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

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

1 Podstawy c++ w pigułce.

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

Programowanie strukturalne i obiektowe

int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

Wstęp do Programowania, laboratorium 02

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

Zmienne, stałe i operatory

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

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

Podstawy programowania w języku C++

Laboratorium 3: Tablice, tablice znaków i funkcje operujące na ciągach znaków. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Wstęp do programowania. Wykład 1

Proces tworzenia programu:

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Programowanie komputerowe. Zajęcia 4

Języki programowania obiektowego Nieobiektowe elementy języka C++

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

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

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

Języki programowania. Przetwarzanie tablic znaków. Część druga. Autorzy Tomasz Xięski Roman Simiński

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

Podstawy i języki programowania

Podstawy programowania

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

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

Język C zajęcia nr 11. Funkcje

Ćwiczenie nr 6. Poprawne deklaracje takich zmiennych tekstowych mogą wyglądać tak:

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

Programowanie w językach wysokiego poziomu

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

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

Podstawy programowania C. dr. Krystyna Łapin

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

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

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

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

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

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

Wskaźniki. Informatyka

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5

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

Podstawy programowania w C++

1. Wprowadzenie do C/C++

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Podstawy Programowania

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Wykład 2 Składnia języka C# (cz. 1)

Niezwykłe tablice Poznane typy danych pozwalają przechowywać pojedyncze liczby. Dzięki tablicom zgromadzimy wiele wartości w jednym miejscu.

Tablice, funkcje - wprowadzenie

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

1. Wprowadzenie do C/C++

Argumenty wywołania programu, operacje na plikach

1. Wypisywanie danych

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

Wykład I. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wskaźniki w C. Anna Gogolińska

Część 4 życie programu

Język C++ Różnice między C a C++

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

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

DANE TEKSTOWE W JĘZYKU C/C++ - TABLICE ZNAKOWE

Laboratorium 6: Ciągi znaków. mgr inż. Leszek Ciopiński dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

#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 ); }

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Tablice deklaracja, reprezentacja wewnętrzna

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

Wstęp do informatyki- wykład 3 Pierwszy program w C++ Wyprowadzanie danych Deklaracja zmiennych

ŁAŃCUCHY W JĘZYKU C/C++

1. Wprowadzanie danych z klawiatury funkcja scanf

1. Typy zmiennych. 2. Typy podstawowe: char short int int long int float

Wstęp do programowania

Programowanie Komputerów

Struktury Struktura polami struct struct struct struct

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

Podstawy programowania w C++

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

#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 ); }

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

Struktury, unie, formatowanie, wskaźniki

Transkrypt:

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B

Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy znakowe Na podstawie: G. Perry, D. Miller, Język C Programowanie dla początkujących, Helion, 2014

Komentarze Komentarz informacja umieszczona w kodzie źródłowym programu, która objaśnia jego działanie Komentarze są ignorowane przez kompilator Dodawaj komentarze podczas pisania programu

Komentarze Kod bez komentarza return ((s1 < s2)? s1 : s2); Kod z komentarzem return ((s1 < s2)? s1 : s2); /* znajduje mniejszą z dwóch wartości*/ Kod z nadmiarowym komentarzem printf("lista płac"); /*drukuje napis "Lista płac"*/

Komentarze Początek komentarza wyznacza znacznik /* Koniec komentarza wyznacza znacznik */ /*to jest komentarz na dwie linie kodu*/ /*to jest komentarz w jednym wierszu*/ for(i=0; i<25; i++) /*liczy od 0 do 24*/

Komentarze Przykład kodu z komentarzami

Komentarze W trakcie pracy nad programem można wykorzystywać komentarze do wyłączania pewnych fragmentów kodu

Komentarze Komentarz jednowierszowy rozpoczyna się znacznikiem // Obejmuje wszystko co za tym znacznikiem do końca wiersza

Funkcja printf() Funkcja printf() wysyła dane wyjściowe na ekran Wypisywane mogą być znaki, liczby, słowa

Funkcja printf() Ogólny schemat wywołania funkcji printf(): printf(łańcuchkontrolny [, dane]); Przykład użycia printf("moja ulubiona liczba to %d", 7); Na końcu każdego polecenia musi znajdować się średnik Funkcja printf() wysyła dane na standardowe wyjście

Funkcja printf() Drukowanie łańcuchów Łańcuchy znakowe są najłatwiejsze do wypisania printf("jakie to proste!");

Funkcja printf() Drukowanie łańcuchów Wynik poniższych dwu wywołań funkcji printf() początkowo może zaskoczyć printf("jakie to proste"); printf("banalne"); Wynikiem będzie wypisanie napisu: Jakie to prostebanalne

Funkcja printf() Znaki specjalne kod opis \n nowa linia \a alarm \b backspace \t tabulator \\ lewy ukośnik \' pojedynczy cudzysłów \" podwójny cudzysłów

Funkcja printf() Znaki specjalne - przykład

Funkcja printf() Znaczniki konwersji W celu wypisania liczb i znaków, należy użyć znaczników konwersji znacznik konwersji opis %d liczba całkowita %f liczba zmiennopozycyjna %c znak %s łańcuch

Funkcja printf() Znaczniki konwersji W miejscu, w którym ma być wypisana wartość, należy użyć odpowiedniego znacznika konwersji Jako kolejne argumenty funkcji printf() należy podać wartości do wstawienia

Funkcja printf() Znaczniki konwersji przykład printf("cena rogala to %d groszy, zatem %d kosztuja %.2f zlotego",60,3,1.8); Cena rogala to 60 groszy, zatem 3 kosztuja 1.80 zlotego

Funkcja printf() Znaczniki konwersji przykład printf("%s %d %f %c\n", "WdP", 13, 3.2, 'Q'); WdP 13 3.200000 Q

Funkcja printf() Znaczniki konwersji Format drukowanych danych można kontrolować wpisując kropkę i liczbę w znacznik konwersji printf("%f %.3f %.2f %.1f", 4.5678, 4.5678, 4.5678, 4.5678); 4.567800 4.568 4.57 4.6

Zmienne Zmienna to miejsce w pamięci komputera, w którym zapisano znak lub liczbę Ponieważ rozróżniamy różne typy danych, zatem rozróżniamy różne typy zmiennych W danej zmiennej nie można zapisać danych dowolnego rodzaju

Zmienne Najczęściej używane typy danych nazwa char int float double opis typ reprezentujący dane znakowe, np. 'A' i '#' typ reprezentujący dane całkowite typ reprezentujący dane zmiennopozycyjne typ reprezentujący dane zmiennopozycyjne o podwójnej precyzji

Zmienne Nadawanie nazw Nazwy zmiennych nie mogą się powtarzać Nazwa zmiennej może mieć od 1 do 31 znaków Nazwa zmiennej powinna zaczynać się literą, po której mogą znajdować się inne litery, liczby lub znak podkreślenia

Zmienne Deklarowanie zmiennych Deklaracja zmiennej to konstrukcja języka C, informująca, że potrzebujemy zarezerwować obszar pamięci na zmienną określnego typu main(){ //deklaracje zmiennych char odpowiedz; int liczba; float cena; /* pozostała część programu */

Zmienne Deklarowanie zmiennych W jednym wierszu można zadeklarować kilka zmiennych tego samego typu main(){ //deklaracje zmiennych int x; int y; /* pozostała część programu */ main(){ //deklaracje zmiennych int x, y; /* pozostała część programu */

Zmienne Deklarowanie zmiennych Większość deklaracji zmiennych znajduje się za klamrą otwierającą funkcję są to zmienne lokalne Można też tworzyć zmienne globalne, ale prawie zawsze należy się posługiwać zmiennymi lokalnymi

Zmienne Operator przypisania W celu wstawienia danych do zmiennych (zdefiniowania) używa się operatora przypisania zmienna = dane;

Zmienne Operator przypisania Zmienna powinna już być zadeklarowana, aby można było do niej coś przypisać main(){ //deklaracje zmiennych char odpowiedz; int liczba; float cena; //przypisanie wartości odpowiedz = 'C'; liczba = 16; cena = 9.99; /* pozostała część programu */

Zmienne Operator przypisania W zmiennych można też zapisywać wyniki wyrażeń //oblicza cenę z 25% rabatem cena = 9.99 *.75; //oblicza łączną cenę produktów razem = cena * liczba;

Zmienne Przykład

Łańcuchy znakowe Na końcu każdego łańcucha dodawany jest znak specjalny znak końca łańcucha Znak końca łańcucha '\0' nie jest znakiem '0' Program wykorzystuje znak '\0' do rozpoznawania końca łańcucha "WdP" W d P \0

Łańcuchy znakowe Długość łańcucha Długość łańcucha to liczba znaków do znaku końca łańcucha (wliczając spacje i inne białe znaki) Łańcuch: Wstep do programowania ma 22 znaki

Łańcuchy znakowe Znak a łańcuch o jednym znaku 'X' "X" X X \0

Łańcuchy znakowe Tablice znaków Do przechowywania łańcuchów w pamięci służą tablice znaków Tablica danych danego typu to ciąg zmiennych w pamięci Deklaracja tablicy: typ nazwa[rozmiar];

Łańcuchy znakowe Tablice znaków Deklaracja tablicy: typ nazwa[rozmiar]; Przykład: char miesiac[12]; /*najdłuższa nazwa miesiąca to październik ma 11 znaków, ale potrzebujemy miejsce na znak końca łańcucha*/

Łańcuchy znakowe Tablice znaków Można zainicjalizować tablicę w miejscu jej deklaracji char miesiac[12] = "styczen"; [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] s t y c z e n \0????

Łańcuchy znakowe Tablice znaków printf() Do wypisywania tablicy znaków służy znacznik konwersji %s printf("teraz jest %s", miesiac);

Łańcuchy znakowe Tablice znaków - inicjalizacja W przypadku jednoczesnej deklaracji i inicjalizacji nie trzeba podawać rozmiaru tablicy, ale nie będzie można wpisać w tą tablicę dłuższego łańcucha char miesiac[8] = "styczen"; char miesiac[] = "styczen"; //więcej miejsca na dłuższe łańcuchy char miesiac[25] = "styczen";

Łańcuchy znakowe Tablice znaków - przypisanie Do tablicy nie można przypisać łańcucha operatorem przypisania miesiac = "lipiec"; /*źle*/ Można przypisać litera po literze miesiac[0] = 'l'; miesiac[1] = 'i'; miesiac[2] = 'p'; miesiac[3] = 'i'; miesiac[4] = 'e'; miesiac[5] = 'c'; miesiac[6] = '\0';

Łańcuchy znakowe Tablice znaków strcpy() Do wpisania łańcucha znakowego do tablicy można użyć funkcji strcpy() strcpy(miesiac,"lipiec"); Aby móc skorzystać z tej funkcji należy dołączyć plik nagłówkowy <string.h> #include <string.h>

Absolutne minimum (1) Dodawaj komentarze Komentarz wielowierszowy rozpoczyna znacznik /*, a kończy znacznik */ Komentarz jednowierszowy zaczyna znacznik //

Absolutne minimum (2) Każde wywołanie funkcji printf() musi zawierać łańcuch kontrolny Do formatowania danych można wykorzystać znaczniki konwersji Łańcuch może zawierać znaki specjalne

Absolutne minimum (3) Zawsze deklaruj zmienne przed ich użyciem Nie mieszaj danych i zmiennych o różnych typach Można deklarować kilka zmiennych w jednej linii Do przypisania wartości do zmiennej służy operator przypisania

Absolutne minimum (4) Łańcuchy przechowuj w tablicy znaków (o dostatecznej długości) Łańcuch kończy się '\0' Elementy tablicy są liczone od zera Łańcuch w tablicy znakowej można umieścić: inicjalizując w czasie deklaracji element po elemencie funkcją strcpy() Użycie strcpy() wymaga dyrektywy #include <string.h>