Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Podstawy programowania w C++

Liczby – ciągi arytmetyczne


Opracował: Andrzej Nowak
Bibliografia:
mgr Jerzy Wałaszek; Algorytmika: http://eduinf.waw.pl/inf/index.php
Mirosław Zelent; Kurs C++ Struktury danych: http://miroslawzelent.pl

Problem
Wygenerować n kolejnych wyrazów ciągu arytmetycznego.

Wzór na i-ty wyraz ciągu arytmetycznego jest następujący:

ai = a1 + (i - 1) × d
a1 – pierwszy wyraz ciągu
d – stały przyrost
i – numer wyrazu do wygenerowania
Algorytm
wyznaczania n kolejnych wyrazów ciągu
arytmetycznego
Wejście

n– liczba wyrazów ciągu do wygenerowania, n N

a– pierwszy wyraz ciągu, a1 R

d– przyrost, d R

Wyjście:

Kolejne wyrazy ciągu a1 a2 ... an


Zmienne pomocnicze

i – przebiega przez kolejne indeksy w przedziale <1, n>, i N


Lista kroków:
Dla i = 1,2,...,n
K01:
wykonu K02

K02: Pisz a + (i - 1) × d

K03: Zakończ
Program

Program odczytuje kolejno trzy liczby: n, a1 oraz d.


Następnie wyświetla n kolejnych wyrazów ciągu arytmetycznego.

// Ciąg arytmetyczny
//----------------------------

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
int n,i;
double a,d;

cout << fixed


<< setprecision(3);

cin >> n >> a >> d;

for(i = 1; i <= n; i++)


cout << setw(9)
<< a + (i - 1) * d
<< " ";

cout << endl;

return 0;
}

Przykładowe wyniki wywołania programu


Rozwiązanie ciągu o wyrazach całkowitych

Jeśli generowany ciąg arytmetyczny ma wyrazy całkowite, to kolejne wyrazy możemy


tworzyć rekurencyjnie, tzn. mając wyraz ai, następny otrzymujemy dodając do
poprzedniego przyrost d.
Korzyścią jest pozbycie się operacji mnożenia, zatem wyrazy będą generowane nieco
szybciej.
Metoda ta nie nadaje się dla ciągów rzeczywistych, ponieważ w wyniku dodawania mogą
kumulować się błędy zaokrągleń.
Algorytm
wyznaczania n kolejnych wyrazów ciągu
arytmetycznymi
Wejście

n– liczba wyrazów ciągu do wygenerowania, n N

a– pierwszy wyraz ciągu, a1 Z

d– przyrost, d Z

Wyjście:

Kolejne wyrazy ciągu a1 a2 ... an


Zmienne pomocnicze

i – przebiega przez kolejne indeksy w przedziale <1, n>, i N


Lista kroków:
Dla i = 1,2,...,n
K01:
wykonu K02,K03

K02: Pisz a ; wypisujemy bieżący wyraz

K03: a ← a + d ; wyliczamy wyraz następny

K04: Zakończ
Program

Program odczytuje kolejno trzy liczby: n, a1 oraz d.


Następnie wyświetla n kolejnych wyrazów ciągu arytmetycznego.

// Całkowity ciąg arytmetyczny


//----------------------------

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
int n,i,a,d;

cin >> n >> a >> d;

for(i = 1; i <= n; i++)


{
cout << setw(7) << a << " ";
a += d;
}

cout << endl;

return 0;
}

Wynik działania programu dla przykładowych danych

You might also like