lista 6, lista6 r

background image

Informatyka (I E / I AiR) - lista zadań 6 - rozwiązania

1. Napisz funkcję potega_nat, która przyjmuje jako parametry liczbę rzeczywistą a i liczbę
naturalną n i zwraca wartość rzeczywistą a

n

.

Użyj funkcji w programie, aby w kolejnych wierszach wypisać wartości

1.123

1

, 1.123

2

, ... ,1.123

30

#include <iostream>
using namespace std;
double potega_nat(double a, int n)
{
if (n<1)
return 1;
double wynik=1;
for (int i=1;i<=n;i++)
wynik*=a;
return wynik;
}
int main()
{
for (int i=1;i<=30;i++)
cout<<potega_nat(1.123,i)<<endl;
return 0;
}

2. Napisz funkcję f o prototypie double f(double x) która dla dowolnego x rzeczywistego zwraca
wartość x

4

2x

3

x

2

x−2 .

Napisz program wykorzystujący funkcję f, który wypisze wszystkie całkowite x z przedziału
<-100,100>, dla których f się zeruje.

#include <iostream>
using namespace std;
double f(double x)
{return x*x*x*x-2*x*x*x+x*x-x-2;
}
int main()
{
for (int i=-100;i<=100;i++)
if (f(i)==0)
cout << i << endl;
return 0;
}

3. Napisz funkcję o prototypie bool porzadek(double &w, double &m). Funkcja otrzymuje jako
parametry liczbę w i liczbę m. W wyniku działania funkcji w w powinien znaleźć się parametr o
większej wartości a w m – o mniejszej. Jeśli parametry różnią się od siebie – funkcja ma zwrócić
true, jeśli są różne ma zwrócić false.
Napisz program (używający funkcji), który:

1. Wczytuje dwie liczby rzeczywiste
2. Jeśli liczby są równe to kończy działanie
3. Jeśli liczby są różne to wypisuje je w kolejnym wierszu, oddzielone spacją, najpierw

mniejszą – później większą. Następnie kontynuuje pracę od punktu 1.

background image

#include <iostream>
using namespace std;
bool porzadek(double &w, double &m)
{
if (w==m)
return false;
if (w<m)
{
double temp=w;
w=m;
m=temp;
}
return true;
}
int main()
{
double a,b;
do
{
cin >> a >> b;
if (!porzadek(a,b))
break;
cout << b << ' ' << a << endl;
}
while (true);
return 0;
}

4. Napisz funkcję o prototypie int prosta(double x1,double y1,double x2,double y2, double &a,
double &b)
, która dla zadanych punktów (x1,y1) i (x2,y2) obliczy współczynniki a i b prostej w
postaci kierunkowej y=ax+b i zwróci 0. Jeśli prosta w postaci kierunkowej nie istnieje, to funkcja
zwraca wartość 1.
Użyj funkcji w programie, aby wyznaczyć prostą przechodzącą przez punkty (1,3) i (2, 3.14).

#include <iostream>
using namespace std;
int prosta(double x1,double y1,double x2,double y2, double &a,
double &b)
{
if (x1==x2)
return 1;
a=(y2-y1)/(x2-x1);
b=y1-a*x1;
return 0;
}
int main()
{
double a,b;
prosta(1,3,2,3.14,a,b);
cout << "y=" << a << " x + " << b << endl;
return 0;
}


Wyszukiwarka

Podobne podstrony:
lista 6 lista6
Lista 2012 2
Polecenia lista 5
macierze i wyznaczniki lista nr Nieznany
Lista 14
Analiza matematyczna, lista analiza 2008 6 szeregi
Analiza III semestr lista nr 3 Nieznany (2)
lista produktow
podstawy automatyki ćwiczenia lista nr 4b
lista parafraz modu A
Lista watykańskich masonów
Lista czesci
eksploracja lab03, Lista sprawozdaniowych bazy danych
lista przed zabr id 270172 Nieznany
analiza sem 2 lista nr5 id 6134 Nieznany (2)
LISTA 14 Całki krzywoliniowe
lista 04 (2)
lista jednokierunkowa
Lista prezentacji

więcej podobnych podstron