Podstawy programowania (1)



Podobne dokumenty
Podstawy programowania - 1

Wykład 1. Proponowany termin kolokwium zaliczeniowego ostatni wykład w semestrze letnim

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

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

( wykł. dr Marek Piasecki )

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

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

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce.

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

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

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

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

Programowanie strukturalne i obiektowe

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

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

Wstęp do programowania. Wykład 1

Podstawy programowania w języku C

Część 4 życie programu

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania C. dr. Krystyna Łapin

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Programowanie w języku C++

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

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

Microsoft IT Academy kurs programowania

Język ludzki kod maszynowy

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

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

Podstawy Programowania

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

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Język programowania DELPHI / Andrzej Marciniak. Poznań, Spis treści

Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, tel danuta.makowiec at gmail.com

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++

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

2 Przygotował: mgr inż. Maciej Lasota

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

Wstęp do Programowania 2

Kierunek i poziom studiów: Matematyka, studia I stopnia (licencjackie), rok I

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

Zmienne, stałe i operatory

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

Podstawy Programowania. Wykład 1

Podstawy Programowania C++

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

I - Microsoft Visual Studio C++

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Język programowania PASCAL

Rok akademicki: 2013/2014 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

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!

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

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

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

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

Co nie powinno być umieszczane w plikach nagłówkowych:

Wykład 5: Klasy cz. 3

Podstawy algorytmiki i programowania - wykład 4 C-struktury

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

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

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

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

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

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Programowanie w języku Python. Grażyna Koba

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

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

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

Funkcje. Spotkanie 5. Tworzenie i używanie funkcji. Przekazywanie argumentów do funkcji. Domyślne wartości argumentów

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

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

Operacje wejścia/wyjścia odsłona pierwsza

Wstęp do programowania

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

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Struktura pliku projektu Console Application

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 Obiektowe i C++

Pytania sprawdzające wiedzę z programowania C++

Języki programowania zasady ich tworzenia

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

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

Pytania z języka C/C++ main dyrektywy preprocesora #include 15. #define 16. #define słowa zastrzeżone \n, \t, \f 26.

for (i=0; i<10; i=i+1) instrukcja; instrukcja zostanie wykonana 10 razy for (inicjalizacja; test; aktualizacja) instrukcja;

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

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

#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 PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

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

Wykład 1.sxw

Język C - podstawowe informacje

KONSTRUKCJA KOMPILATORÓW

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

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

Transkrypt:

Podstawy programowania (1) doc. dr inż. Tadeusz Jeleniewski Konsultacje pokój 19 Poniedziałki, godz. 9:45 11:20 e-mail: tadeusz.jeleniewski@neostrada.pl

Podstawy programowania (1) - wykład 1. Wprowadzenie Algorytmiczne języki programowania. Struktura programu źródłowego w języku C++. Proces kompilacji, konsolidacji i uruchamiania. Przykład prostego programu. Jednostki składniowe języka. 2. Podstawowe pojęcia Typy wartości, zmienne. Reprezentacja danych w komputerze.typy całkowite i rzeczywiste. Inicjacja zmiennych. 3. Komunikacja programu z otoczeniem Funkcje scanf, prntf, gets, puts. Podejście "obiektowe" - strumienie standardowe cin, cout 4. Wskaźniki (1) Zmienne i ich adresy. Odwoływanie się do zmiennych przez nazwę lub adres. Zmienne wskaźnikowe - notacja, znaczenie. Arytmetyka wskaźników. 5. Operatory i wyrażenia Przypisanie proste i arytmetyczne, wyrażenia arytmetyczne, inkrementacja i dekrementacja, operatory logiczne, relacje, operatory bitowe, wyrażenie warunkowe 6. Sterowanie wykonaniem programu Instrukcja if, if... else, else if. Zagnieżdżanie instrukcji if. Instrukcja switch... case

7. Instrukcje iteracyjne Pojęcie pętli programowej. Pętla for, działanie i zastosowanie. Pętle z badaniem warunku na początku (while) i na końcu (do... while). Zagnieżdżanie pętli. Instrukcje break oraz continue 8. Funkcje Pojęcie funkcji w C++. Deklaracja (prototyp) i definicja funkcji. Zwracanie wartości funkcji. Przekazywanie parametrów przez wartość, adres i referencję 9. Tablice i łańcuchy Typ strukturalny - tablica, deklaracja i inicjacja wartości elementów. Tablice wielowymiarowe jako tablice tablic. Tablice jako argumenty funkcji. Łańcuch znaków i jego reprezentacja w postaci tablicy znakowej. Funkcje przetwarzające łańcuchy. 10. Wskaźniki (2) Związek pomiędzy tablicami a wskaźnikami. Łańcuchy znaków a wskaźniki. Wskaźniki do elementów tablic 11. Struktury Pojęcie struktury, deklaracja struktury, atrybuty dostępu, możliwość definiowania metod. Zagnieżdżanie struktur. Wskaźniki na struktury. Tablice struktur. Unie i ich zastosowanie. 12 Obsługa plików Standardowe plikowe wejście i wyjście. Wejście/wyjście znakowe, łańcuchowe, formatowane, blokowe. Pliki standardowe. Drukarka jako plik wyjściowy

Przedmiot kończy się zaliczaniem na stopień Kolokwium zaliczeniowe odbędzie się w terminie przedostatniego wykładu w semestrze. Możliwe są 10-minutowe sprawdziany przed rozpoczęciem wykładu.

Literatura Robert Lafore Programowanie w języku C przy użyciu Turbo C++. Intersoftland, 1995 Andrzej Zalewski Programowanie w językach C i C++ z wykorzystaniem pakietu Borland C++. Wydawnictwo Nakom, Poznań, 1994 Walter Savitch Programowanie w tonacji C++. Wydawnictwo RM, Warszawa, 2005 Jerzy Grębosz Symfonia C++. Oficyna Kallimach, Kraków, 1996 Herbert Schildt Informator o języku programowania Borland C++. Wydawnictwo Nakom, Poznań, 1998 Jesse Liberty C++ dla każdego. Wydawnictwo HELION, 2002

Wykład 1 Co to jest program komputerowy i jak powstaje Struktura programu źródłowego w języku C++ Jednostki składniowe

W języku C++ tworzenie programu odbywa się w dwóch etapach: opracowanie kodu źródłowego i generowanie kodu wynikowego. Przed rozpoczęciem opracowywania kodu źródłowego należy obmyślić algorytm rozwiązania postawionego zadania. Opracowanie kodu źródłowego czyli tzw kodowanie sprowadza się do zapisu wcześniej obmyślonego algorytmu w języku programowania - w naszym przypadku jest nim język C++. Etap generowania kodu wynikowego jest realizowany przez komputer. Specjalny program - kompilator analizuje kod źródłowy programu pod względem poprawności leksykalnej, składniowej i częściowo semantycznej (znaczeniowej) i po ewentualnym usunięciu przez programistę wykrytych błędów tłumaczy na postać pośrednią, do której inny program (program łączący - linker) dołącza brakujące elementy umieszczone w bibliotekach funkcji. Po pomyślnym zakończeniu procesu łączenia powstaje kod wynikowy - program gotowy do wykonania przez maszynę. Jest to algorytm rozwiązania zadania zapisany w języku wewnętrznym komputera. Algorytm nie jest na ogół pozbawiony błędów wykonania. Są to błędy, których nie wykrywa kompilator w fazie analizy poprawności programu źródłowego.

Inna kategoria błędów, to błędy wykrywane przez program tłumaczący kompilator. Są to tzw. błędy kompilacji. Porównać je można do błędów ortograficznych, składniowych oraz gramatycznych, które często zdarza nam się popełniać w języku naturalnym (nawet ojczystym). Rysunek 1 przedstawia schematycznie przebieg procesu tworzenia kodu wynikowego pewnego programu.

Charakterystyczną cechą języka C++ jest możliwość budowy programu z wielu modułów. Modułem w języku C++ może być każdy zbiór zawierający poprawny kod źródłowy. Program w języku C++ buduje się z funkcji. Każda funkcja może (ale nie musi) posiadać parametry i określony typ wartości. Aby możliwe było wygenerowanie kodu wynikowego programu w postaci przyjmowanej przez system operacyjny (w systemach operacyjnych DOS, Windows jest to zbiór z rozszerzeniem.exe) w jednym (i tylko w jednym) module programu musi znaleźć się funkcja o nazwie main. Od funkcji tej system rozpoczyna wykonywanie programu. Moduł, który zawiera tą funkcję nazywa się modułem głównym.

Najprostszy, poprawny program w C++ może mieć postać: void main(void) { } Program ten składa się z bezparametrowej funkcji main. Funkcja ta nie zwraca do systemu operacyjnego żadnej wartości. Wewnątrz nawiasów klamrowych znajduje się blok, który zawiera definicję funkcji. Przydatność praktyczna takiego programu jest oczywiście znikoma. Wewnątrz bloku stanowiącego definicję funkcji nie umieszczono żadnego polecenia ten program niczego nie wykonuje.

Inny, prosty program może mieć postać: /* Program 1.2 - przykład prostego programu napisanego w języku C++. Program wyświetla na ekranie komunikat powitalny */ #include <iostream.h> void main(void) { cout<<"\nwitaj w świecie C++"; }

W tekście tego programu można wyróżnić następujące elementy (jednostki składniowe): komentarz - fragment tekstu pomijany przez kompilator w procesie analizy i tłumaczenia programu źródłowego; komentarzem jest dowolny tekst pomiędzy parą symboli dwuznakowych /* (ukośnik gwiazdka) oraz */ (gwiazdka ukośnik), dyrektywa preprocesora - słowo include wraz z poprzedzającym je znakiem #; jest to polecenie dla kompilatora, aby przed rozpoczęciem analizy tekstu źródłowego dołączył do niego tzw. plik nagłówkowy o nazwie iostream.h; w plikach nagłówkowych znajdują się definicje symboli użytych w programie oraz tzw. prototypy funkcji;

deklaracja funkcji main - przykładowy program składa się z bezparametrowej funkcji głównej nie reprezentującej sobą żadnej wartości, na co wskazuje słowo void poprzedzające nazwę funkcji głównej; wewnątrz nawiasów klamrowych znajduje się blok zawierający definicję funkcji main; cout jest nazwą obiektu zdefiniowanego w pliku nagłówkowym iostream.h; obiekt ten to tzw. strumień wyjściowy, do którego za pomocą operatora << (również zdefiniowanego w pliku iostream.h) program prześle tekst komunikatu do wyświetlenia na ekranie monitora.

Przykładowy program wyświetli napis (komunikat) treści: Witaj w świecie C++ oraz zakończy działanie. na ekranie monitora Takie samo zadanie wykona program: /* Program w1_2 - inna wersja (proceduralna) prostego programu, ktory wyswietla komunikat powitalny */ #include <stdio.h> void main(void) { printf("\nwitaj w swiecie C++"); }

Do wyświetlenia komunikatu użyto tutaj funkcji standardowej o nazwie printf, której parametrem jest łańcuch znaków. Funkcja ta nie zwraca żadnej wartości. Warto zauważyć, że w tym przypadku do tekstu programu dołączono inny niż poprzednio plik nagłówkowy. W pliku stdio.h znajduje się prototyp funkcji standardowej użytej w naszym przykładzie. Definicja tej funkcji znajduje się w bibliotece funkcji standardowych, która jest automatycznie przeglądana przez program łączący w fazie tworzenia kodu wynikowego.

Jednostkami składniowymi języka C++ są: identyfikatory, słowa kluczowe, znaki przestankowe, stałe, literały łańcuchowe, operatory. Identyfikatorem w języku C++ może być ciąg małych liter, cyfr i znaku podkreślenia _. dużych i Identyfikator jest nazwą elementu języka (zmiennej, funkcji itp.). Pierwszy znak identyfikatora musi być literą lub znakiem podkreślenia. Kompilator C++ rozróżnia pierwsze 32 litery nazwy. Nazwy dłuższe są poprawne. Kompilator rozróżnia duże i małe litery nazwy. Nazwa Yuma_15_10 jest identyfikatorem zupełnie innego elementu programu niż yuma_15_10

Słowa kluczowe są to identyfikatory zastrzeżone dla specjalnych celów. Mogą być wykorzystywane tylko zgodnie z ich przeznaczeniem. Zestawienie wszystkich słów kluczowych można znaleźć np. w książce A.Zalewskiego (str.69-70). Kilka przykładów słów kluczowych języka C/C++: void for int short float return do while struct class continue switch case Słowa kluczowe to instrukcje języka, nazwy typów, dyrektywy preprocesora i kompilatora itp.

Znakami przestankowymi są: [ ] ( ) { }, ; :... * = # nawiasy kwadratowe [ ] - definiowanie tablic i wskazywanie ich elementów, nawiasy okrągłe ( ) - grupowanie wyrażeń, wywołania funkcji, listy parametrów, nawiasy klamrowe { } - początek i koniec instrukcji złożonej, przecinek, - oddzielanie elementów listy, średnik ; - zakończenie instrukcji, dwukropek : - poprzedzający go ciąg znaków jest etykietą, wielokropek... - deklarowanie funkcji o zmiennej liczbie parametrów, gwiazdka * - deklarowanie zmiennych wskaźnikowych, znak równości = - oddzielanie deklaracji zmiennej od części inicjującej tą zmienną, znak # - oznaczenie dyrektywy preprocesora.