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

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

1 Podstawy c++ w pigułce.

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

1 Podstawy c++ w pigułce.

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

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

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

( wykł. dr Marek Piasecki )

Programowanie strukturalne i obiektowe

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

Wstęp do programowania. Wykład 1

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

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.

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

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

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

Część 4 życie programu

Podstawy programowania w języku C

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

Microsoft IT Academy kurs programowania

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

2 Przygotował: mgr inż. Maciej Lasota

Podstawy programowania C. dr. Krystyna Łapin

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

Język ludzki kod maszynowy

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

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

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!

Programowanie w języku C++

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

Wstęp do Programowania 2

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

Podstawy Programowania. Wykład 1

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

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

Podstawy Programowania

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

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

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

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

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

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

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

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

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

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

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

Programowanie w języku Python. Grażyna Koba

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

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

I - Microsoft Visual Studio C++

Język programowania PASCAL

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

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

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Wstęp do programowania

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

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

Zmienne, stałe i operatory

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

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

Języki programowania zasady ich tworzenia

PRZEWODNIK PO PRZEDMIOCIE

Utworzenie pliku. Dowiesz się:

Podstawy Programowania C++

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

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

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

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

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

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

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

Struktura pliku projektu Console Application

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

Pytania sprawdzające wiedzę z programowania C++

Język C - podstawowe informacje

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

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

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

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

Praktyka Programowania

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

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

Wykład 5: Klasy cz. 3

PODSTAWY INFORMATYKI 1 PRACOWNIA NR 6

Programowanie Obiektowe i C++

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

Wykład 1.sxw

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

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

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

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

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

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

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

Transkrypt:

Podstawy programowania - 1 doc. dr inż. Tadeusz Jeleniewski Wykład: sobota B, godz. 10.30 12.55 sala 12 Laboratorium: sobota B, godz. 13.00 15.25 sala 2 sobota B, godz. 15.30-17.55 sala 2 e-mail: tadeusz.jeleniewski@pwr.wroc.pl lub t.jeleniewski@neostrada.pl http://www.tjeleniewski.wstt.edu.pl

Podstawy programowania - wykład 1. Wprowadzenie Algorytmiczne języki programowania. Struktura programu źródłowego w języku C/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/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ę zaliczeniem na stopień Proponowany termin kolokwium zaliczeniowego ostatni wykład w semestrze zimowym Ocena końcowa: 60% oceny z kolokwium, 40% ocena z laboratorium

Literatura Walter Savitch Programowanie w tonacji C++. Wydawnictwo RM, Warszawa, 2005 Jerzy Grębosz Symfonia C++. Oficyna Kallimach, Kraków, 2010 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/C++ Jednostki składniowe

W języku C/C++ tworzenie programu odbywa się w dwóch etapach: - opracowanie kodu źródłowego - generowanie kodu wynikowego. Przed rozpoczęciem opracowywania kodu źródłowego należy obmyślić algorytm rozwiązania postawionego zadania. Algorytm to sposób rozwiązania pewnej klasy zadań Opracowanie kodu źródłowego czyli tzw. kodowanie to zapis wcześniej obmyślonego algorytmu w języku programowania - w naszym przypadku jest nim język C/C++. Kod wynikowy generuje 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 przedstawia schematycznie przebieg procesu tworzenia kodu wynikowego pewnego programu.

Charakterystyczną cechą języka C/C++ jak i wielu innych języków programowania jest możliwość budowy programu z wielu modułów. Modułem w języku C/C++ może być każdy plik zawierający poprawny kod źródłowy. Program w języku C/C++ buduje się z funkcji. Każda funkcja może (ale nie musi) posiadać parametry i może, ale nie musi reprezentować wartość określonego typu. 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 tej funkcji głównej system rozpoczyna wykonywanie programu. Moduł, który zawiera tą funkcję nazywa się modułem głównym.

Najprostszy, poprawny program w C/C++ może mieć postać: void main(void) { } Program ten składa się z bezparametrowej funkcji main. Funkcja ta nie reprezentuje żadnej wartości - powiadamy że nie "zwraca" do systemu operacyjnego żadnej wartości. Wewnątrz nawiasów klamrowych znajduje się blok, który zawiera definicję funkcji. Definicję funkcji często nazywa się jej ciałem. 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 na ekranie monitora napis (komunikat) treści: Witaj w świecie C++ oraz zakończy działanie. 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. jest identyfikatorem zupełnie innego elementu programu niż yuma_15_10 Nazwa 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.