Programowanie proceduralne
Ćwiczenie 1
Instrukcje sterujące
Łukasz Sztangret
Katedra Informatyki Stosowanej i Modelowania
Instrukcja cout
#include<iostream>
using namespace std;
int main()
{
cout << "Hello";
system("pause");
return 0;
}
Instrukcja cout
#include<iostream>
using namespace std;
int main()
{
cout << "Hello\t";
cout << "world\n";
system("pause");
return 0;
}
Zadanie 1
Napisać program wypisujący swoje imię,
nazwisko,…, np.
Łukasz Sztangret
Katedra Informatyki Stosowanej i Modelowania
AGH
Instrukcja cin
#include<iostream>
using namespace std;
int main()
{
int a;
cout << "Podaj liczbe" << endl;
cin >> a;
cout << "Podales liczbe " << a << endl;
system("pause");
return 0;
}
Pętla for
#include<iostream>
using namespace std;
int main()
{
for (int i=0; i<10; i++)
{
cout << i << endl;
}
system("pause");
return 0;
}
Pętla for
#include<iostream>
using namespace std;
int main()
{
for (int i=0; i<3; i++)
{
for (int j=0; j<2; j++)
{
cout << "i=" << i << "\t" << "j=" << j << endl;
}
}
system("pause");
return 0;
}
Pętla for
#include<iostream>
using namespace std;
int main()
{
for (int i=0; i<3; i++)
for (int j=0; j<2; j++)
cout << "i=" << i << "\t" << "j=" << j << endl;
system("pause");
return 0;
}
Zadanie 2
Napisać program rysujący trójkąt o podanej
z klawiatury wysokości, np.
Podaj wysokosc
3
*
**
***
Pętla while
#include<iostream>
using namespace std;
int main()
{
int i=0;
while (i<10)
{
cout << i << endl;
i=i+2;
}
system("pause");
return 0;
}
Pętla do…while
#include<iostream>
using namespace std;
int main()
{
int i=0;
do
{
cout << i << endl;
i++;
}
while (i<10);
system("pause");
return 0;
}
Zadanie 3
Przy pomocy dowolnej pętli wypisać n
pierwszych wyrazów ciągu Fibonacciego.
1 1 2 3 5 8 13 21 34 55 89 144 233 377 …
Instrukcja if…else
#include<iostream>
using namespace std;
int main()
{
int a;
cout << "Podaj liczbe" << endl;
cin >> a;
if (a==1)
{
cout << "Podales liczbe jeden" << endl;
}
else
{
cout << "Nie podales liczby jeden" << endl;
}
system("pause");
return 0;
}
Instrukcja if…else if…else
#include<iostream>
using namespace std;
int main()
{
int a;
cout << "Podaj liczbe" << endl;
cin >> a;
if (a==1)
cout << "Podales liczbe jeden" << endl;
else if (a==2)
cout << "Podales liczbe dwa" << endl;
else
cout << "Nie podales ani liczby jeden ani dwa" << endl;
system("pause");
return 0;
}
Instrukcja if…else if…else
#include<iostream>
using namespace std;
int main()
{
int a;
cout << "Podaj liczbe" << endl;
cin >> a;
if (a==1)
cout << "Podales liczbe jeden" << endl;
else if (a<2)
cout << "Podales liczbe mniejsza od dwa" << endl;
else
cout << "Nie podales ani liczby jeden ani mniejszej od dwa" << endl;
system("pause");
return 0;
}
Zadanie 4
Wprowadzić z klawiatury długość odcinka, następnie w
zależności od wyboru policzyć: pole kwadratu, pole
koła lub pole trójkąta równobocznego, np.
Podaj dlugosc
3
1). Pole kwadratu
2). Pole kola
3). Pole trojkata rownobocznego
1
Pole wynosi: 9
Instrukcja switch…case
#include<iostream>
using namespace std;
int main()
{
int a;
cout << "Podaj liczbe" << endl;
cin >> a;
switch (a)
{
case 1:
cout << "Podales liczbe jeden" << endl;
break;
case 2:
cout << "Podales liczbe dwa" << endl;
break;
default:
cout << "Nie podales ani liczby jeden ani dwa" << endl;
}
system("pause");
return 0;
}
Instrukcja switch…case
#include<iostream>
using namespace std;
int main()
{
int a;
cout << "Podaj liczbe" << endl;
cin >> a;
switch (a)
{
case 1:
cout << "Podales liczbe jeden" << endl;
case 2:
cout << "Podales liczbe dwa" << endl;
default:
cout << "Nie podales ani liczby jeden ani dwa" << endl;
}
system("pause");
return 0;
}
Zadanie 5
Wprowadzić z klawiatury dwie liczby i w zależności od
wyboru wykonać jedno z działań: + - * / (użyć
instrukcji switch…case), np.
Podaj dwie liczby
6
3
Jakie dzialanie wykonac?
1). Dodawanie
2). Odejmowanie
3). Mnozenie
4). Dzielenie
4
6/3=2
Instrukcja break
#include<iostream>
using namespace std;
int main()
{
char a;
for (int i=1; ;i++)
{
cout << i << endl;
if (!(i%10))
{
cout << "Wypisac nastepna dziesiatke [t/n]?" << endl;
cin >> a;
if (a!='t')
break;
}
}
system("pause");
return 0;
}
Instrukcja continue
#include<iostream>
using namespace std;
int main()
{
char a;
for (int i=1;i<=5;i++)
{
cout << "Wypisac aktualna wartosc i [t/n]?" << endl;
cin >> a;
if (a!='t')
continue;
cout << "Aktualna wartosc i = " << i << endl;
}
system("pause");
return 0;
}
Zadanie 6
Narysowanie choinki o podanej liczbie koron i
wysokości każdej z nich, np.
Podaj liczbe koron
2
Podaj wysokosc korony
4
*
***
*****
*******
*
***
*****
*******
Instrukcja goto
#include<iostream>
using namespace std;
int main()
{
for (int i=0; i<3; i++)
for (int j=0; j<3; j++)
for (int k=0; k<3; k++)
{
cout << "i = " << i;
cout << "\tj = " << j;
cout << "\tk = " << k << endl;
if (i==1 && j==1 && k==1)
goto koniec;
}
koniec:
system("pause");
return 0;
}
Zadanie 7
Przerobić poprzedni program tak, aby
wyjść z zagnieżdżonej pętli nie
używając instrukcji goto.