Docsity
Docsity

Przygotuj się do egzaminów
Przygotuj się do egzaminów

Studiuj dzięki licznym zasobom udostępnionym na Docsity


Otrzymaj punkty, aby pobrać
Otrzymaj punkty, aby pobrać

Zdobywaj punkty, pomagając innym studentom lub wykup je w ramach planu Premium


Informacje i wskazówki
Informacje i wskazówki

Metody programowania - Notatki - Programowanie, Notatki z Informatyka

Informatyka: notatki z zakresu programowania dotyczące metod programowania.

Typologia: Notatki

2012/2013

Załadowany 12.04.2013

Norbert_88
Norbert_88 🇵🇱

4.5

(30)

322 dokumenty

Podgląd częściowego tekstu

Pobierz Metody programowania - Notatki - Programowanie i więcej Notatki w PDF z Informatyka tylko na Docsity! Pierwszy program w C (1) 1. Uruchom program Dev-C++ (C:\Dev-Cpp\devcpp.exe) 2. Utwórz nowy projekt – menu File\New\Project... 3. Wybierz opcje „C Project”, „Console Application” i wpisz nazwę projektu. Pierwszy program w C (2) 4. Zapisz projekt na dysku. 5. Napisz program: 6. Wybierz z menu opcje Execute\Compile & Run lub naciśnij F9. 7. Zapisz program pod zaproponowaną nazwą. Najczęściej używane operatory (2) Operator Znaczenie Przykład Operatory relacyjne = = Równy if(x= =10) {...} != Różny od if(x!=10) {...} < Mniejszy od if(x<10) {...} > Większy od if(x>10) {...} <= Mniejszy lub równy if(x<=10) {...} >= Większy lub równy if(x=>10) {...} Operatory logiczne && Iloczyn logiczny (koniunkcja) if(x&&0xFF) {...} || Suma logiczna (alternatywa) if(x||0xFF) {...} Najczęściej używane operatory (3) Operator Znaczenie Przykład Operatory jednoargumentowe * Wyłuskanie (dereferencja) int x = *y & Adres obiektu (referencja) int* x = &y ~ Negacja bitowa x= ~0x02 ! Negacja logiczna if(!valid){...} ++ Inkrementacja x++; -- Dekrementacja x--; Instrukcje warunkowe (1) Składnia instrukcji warunkowych if: 1. if(warunek) {blok instrukcji} 2. if(warunek) {blok instrukcji} else {alternatywny blok instrukcji} 3. if(warunek 1) {blok instrukcji 1} else if(warunek 2) {blok instrukcji 2} else{alternatywny blok instrukcji} Instrukcje warunkowe (4) Przykład 2 Przepisz i uruchom poniższy program: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int x; printf("Podaj liczbe calkowita: "); scanf("%d", &x); switch (x){ case 1: printf("Wpisano 1\n"); break; case 2: printf("Wpisano 2\n"); break; case 1000: printf("Wpisano 3\n"); break; default: printf("Wpisano liczbe rozna od 1,2,1000\n"); } system("PAUSE"); return 0; } Pętle (1) Pętla for for(poczatek; koniec; przyrost) { instrukcje } Przykład: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i; for (i = 1; i<10; i++){ printf("%d. wykonanie instrukcji w petli\n", i); } system("PAUSE"); return 0; } Pętle (2) Pętla while while(warunek) { instrukcje } #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i = 1; while(i<10){ printf("%d. wykonanie instrukcji w petli\n", i); i++; } system("PAUSE"); return 0; } Pętle (5) Zadanie 1. Napisz program wykorzystujący pętle wypisujący kolejno wartości 21, 22, 23, ..., 220. Zadanie 2. Napisz program wypisujący wartości funkcji sin i cos w przedziale od 0 do 360 stopni z krokiem 45 stopni. Wskazówki: • Funkcje sin() i cos() przyjmują argumenty w radianach. • Wartość liczby pi można obliczyć np. jako 4.0*atan(1.0). Instrukcja break (1) Instrukcja break użyta wewnątrz pętli powoduje wyjście z najbardziej zagnieżdżonej pętli. Przykład: #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i, l; for (i = 0; i < 10; i ++) { scanf("%d", &l); if (l < 0) break; printf("l = %d\n", l); } system("PAUSE"); return 0; } Instrukcja break (2) Instrukcja break użyta w instrukcji switch powoduje wyjście z tej instrukcji. #include <stdio.h> #include <stdlib.h> int main(int argc, char *argv[]) { int i; scanf("%d",&i); switch (i) { case 1: case 2: printf("1 lub 2\n"); break; default : printf("Inne\n"); break; } system("PAUSE"); return 0; } Czas istnienia i zasięg widoczności (2) - zmienne lokalne można deklarować w trzech klasach pamięci: auto, static i register, - zmienne automatyczne (klasy auto) tworzone na stosie w momencie rozpoczęcia wykonywania bloku, a usuwane natychmiast po zakończeniu wykonywania bloku, - zmienne automatyczne nie zachowują wartości pomiędzy poszczególnymi wykonaniami bloku, - zmienne rejestrowe (klasy register) zachowują się jak zmienne automatyczne, ale są przechowywane w rejestrach procesora lub w szybkiej pamięci, a nie na stosie. Czas dostępu do takiej zmiennej jest krótszy niż do zmiennej automatycznej, - zmienne rejestrowe nie posiadają adresu, nie można dla nich używać operatora &, - zmienne statyczne (klasy static) przechowywane są w obszarze pamięci programu. Są tworzone w momencie tworzenia programu, a kasowane w momencie jego zakończenia, - zmienne statyczne nie zmieniają wartości między kolejnymi wykonaniami bloku, - pamięć, w której umieszczane są zmienne automatyczne i rejestrowe ma zawsze przypadkową wartość, - pamięć, w której umieszczane są zmienne statyczne jest zerowana przed uruchomieniem programu. Czas istnienia i zasięg widoczności (3) Zmienne globalne są deklarowane poza jakimkolwiek blokiem i mogą być użyte w dowolnym miejscu w programie po ich deklaracji. Tworzone są w obszarze danych programu w momencie jego uruchomienia i usuwane w momencie zakończenia. Pamięć, w której umieszczane są zmienne globalne jest zerowana przed uruchomieniem programu. Czas istnienia i zasięg widoczności (4) REGUŁA PRZESŁANIANIA - Zasięgiem zmiennych lokalnych jest blok, w którym są zadeklarowane, - Zasięgiem zmiennych globalnych jest część pliku od miejsca deklaracji do końca pliku, - Jeśli w zasięgu zmiennej zostanie zadeklarowana zmienna o tej samej nazwie, to nowa zmienna staje się dostępna, a zmienna pierwotna przestaje być widoczna, czyli zostaje zasłonięta, - zmienna zasłonięta zaczyna być ponownie widoczna, gdy kończy się zasięg zmiennej zasłaniającej. Funkcje (1) Funkcja to wyróżniona część programu realizująca ściśle określone zadanie. Funkcje składają się z nagłówka i ciała. Nagłówek funkcji typ_wartsoci nazwa_funkcji(parametry_formalne) Przykłady: long silnia(int n); void drukuj(char a, int d); int fi_przelicz_harmonogram(int har_id); Parametry formalne określają wartości przekazywane do funkcji w momencie jej wywołania. Parametry można przekazywać przez wartość lub przez referencję. Przy przekazanie parametru przez wartość w momencie wywołania funkcji tworzona jest zmienna lokalna o podanej nazwie i do niej jest kopiowana wartość parametru. W momencie zakończenia wykonania funkcji zmienne związane z parametrami przestają istnieć. Zmiana wartości parametrów wewnątrz funkcji nie powoduje zmiany wartości w funkcji wywołującej. Funkcje (2) - ciało funkcji składa się z dowolnej ilości deklaracji i instrukcji, - każdy parametr musi mieć oddzielną specyfikacje typu, Przykład: long potega(int podstawa, int wykladnik){} /*dobrze*/ long potega(int podstawa, wykladnik){} /*BŁĄD!*/ - wywołanie funkcji składa się z nazwy funkcji i ewentualnych wyrażeń oddzielonych przecinakami ujętych w okrągłe nawiasy, np. potega(3,4). Na podstawie podanych wyrażeń przed wywołaniem funkcji zostają obliczone jej parametry aktualne. Funkcje (3) - ciało funkcji składa się z dowolnej ilości deklaracji i instrukcji, - każdy parametr musi mieć oddzielną specyfikacje typu, Przykład: long potega(int podstawa, int wykladnik){} /*dobrze*/ long potega(int podstawa, wykladnik){} /*BŁĄD!*/ - wywołanie funkcji składa się z nazwy funkcji i ewentualnych wyrażeń oddzielonych przecinakami ujętych w okrągłe nawiasy, np. potega(3,4). Na podstawie podanych wyrażeń przed wywołaniem funkcji zostają obliczone jej parametry aktualne. Funkcje (6) Zadanie 3. Zmodyfikuj funkcję long potega(int, int) tak, aby pokazywała poprawnie wartości liczby podniesionej do zerowej potęgi. Funkcje printf (1) Funkcja printf służy do zapisywania danych w standardowym strumieniu wyjściowym. Funkcja zwraca liczbę wyświetlonych znaków. int printf(char * Format [, wartość, ...]); Funkcja analizuje na początku pierwszy argument i na jego podstawie wypisuje kolejne wartości. Ilość wartości musi być zgodna z przekazanym formatem. Format składa sie z tekstu i informacji o koniecznych konwersjach. Informacje o konwersji zaczynają się znakiem "%". Przykłady: printf("Witaj świecie\n"); /*Witaj świecie*/ printf("20 %% 10 = 0"); /*20 % 10 = 0*/ Funkcje printf (2) Określanie konwersji: d - akceptuje parametr typu całkowitego i wykonuje konwersję do zapisu całkowitego ze znakiem, u - akceptuje parametr typu całkowitego i wykonuje konwersję do zapisu całkowitego bez znaku, o - akceptuje parametr typu całkowitego i wykonuje konwersję do zapisu całkowitego bez znaku w systemie ósemkowym, u - akceptuje parametr typu całkowitego i wykonuje konwersję do zapisu całkowitego bez znaku w sytemie szesnastkowym, f - akceptuje wartość typu float lub double i wykonuje konwersję do postaci [-]ddd.ddd, E - akceptuje wartość typu float lub double i wykonuje konwersję do postaci liczby zmienneprzecinkowej postaci [-]d.ddd+|-dd, c - akceptuje i wypisuje pojedynczy znak, s - akceptuje string (char*), p - akceptuje wskaźnik (void *) i wypisuje go w postaci szesnastkowej Przykłady: printf("%d+%d = %d\n", 5, 5, 5+5); /* 5+5 = 10 */ printf("Jestes %d. gosciem na tej stronie",234 ); /*Jestes 234. gosciem na tej stronie*/
Docsity logo


Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved