Szanowny Gościu, witaj na Forum Informatyków!
Jeżeli odwiedzasz nas po raz pierwszy, zapraszamy do darmowej i prostej rejestracji, która da Ci pełny dostęp do funkcjonalności forum. Jeżeli natomiast posiadasz już konto, możesz zalogować się.
Zapraszamy!
Programowanie w języku C i językach pochodnych, jak C++, C#
-
Mariolka
Post
autor: Mariolka » 15 lis 2010, 19:33
Potrzebuje pomocy.. muszę napisać taki oto program. Dosłownie przyznam się .. nie potrafię go wykonać .
Liczę na waszą pomoc.. PROSZE ..
Dana jest liczba rzeczywista a będąca długością krawędzi kwadratu. W kwadrat ten wpisano drugi kwadrat w taki sposób, że wierzcołki wpisanego kwadratu są środkami boków danego. Następnie we wpisany kwadrat wpisano kolejny kwadrat w taki sam sposób, itd. Napisz program, który wyznaczy pole powierzchni piętego z tych kwadratów oraz sumę pól powierzchni wszystkich pięciu kwadratów.

-
Gość
Post
autor: Gość » 18 lis 2010, 18:58
mozna sobie to wyobrazic rekurencyjnie, tzn. mamy kwadrat a w nim jest 1/4 tego kwadratu potem znow 1/4, a wiec piaty kwadrat ma powierzchnie (1/4)^4 w stosunku do pierwszego, czyli 1/64.
Tak wiec, jesli podamy dana liczbe x nal. do R, to powierzhcnia tego kwadratu bedzie x*1/64;
suma powierzchni wszystkich kwadratow mozna zrobic rekurencyjnie, ale szybciej bedzie w petli:
for(n=0; n<5; n++) sumaPol += x*(1/4)^n; //fragment dla C.
dlaczego n? no bo dla pierwszego kwadratu powierzchnia to: x*(1/4)^n, (1/4)^n to 1, a wiec suma =1; dla dwoch to bedzie sumaPol(nasze x) + x*(1/4)^1, czyli x+1/4x. dla trzech to bedzie sumaPol(tu mamy juz x+1/4x) + x*(1/4)^2, czyli 1/16x, wiec lacznie dla trzech pol to bedzie x+1/4x+1/16x, czyli lacznie 21/16x itd....
-
Gość
Post
autor: Gość » 18 lis 2010, 19:00
duma to x, a nie 1 w komentarzu ;p
-
Gość
Post
autor: Gość » 24 lis 2010, 17:58
1/2 kwadratu, nie 1/4, pozatym gitarra :]