• Nie Znaleziono Wyników

2013-02-12 JarosławPiersa ProgramowanieIC/C++laboratorium01—Organizacjazajęć

N/A
N/A
Protected

Academic year: 2021

Share "2013-02-12 JarosławPiersa ProgramowanieIC/C++laboratorium01—Organizacjazajęć"

Copied!
37
0
0

Pełen tekst

(1)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Programowanie I C / C++

laboratorium 01 — Organizacja zajęć

Jarosław Piersa

Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika

2013-02-12

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(2)

Program

operacje wejścia i wyjścia instrukcje warunkowe pętle

tablice i wskaźniki operacje na plikach

przegląd podstawowych plików nagłówkowych

(3)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Program zajęć Zasady zaliczenia

Namiary na prowadzącego

Jarosław Piersa

preferowany sposóbe-mail: piersaj (at) mat . umk . pl gabinet: E307

konsultacje: wt, godz. 16-17

www: http://www.mat.umk.pl/~piersaj

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(4)

Wspomaganie zajęć

moodle (obowiązkowy!) https:

//plas.mat.umk.pl/moodle/course/view.php?id=328 olat:

https://www.mat.umk.pl:8443/dmz/

(5)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Program zajęć Zasady zaliczenia

Zaliczenie

obecność wymagana (maks. 2 nieobecności nieusprawiedliwione) prace domowe, kolokwia, wejściówki

nieobecność kolokwium lub wejściówce = poprawka na najbliższych konsultacjach

nieobecność nieusprawiedliwiona na kolokwium = 0p + kara 50% z poprawki

kary za spóźnienia (prace domowe, poprawa wejściówki i kolokwium)

kara = min(0.1 · 2sp−1, 1) maksymalnej liczby punktów sp = ilość tygodni spóźnienia zaokrąglona w górę

kara jest subtraktywna (tj odejmowana od podstawowej oceny)

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(6)

Zaliczenie

Szacowana liczba punktów (maks. 100):

kolokwia: 2 · (20 − 25)p

prace domowe: łącznie 40 − 50p wejściówki: łącznie 10 − 20p bonus: 100% frekwencja: 2p

(7)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Program zajęć Zasady zaliczenia

Skala ocen

ocena punkty dst [61 – 69) dst+ [69 – 77) db [77 – 85) db+ [85 – 93) bdb [93 – 100]

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(8)

Programy

programy będą sprawdzane na linuxie, na kompilatorze gcc v4.*; jeżeli nie zadziałają, to na ultrze60, na kompilatorze gcc program, który się nie kompiluje na żadnym otrzymuje ocenę 0 program, który usiłuje wyrządzić szkody w systemie otrzymuje ocenę 0

kara 10% punktów za brak informacji o autorze i programie kara 10% punktów za brak komentarzy w kodzie

kara 100% za plagiaty

programy można poprawiać, jeżeli nie upłynął jeszcze termin

(9)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Program zajęć Zasady zaliczenia

Pytania?

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(10)

Środowiska programistyczne

Eclipse CDT (Windows, linux)http://www.eclipse.org/cdt/

NetBeans IDE (for C / C++)

http://netbeans.org/features/cpp/

Codeblocks (Windows, linux)http://www.codeblocks.org/

MS Visual Studio (Windows) Bloodshed DevC++ (Windows)

http://www.bloodshed.net/devcpp.html

(11)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Edytory / środowiska programistyczne Windows

Edytory

gVim (wszędzie) ConTexT (Windows) Notepad++ (Windows) gedit (linux)

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(12)

Skąd wziąć kompilator?

[piersaj@Yavarel ]$ yum / aptget / packman install gcc

(13)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Edytory / środowiska programistyczne Windows

Skąd wziąć kompilator?

CodeBlockshttp://www.codeblocks.org/

(ewentualnie) MinGWhttp://www.mingw.org/

(alternatywa) MS Visual Studiolink

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(14)

Codeblocks

Tworzymy: Nowy projekt → Aplikacja konsolowa Zasada: jeden program — jeden projekt

Budujemy: (Build) Uruchamiamy: (Run)

(15)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Edytory / środowiska programistyczne Windows

Codeblocks

Tworzymy: Nowy projekt → Aplikacja konsolowa

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(16)

Codeblocks

Wybieramy: Aplikacja konsolowa

(17)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Edytory / środowiska programistyczne Windows

Codeblocks

Podajemy: nazwę projektu i lokalizację w systemie plików

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(18)

Codeblocks

Piszemy program

(19)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Edytory / środowiska programistyczne Windows

Codeblocks

Kompilujemy i uruchamiamy

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(20)

Pierwszy program

plik.c:

/* P i e r w s z y p r o g r a m w C

*

*/

# include< s t d i o . h >

int m a i n (){

// k o m e n t a r z do k o n c a l i n i i p r i n t f(" h e l l o w o r l d \ n ");

r e t u r n 0;

(21)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Prosty wydruk Wczytywanie danych Wydruk zmiennej

Jak skompilować (Linux?)

[piersaj@Yavarel ]$ gcc plik.c [piersaj@Yavarel ]$ ./a.out hello world

[piersaj@Yavarel ]$

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(22)

Wyjaśnienie

#include <sdtio.h>— dołączenie pliku nagłówkowego dającego dostęp do instrukcjiprintf

int main(){...}— definicja głównej części programu printf(...) — wydruk napisu

return 0— zakończenie main-a

(23)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Prosty wydruk Wczytywanie danych Wydruk zmiennej

Wczytywanie danych

plik.c:

# include< s t d i o . h >

int m a i n (){

int a = 0;

p r i n t f(" p o d a j l i c z b e c a l k o w i t a \ n ");

s c a n f(" % d ", & a );

p r i n t f(" p o d a l e s l i c z b e % d \ n ", a );

r e t u r n 0;

} // m a i n

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(24)

Wczytywanie danych

plik.c:

# include< s t d i o . h >

# d e f i n e S I Z E 32 int m a i n (){

c h a r zm[ S I Z E ];

p r i n t f(" Jak m a s z na i m i e ?\ n ");

s c a n f(" % s ", zm);

p r i n t f(" M i l o Cie poznac , % s !\ n ", zm);

r e t u r n 0;

(25)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Prosty wydruk Wczytywanie danych Wydruk zmiennej

Wyjaśnienie

int a— deklarujemy zmienną o identyfikatorzea

scanf(¨%d¨, &a)— wczytanie wartości dla zmiennejaz klawiatury

%d— zmienna będzie całkowitoliczbowa w zapisie dziesiętnym (Decimal )

%s— zmienna będzie napisowa (string ) (dokładniej — tablica znaków)

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(26)

Wydruk zmiennej

plik.c:

# include< s t d i o . h >

# d e f i n e S I Z E 32

int m a i n (){

int a = 2;

f l o a t b = 1 . 4 ; c h a r c = ’ a ’;

c h a r d [ S I Z E ]= " ala ma k o t a ";

p r i n t f (" % d %.2 f % c % s \ n ", a , b , c , d );

r e t u r n 0;

(27)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Prosty wydruk Wczytywanie danych Wydruk zmiennej

Wyjaśnienie

int— typ całkowitoliczbowy (formatowanie%d) float— typ zmiennoprzecinkowy (%f)

char — typ znakowy (%c)

char zmienna[32] — tablica znaków (napis) (%s)

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(28)

Instrukcja warunkowa

plik.c:

# include< s t d i o . h >

int m a i n (){

l o n g a = 1 0 0 0 0 0 0 0 0 0 L , b = 9 9 9 9 9 9 9 9 9 L ;

if ( a > b )

p r i n t f (" a j e s t w i e k s z e \ n ");

e l s e {

p r i n t f (" b j e s t w i e k s z e \ n ");

}

(29)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Instrukcja warunkowa Pętla while

Czym może być warunek Pętla for

Pętla do

Wyjaśnienie

if— obowiązkowe słowo kluczowe, pisane z małych liter (warunek) — warunek, nawiasy są obowiązkowe

else — słowo kluczowe, klauzula jest opcjonalna nie ma elif-a!

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(30)

Pętla while

plik.c:

# include< s t d i o . h >

int m a i n (){

u n s i g n e d l o n g a = 15 L , b = 40 L ;

w h i l e ( a < b ) {

p r i n t f (" % ld ^2 = %4 ld \ n ", a , a * a );

a = a +1;

} // w h i l e

(31)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Instrukcja warunkowa Pętla while

Czym może być warunek Pętla for

Pętla do

Wyjaśnienie

while— obowiązkowe słowo kluczowe, pisane z małych liter (warunek) — warunek pętli, nawiasy są obowiązkowe

%ld— format zmiennej long (long decimal )

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(32)

Czym może być warunek

# include< s t d i o . h >

int m a i n (){

l o n g a = 1 0 0 0 0 0 0 0 0 0 L , b = 9 9 9 9 9 9 9 9 9 L ; if ( a > b ) p r i n t f (" % d \ n ", 1);

if ( a >= b ) p r i n t f (" % d \ n ", 2);

if ( a < b ) p r i n t f (" % d \ n ", 3);

if ( a <= b ) p r i n t f (" % d \ n ", 4);

if ( a == b ) p r i n t f (" % d \ n ", 5);

if ( a != b ) p r i n t f (" % d \ n ", 6);

r e t u r n 0;

(33)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Instrukcja warunkowa Pętla while

Czym może być warunek Pętla for

Pętla do

Operatory logiczne

# include< s t d i o . h >

int m a i n (){

l o n g a = 1 0 0 0 0 0 0 0 0 0 L , b = 9 9 9 9 9 9 9 9 9 L ; if (0) p r i n t f (" % d \ n ", 1);

if ( a ) p r i n t f (" % d \ n ", 2);

if (! a ) p r i n t f (" % d \ n ", 3);

if (1 && a > b ) p r i n t f (" % d \ n ", 4);

if (0 || a > b ) p r i n t f (" % d \ n ", 5);

r e t u r n 0;

} // m a i n

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(34)

Pętla for

# include< s t d i o . h >

int m a i n (){

int i =0 , a = 3 0 ;

for ( i =1; i < a ; i = i + 2 ) {

p r i n t f (" 0 x %02 x \ n ", i );

} // for

r e t u r n 0;

} // m a i n

(35)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Instrukcja warunkowa Pętla while

Czym może być warunek Pętla for

Pętla do

Wyjaśnienie

for— obowiązkowe słowo kluczowe (instr1; warunek2; instr3 ):

instr1 — wykonywana przed pierwszym obrotem pętli warunek2 — jeżeli jest spełniony to kontynuujemy pętlę instr3 — wykonywana po każdym obrocie

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

(36)

Pętla do

# include< s t d i o . h >

int m a i n (){

int i =200 , b =1;

do {

p r i n t f (" %3 d \ n ", i );

i -= b ; b ++;

} w h i l e ( i > = 0 ) ; r e t u r n 0;

} // m a i n

(37)

Organizacja zajęć Środowisko Pierwszy program Składnia języka

Instrukcja warunkowa Pętla while

Czym może być warunek Pętla for

Pętla do

Wyjaśnienie

do— obowiązkowe słowo kluczowe while— obowiązkowe słowo kluczowe

( instrukcja )— warunek kontynuowania pętli

J. Piersa Pr. C/C++ 2012/2013 Laboratorium 01

Cytaty

Powiązane dokumenty

czono symbolem M2(fc; — i)) oraz jeśli różnica M2(k; —i) — M2(k) jest równa iloczynowi kwadratu współczynnika korelacji i-tej zmiennej objaśniającej i zmiennej

Do egzaminu z języka obcego nowożytnego doktorant może przystąpić dopiero po otwarciu przewodu doktorskiego i po uzyskaniu pozytywnych recenzji rozprawy

stopień reszty jest mniejszy od stopnia dzielnika, ale reszta nie jest wielomianem zerowym, więc wielomian f nie jest podzielny przez wielomian g..

5 – najmniejsza liczba naturalna będąca sumą kwadratów dwóch różnych liczb naturalnych, 6 – najmniejsza liczba naturalna będąca iloczynem dwóch różnych liczb pierwszych, 7

zakładanych dla zajęć efektów uczenia się - na tej podstawie należy wypełnić pole ECTS: 75 h Łączna liczba punktów ECTS, którą student uzyskuje na zajęciach

Z aiste głupota szw abów i m oskali zaślepionych nienaw iścią jest niekiedy bez- graniczna.. Nie ma tygodnia, w którym czasopisma bolszewickie nie powtarzałyby za Niemcami

Sprawny ruchowo, ćwiczenia wykonuje bardzo chętnie i dokładnie Bardzo dobrze opanował materiał programowy z języka angielskiego.. Bardzo dobrze posługuje

objaśnienia skrótów: Z – zaliczenie z oceną przez pedagoga prowadzącego, K – kolokwium na ostatnich zajęciach,. ILOŚĆ GODZIN TYGODNIOWO 225 225