SPIS TREŚCI
Lekcja 2
Zaloguj się przez konto Google, konto szkolne: https://www.onlinegdb.com/ ,
Wybierz język C++,
skopiuj i wklej poniższy kod:
SZABLON DO SKOPIOWANIA
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello World";
return 0;
}
Po wklejeniu naciśnij RUN, aby uruchomić swój pierwszy program i baw się programowaniem.
WIADOMOŚĆ
Jeżeli ktoś zrozumiał już sposób używania zmiennych w programowaniu, można uznać, że zrozumiał kwintesencję programowania.
Program wykonuje operacje na takich danych jak liczby i litery,
Do nazywania i przechowywania danych używane są konstrukcje nazywane zmiennymi,
Zmienne są jak małe fragmenty tablicy, na których można zapisywać liczby,
Liczba lub dane innego typu przechowywane w zmiennej są nazywane jej wartością.
Tak jak można zmieniać liczby zapisane na tablicy, można również zmieniać liczbę przechowywaną przez zmienną.
Wartość – zmiennej to element zapisany na wyimaginowanej tablicy.
Lekcja 3
C++
Zmienne. Pierwszy program.
Wprowadzenie cz.2
Do sprawdzenia prześlij link do pliku na dysku Google
Napisz program wyświetlający na monitorze twoje nazwisko i imię. Otwórz zadanie z poprzedniej lekcji. Przenieś informację o twoim hobby do nowej linii. (podpowiedź: "tekst \n"; lub "tekst"<<endl;)
fragment kodu programu - tego zadania nie przysyłamy do oceny:
cout<<"Justyna Kowalewska - nauczycielka 9LO Poznań"<<endl;
cout<<"Moje hobby - doskonalenie siebie i innych\n";
Wykorzystując poprzednie zadanie (otwórz kopię zadania 1) napisz program, który na ekranie wyświetli Twoją wizytówkę w postaci:
Autor: Twoje imię i nazwisko
Moje hobby:
Adres: miejscowość
Poczta: adres e-mail
Data: dzisiejsza data
-------------------
Zmień numer zadanie i projekt nazwij wizytówka - ZAD. 2 WIZYTÓWKA
Napisz program, który doda dwie liczby 5 i 7. Zmienne liczba1 i liczba2 należy zadeklarować i zainicjować. int liczba1=5; int liczba2=7;
fragment kodu programu - tego zadania nie przysyłamy do oceny::
int liczba1=5;
int liczba2=7;
int suma;
suma=liczba1+liczba2;
cout<<suma;
Zadanie: Napisz program obliczający pole kwadratu.
BŁĄD LOGICZNY – śmieci na wejściu śmieci na wyjściu
int a, polekw;
polekw=a*a;
cout<<"Podaj bok kwadratu";
cin>>a;
cout<<"Pole kwadratu = "<<polekw;
POPRAWNIE
int a, polekw;
cout<<"Podaj bok kwadratu";
cin>>a;
polekw=a*a;
cout<<"Pole kwadratu = "<<polekw;
---------------------------------------------------------------------------------
BŁĄD LOGICZNY
int a,b, suma, roznica, iloczyn, wynik;
cout<<"Wprowadź dwie liczby całkowite\n";
cin>>a;
cin>>b;
suma=a+b;
roznica=a-b;
iloczyn=a*b;
cout<<"suma "<<a<<"+"<<b<<" to "<<wynik;
cout<<"\nróżnica "<<a<<"-"<<b<<" to "<<wynik;
cout<<"\niloczyn"<<a<<"*"<<b<<" to "<<wynik;
cout<<"\nKoniec";
POPRAWNIE
int a,b, suma, roznica, iloczyn;
cout<<"Wprowadź dwie liczby całkowite\n";
cin>>a;
cin>>b;
suma=a+b;
roznica=a-b;
iloczyn=a*b;
cout<<"suma "<<a<<"+"<<b<<" to "<<suma;
cout<<"\nróżnica "<<a<<"-"<<b<<" to "<<roznica;
cout<<"\niloczyn"<<a<<"*"<<b<<" to "<<iloczyn;
cout<<"\nKoniec";
a==b sprawdza czy wartość zmiennej a jest równa wartości zmiennej b,
a!=b sprawdza czy a jest różne od b,
a<=b sprawdza czy a jest mniejsze lub równe b,
a>=b sprawdza czy a jest większe lub równe b,
Na dysku aplikacji https://www.onlinegdb.com/ utwórz folder
02 ALOGYTMY LINIOWE
Wszystkie wykonane zadania umieść w tym folderze
UWAGA!
W NAZWACH ZMIENNEJ NIE UŻYWAMY POLSKICH ZNAKÓW!
Gdy zmienna składa się z dwóch wyrazów piszemy je razem lub używamy podkreślnika: np. zamiast pole kola piszemy polekola lub pole_kola,
gdy używamy liczb zmiennoprzecinkowych (z przecinkiem) zamiast przecinka UŻYWAMY KROPKI, czyli 3.14 zamiast 3,14.
Napisz program, który doda dwie liczby całkowite wprowadzone z klawiatury.
fragment kodu programu - tego zadania nie przysyłamy do oceny::
int a, b, suma;
cin>>a>>b;
suma=a+b;
cout<<suma;
Napisać jeden program, który dla dwóch wprowadzonych z klawiatury liczb obliczy ich sumę, różnicę i iloczyn. (nie wykonujemy dzielenia).
Napisz jeden program, który dla podanych z klawiatury długości boków i promienia oblicza pole kwadratu, prostokąta i koła. Program powinien wyświetlić na ekranie komunikat „Podaj bok kwadratu” i czekać na wpisanie z klawiatury odpowiedniej wartości, a następnie obliczyć pole i wyświetlić wynik na ekranie. Następnie tę operację powtórzyć dla 2 kolejnych figur.
-------------------------------------------------------------
Wskazówki do zadania 3:
Wartość pola koła będzie ułamkiem, więc typ tej zmiennej też musi być zmiennoprzecinkowy double lub float, a nie int. Typ int odrzuca cyfry po przecinku i wyświetla tylko całkowite.
Deklaracja
double pole_kola;
Obliczając pole koła jako Pi wpisz 3.14 (z kropką) np. pole_kola = 3.14*r*r;
-------------------------------------------------------------
program prosi o podanie całkowitej liczby, a następnie wyświetla na ekranie powiększoną dwa razy,
oblicz objętość walca o promieniu r i wysokości h; r i h podaje użytkownik.
-------------------------------------------------------------
Wskazówki do zadania 5:
Możemy dodać bibliotekę #include <math.h> i korzystać ze stałej Pi wpisując M_PI
cout << "Wartość liczby 'pi' wynosi: " << M_PI << endl;
objętosc_walca=M_PI*r*r;
-------------------------------------------------------------
liczący a procent z liczby b,
liczący kwadrat różnicy dwóch liczb
-------------------------------------------------------------
Wskazówki do zadania 7:
Do potęgowania używamy funkcji pow(a,b), gdzie a to podstawa, b to wykładnik. Aby używać funkcji pow należy dodać bibliotekę #include<cmath>
np. 2 do potęgi 3
wynik=pow(2,3);
lub bez użycia dodatkowej biblioteki i funkcji możemy mnożyć
wynik = 2*2*2;
-------------------------------------------------------------
przeliczający temperaturę w stopniach Celsjusza na temperaturę w stopniach Klewina.
obliczający rezystancję jeżeli znane jest napięcie i natężenie prądu.
obliczający okres drgań jeżeli znana jest częstotliwość drgań.
obliczający wysokość spadku jeżeli znany jest czas spadku,
przeliczający jednostki wyrażone w km/h na m/s.
liczący różnice kwadratów dwóch liczb,
obliczający gęstość ciała,
obliczający pole kuli,
liczący deltę równania kwadratowego
obliczający kwadrat różnicy dwóch liczb,
liczący zmianę Euro na złoty,
liczący pole koła,
obliczający pole trapezu,
Jaś ma urodziny. W jego szkole jest zwyczaj, że na jednej z lekcji Jaś będzie musiał poczęstować cukierkami swoich kolegów i koleżanki z klasy. Każdy z obdarowanych ma dostać taką samą ilość słodyczy, oprócz Jasia, który nie je cukierków w szkole oraz nauczycielki. Cukierków nie można dzielić na kawałki. Wszystkie, które zostaną po rozdaniu wśród kolegów pozostają dla Jasia. Mama Jasia kupiła już pewną ilość cukierków. Napisz program, który zapyta, ile uczniów liczy klasa Jasia i ile cukierków kupiła mama, a następnie obliczy i wyświetli komunikat, po ile cukierków Jaś ma rozdać i ile zostanie dla niego.
W algorytmie z warunkami (nazywanymi też algorytmami z rozgałęzieniami) może nastąpić kilka alternatywnych ciągów działań. Wybór jednego z nich następuje w zależności od spełnienia (bądź niespełnienia) warunku.
Dzieje się tak w przypadku napotkania instrukcji warunkowej. Wówczas wykonywana jest jedna instrukcja, gdy owe założenie zostanie spełnione lub inna w przypadku przeciwnym. W ten sposób algorytm rozgałęzia się.
Przykładem algorytmu rozgałęzionego może być dowolny zestaw poleceń, w którym dane wejściowe kształtują jego przebieg. W zależności od nich algorytm może podążać różnymi ścieżkami.
Jednym z najprostszych przykładów jest algorytm liczący wartość maksymalną z dwóch liczb. Tutaj rozgałęzia się on sprawdzając, która z podanych wartości jest większa. W zależności od tego przypisuje miano największej odpowiedniej z nich.
IF (WARUNEK)... ELSE...
1 INSTRUKCJA WARUNKOWA PROSTA
ZADANIA
PROBLEM
Algorytm warunkowy – wyznaczanie większej liczby z dwóch danych.
SPECYFIKACJA
Dane wejściowe: dwie liczby a, b ∈ R, a różne od b.
Dane wyjściowe: liczba max ∈R, będąca największą (a chyba raczej większą) z tych liczb.
SCHEMAT BLOKOWY
LISTA KROKÓW
1. Start
2. Wczytaj a, b
3. Jeśli a>b to max⟵a, w przeciwnym razie max⟵b
4. Wypisz max
5. Koniec.
Na dysku aplikacji https://www.onlinegdb.com/ utwórz folder
02 INSTRUKCJE WARUNKOWE
Wszystkie wykonane zadania umieść w tym folderze
JĘZYK PROGRAMOWANIA C++
PRZYKŁAD : Program, który sprawdza, czy liczba jest większa od 100
IF (WARUNEK) ... ELSE IF(WARUNEK) ... ELSE...
2 INSTRUKCJA WARUNKOWA ZŁOŻONA
PRZYKŁADY
Idealna temperatura (link dla uczniów)
Podaj wiek (link dla uczniów)
sprawdza, czy podana liczba jest ujemna i wyświetla odpowiedni komunikat. (link dla uczniów)
podająca czy dana liczba jest parzysta czy nieparzysta, (link dla uczniów)
WSKAZÓWKA! Sprawdzamy resztę z dzielenia, wykorzystujemy modulo %, jeśli jest zerem to liczba jest parzysta np. 5%2=1 (5 jest nieparzysta, bo reszta jest równa 1), 4%2=0 (4 jest parzysta, bo reszta to 0)
a%2==0.
Zadania dla uczniów.
Napisz program:
określający czy dwie podane liczby są równe.
Oblicz wartość bezwzględną dowolnej liczby.
podająca czy dana liczba jest podzielna przez 7. Patrz wyżej przykład 4.
sprawdza, czy pole prostokąta o podanych bokach jest większe od 100 i wyświetla odpowiedni komunikat.
sprawdza, czy równanie kwadratowe o podanych współczynnikach ma rozwiązanie.
sprawdzający czy trzy boki trójkąta mogą być trójkątem prostokątnym,
podaje, ile rozwiązań ma dane równanie kwadratowe o podanych współczynnikach.
PROBLEM
Algorytm warunkowy - Podaje ile jest rozwiązań równania kwadratowego.
SPECYFIKACJA
DANE WEJŚCIOWE: a,b,c ∊ R, (zał. a≠0)
DANE WYJŚCIOWE: inf. “Brak rozwiązań”; “Jedno rozwiązanie”; “Dwa rozwiązania”
Zabezpieczyć program z zadania 10. Jeśli użytkownik jako współczynnik a poda liczbę 0, to wyświetla komunikat “To nie jest równanie kwadratowe, współczynnik a nie może być zerem.
Wykonuje dzielenie dwóch liczb. Jeśli mianownik jest równy 0 – wyświetla komunikat „dzielenie przez zero!”, w przeciwnym wypadku wyświetla wynik dzielenia
Wczytuje dwie liczby wypisuje je w kolejności malejącej. Jeśli są równe, wyświetla komunikat „liczby są równe”.
--------------------------------------------------------
/*FUNKCJA sqrt*/
#include <iostream>
#include <cmath> // dodaj tę bibliotekę
using namespace std;
int main()
{
cout<<sqrt(25);
return 0;
}
--------------------------------------------------------
/*PIERWIASTEK Z DELTY*/
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a, b, c, delta;
cin>>a>>b>>c;
delta=b*b-4*a*c;
cout<<sqrt(delta);
return 0;
}
Podaje rozwiązania równania kwadratowego o podanych współczynnikach.
Prosi o podanie wieku użytkownika i wyświetla informację, czy jest pełnoletni czy nie.
Obliczysz pole dowolnego trójkąta. (skorzystaj ze wzoru Herona). Dodaj bibliotekę #include <cmath> i skorzystaj z funkcji sqrt (obliczanie pierwiastka)
Sprawdzający czy podane 2-e liczby - para liczb jako punkt wykresu, leżą na wykresie funkcji y=x2-16.
Na dysku aplikacji https://www.onlinegdb.com/ utwórz folder
02 ALOGYTMY ITERACYJNE
Wszystkie wykonane zadania umieść w tym folderze
Wprowadzenie przykłady z życia
Iteracja to czynność powtarzania tej samej instrukcji lub wielu instrukcji w pętli. Mianem iteracji określa się także operacje wykonywane wewnątrz takiej pętli.
Załóżmy, że mamy narysować na piasku kwadrat. Możemy więc wykonać poniższe czynności:
narysuj linię długości 4 metrów i obróć się w prawo o 90 stopni,
narysuj linię długości 4 metrów i obróć się w prawo o 90 stopni,
narysuj linię długości 4 metrów i obróć się w prawo o 90 stopni
narysuj linię długości 4 metrów i obróć się w prawo o 90 stopni,
Można powyższe czynności zapisać jednak znacznie krócej, np.
narysuj linię długości 4 metrów i obróć się w prawo o 90 stopni,
powyższą czynność powtórz jeszcze 3 razy.
Efektem realizacji obu algorytmów będzie narysowany kwadrat, ale zapis drugiego algorytmu jest znacznie krótszy od zapisu pierwszego algorytmu.
i++ oznacza to samo co i=i+1 - zwiększanie o 1 wartości zmiennej i,
i-- oznacza to samo co i=i-1 - zmniejszanie o 1 wartości zmiennej i,
i=i+3 zwiększanie zmiennej i o 3,
<<endl; lub "test\n" - wyświetla w pionie, przejście do nowej linii
<<", "; gdy chcemy wyświetlić po przecinku w poziomie
PRZYKLADOWE ZADANIA
Wypisuje liczby od 1 do 10 włącznie (LINK dla uczniów)
Wypisz poziomo liczby od 1 do 20. (LINK dla uczniów)
Wypisuje liczby od 50 do 33 malejąco. (LINK dla uczniow)
pętla się nie wykona (bład logiczny i=1;i>=10;i++) (LINK dla uczniów)
pętla bez końca (bład logiczny i=1;i>= -10;i++) (LINK dla uczniów)
Wypisz liczby od 1 do 20. W miejsce liczby parzystej wypisz tekst "PARZYSTA" (LINK dla uczniów)
Użytkownik podaje liczbę, a program wyświetlę kwadraty kolejnych liczb naturalnych.(LINK dla uczniów) LINK
Petla warunkowa (LINK dla uczniów)
Pętla zaporowa (LINK dla uczniów)
Zgadnij ile mam lat z zabezpieczeniem, gdy poda ktoś liczbę ujemną. (link dla uczniów)
ZADANIA DO SAMODZIELNEGO WYKONANIA
ZADANIE
Wypisz na ekranie 5 razy pionowo swoje imię.
------------------------------
WSKAZÓWKA - Jak wprowadzać tekst do zmiennej:
#include <iostream>
#include <string> //(trzeba dodać bibliotekę!)
using namespace std;
int main()
{
string imie; //zmienna typu string - ciąg znaków
cout<<"Jak masz na imię? ";
cin>>imie;
cout<<"Twoje imię to: "<<imie;
return 0;
}
------------------------------
ZADANIE
Napisz program drukujący na ekranie 19 gwiazdek: *******************
ZADANIE
Wypisz na monitorze liczby od 1 do 50 co trzecią. Czyli 1, 4, 7, 10 itd.
ZADANIE
Napisz program wyświetlający liczby całkowite z przedziału <1,y> (wartość y podaje użytkownik)
ZADANIE
Napisz program wyświetlający liczby całkowite z przedziału <x,y> (wartości x i y podaje użytkownik)
ZADANIE
Program prosi:
podaj imię (zastosuj zmienną string)
Ile razy mam wyświetlić swoje imię?
Użytkownik podaje Justyna oraz 4 i na ekranie wyświetla się
Justyna
Justyna
Justyna
Justyna
ZADANIE
Program wypisuje dziesięć największych całkowitych liczb ujemnych.
Podpowiedź i=i -1 lub i--
ZADANIE
Sumuje 10 pierwszych liczb naturalnych.
ZADANIE
Liczy iloczyn 10 pierwszych liczb naturalnych. (nie liczymy 0, zaczynamy od 1)
ZADANIE
Oblicza silnię danej liczby.
5!=1*2*3*4*5
3!=1*2*3
ZADANIE
Program z przedziału <a;b> (a i b podaje użytkownik) wypisuje wszystkie liczby parzyste.
ZADANIE
Napisz program, który wypisze na ekran liczby od zadanej wartości do zera i podzielne przez 4.
ZADANIE
Ania i Beata w maju dostaną od taty kieszonkowe w następujący sposób: Ania będzie dostawać 5 zł w dni nieparzyste, a Beata dostanie 5 zł w dni parzyste. Napisz program, który obliczy ile pieniędzy będą miały siostry 1 czerwca.
ZADANIE
Pan Kowalski w kwietniu, daje synowi kieszonkowe w następujący sposób: Każdego parzystego dnia miesiąca 1 zł, a na końcu miesiąca podwaja tę sumę. Ile pieniędzy będzie miał syn na końcu miesiąca.
ZADANIA PĘTLA WARUNKOWA WHILE
zadania można wykonać pętlą FOR lub WHILE
Skopiuj te zadania z tematu o algorytmach liniowych lub z warunkiem, w których pytamy o długości boków lub współczynnik a różny od zera w równaniu kwadratowym lub mianownik ułamka i wstaw pętle zaporową, aby blokować obliczenia dla liczb ujemnych.
Wybierz jako pierwsze zadanie obliczające pole kwadratu.
ZADANIE
Wypisuje liczby naturalne z przedziału, który poda użytkownik.
ZADANIE
Program wypisuje 5 liczb naturalnych, pierwszą podaje użytkownik, kolejne są o 3 większe.
np. użytkownik podaje 12.
Na ekranie zostaje wyświetlone: 12,15, 18, 21, 24.
ZADANIE
Użytkownik podaje podstawę i wykładnik potęgi, a program oblicza 3 kolejne potęgi tej liczby. Np. użytkownik podaje podstawę potęgi 3, potęgę 2, a program wyświetla 3^2=9, 3^3=27, 3^4=81
ZADANIE - zastosować FUNKCJE utwórz własną:
int pot(int i)
{
return i*i;
}
Użytkownik podaje liczbę, a program wyświetla 5 kwadratów kolejnych liczb, np. użytkownik podaj 2 a program wyświetla 4, 9,16, 25, 36.
ZADANIE
Kliknij poniżej w link, w którym znajdują się polecenia do zadania.
Zapraszam do obejrzenia poniżej filmu:
JAK MÓWIĆ, ŻEBY NAS INNI SŁUCHALI.
PREZENTACJA WYKONANA PRZEZ UCZNIÓW
Petla warunkowa (LINK dla uczniów)
Pętla zaporowa (LINK dla uczniów)
Zgadnij ile mam lat z zabezpieczeniem, gdy poda ktoś liczbę ujemną. (link dla uczniów)