piątek, 20 października 2017

Algorytm z pętlą Zagnieżdoną

SPECYFIKACJA
Zadanie: Napisz listę kroków algorytmu, który umożliwi wyprowadzenie na ekran monitora prostokąta o bokach n,m narysowanego za pomocą znaków * (m- liczba znaków * w poziomie, n- liczba znaków * w pionie). Wnętrze prostokąta powinno być wypełnione znakami *.
Dane: liczby naturalne dodatnie, określające ilość znaków * w prostokącie o bokach m,n.
Wynik: prostokąt o wymiarach n, zbudowany ze znaków *.
Lista kroków:
1. Zacznij algorytm.
2. Zmiennej i przypisz wartość jeden: i:=1.
3. Jeśli i jest większe od n, przejdź do kroku 4;
        w przeciwnym wypadku
                3.1. Zmiennej j przypisz wartość jeden: j:=1;
                3.2. Jeśli j jest większe od m,
                                 przejdź do nowego wiersza;
                                 zwiększ licznik i o jeden (i:=i + 1);
                                 wróć do kroku 3;
                       w przeciwnym wypadku
                                  wyprowadź ('*');
                                  zwiększ licznik j o jeden (j:=j + 1);
                                  wróć do kroku 3.2;
4. Zakończ algorytm.




PROGRAM

#include <iostream>

using namespace std;

int main ()

{

      int n, m, i, j;

      cout << "Podaj n: ";

      cin >> n;

      cout << "Podaj m: ";

      cin >> m;

      for  (i=0; i<m;  i++)

      {

              for (j=0;  j<m;  j++)

                     cout << "*";

                     cout << endl;

      }

       return 0;

}


Funkcje zwracają wartość w C++

Funkcja zwracająca wartość- wylicza wartość i odsyła tę wartość do funkcji wywołującej.Musi zawierać instrukcję return, która ma być zwrócona do funkcji wywołującej.
Zwracana wartość może być:
- zmienną
- stałą
- wyrażeniem.

Parametr- wartość przekazywana funkcji, a wartość zwracana to wartość przekazywana z funkcji.

Rodzaje zmiennych ze względu na zasięg:
- globalne
- lokalne.

W C++ zmienne globalne deklarujemy poza funkcjami, lokalne- można wewnątrz funkcji.

Co to znaczy że zmienne globalne mogą zostać przesłonięte?
Jeżeli zadeklarujemy w procedurze lub funkcji zmienną lokalną o takiej samej nazwie jak zmienna globalna, to zmienna globalna zostanie przesłonięta, co oznacza, że używana będzie zmienna lokalna a nie globalna.

Parametry możemy przekazywać na dwa sposoby:
- przez wartość
- przez referencję.

Parametry formalne przekazywane przez wartość w treści danej procedury lub funkcji są traktowane jak zmienne lokalne. Ewentualne operacje wykonywane na tych parametrach wewnątrz procedury lub funkcji nie powodują zmian wartości odpowiadających im parametrów aktualnych.

W procedurze lub funkcji, w której parametry przekazywane są przez zmienną (przez referencję), operacje wykonywane w treści procedury na parametrach formalnych w momencie wywołania danej procedury powoduję wykonanie tych operacji na odpowiednich parametrach aktualnych.



wtorek, 10 października 2017

Stosowanie procedur i funkcji w językach programowania

1. Modele programowania
-liniowe
-strukturalne
-modularne
-obiektowe
-zdarzeniowe
2. Programowanie zastępujące i wstępujące
Programowanie zstępujące (projektowanie zstępujące, ang. top-down design) – rozwiązanie programistyczne polegające na zdefiniowaniu problemu ogólnego poprzez podzielenie na podproblemy, które są dzielone na jeszcze mniejsze podproblemy aż do rozwiązań oczywistych, łatwych do zapisania. Następnie złożenie z rozwiązań podproblemów niższego rzędu rozwiązań problemów wyższego rzędu aż do całkowitego rozwiązania problemu
Programowanie wstępujące Jest to długoletnią zasadą stylu programowania, że elementy funkcjonalne programu nie powinny być zbyt duże. Jeśli jakiś fragment programu urośnie ponad etap, w którym jest łatwo zrozumiały, staje się masą złożoności, która ukrywa błędy tak łatwo, jak duże miasto ukrywa zbiegów. Takie oprogramowanie będzie ciężkie do czytania, ciężkie do testowania i ciężkie do debugowania.
3. Zalety stosowania podprogramów (procedur i funkcji)
Podprogramy standardowe cechują się następującymi zaletami:
efektywność 
zwykle takie podprogramy, przygotowane przez profesjonalne firmy, są starannie opracowane, często w całości lub w istotnej części, w asemblerze bądź języku maszynowym i odpowiednio zoptymalizowane,
brak błędów 
wszechstronne testowanie skutkuje brakiem lub ograniczeniem błędów takich podprogramów,
standaryzacja 
pozwala na ujednolicenie oprogramowaniainterfejsów użytkownika i ułatwia konserwację kodu,
ułatwienie i skrócenie kodowania 
uwalnia programistę od definiowania standardowych operacji,
programowanie hybrydowe 
         często takie podprogramy są dostępne w kilku językach programowania i systemach.











piątek, 6 października 2017

Algorytm iteracyjny iloczyn n liczb

SPECYFIKACJA
Zadanie: Oblicz iloczyn n liczb całkowitych.
Dane: n dowolnych liczb całkowitych, kolejno zapamiętywanych w zmiennej a.
Lista kroków:
1. Zacznij algorytm
2.Zmiennej iloczyn ,oraz zmiennej i przypisz wartość jeden iloczyn=1 ,i=1
3.Wprowadź liczbę całkowitą i zapamiętaj ją w zmiennej a
4.Pomnóż iloczyn przez wprowadzoną liczbę a iloczyny=iloczyn*a
5.Jeśli i nie równa się n, zwiększ licznik o 1 (i=i+1) i wróć do kroku 3

                     


#include <iostream>
using namespace std;
float liczba1, liczba2, liczba3;
int main()
{
    cout << "Podaj wartosc boku a" << endl;
    cin >> liczba1;
    cout << "Podaj wartosc boku b" << endl;
    cin >> liczba2;
    cout << "Pole prostokata wynosi: " << endl;
    liczba3 = liczba1*liczba2;
    cout << liczba3;
    return 0;

}