Programowanie komputerowe. Zajęcia 4

Podobne dokumenty
Programowanie komputerowe. Zajęcia 3

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

Programowanie komputerowe. Zajęcia 2

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40

DYNAMICZNE PRZYDZIELANIE PAMIECI

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

Programowanie komputerowe. Zajęcia 5

Programowanie komputerowe. Zajęcia 1

Wskaźniki w C. Anna Gogolińska

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

ZASADY PROGRAMOWANIA KOMPUTERÓW

Zasady programowania Dokumentacja

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Laboratorium nr 9. Temat: Wskaźniki, referencje, dynamiczny przydział pamięci, tablice dynamiczne. Zakres laboratorium:

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 5

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

Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady

Podstawy programowania w języku C++

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

Podstawy informatyki. Elektrotechnika I rok. Język C++ Operacje na danych - wskaźniki Instrukcja do ćwiczenia

1 Wskaźniki. 1.1 Główne zastosowania wskaźników

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

> C++ wskaźniki. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki 26 kwietnia 2017

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

C++ wprowadzanie zmiennych

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

Wstęp do programowania, część II

Wskaźniki. Przemysław Gawroński D-10, p marca Wykład 2. (Wykład 2) Wskaźniki 8 marca / 17

Wskaźnik może wskazywać na jakąś zmienną, strukturę, tablicę a nawet funkcję. Oto podstawowe operatory niezbędne do operowania wskaźnikami:

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

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

STL: Lekcja 1&2. Filozofia STL

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

Wstęp do wskaźników w języku ANSI C

1 Podstawy c++ w pigułce.

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Ćwiczenie 7 z Podstaw programowania. Język C++, programy pisane w nieobiektowym stylu programowania. Zofia Kruczkiewicz

Lab 9 Podstawy Programowania

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Podstawy Programowania C++

2 Przygotował: mgr inż. Maciej Lasota

1 Podstawy c++ w pigułce.

Microsoft IT Academy kurs programowania

Podstawy programowania w języku C

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Języki programowania obiektowego Nieobiektowe elementy języka C++

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

KURS C/C++ WYKŁAD 6. Wskaźniki

Zajęcia 4 procedury i funkcje

Wskaźniki. Informatyka

XV. Wskaźniki Odczytywanie adresu pamięci istniejących zmiennych Wskaźniki pierwsze spojrzenie.

Programowanie obiektowe - Przykładowe zadania egzaminacyjne (2005/2006)

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)

ISO/ANSI C - funkcje. Funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje. ISO/ANSI C - funkcje

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

Materiał uzupełniający do ćwiczen z przedmiotu: Programowanie w C ++ - ćwiczenia na wskaźnikach

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Tablice, funkcje - wprowadzenie

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

Wykład nr 3. Temat: Wskaźniki i referencje. Edward Morgan Forster

Podstawy informatyki. Informatyka stosowana - studia niestacjonarne. Grzegorz Smyk. Wydział Inżynierii Metali i Informatyki Przemysłowej

Podstawy programowania w języku C++

Oczywiście plik musi mieć rozszerzenie *.php

Wskaźniki. nie są konieczne, ale dają językowi siłę i elastyczność są języki w których nie używa się wskaźników typ wskaźnikowy typ pochodny:

Wstęp do programowania. Wykład 1

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

// Liczy srednie w wierszach i kolumnach tablicy "dwuwymiarowej" // Elementy tablicy są generowane losowo #include <stdio.h> #include <stdlib.

Podstawy Programowania.

Wstęp do informatyki- wykład 11 Funkcje

Techniki Programowania wskaźniki

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

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

Wstęp do informatyki- wykład 9 Funkcje

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Pytania sprawdzające wiedzę z programowania C++

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

IMIĘ i NAZWISKO: Pytania i (przykładowe) Odpowiedzi

Techniki Programowania wskaźniki 2

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

Podstawy Programowania

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

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

Języki programowania. Przetwarzanie tablic znaków. Część druga. Autorzy Tomasz Xięski Roman Simiński

4. Funkcje. Przykłady

Pętla for. Wynik działania programu:

Java Podstawy. Michał Bereta

Podstawy programowania

Podstawy i języki programowania

W 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.

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

Proste programy w C++ zadania

Wykład 1: Wskaźniki i zmienne dynamiczne

Podstawy algorytmiki i programowania - wykład 1 Tablice powtórzenie Tablice znaków Tablice dwuwymiarowe

Część 4 życie programu

Program 14. #include <iostream> #include <ctime> using namespace std;

Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Transkrypt:

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 całkowitych (int) lub znakowych (char). Wtedy wartość 0 jest interpretowana jako false, a każda niezerowa wartość jako true.

Wskaźniki Wskaźnik to zmienna, której wartością jest miejsce w pamięci komputera, w którym przechowywana jest wartość pewnego typu. Typ wskaźnikowy do typu T to T*. Wartością wskaźnika może być 0 (NULL), co oznacza, że wskaźnik nie wskazuje na nic. Wartość wskazywaną przez wskaźnik p uzyskujemy przez *p. Wskaźnik do zmiennej v uzyskujemy przez &v. Zastosowanie: wskazywanie tablic i obiektów tworzonych dynamicznie.

Tablice tworzone dynamicznie Jeśli potrzebujemy tablicy, której rozmiar nie jest znany w momencie kompilacji, możemy stworzyć ją dynamicznie. Przykład poniżej: Deklarujemy wskaźnik, za pomocą którego będziemy mieć dostęp do tablicy: int* p; Tworzymy tablicę przy pomocy operatora new i ustawiamy wskaźnik na jej pierwszy element. Rozmiar może być dowolnym wyrażeniem. p = new int[rozmiar]; Używamy tablicy; jej poszczególne elementy to p[0],, p[rozmiar-1] Usuwamy tablicę przy pomocy operatora delete: delete[] p;

Dostęp do tablic przy pomocy wskaźników Tablicę można utożsamiać ze wskaźnikiem wskazującym na jej pierwszy element. Dla wskaźników można używać operatorów ++,, +, -. ++ (--) powoduje przesunięcie wskaźnika o jedno miejsce w prawo (lewo). dodanie (odjęcie) liczby całkowitej powoduje przesunięcie wskaźnika o podaną liczbę miejsc w prawo (lewo). można odejmować wskaźniki jeśli wskazują na tą samą tablicę.

Wskaźniki i tablice przykład int main() { int t[5]={2,4,7,5,7}; for(int* p=t; p<t+5; p++) cout << *p << endl; } Ten program drukuje tablicę na ekranie.

Napisy w stylu C Konwencja: zapisany w tablicy ciąg znaków zakończony jest znakiem o kodzie 0, można go zapisać jako 0, NULL lub '\0' (nie mylić ze znakiem '0'). Przykład: tablica o elementach 'C' 'z' 'w' 'a' 'r' 't' 'e' 'k' '\0' 'A' '?' reprezentuje napis "Czwartek". Znaki znajdujące się po znaku '\0' nie są istotne. Dzięki temu, że 0 kończy napis nie ma potrzeby przekazywania jego długości. Konwencja ta dotyczy tylko tablic znaków, które reprezentują napis.

Przykłady funkcji Funkcja zwracająca długość napisu: int dlugosc(char* s) { int i; for(i=0; s[i]; i++); return i; } używamy konwencji, że wyrażenie typu całkowitego lub znakowego jest prawdziwe jeśli jest różne od zera jeśli ciało pętli jest puste, możemy użyć średnika zamiast {}

Jeszcze raz długość napisu int dlugosc(char* s) { char* p=s; while(*p++); return p-s-1; } Niezbyt czytelnie ale krótko. W jaki sposób działa ta funkcja?

Napisy przykład Funkcja sprawdzająca czy dwa napisy są jednakowe: bool rowne(char* s, char* t) { int i=0; while(s[i]==t[i]) { if(s[i]==0) return true; i++; } return false; }

Zadania 1. Napisać program drukujący liczby pierwsze nie większe niż parametr podany przy użytkownika. Wykorzystać sito Eratostenesa. 2. Napisać funkcję bool czyrosnaca(int* t, int n) która zwraca true jeśli ciąg elementów tablicy t o długości n jest ściśle rosnący. 3. Napisać funkcję bool powtorzenia(int* t, int n) która zwraca true jeśli pewien element tablicy się powtarza.

Zadania (2) 4. Napisać funkcję int nwd(int* t, int n) która zwraca największy wspólny dzielnik elementów tablicy t. Wskazówka: wykorzystać funkcję z poprzednich zajęć. 5. Napisać funkcję double srednia(int* t, int n) która liczy średnią arytmetyczną elementów tablicy. 6. Napisać funkcję double odchylenie(int* t, int n) która liczy odchylenie standardowe elementów tablicy.

Zadania (3) 7. Napisać funkcję double mediana(int* t, int n) która liczy medianę elementów tablicy. 8. Napisać funkcję int wystapienia(char* s, char c) która zwraca liczbę wystąpień znaku c w napisie s. 9. Napisać funkcję void drukujwspak(char* s) która drukuje napis od ostatniego znaku do pierwszego. 10. Napisać funkcję int znajdz(char* s, char* t) która zwraca indeks pierwszego wystąpienia napisu t w s (lub -1 jeśli nie ma).