Informatyka dla klasy I LOD
- 20.05.2022 16:29
- Zagadnienia, przykłady, zadania z informatyki dla słuchaczy LOD
Dodatkowe materiały i ćwiczenia do lekcji https://dlaucznia.migra.pl/
Linki do stron z przykładami:
https://zadaniezinformatyki.pl/ Przykładowe zadania:
Egzamin z informatyki:
Napisz program w języku C++, który na ekranie wyświetli napis "Egzamin z matematyki".
#include <iostream>
using namespace std;
int main()
{
cout<<"Egzamin z matematyki ";return 0;
}Napisz program w języku C++ na sprawdzenie czy podana liczba jest większa od 100, czy nie (instrukcja if, else)
#include <iostream>
using namespace std;
int main()
{
int a;
cout<<"Czy dana liczba jest większa od 100? "<<endl;
cout<<"Podaj liczbę a=";
cin>>a;
if (a>100)
cout<<"Tak, jest większa ";
else
cout<<"Nie jest większa od 100 ";
return 0;
}Napisz program w języku C++ na wyświetlanie liczb całkowitych z przedziału <-20,20> (instrukcja pętli for)
#include <iostream>
using namespace std;int main()
{
for(int i=-20;i<=20;i++)
{cout << i << " ";
}
return 0;
}Napisz program w języku C++ na iloczyn dwóch liczb a i b.
#include <iostream>
using namespace std;
int main()
{
int a, b, iloczyn;cout<<"Oblicz iloczyn dwóch liczb"<<endl;
cout<<"Podaj liczbe a: ";
cin >> a;
cout<<"Podaj liczbe b: ";
cin >> b;
iloczyn =a*b;
cout<<"Iloczyn= "<<iloczyn;return 0;
}Napisz program w języku C++ na sprawdzenie czy podana liczba jest podzielna przez 2.
#include <iostream>
using namespace std;
int main()
{
int a;
cout<<"Czy liczba jest podzielna przez 2? "<<endl;
cout<<"Podaj liczbę a=";
cin>>a;
if (a%2==0)
cout<<"Liczba jest podzielna przez 2 ";
else
cout<<"Liczba nie jest podzielna przez 2 ";
return 0;
}
- Algorytmy liniowe:
Oblicz wartość wyrażenia:
#include <iostream>
using namespace std;
int main()
{
int a, b, c, w;
cout<<"Podaj liczbe a: ";
cin >> a;
cout<<"Podaj liczbe b: ";
cin >> b;
cout<<"Podaj liczbe c: ";
cin >> c;
w = 2*a-b+(3*c-6*a);
cout<<"Warosc wyrazenia w = 2*a-b+(3*c-6*a)= "<<w;return 0;
}- Algorytmy warunkowe:
Instrukcja if:
1. Napisz program w języku C++ na sprawdzenie czy podana liczba jest większa od 100, czy nie (instrukcja if, else)
#include <iostream>
using namespace std;
int main()
{
int a;
cout<<"Czy dana liczba jest większa od 100? "<<endl;
cout<<"Podaj liczbę a=";
cin>>a;
if (a>100)
cout<<"Tak, jest większa ";
else
cout<<"Nie jest większa od 100 ";
return 0;
}2. Napisz program sprawdzający czy liczba jest dodatnia czy niedodatnia.
#include <iostream>
using namespace std;
int main(){
int a;
cout<<"Sprawdz czy liczba jest dodatnia"<<endl;
cout<<"Podaj liczbe a= ";
cin >> a;if (a>0)
cout<<"Liczba dodatnia";
if (a<=0)
cout<<"Liczba niedodatnia";return 0;
}
3. Napisz program obliczający pole prostokąta.
#include <iostream>
using namespace std;
int main(){
int a;
cout<<"Oblicz pole prostokata"<<endl;
cout<<"Podaj dlugosc boku a= ";
cin >> a;cout<<"Podaj dlugosc boku b= ";
cin >> b;if (a>0 && b>0)
cout<<"Pole P=a*b="<<a*b;
else
cout<<"Bok nie może być liczba ujemna lub równa zeru, musi być liczba dodatnia";return 0;
}
Zadanie do wykonania:
Napisz program w języku C++ na obliczenie objętości sześcianu o krawędzi długości a.
4. Napisz program sprawdzający czy z trzech danych odcinków można zbudować trójkąt.
#include <iostream>
using namespace std;
int main(){
int a,b,c;
cout<<"Sprawdz czy mozna zbudowac trojkat z trzech podanych liczb dodatnich "<<endl;
cout<<"Podaj dlugosc odcinka a= ";
cin >> a;
cout<<"Podaj dlugosc odcinka b= ";
cin >> b;
cout<<"Podaj dlugosc odcinka c= ";
cin >> c;
if (a+b>c && a+c>b && b+c>a)
cout<<"Mozna zbudowac trojkat";
else
cout<<"Nie mozna zbudowac trojkata";return 0;
}
5. Napisz program sprawdzający czy dana liczba jest podzielna przez 3.
#include <iostream>
using namespace std;
int main()
{
int a;
cout<<"Czy dana liczba jest podzielna 3"<<endl;
cout<<"Podaj a= ";
cin>>a;if (a%3==0)
cout<<"Podzielna przez 3 ";
else
cout<<"Nie jest podzielna 3 ";return 0;
}6. Napisz program w języku C++ na sprawdzenie czy podana liczba jest parzysta,czy nieparzysta.
#include <iostream>
using namespace std;
int main()
{
int a;
cout<<"Czy liczba jest parzysta, czy nieparzysta? "<<endl;
cout<<"Podaj liczbę a=";
cin>>a;
if (a%2==0)
cout<<"Liczba jest parzysta ";
else
cout<<"Liczba jest nieparzysta ";
return 0;
}- Algorytmy pętli:
Przykładowe linki do stron: https://zadaniezinformatyki.pl/cpp-003a-petle/
Instrukcja for:1. Napisz program sumujący n początkowych liczb naturalnych dodatnich.
#include <iostream>
using namespace std;int main()
{
int i, suma, n;
cout << "Ile liczb: ";
cin >> n;
if (n > 0)
{
suma = 0;
for (i = 1; i <= n; i++)
{
suma += i;
}
cout << "Suma wynosi: " << suma;
}
else
cout << "niepoprawne dane";return 0;
}2. Zmodyfikuj poniższy program na sumę n-początkowych liczb naturalnych, które przy dzieleniu przez 3 dają resztę 1, na program, który oblicza np. sumę n-początkowych liczb: podzielnych przez 3, 5, 6, 7 itd. lub taki, który przy dzieleniu przez 5 daje resztę 3, 2, 4 itd.
#include <iostream>
using namespace std;int main()
{
int i, suma, n;
cout<<"Program na obliczenie sumy n poczatkowych liczb, ktore przy dzieleniu przez 3 daja reszte 1"<<endl;
cout << "Ile liczb: ";
cin >> n;
if (n > 0)
{
suma = 0;
for (i = 0; i < n; i++)
{
suma +=3* i+1;
}
cout << "Suma wynosi: " << suma;
}
else
cout << "niepoprawne dane";return 0;
}Instrukcja for, while i do...while:
1. Napisz 3 programy z instrukcją for, while i do...while wyświetlające liczby całkowite podzielne przez np. 2, 3, 4, 5, itp. z danego przedziału, który ustalamy samodzielnie np. <2;50>.
Zadanie przykładowe do wyświetlania:
Napisz program wyświetlający liczby całkowite z przedziału <-4,10>, przedstaw trzy sposoby z instrukcją: for, while i do...while.
a) Instrukcja for
#include <iostream>
using namespace std;int main()
{
for(int i=-4;i<=10;i++)
{cout << i << endl;
}
return 0;
}_____________________________
b) instrukcja while
#include <iostream>
using namespace std;int main()
{
int i=-4;
while(i<=10)
{
cout << i <<endl;
i++;
}return 0;
}______________________________
c) instrukcja do ... while
#include <iostream>
using namespace std;int main()
{
int i=-4;do
{
cout << i << " ";
i++;
}
while(i<=10);return 0;
}Funkcje i procedury:
KLASA 2 LO
Ćwiczenia z podręcznika do klasy 2:
TEAMAT C1
Ćwiczenie 2
#include <iostream>
using namespace std;int main()
{
int i, n;
cout << "Ile liczb: ";
cin >> n;
for (i = 0; i < n; i++)
cout << i + 1 << endl;
for (i = n; i >= 1; i--)
cout << i << endl;
return 0;
}Ćwiczenie 3
#include <iostream>
using namespace std;int main()
{
float wplata, suma_wplat;
int i;
suma_wplat = 0;
for (i = 1; i <= 12; i++)
{
cout << "Podaj wplate: ";
cin >> wplata;
suma_wplat = suma_wplat + wplata;
}
cout << "Suma wplat wynosi: "<< suma_wplat << " zl";
return 0;
}Ćwiczenie 4.
#include <iostream>
using namespace std;int main()
{
float wplata, suma_wplat;
int i, liczba_wplat;
cout << "Podaj liczbe wplat: ";
cin >> liczba_wplat;
suma_wplat = 0;
for (i = 1; i <= liczba_wplat; i++)
{
cout << "Podaj wplate: ";
cin >> wplata;
suma_wplat = suma_wplat + wplata;
}
cout << "Suma wplat wynosi: "<< suma_wplat << " zl";
return 0;
}Ćwiczenie 5.
#include <iostream>
using namespace std;int main()
{
float kwota, wplata, suma_wplat;
cout << "Podaj potrzebna kwota: ";
cin >> kwota;
suma_wplat = 0;
while (suma_wplat < kwota)
{
cout << "Wprowadz wplate: ";
cin >> wplata;
suma_wplat = suma_wplat + wplata;
cout << "Aktualna suma wplat wynosi: " << suma_wplat << " zl" << endl;
}
cout << "Suma wplat wynosi: " << suma_wplat << " zl" << endl;
cout << "Roznica pomiedzy kwota wplacona a zalozona (nadplata) wynosi: " << suma_wplat - kwota << " zl" << endl;
return 0;
}Ćwiczenie 6.
#include <iostream>
using namespace std;int main()
{
float kwota, wplata, suma_wplat;
cout << "Podaj potrzebna kwota: ";
cin >> kwota;
if (kwota > 0)
{
suma_wplat = 0;
while (suma_wplat < kwota)
{
cout << "Wprowadz wplate: ";
cin >> wplata;
if (wplata > 0)
{
suma_wplat = suma_wplat + wplata;
cout << "Aktualna suma wplat wynosi: " << suma_wplat << " zl" << endl;
}
else
cout << "Wprowadzono bledna liczbe" << endl;
}
cout << "Suma wplat wynosi: " << suma_wplat << " zl" << endl;
cout << "Roznica pomiedzy kwota wplacona a zalozona (nadplata) wynosi: " << suma_wplat - kwota << " zl" << endl;
}
else
cout << "Wprowadzono bledna kwote";
return 0;
}Ćwiczenie 7. (while)
#include <iostream>
using namespace std;int main()
{
float liczba, suma;
liczba = 1;
suma = 0;while (liczba != 0)
{
cout << "Podaj liczbe: ";
cin >> liczba;
suma = suma + liczba;
}
cout << "Suma wynosi: " << suma;
return 0;
}Ćwiczenie 8.
#include <iostream>
using namespace std;int main()
{
char znak;
int liczba_znakow = 0;
do
{
cout << "Wprowadz znak: ";
cin >> znak;
liczba_znakow++;
}
while (znak != '.');
cout << "Liczba wprowadzonych znakow to: " << liczba_znakow - 1;
return 0;
}Ćwiczenie 9.
#include <iostream>
using namespace std;int main()
{
int odjemna, odjemnik, roznica, licznik;
licznik = 0;
do
{
cout << "Wprowadz odjemna: ";
cin >> odjemna;
cout << "Wprowadz odjemnik: ";
cin >> odjemnik;
roznica = odjemna - odjemnik;
cout << "Roznica wynosi: " << roznica << endl;
if (roznica > 0)
licznik++;
}
while (roznica > 0);
cout << "Liczba wykonanych dzialan, w ktorych wynik byl dodatni to: " << licznik;return 0;
}
Zadanie 1.#include <iostream>
using namespace std;int main()
{
float wplata, suma_wplat;
int i, liczba_wplat;
cout << "Podaj liczbe wplat: ";
cin >> liczba_wplat;
if (liczba_wplat >= 0)
suma_wplat = 0;
else
cout << "Wprowadzono bledna liczbe" << endl;
for (i = 1; i <= liczba_wplat; i++)
{
cout << "Podaj wplate: ";
cin >> wplata;
if (wplata >= 0)
suma_wplat = suma_wplat + wplata;
else
cout << "Wprowadzono bledna liczbe" << endl;
}
cout << "Suma wplat wynosi: "<< suma_wplat << " zl";
return 0;
}
Zadanie 3.#include <iostream>
using namespace std;int main()
{
float dzielna, dzielnik, iloraz;
do
{
cout << "Wprowadz dzielna: ";
cin >> dzielna;
cout << "Wprowadz dzielnik: ";
cin >> dzielnik;
if (dzielnik != 0)
{
iloraz = dzielna / dzielnik;
cout << "Iloraz wynosi: " << iloraz << endl;
}
else
cout << "Nie wolno dzielic przez zero ";
}
while (dzielnik !=0);return 0;
}
Zadanie 4.#include <iostream>
using namespace std;int main()
{
float bok, objetosc;
do
{
cout << "Wprowadz dlugosc boku szescianu: ";
cin >> bok;
if (bok > 0)
{objetosc = bok * bok * bok;
cout << "Objetosc szescianu wynosi: " << objetosc << endl;
}
else
cout << "Dlugosc boku szescianu musi byc liczba dodatnia.";
}
while (bok > 0);
return 0;
}
Zadanie 5.#include <iostream>
using namespace std;int main()
{
int ile_liczb, liczba, reszta;
ile_liczb = 0;
do
{
cout << "Wprowadz liczbe: ";
cin >> liczba;
reszta = liczba % 3;
if (reszta == 0 && liczba!=0)
ile_liczb++;}
while (liczba!= 0);
cout << "Wprowadzono " << ile_liczb << " liczb podzielnych przez 3.";
return 0;
}
Zadanie 6.
#include <iostream>
using namespace std;int main()
{
float n, cena;
cout << "Podaj wartosc kwoty na zakup upominkow: ";
cin >> n;
while (n != 0)
{
cout << "Wprowadz cene: ";
cin >> cena;
n = n - cena;
cout << "Kwota wynosi: " << n << endl;
if (n < 0)
{
n = n + cena;
cout << "Podaj nizsza cene: " << endl;
cin >> cena;
n = n - cena;
cout << "Kwota wynosi: " << n << endl;
}
}
cout << "Koniec zakupow. Wydano cala kwote.";
return 0;
}Algorytmy na tekstach - klasa 3:
Temat C1 - ćwiczenie 9
#include <iostream>
#include <string>using namespace std;
int main()
{
string s1, s2;
s1 = "Stosujemy dane";
s2 = "tekstowe w C++";
cout << s1 + " " + s2;
return 0;
}
Temat C1 - ćwiczenie 10
#include <iostream>
#include <string>
using namespace std;int main()
{
string wyraz;
int dlugosc;
cout << "Podaj wyraz: ";
cin >> wyraz;
dlugosc = wyraz.length();
for(int i = 0; i < dlugosc; i++)
if( wyraz[i] == 'a' )
wyraz[i] = 'b';
cout << "Wyraz po przetworzeniu: " << wyraz << endl;
return 0;
}Temat C1 - ćwiczenie 11
#include <iostream>
#include <string>using namespace std;
int main()
{
string wyraz;
int dlugosc;
cout << "Podaj wyraz: ";
cin >> wyraz;
dlugosc = wyraz.length();
cout << "Pierwsza litera: " << wyraz[0] << endl;
cout << "Ostatnia litera: " << wyraz[dlugosc - 1] << endl;
return 0;
}Temat C1 - ćwiczenie 12
#include <iostream>
#include <string>using namespace std;
int main()
{
string wyraz;
int dlugosc, litera1, i;
cout << "Podaj wyraz: ";
cin >> wyraz;
dlugosc = wyraz.length();
litera1 = wyraz[0];
if(wyraz[0] != wyraz[dlugosc - 1])
{
wyraz[0] = wyraz[dlugosc-1];
wyraz[dlugosc-1] = litera1;
cout << wyraz;
}
else
cout << "Pierwsza i ostatnia litera sa takie same.";
return 0;
}
Temat C1 - ćwiczenie 13
#include <iostream>
#include <string>
using namespace std;int main()
{
string wyraz;
int dlugosc;
cout << "Podaj wyraz: ";
cin >> wyraz;
dlugosc = wyraz.length();
int i = 1;
while (i < dlugosc)
{
wyraz[i] = 'x';
i = i + 2;
}
cout << "Wyraz po zamianie co drugiej litery na x: " << wyraz << endl;
return 0;
}
Temat C1 - ćwiczenie 15
#include <iostream>
#include <string>
using namespace std;bool teksty_sa_identyczne(string t1, string t2)
{
int i, dl1, dl2;
i = 0;
dl1 = t1.length();
dl2 = t2.length();
while(i < dl1 && i < dl2 && t1[i] == t2[i])
i++;
return i == dl1 && i == dl2;
}int main ()
{
string tekst1, tekst2;
cout << "Wprowadz pierwszy tekst: ";
cin >> tekst1;
cout << "Wprowadz drugi tekst: ";
cin >> tekst2;
if(teksty_sa_identyczne(tekst1, tekst2))
cout << "Teksty sa takie same";
else
cout << "Teksty sa rozne";
return 0;
}
Temat C1 - ćwiczenie 16
#include <iostream>
#include <string>using namespace std;
int zlicz_a(string tekst)
{
int liczba_znakow = 0;for(int i = 0; i < tekst.length(); i++)
if(tekst[i] == 'a')
liczba_znakow++;
return liczba_znakow;
}int main()
{
string napis;
char znak;
cout << "Podaj napis: ";
cin >> napis;
cout << "Liczba znakow " << "\"" << "a" << "\"" << " w napisie " << napis << " wynosi: " << zlicz_a(napis) << endl;
return 0;
}Temat C1 - ćwiczenie 17
#include <iostream>
#include <string>using namespace std;
int zlicz_znak(string tekst)
{
int liczba_znakow = 0;for(int i = 0; i < tekst.length(); i++)
if(tekst[i] == 'a')
liczba_znakow++;
return liczba_znakow;
}int main()
{
string napis;
cout << "Podaj napis: ";
getline(cin, napis);
cout << "Liczba znakow " << "a" << " w napisie " << napis << " wynosi: " << zlicz_znak(napis) << endl;
return 0;
}
Temat C1 - ćwiczenie 18
#include <iostream>
#include <string>using namespace std;
int zlicz_znak(string tekst, char z)
{
int liczba_znakow = 0;for(int i = 0; i < tekst.length(); i++)
if(tekst[i] == z)
liczba_znakow++;
return liczba_znakow;
}int main()
{
string napis;
char znak;
cout<<"**********************************"<<endl;
cout<<"MENU PROGRAMU"<<endl;
cout<<"a. Zliczanie wszystkich liter a"<<endl;
cout<<"b. Zliczanie wszystkich liter b"<<endl;
cout<<"c. Zliczanie wszystkich liter b"<<endl;
cout<<"**********************************"<<endl;
cout << "Podaj napis: ";
getline(cin, napis);
cout << "Podaj znak opcji: ";
cin >> znak;
switch(znak)
{
case 'a':
cout << "Liczba znakow " << znak << " w napisie " << napis << " wynosi: " << zlicz_znak(napis, znak) << endl;
break;
case 'b':
cout << "Liczba znakow " << znak << " w napisie " << napis << " wynosi: " << zlicz_znak(napis, znak) << endl;
break;
case 'c':
cout << "Liczba znakow " << znak << " w napisie " << napis << " wynosi: " << zlicz_znak(napis, znak) << endl;
break;
}
return 0;
}
Temat C1 - ćwiczenie 20
#include <iostream>
using namespace std;
int znajdz_tekst(string tekst, string wzorzec, int pozycja_startowa)
{
int dl1 = tekst.length(); // Użycie metody standardowej length()do wyznaczenia długości tekstu...
int dl2 = wzorzec.length(); // ... i wzorca
for(int i = pozycja_startowa; i < dl1-dl2+1; i++) // Dla każdego znaku tekstu
{
int j;
for(j = 0; j < dl2; j++) // Dla każdego znaku wzorca
if(tekst[i+j] != wzorzec[j]) // Rozbieżność
break; // Przerywamy pętlę wewnętrzną
if(j == dl2) // Porównano z powodzeniem wszystkie znaki wzorca
return i; // Zwracamy aktualną pozycję w tekście
}
return -1; // Nie znaleziono
}int main()
{
// Wyszukiwanie wszystkich wystąpień
string przeszukiwany_tekst, tekst_do_wyszukania;
cout << "Wprowadz tekst do przeszukania: ";
cin >> przeszukiwany_tekst;
cout << "Wprowadz tekst do wyszukania: ";
cin >> tekst_do_wyszukania;
int pozycja = 0;
do
{
pozycja = znajdz_tekst(przeszukiwany_tekst, tekst_do_wyszukania, pozycja);
if(pozycja>=0)
{
cout << "Znaleziono: | " << przeszukiwany_tekst << " | " << tekst_do_wyszukania << " | " << pozycja << " | " << endl;
pozycja++; // Następne wyszukiwanie zaczyna się od kolejnego znaku po znalezionym fragmencie
}
} while(pozycja>=0);
return 0;
}Temat C1 - zadanie 6 (imię)
#include <iostream>
#include <string>using namespace std;
int main()
{
string imie;
cout << "Podaj imie: ";
cin >> imie;
//funkcja tolower zwraca zawsze mala litere, niezaleznie od tego czy na wejsciu podamy mala czy duza
char ostatniZnak = tolower( imie[imie.length() - 1] );
if( ostatniZnak == 'a' )
cout << "Prawdopodobnie jest to imie zenskie" << endl;
else
cout << "Prawdopodobnie jest to imie meskie" << endl;
return 0;
}- Wróć do listy artykułów
Ostatnie artykuły