Commit 8e6c0038 by Patryk Czarnik

Zajęcia 9 stycznia - funkcje

parent 74965f94
#include <iostream>
/* Trochę teorii...
* Funkcje to są fragmenty programu (albo, jak ktoś woli, takie "małe programy"),
* którym nadajemy nazwę i których używamy ("wywołujemy" / invoke) w innym miejscu.
* Używając funkcji możemy nadać programom ładną strukturę, podzielić je na logiczne części...
* Profesjonalne programowanie polega właśnie głównie na tworzeniu funkcji.
* (Pojęcia bliskoznaczne, które też możecie casem usłyszeć: procedura, metoda, podprogram)
* Definicja funkcji w C i C++ wygląda tak:
TYP_WYNIKU NAZWA_FUNKCJI(PARAMETRY) {
TREŚĆ FUNKCJI / INSTRUKCJE;
}
Jeśli funkcja "zwraca wynik" (za pomocą return), to TYPEM_WYNIKU jest
int, double, std::string lub każdy inny normalny typ.
Jeśli funkcja nie zwraca wyniku, to jej TYPEM_WYNIKU jest void.
*/
/* Funkcja typu void, czyli po prostu zapamiętany fragment kodu: */
void aaa() {
std::cout << "Aaa, kotki dwa\n";
std::cout << "Szarobure obydwa\n";
}
/* Samo zdefiniowanie funkcji jeszcze jej nie uruchamia.
* Trzeba ją wywołać (bezpośrednio albo pośrednio) w main - zobaczysz to poniżej.
*/
/* Funkcja z parametrami: */
void wypisz(std::string napis, int ile_razy) {
for(int i = 0; i < ile_razy; i++) {
std::cout << napis << '\n';
}
}
/* Funkcje zwracające wynik: */
int ostatnia_cyfra(int liczba) {
return liczba % 10;
}
/* main też jest funkcją, ale taką specjalną,
* która jest automatycznie wywoływana, gdy uruchamiamy program. */
int main()
{
std::cout << "Początek main\n";
std::cout << "Kołysanka 2 razy:\n";
// wywołanie funkcji - zwróć uwagę na nawiasy - są potrzebne nawet gdy nie ma parametrów
aaa();
aaa();
std::cout << "\nZaraz coś wypiszemy\n";
// wywołania z parametrami:
wypisz("Ala ma kota", 5);
wypisz("Ola ma psa", 2);
std::cout << "\nTeraz wywołam ostatnia_cyfra(13)...\n";
// Uwaga - samo wywołanie funkcji jeszcze nie wyświetla jej wyniku!
ostatnia_cyfra(13);
// Wynik trzeba "odebrać", np. zapisać go do zmiennej.
std::cout << "Teraz wywołam ostatnia_cyfra(17) i odbiorę wynik...\n";
int wynik;
wynik = ostatnia_cyfra(17);
std::cout << "OK, ostatnią cyfrą jest " << wynik << '\n';
std::cout << "\nTeraz wywołam ostatnia_cyfra(144) i odbiorę wynik...\n";
wynik = ostatnia_cyfra(144);
std::cout << "OK, ostatnią cyfrą jest " << wynik << '\n';
// Można też bezpośrednio wypisać wynik funkcji bez użycia zmiennej.
std::cout << "A teraz bezpośrednio tu: " << ostatnia_cyfra(351) << '\n';
std::cout << "Koniec main\n";
return 0;
}
#include <iostream>
using namespace std;
int kwadrat(int x) {
return x*x;
}
// napiszcie "szescian", czyli trzecią potęgę
int szescian(int x) {
return x*x*x;
}
int ostatnia_cyfra(int liczba) {
return liczba % 10;
}
// napisz funkcję, która oblicza sumę wszystkich cyfr podanej liczby
// np dla 1024 wynikiem jest 7
int suma_cyfr(int liczba) {
int suma = 0;
while(liczba != 0) {
suma += liczba % 10;
liczba = liczba / 10; // albo liczba /= 10;
}
return suma;
}
int main() {
cout << "Aby zakończyć ten program, naciśnij Ctrl+C...\n";
int liczba;
while(true) {
cout << "Podaj liczbę: " << flush;
cin >> liczba;
cout << liczba << "² = " << kwadrat(liczba) << "\n";
cout << liczba << "³ = " << szescian(liczba) << "\n";
cout << "ostatnia cyfra: " << ostatnia_cyfra(liczba) << "\n";
cout << "suma cyfr: " << suma_cyfr(liczba) << "\n";
}
return 0;
}
// https://etherpad.wikimedia.org/p/alx-kody
#include <iostream>
using namespace std;
/* Napisz funkcję przedstaw_sie, która:
przyjmuje 3 parametry w nawiasach: imie, wiek, miasto
a następnie wypisuje na ekran tekst taki jak:
Nazywam się Ala, mam 15 lat i jestem z miasta Lublin.
Wpisz do main jedno lub kilka przykładowych wywołań.
*/
void przedstaw_sie(string imie, int wiek, string miasto) {
cout << "Nazywam się " << imie
<< ", mam " << wiek
<< " lat i jestem z miasta " << miasto << ".\n";
}
int main() {
przedstaw_sie("Ala", 15, "Lublin");
przedstaw_sie("Krystyna", 55, "Bydgoszcz");
return 0;
}
#include <iostream>
using namespace std;
void przedstaw_sie(string imie, int wiek, string miasto) {
cout << "Nazywam się " << imie
<< ", mam " << wiek
<< " lat i jestem z miasta " << miasto << ".\n";
}
int main() {
string imie, miejscowosc;
int wiek;
cout << "Jak masz na imię? " << flush;
cin >> imie;
cout << "Ile masz lat? " << flush;
cin >> wiek;
cout << "Skąd jesteś? " << flush;
cin >> miejscowosc;
// do funkcji można przekazać wartości zmiennych ustawionych w programie
przedstaw_sie(imie, wiek, miejscowosc);
return 0;
}
#include <iostream>
using namespace std;
void witaj(string imie) {
cout << "Witaj " << imie << "!\n";
}
int main() {
witaj("Ala");
witaj("Ola");
witaj("Patryk");
witaj("Tomek");
return 0;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment