Wstęp do programowania. Dariusz Wardecki, wyk. V
|
|
- Wacław Piątkowski
- 5 lat temu
- Przeglądów:
Transkrypt
1 Wstęp do programowania Dariusz Wardecki, wyk. V
2 Tablica (ang. array) Zestaw N zmiennych tego samego typu numerowanych liczbami w zakresie od 0 do (N 1). Element tablicy Zmienna wchodzπca w sk ad tablicy, majπca przypisanπ okreúlonπ liczbí, która jπ identyfikuje. Indeks (ang. index) elmentu tablicy Liczba identyfikujπca element tablicy. D ugoúê tablicy Liczba elementów tablicy (N).
3 Rozmieszczenie elementów tablicy w pamięci W C++ zak ada sií, øe elementy tablicy bídπ zawsze rozmieszczane w pamiíci jeden obok drugiego, zgodnie z kolejnoúciπ indeksów (tzn. element o najmniejszym indeksie bídzie znajdowa sií w pamiíci w lokacji o najniøszym adresie). Nazwa tablicy Jest wykorzystywana do identyfikowania tablicy oraz wszystkich jej elementów. W programie reprezentuje adres tablicy, czyli adres jej pierwszego elementu. a[j] Element tablicy o nazwie a, któremu odpowiada indeks j (w ogólnoúci j moøe byê sta π lub dowolnie skomplikowanym wyraøeniem).
4 Deklaracja i definicja tablicy Deklaracja tablicy Okreúlenie typu danych dla elementów tablicy, nazwy oraz (nie obowiπzkowo) liczby elementów w nawiasie kwadratowym, np. int tab[100]; int liczby[]; Definicja tablicy Deklaracja tablicy, w której jest okreúlona liczba elementów. Po zdefiniowaniu tablicy kaødy jej element moøe byê wykorzystywany jako niezaleøna zmienna.
5 Przykład int tab[10];... for (int j = 0; j < 10; j++) tab[j] = 0; Uwaga! 1 Kompilator C++ nie sprawdza, czy uøywane w programach wartoúci indeksów tablic sπ w aúciwe. 2 Wartoúci te równieø nie sπ kontrolowane podczas wykonywania programu. 3 Ujemne wartoúci indeksów sπ dopuszczalne (oznaczajπ hipotetyczne elementy o adresach mniejszych od adresu pierwszego elementu).
6 Przykład dobrze sprawdzajπ sií w zastosowaniach, w których mamy do czynienia ze stosunkowo duøπ, ustalonπ liczbπ obiektów tego samego typu. Problem Wzbiorze(N + M + 1) wylosowanych liczb mamy znaleüê takπ, dlaktórej wtymzbiorzejestn liczb nie wiíkszych i M nie mniejszych od niej. Dla N = M jest to problem wyznaczania mediany ( úrodkowego elementu ) zbioru. Metoda poszukiwania rozwiπzania Ustawimy liczby w danym zbiorze w kolejnoúci rosnπcej i wybierzemy tí, która bídzie na pozycji (N + 1).
7 Algorytm sortowania tablicy 1 Zapisz kaødπ wylosowanπ liczbí winnymelemencietablicya[] o d ugoúci L = N + M Powtarzaj dla indeksów i od 0 do (L 2): 1 Wyznacz indeks j taki, øe elementtablicyotymindeksiejest najmniejszy spoúród elementów o indeksach od i do (L 1) w πcznie. 2 ZamieÒ miejscami element o indeksie i zelementemoindeksiej. 3 Po zakoòczeniu powyøszych czynnoúci tablica jest posortowana. Wyznaczanie najmniejszego elementu (krok 2.1) 1 Niech j = i. 2 Powtarzaj dla indeksów k od (i + 1) do (L 1): Jeúli a[k] < a[j], toniechj = k. 3 j jest poszukiwanym indeksem.
8 Algorytm sortowania tablicy for (int i = 0; i < L-1; i++) { // Poszukiwanie indeksu j int j = i; for (int k = i + 1; k < L; k++) if (a[k] < a[j]) j = k; } // Zamiana miejscami a[i] z a[j] if (j > i) { double m = a[j]; a[j] = a[i]; a[i] = m; }
9 Algorytm sortowania tablicy Wype nianie tablicy W powyøszym kodzie üród owym pominiíto wype nianie tablicy: srandom(time(null)); for (int i = 0; i < L; i++) a[i] = 1.0 / (1.0 + random()); Funkcja random() generuje liczby pseudolosowe w zakresie od 0 do RAND_MAX. Do tablicy wstawiane sπ liczby pseudolosowe z przedzia u (0, 1]. Wynik obliczeò Po przeprowadzeniu sortowania tablicy wystarczy wydrukowaê a[n] jako wynik.
10 Sito Eratostenesa Poszukujemy liczb pierwszych nie wiíkszych od N Niech A = {2, 3,...,N} bídzie zbiorem liczb, natomiast k i m miejscami do przechowywania poúrednich wyników. 1 Niech k = 2. 2 Jeúli k 2 > N, zbiórazawieratylkoliczbypierwsze. 3 Usuwamy z A wszystkie wielokrotnoúci k, poczπwszy od k 2. 4 W m zapisz najmniejszπ liczbπ ze zbioru A wiíkszπ od k. 5 Niech k = m. 6 Przejdü do kroku 2. Zbiór A w powyøszym algorytmie moøna zastπpiê tablicπ.
11 Sito Eratostenesa Poszukujemy liczb pierwszych nie wiíkszych od N Niech a[] bídzie tablicπ o(n + 1) elementach typu bool. 1 Niech wszystkie elementy a[j] dla j > 1 majπ wartoúê true. 2 Niech k = 2 3 Wstaw false do wszystkich elementów a[j], dla których j jest wielokrotnoúciπ k, poczπwszy od k 2. 4 Powtarzaj: k = k + 1 Jeúli k 2 > N, przejdü do kroku 5. Jeúli a[k] ma wartoúê true, przejdü do kroku 3. 5 Wydrukuj indeksy j, dlaktórychelementya[j] majπ wartoúê true.
12 Sito Eratostenesa
13 Sito Eratostenesa - usprawnione W poprzednim programie nie wykorzystujemy elementów a[0] i a[1]. Poszukujemy liczb pierwszych nie wiíkszych od N Niech a[] bídzie tablicπ o(n 1) elementach typu bool. 1 Niech wszystkie elementy a[j] majπ wartoúê true. 2 Niech k = 2 3 Wstaw false do wszystkich elementów a[j], dla których(j + 2) jest wielokrotnoúciπ k, poczπwszy od k 2. 4 Powtarzaj: k = k + 1 Jeúli k 2 > N, przejdü do kroku 5. Jeúli a[k 2] ma wartoúê true, przejdü do kroku 3. 5 Wydrukuj liczby j, dlaktórychelementya[j 2] majπ wartoúê true.
14 Sito Eratostenesa - usprawnione bool a[n-1]; int j; for (j = 0; j < N-1; j++) a[j] = true; for (int k = 2; k*k <= N; k++) if (a[k-2]) { for (j = k*k - 2; j < N-1; j += k) a[j] = false; } for (j = 0; j < N-1; j++) if (a[j]) cout << (j + 2) << endl;
15 Sito Eratostenesa - z użyciem wzorów bitowych Poszukujemy liczb pierwszych nie wiíkszych od N Niech a[] bídzie tablicπ o (N + 6)/8 elementach typu unsigned char. 1 Niech wszystkie elementy a[j] majπ wartoúê 0 (wszystkie bity sπ zerami). 2 Niech k = 2 3 Wstaw 1 do wszystkich bitów w a[] odpowiadajπcych wielokrotnoúciom k, poczπwszy od k 2. 4 Powtarzaj: k = k + 1 Jeúli k 2 > N, przejdü do kroku 5. Jeúli bit w a[] odpowiadajπcy k jest zerem, przejdü do kroku 3. 5 Wydrukuj liczby j, dlaktórychodpowiadajπce im bity w a[] sπ zerami.
16 Sito Eratostenesa - z użyciem wzorów bitowych Obserwacja Wynik wyraøenia (N + 7)/8 jest równy wynikowi dzielenia N przez 8 z zaokrgleniem w górí. Poniewaø pierwszy bit w tablicy ma odpowiadaê liczbie 2, a kaødy element zawiera 8 bitów, liczba elementów a[] musi byê równa wynikowi dzielenia (N 1) przez 8 z zaokrπgleniem w górí. LiczbÍ elementów a[] moøna obliczyê tak: (N 1 + 7)/8 =(N + 6)/8
17 Sito Eratostenesa - z użyciem wzorów bitowych Bit w a[] odpowiadajπcy liczbie k 1 Pierwszy bit odpowiada liczbie 2. 2 Kaødy element a[] odpowiada 8 bitom. 3 Indeks: i =(k 2)/8 (dzielenie z pominiíciem reszty). 4 Pozycja bitowa: b =(k 2)%8. Sprawdzanie wartoúci bitu (a[(k-2)/8] & (1 << ((k-2) % 8)) == 0 Wstawianie jedynki a[(k-2)/8] = 1 << ((k-2) % 8)
18 Sito Eratostenesa - z użyciem wzorów bitowych unsigned char a[(n+6)/8]; int j; for (j = 0; j < (N+6)/8; j++) a[j] = 0; for (int k = 2; k*k <= N; k++) if ((a[(k-2)/8] & (1 << ((k-2) % 8))) == 0) { for (j = k*k; j <= N; j += k) a[(j-2)/8] = 1 << ((j-2) % 8); } for (j = 2; j <= N; j++) if ((a[(j-2)/8] & (1 << ((j-2) % 8))) == 0) cout << j << endl;
Wstęp do programowania, część II
Wstęp do programowania, część II Rafał J. Wysocki Instytut Fizyki Teoretycznej, Wydział Fizyki UW 8 listopada 2011 Rafał J. Wysocki (rwys@fuw.edu.pl) Wstęp do programowania, część II 8 listopada 2011 1
Bardziej szczegółowoProgramowanie. Dariusz Wardecki, wyk. II. wtorek, 26 lutego 13
Programowanie Dariusz Wardecki, wyk. II Powtórzenie Co wypisze program? char x, y, z; x = '1'; y = '3'; z = x + y; cout
Bardziej szczegółowoWstęp do programowania. Dariusz Wardecki, wyk. I
Wstęp do programowania Dariusz Wardecki, wyk. I Kontakt dward@fuw.edu.pl http://www.fuw.edu.pl/~dward/wdp ul. Hoża 69, pok. 114 tel. 22 55 32 181 Zasady zaliczenia Wykład (2h/tydzień) Egzamin pisemny Test
Bardziej szczegółowoWstęp do programowania. Dariusz Wardecki, wyk. III
Wstęp do programowania Dariusz Wardecki, wyk. III Funkcje w C++ Funkcja (ang. function) Wyróøniona czíúê kodu üród owego, stanowiπca odríbnπ ca oúê, sk adajπca sií z treúci (ang. body) oraz nag ówka (ang.
Bardziej szczegółowoWstęp do programowania. Dariusz Wardecki, wyk. VI
Wstęp do programowania Dariusz Wardecki, wyk. VI Wskaźniki Wskaünik (ang. pointer) Zmienna, której wartoúciπ jest adres innej zmiennej. Deklaracja wskaünika Umieszcza sií * przy nazwie zmiennej, np.: int
Bardziej szczegółowoProgramowanie komputerowe. Zajęcia 4
Programowanie komputerowe Zajęcia 4 Typ logiczny Wartości logiczne są reprezentowane przez typ bool. Typ bool posiada tylko dwie wartości: true i false. Zamiast wartości logicznych można używać wartości
Bardziej szczegółowoPodstawowe algorytmy i ich implementacje w C. Wykład 9
Wstęp do programowania 1 Podstawowe algorytmy i ich implementacje w C Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Element minimalny i maksymalny zbioru Element minimalny
Bardziej szczegółowoWstęp do programowania. Dariusz Wardecki, wyk. X
Wstęp do programowania Dariusz Wardecki, wyk. X Na czym polega przeciążanie operatorów Zamiast podawaê nazwí metody, moøna jπ oznaczyê z pomocπ symbolu operatora. Wtedy liczba argumentów metody zaleøy
Bardziej szczegółowoPracownia komputerowa. Dariusz Wardecki, wyk. VIII
Pracownia komputerowa Dariusz Wardecki, wyk. VIII Powtórzenie Podaj wartość liczby przy następującej reprezentacji zmiennoprzecinkowej (Kc = 7) Z C C C C M M M 1 0 1 1 1 1 1 0-1.75 (dec) Rafa J. Wysocki
Bardziej szczegółowoĆwiczenie 3 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz
Ćwiczenie 3 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania Zofia Kruczkiewicz Zakres Podstawowe algorytmy przetwarzania tablic (wypełnianie, porównywanie elementów,
Bardziej szczegółowoWstęp do programowania
wykład 6 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji
Bardziej szczegółowoDYNAMICZNE PRZYDZIELANIE PAMIECI
DYNAMICZNE PRZYDZIELANIE PAMIECI Pamięć komputera, dostępna dla programu, dzieli się na cztery obszary: kod programu, dane statyczne ( np. stałe i zmienne globalne programu), dane automatyczne zmienne
Bardziej szczegółowoWstęp do programowania
wykład 7 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Losowanie liczb całkowitych Dostępne biblioteki Najprostsze losowanie liczb całkowitych można wykonać za pomocą funkcji
Bardziej szczegółowoPodstawy algorytmiki i programowania - wykład 6 Sortowanie- algorytmy
1 Podstawy algorytmiki i programowania - wykład 6 Sortowanie- algorytmy Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com
Bardziej szczegółowoInformacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
Bardziej szczegółowoWybrane algorytmy tablicowe
Wybrane algorytmy tablicowe Algorytmy i struktury danych Wykład 2. Rok akademicki: 2009/2010 Sortowanie przez wybieranie for (int i = 0; i < liczby.length - 1; i++) k = i; for (int j = i; j < liczby.length;
Bardziej szczegółowoPodstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
Bardziej szczegółowoZajęcia 4 procedury i funkcje
Zajęcia 4 procedury i funkcje 1. Napisz funkcję, która dokonuje dodania dwóch liczb przekazanych jako parametry. Następnie: zmień wartości zmiennych przekazanych jako parametry wewnątrz tej funkcji, ustaw
Bardziej szczegółowoAnaliza algorytmów zadania podstawowe
Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą
Bardziej szczegółowoAlgorytmy i struktury danych. wykład 1
Plan całego wykładu:. Pojęcie algorytmu, projektowanie wstępujące i zstępujące, rekurencja. Klasy algorytmów. Poprawność algorytmu, złożoność obliczeniowa. Wskaźniki, dynamiczne struktury danych: listy,
Bardziej szczegółowoProgramowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44
Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia
Bardziej szczegółowoPracownia komputerowa. Dariusz Wardecki, wyk. V
Pracownia komputerowa Dariusz Wardecki, wyk. V Kolokwium po długim weekendzie! www.fuw.edu.pl/~dward Kodowanie UTF-8 Bity Największa wartość Bajt 1 Bajt 2 Bajt 3 Bajt 4 7 U+007F 0xxxxxxx 11 16 21 U+07FF
Bardziej szczegółowoTypy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1
Typy złożone Struktury, pola bitowe i unie. Programowanie Proceduralne 1 Typy podstawowe Typy całkowite: char short int long Typy zmiennopozycyjne float double Modyfikatory : unsigned, signed Typ wskaźnikowy
Bardziej szczegółowoPrzeciążanie funkcji. Przykład 1: #include <iostream> using namespace std; double srednia(double n1, double n2) { return ((n1 + n2)/2.
Przeciążanie funkcji W języku C++ można stosować tę samą nazwę dla funkcji o różnej treści, pod warunkiem, że funkcje te mają różne parametry (różny jest typ lub liczba parametrów). Jest to przeciążanie
Bardziej szczegółowoINFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki
INFORMATYKA Z MERMIDONEM Programowanie Moduł 5 / Notatki Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. Realizator projektu: Opracowano w ramach projektu
Bardziej szczegółowoPracownia komputerowa. Dariusz Wardecki, wyk. VI
Pracownia komputerowa Dariusz Wardecki, wyk. VI Powtórzenie Ile wynoszą poniższe liczby w systemie dwójkowym/ dziesiętnym? 1001101 =? 77! 63 =? 111111! Arytmetyka w reprezentacji bezznakowej Mnożenie liczb
Bardziej szczegółowoProgramowanie w VB Proste algorytmy sortowania
Programowanie w VB Proste algorytmy sortowania Sortowanie bąbelkowe Algorytm sortowania bąbelkowego polega na porównywaniu par elementów leżących obok siebie i, jeśli jest to potrzebne, zmienianiu ich
Bardziej szczegółowoLiczby całkowite i rzeczywiste
Wykład 4(20 marzec 2014r.) Liczby całkowite i rzeczywiste Paulina Rogowiecka Klaudia Kamińska Adrianna Znyk 1 Spis treści: Czynniki pierwsze metoda próbnych dzieleń Pierwszość liczby naturalnej algorytmy
Bardziej szczegółowoim = (P )={b 2 R : 9a 2 P [b = (a)]} nazywamy obrazem homomorfizmu.
61 7. Wyk ad 7: Homomorfizmy pierúcieni, idea y pierúcieni. Idea y generowane przez zbiory. PierúcieÒ ilorazowy, twierdzenie o homomorfizmie. Idea y pierwsze i maksymalne. 7.1. Homomorfizmy pierúcieni,
Bardziej szczegółowoZajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()
Bardziej szczegółowoE S - uniwersum struktury stosu
Temat: Struktura stosu i kolejki Struktura danych to system relacyjny r I r i i I U,, gdzie U to uniwersum systemu, a i i - zbiór relacji (operacji na strukturze danych). Uniwersum systemu to zbiór typów
Bardziej szczegółowoTablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011
Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Załóżmy, że uprawiamy jogging i chcemy monitorować swoje postępy. W tym celu napiszemy program, który zlicza, ile czasu
Bardziej szczegółowoAlgorytm selekcji Hoare a. Łukasz Miemus
Algorytm selekcji Hoare a Łukasz Miemus 1 lutego 2006 Rozdział 1 O algorytmie 1.1 Problem Mamy tablicę A[N] różnych elementów i zmienną int K, takie że 1 K N. Oczekiwane rozwiązanie to określenie K-tego
Bardziej szczegółowoProgramowanie Proceduralne
Programowanie Proceduralne Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 1 Bożena Woźna-Szcześniak (AJD) Programowanie Proceduralne Wykład 1 1 / 59 Cel wykładów z programowania
Bardziej szczegółowoPracownia komputerowa. Dariusz Wardecki, wyk. IV
Pracownia komputerowa Dariusz Wardecki, wyk. IV Notacja szesnastkowa Zapis szesnastkowy (ang. hexadecimal notation) Dowolnπ nieujemnπ liczbí ca kowitπ moøna roz oøyê na potígi liczby 16 x = ÿ N 1 j=0 h
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Algorytmy na tablicach Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. III Jesień 2013 1 / 23 Dwadzieścia pytań Zasady 1 Osoba 1 wymyśla hasło z ustalonej
Bardziej szczegółowoPracownia komputerowa. Dariusz Wardecki, wyk. V
Pracownia komputerowa Dariusz Wardecki, wyk. V Powtórzenie Co wykona następujący skrypt? #! /bin/bash! for i in `ls /dmj/2002`! do! mkdir ~/$i! cp -r /dmj/2002/$i/obrazy ~/$i! done Zapis binarny, bity
Bardziej szczegółowo2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych
2. Tablice Tablica to struktura danych przechowująca elementy jednego typu (jednorodna). Dostęp do poszczególnych elementów składowych jest możliwy za pomocą indeksów. Rozróżniamy następujące typy tablic:
Bardziej szczegółowotablica: dane_liczbowe
TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica
Bardziej szczegółowoDariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki
Dariusz Brzeziński Politechnika Poznańska, Instytut Informatyki int getmax (int a, int b) { return (a > b? a : b); float getmax (float a, float b) { return (a > b? a : b); long getmax (long a, long b)
Bardziej szczegółowoPodstawy programowania. Wykład: 8. Wskaźniki. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 8 Wskaźniki 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania w C++ Wskaźniki 2 Podstawy Pojęcie wskaźnika Wskaźnik na zmienną danego
Bardziej szczegółowoAlgorytmy. 1. Sortowanie 2. Statki i okręty. programowanie cz.7. poniedziałek, 2 marca 2009
Algorytmy. Sortowanie 2. Statki i okręty programowanie cz. ALGORYTMY SORTUJĄCE A. Przez zamianę (bąbelkowe) B. Przez wybieranie Najpopularniejsze metody sortowania C. Przez wstawianie Przez zamianę (sortowanie
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 4 : Napisy. Tablice dwuwymiarowe. Formaty
Bardziej szczegółowoProgramowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41
Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje
Bardziej szczegółowoh pg fq ph gq f. IdentycznoúÊ:: dla kaødego obiektu B P C istnieje morfizm B 1 B
14. Wyk ad 14: Wprowadzenie do teorii kateorii: produkty, koprodukty, obiekty wolne i morizmy. Deinicja 14.1. Kateoria C sk ada sií z klasy obiektów ObpCq, oznaczanych przez A, B, C,... oraz klasy morizmów
Bardziej szczegółowoJava Podstawy. Michał Bereta
Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu
Bardziej szczegółowoDefinicja. Ciąg wejściowy: Funkcja uporządkowująca: Sortowanie polega na: a 1, a 2,, a n-1, a n. f(a 1 ) f(a 2 ) f(a n )
SORTOWANIE 1 SORTOWANIE Proces ustawiania zbioru elementów w określonym porządku. Stosuje się w celu ułatwienia późniejszego wyszukiwania elementów sortowanego zbioru. 2 Definicja Ciąg wejściowy: a 1,
Bardziej szczegółowoPoszukiwanie liniowe wśród liczb naturalnych
Poszukiwanie liniowe wśród liczb naturalnych Wiele problemów, dotyczących liczb naturalnych, można rozwiązać idąc w góręodzera(lubczasemodinnejliczby)isprawdzając,czyjuż. Przykład: (zadane reszty z dzielenia)
Bardziej szczegółowoZadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.
Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy
Bardziej szczegółowowykład IV uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C, a C++. wykład IV dr Jarosław Mederski Spis Język C++ - wstęp
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Historia C++ został zaprojektowany w 1979 przez Bjarne Stroustrupa jako rozszerzenie języka C o obiektowe mechanizmy abstrakcji danych i
Bardziej szczegółowoRozwiązanie. #include <cstdlib> #include <iostream> using namespace std;
Programowanie C++ Zadanie 1 Napisz program do obliczenia sumy i iloczynu ciągu liczb zakooczonego liczbą zero. Zakładamy, że ciąg zawiera co najmniej jedną liczbę (założenie to jest konieczne przy obliczeniu
Bardziej szczegółowoRóżności w C++ Marek Pudełko
Różności w C++ Marek Pudełko Kodowanie i reprezentacja liczb 2 Kodowanie uzupełnieniowe U1 i U2 Bity liczby numerujemy od 0 do k 1 Bitom nr j, j < k 1 przyporządkowuje się wagi w j =2 j Najstarszej pozycji
Bardziej szczegółowoWykład 1_2 Algorytmy sortowania tablic Sortowanie bąbelkowe
I. Struktury sterujące.bezpośrednie następstwo (A,B-czynności) Wykład _2 Algorytmy sortowania tablic Sortowanie bąbelkowe Elementy języka stosowanego do opisu algorytmu Elementy Poziom koncepcji Poziom
Bardziej szczegółowo> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki
> C++ dynamiczna alokacja/rezerwacja/przydział pamięci Dane: Iwona Polak iwona.polak@us.edu.pl Uniwersytet Śląski Instytut Informatyki 1429536600 > Dzisiejsze zajęcia sponsorują słówka: new oraz delete
Bardziej szczegółowoProgramowanie obiektowe 2005/2006. Laboratorium 1. Przeciążanie funkcji
Laboratorium 1 Przeciążanie funkcji W języku C++ można stosować tę samą nazwę dla funkcji o różnej treści, pod warunkiem, że funkcje te mają różne parametry (różny jest typ lub liczba parametrów). Jest
Bardziej szczegółowoWstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 4. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy Wykład 4 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Tablice Wskaźniki Adresy pamięci Operator adresu
Bardziej szczegółowoPodstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne
1 Podstawy algorytmiki i programowania - wykład 2 Tablice dwuwymiarowe cd Funkcje rekurencyjne Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion,
Bardziej szczegółowoPodstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Bardziej szczegółowoWymiar musi być wyrażeniem stałym typu całkowitego, tzn. takim, które może obliczyć kompilator. Przykłady:
5 Tablice Tablica jest zestawem obiektów (zmiennych) tego samego typu, do których można się odwołać za pomocą wspólnej nazwy. Obiekty składowe tablicy noszą nazwę elementów tablicy. Dostęp do nich jest
Bardziej szczegółowoWykład 6. Metoda eliminacji Gaussa: Eliminacja z wyborem częściowym Eliminacja z wyborem pełnym
1 Wykład 6 Metoda eliminacji Gaussa: Eliminacja z wyborem częściowym Eliminacja z wyborem pełnym ELIMINACJA GAUSSA Z WYBOREM CZĘŚCIOWYM ELEMENTÓW PODSTAWOWYCH 2 Przy pomocy klasycznego algorytmu eliminacji
Bardziej szczegółowoSzablony funkcji i szablony klas
Bogdan Kreczmer bogdan.kreczmer@pwr.wroc.pl Zakład Podstaw Cybernetyki i Robotyki Instytut Informatyki, Automatyki i Robotyki Politechnika Wrocławska Kurs: Copyright c 2011 Bogdan Kreczmer Niniejszy dokument
Bardziej szczegółowo1 Wskaźniki. 1.1 Główne zastosowania wskaźników
1 Wskaźniki Wskaźnik (ang. pointer) jest obiektem (zmienną) przechowującym adres pamięci. Definiowanie wskaźników: typ *nazwa wskaznika; np.: int *wsk na x;, double *xxx;, char *znak;. Aby można było pracować
Bardziej szczegółowoTemat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.
Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych. 1. Rodzaje pamięci używanej w programach Pamięć komputera, dostępna dla programu,
Bardziej szczegółowoInstrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.
Bardziej szczegółowo1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość
1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość 2. Poprawna definicja wskażnika b to: a) float *a, **b = &a; b) float
Bardziej szczegółowoTyp użyty w deklaracji zmiennej decyduje o rodzaju informacji, a nazwa zmiennej symbolicznie opisuje wartość.
Typy danych Aby zapisać w komputerze jakąś daną, trzeba zapamiętać trzy jej podstawowe cechy: miejsce przechowywania informacji, przechowywaną wartość, rodzaj przechowywanej wartości. Typ użyty w deklaracji
Bardziej szczegółowoZadeklarowanie tablicy przypomina analogiczną operację dla zwykłych (skalarnych) zmiennych. Może zatem wyglądać na przykład tak:
Tablice Tablice jednowymiarowe Jeżeli nasz zestaw danych składa się z wielu drobnych elementów tego samego rodzaju, jego najbardziej naturalnym ekwiwalentem w programowaniu będzie tablica. Tablica (ang.
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Podstawowe konstrukcje programistyczne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk (Wydział Fizyki) WP w. II Jesień 2013 1 / 34 Przypomnienie Programowanie imperatywne Program
Bardziej szczegółowoPętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady
Pętle i tablice. Spotkanie 3 Dr inż. Dariusz JĘDRZEJCZYK Pętle: for, while, do while Tablice Przykłady 11/26/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Pętla w największym uproszczeniu służy
Bardziej szczegółowoWstęp do programowania
wykład 8 Agata Półrola Wydział Matematyki i Informatyki UŁ semestr zimowy 2018/2019 Podprogramy Czasami wygodnie jest wyodrębnić jakiś fragment programu jako pewną odrębną całość umożliwiają to podprogramy.
Bardziej szczegółowoWiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java
Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego
Bardziej szczegółowoJęzyk C zajęcia nr 11. Funkcje
Język C zajęcia nr 11 Funkcje W języku C idea podprogramów realizowana jest wyłącznie poprzez definiowanie i wywołanie funkcji. Każda funkcja musi być przed wywołaniem zadeklarowana. Deklaracja funkcji
Bardziej szczegółowoWrocław, Wstęp do informatyki i programowania: liczby pierwsze. Wydział Matematyki Politechniki Wrocławskiej.
Wrocław, 28.11.2017 Wstęp do informatyki i programowania: liczby pierwsze Wydział Matematyki Politechniki Wrocławskiej Andrzej Giniewicz Dzisiaj na zajęciach... Zajmiemy się liczbami pierwszymi... liczby
Bardziej szczegółowoW języku C/C++ pomiędzy wskaźnikami a tablicami istnieje bardzo ścisły związek. Do onumerowania elementów w tablicy służą tzw. INDEKSY.
LEKCJA 12. Wskaźniki i tablice w C i C++. W czasie tej lekcji: 1. Dowiesz się więcej o zastosowaniu wskaźników. 2. Zrozumiesz, co mają wspólnego wskaźniki i tablice w języku C/C++. WSKAŹNIKI I TABLICE
Bardziej szczegółowoPodstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
Bardziej szczegółowoProgramowanie i struktury danych
Programowanie i struktury danych 1 / 30 STL Standard Template Library, STL (ang. = Standardowa Biblioteka Wzorców) biblioteka C++ zawierająca szablony (wzorce), które umożliwiają wielokrotne użycie. Główne
Bardziej szczegółowoInformatyka A. Algorytmy
Informatyka A Algorytmy Spis algorytmów 1 Algorytm Euklidesa....................................... 2 2 Rozszerzony algorytm Euklidesa................................ 2 3 Wyszukiwanie min w tablicy..................................
Bardziej szczegółowodo instrukcja while (wyrażenie);
Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie
Bardziej szczegółowoPoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj
Bardziej szczegółowoWstęp do programowania, część I
Wstęp do programowania, część I Rafał J. Wysocki Instytut Fizyki Teoretycznej, Wydział Fizyki UW 12 października 2011 Rafał J. Wysocki (rwys@fuw.edu.pl) Wstęp do programowania, część I 12 października
Bardziej szczegółowoC++ wprowadzanie zmiennych
C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym
Bardziej szczegółowoProgram 14. #include <iostream> #include <ctime> using namespace std;
Program 14 Napisać: * funkcję słuŝącą do losowego wypełniania tablicy liczbami całkowitymi z podanego zakresu (*). Parametrami funkcji mają być tablica, jej długość oraz dwie liczby stanowiące krańce przedziału
Bardziej szczegółowoDr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI
Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku
Bardziej szczegółowoSystemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).
Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych
Bardziej szczegółowoInformatyka I. Wykład 4. Tablice. Dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018
Informatyka I Wykład 4. Tablice. Dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Tablice Tablica uporządkowany zbiór elementów określonego typu Każdy element tablicy posiada
Bardziej szczegółowoLaboratorium nr 7 Sortowanie
Laboratorium nr 7 Sortowanie 1. Sortowanie bąbelkowe (BbS) 2. Sortowanie przez wstawianie (IS) 3. Sortowanie przez wybieranie (SS) Materiały Wyróżniamy następujące metody sortowania: 1. Przez prostą zamianę
Bardziej szczegółowoProgramowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni. Wykład 3. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2017/18 semestr letni Wykład 3 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Co to jest algorytm? Zapis algorytmów Algorytmy
Bardziej szczegółowoEGZAMIN MATURALNY Z INFORMATYKI. 10 maja 2017 POZIOM ROZSZERZONY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I
Arkusz zawiera informacje prawnie chronione do momentu rozpoczęcia egzaminu. Układ graficzny CKE 2013 KOD UZUPEŁNIA ZDAJĄCY PESEL miejsce na naklejkę EGZAMIN MATURALNY Z INFORMATYKI POZIOM ROZSZERZONY
Bardziej szczegółowoO podstawowych operacjach na tablicach. Mateusz Ziółkowski, MBiU II
Wykład Ⅴ O podstawowych operacjach na tablicach Mateusz Ziółkowski, MBiU II Czym są tablice? Tablica (ang. array) to zespół równorzędnych zmiennych, posiadających wspólną nazwę. Jego poszczególne elementy
Bardziej szczegółowo/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>
Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Wykład 5 Podstawowe techniki programownia w przykładach Janusz Szwabiński Plan wykładu: Metoda babilońska wyliczania pierwiastka Liczby pierwsze i sito Eratostenesa Metoda bisekcji
Bardziej szczegółowoAlgorytmika i programowanie. dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie
Algorytmika i programowanie dr inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Algorytmy i sposoby ich przedstawiania Algorytm - informatyczny opis planu rozwiązania zadania Sposoby
Bardziej szczegółowoAlgorytmika i programowanie. Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie
Algorytmika i programowanie Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Tablice Tablica jest zbiorem elementów tego samego typu. Każdy element jest identyfikowany (numer
Bardziej szczegółowoAlgorytmy i Struktury Danych, 2. ćwiczenia
Algorytmy i Struktury Danych, 2. ćwiczenia 2017-10-13 Spis treści 1 Optymalne sortowanie 5 ciu elementów 1 2 Sortowanie metodą Shella 2 3 Przesunięcie cykliczne tablicy 3 4 Scalanie w miejscu dla ciągów
Bardziej szczegółowoPo uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 204/205 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 2 : Drzewa BST c.d., równoważenie
Bardziej szczegółowoJęzyki programowania - podstawy
Języki programowania - podstawy Andrzej Dudek Wydział Techniczno Informatyczny W Jeleniej Górze Dudek A. Informatyka przemysłowa tendencje i wyzwania 26.10.2015 1 /24 Algorytm określony sposób rozwiązania
Bardziej szczegółowoPodstawy programowania w języku C++
Podstawy programowania w języku C++ Część dziewiąta Tablice a zmienne wskaźnikowe Wersja skrócona, tylko C++ Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Bardziej szczegółowo