Programowanie -lab 1

Wprowadzenie

Cel i tematyka zajęć

Celem zajęć jest zapoznanie Państwa z podstawami programowania w języku C/C++. W czasie zajęć nauczycie się Państwo podstaw programowania oraz podstaw algorytmiki.

Korzystanie z DevC++

Zagadnienia:

  • Instalacja,
  • Tworzenie nowych projektów,
  • Kompilacja

Ćwiczenia:

DevC++ można pobrać ze strony DevC++ https://sourceforge.net/projects/orwelldevcpp/ i zainstalować zgodnie z instrukcją https://www.youtube.com/watch?v=30NLzDCWtpU

Kompilacja z wykorzystaniem DevC++
Zagadnienia:
Na zajęciach używać będziemy kompilatora DevC++.

Ćwiczenia:
Proszę skopiować następujący kod, zapisać i skompilować:

#include


int main ()
{
puts ("Hello World!");
return 0;
}



#include


int main ()
{
printf ("Hello World!");
return 0;
}

Struktura pliku źródłowego

Jak widać na powyższych przykładach struktura plików składa się z następujących elementów:

  • dyrektyw preprocesora:
    • #include
    • #define
    • #undef
  • funkcji głównej int main()
  • poleceń umieszczonych w głównej funkcji pomiędzy { } (nawiasami klamrowymi).
  • opcjonalnie komentarzy.

Biblioteki i dyrektywa #include

Podstawowe biblioteki:

  • http://man7.org/linux/man-pages/man3/stdio.3.html | stdio.h
  • http://man7.org/linux/man-pages/man3/errno.3.html | errno.h
  • http://man7.org/linux/man-pages/man0/math.h.0p.html | math.h
  • http://man7.org/linux/man-pages/man0/stdlib.h.0p.html | stdlib.h

Ćwiczenia:

  • Co zapewnia biblioteka stdio.h
  • Opisz podstawowe funkcje biblioteki stdio.h
  • Co definiuje biblioteka errno.h
  • Co definiuje biblioteka math.h
  • Co definiuje biblioteka stdlib.h

Komentarze
W jeżyku ANSI C istnieją dwa typy komentarzy:


/*Ten komentarz
jest komentarzem
wielolinijkowym */


//ten komentarz jest traktowany jak komentarz tylko do końca linii
printf ("Tutaj już nie mamy komentarza");

Podstawowe operacje wejścia/wyjścia
Zagadnienia:
Następujące podstawowe operacje wejścia/wyjścia będą wykorzystywane na zajęciach:

  • printf() wyświetla dane na ekranie
  • puts() wyświetla łańcuch na ekranie
  • scanf() pobiera dane z klawiatury
  • getche() pobiera znak z klawiatury i daje echo
  • gets() pobiera łańcuch z klawiatury

Ćwiczenia:

Proszę skopiować i przetestować działanie następującego programu:

#include stdio.h
#include conio.h
#include cstdlib
int main()
{
char imie[20];
char nazwisko[20];
int liczba;
system("cls"); //czyści ekran
printf("\nNapisz swoje imie :");
gets (imie);
printf("\nNapisz swoje nazwisko :");
gets (nazwisko);
printf("podaj ulubina liczbe :");
scanf("%d",&liczba);
printf("\n%s %s , twoja liczba to: %d",
imie,nazwisko,liczba);
getche();
return 0;
}

Pierwszy program – “Game Over”

Ćwiczenia:

  • Proszę napisać program wyświetlający na ekranie napis “Game Over”
  • Proszę napisać program wyświetlający na ekranie napis “Game Over” w ASCI-art
  • Proszę napisać program wyświetlający pytania i pobierający odpowiedzi, a następnie wypisujący podsumowanie
  • Proszę napisać program wyświetlający ASCII-art (wielolinijkowy) wybrany lub stworzony przez Państwa.

Przykłady używane na laboratoriach
Zagadnienia:

  • Podstawową książką wykorzystywaną na laboratorium będzie: „Język C – podstawy programowania”, autor Paweł Mikołajczak, Uniwersytet Marii Curie-Skłodowskiej Wydział Matematyki, Fizyki i Informatyki (R)
  • Dodatkową książką wykorzystywaną na laboratorium będzie: „Język ANSI C” z serii Klasyka Informatyki, autor Brian W. Kernighan, Dennis M. Ritchie, Wydawnictwo Naukowo-Techniczne (S)
  • W trakcie zajęć będą Państwo pisali własne programy lub modyfikowali/rozbudowywali gotowe przykłady.