Podstawy Programowania Lab 1 dod

Wprowadzenie do programowania

Celem programowania jest rozwiązywanie problemów algorytmicznych. Rozwiązanie polega na wykonaniu w określonej kolejności szeregu akcji, które realizują proces (obliczenie):

Definicje:

Algorytm

Uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Inaczej jest to sposób (metoda, specyfikacja, przepis) postępowania z danymi, który w skończonej liczbie kroków (czynności) prowadzi do otrzymania oczekiwanych wyników.

Opracowanie algorytmu składa się z kilku etapów:

  1. zdefiniowanie problemu, podanie specyfikacji, czyli danych wejściowych i celu (wyniku);

  2. przeprowadzenie analizy – prowadzi do wyboru metody rozwiązania problemu;

  3. opisanie algorytmu.

Sposoby przedstawiania algorytmów:

Zasady budowy schematu blokowego:

Rodzaje bloków

Wyróżnia się następujące rodzaje bloków stosowane w schematach blokowych:

Rodzaj bloku Reprezentacja graficzna
blok graniczny – oznacza początek, koniec, przerwanie lub wstrzymanie działania (np. start, stop)
blok wejścia-wyjścia
blok obliczeniowy (operacyjny) – oznacza wykonanie działania zmieniającego wartości, postać lub miejsce zapisu danych
blok decyzyjny (warunkowy)
blok wywołania podprogramu
blok fragmentu
blok komentarza
łącznik wewnętrzny lub zewnętrzny

Rodzaje (struktury) algorytmów:

Umowny język programowania

Algorytm można zapisać korzystając z prostych konstrukcji w postaci pseudokodu (pseudojęzyka). Pseudokod zachowuje strukturę charakterystyczną dla kodu, rezygnując ze ścisłych reguł składniowych na rzecz prostoty i czytelności. Nie zawiera szczegółów implementacyjnych. Blok poleceń wydziela się za pomocą nawiasów klamrowych {}. Kluczowe słowa i operatory pseudokodu:

zmienna=wyrażenie

wczytaj zmienna

wypisz zmienna

dla zmienna=wart_początkowa [w_dół] do wart_końcowa z_krokiem krok wykonuj akcję

Warunek jest wyrażeniem logicznym, któremu przypisuje się wartość logiczną: prawda (Tak) lub fałsz (Nie). W wyrażeniach logicznych dla porównania wyrażeń liczbowych używa się następujących operatorów relacji:

== równe

<> nierówne

< mniejsze

> większe

<= mniejsze lub równe

>= większe lub równe

Mogą również występować w nich operatory logiczne:

NIE negacja

I iloczyn logiczny

LUB suma (alternatywa) logiczna

Na przykład: jeżeli ((a>0) I (b<>0)) to x=a/b

PRZYKŁAD 1.

Problem algorytmiczny: obliczenie sumy dwóch dowolnych liczb i wypisanie wyniku na ekranie monitora.

Dane wejściowe: Dwie dowolne liczby a i b.

Wynik: Suma liczb a i b.

Opis słowny algorytmu:

Po wczytaniu danych wejściowych a i b należy je zsumować. Wynik zapisać jako suma. Wyprowadzić wynik na ekran monitora.

Lista kroków:

Krok 1: Wprowadź dwie liczby a i b. Przejdź do kroku 2.

Krok 2: suma=a+b. Wyprowadź na ekran monitora wynik sumy. Przejdź do kroku 3.

Krok 3: Zakończ algorytm.

Schemat blokowy:

Pseudokod:

suma=0;

wczytaj a;

wczytaj b;

suma=a+b;

wypisz suma;

PRZYKŁAD 2.

Problem algorytmiczny: rozwiązanie równania liniowego ax+b=0.

Dane wejściowe: Dwie dowolne liczby a i b.

Wynik: Pierwiastek równania liniowego.

Opis słowny algorytmu:

Po wczytaniu danych wejściowych a i b należy rozpatrzyć wszystkie możliwe przypadki:

Wyprowadzić wynik na ekran monitora.

Lista kroków:

Krok 1: Wprowadź dwie liczby a i b. Przejdź do kroku 2.

Krok 2: Sprawdź, czy a==0 i b==0?

  1. Jeżeli tak, to wypisz: nieskończenie wiele rozwiązań i przejdź do kroku 6.

  2. Jeżeli nie, to przejdź do kroku 3.

Krok 3: Sprawdź, czy a==0 i b<>0?

  1. Jeżeli tak, to wypisz równanie sprzeczne i przejdź do kroku 6.

  2. Jeżeli nie, to przejdź do kroku 4.

Krok 4: Sprawdź, czy a<>0?

  1. Jeżeli tak, to x=-b/a, przejdź do kroku 5.

  2. Jeżeli nie, to przejdź do kroku 6.

Krok 5: Wyprowadź na ekran monitora wynik x. Przejdź do kroku 6.

Krok 6: Zakończ algorytm.

Schemat blokowy:

Pseudokod:

x=0;

wczytaj a;

wczytaj b;

jeżeli (a==0) i (b==0) to

wypisz nieskończenie wiele rozwiązań

inaczej

jeżeli (a==0) i (b<>0) to

wypisz równanie sprzeczne

inaczej

jeżeli (a<>0) to {

suma=a+b;

wypisz x;

}

Uwaga:

W powyższym algorytmie trzykrotnie zastosowano instrukcję warunkową. Podaj lepszą propozycję rozwiązania problemu (wykluczenie dwóch pierwszych przypadków prowadzi do wyznaczenia pierwiastka). Zapisz ulepszony program w pseudojęzyku oraz opracuj jego schemat blokowy.

ZADANIA

  1. Napisać program obliczający objętość prostopadłościanu. Program wymaga wprowadzenia wielkości kolejnych wymiarów.

  2. Napisać program obliczający liczbę sekund w roku.

  3. Napisać program, który wczytuje trzy liczby całkowite a, b, c i wypisuje największą z nich.

  4. Napisz program obliczający wartość bezwzględną z liczby x.

  5. Napisz program wypisujący w porządku rosnącym dwie liczby.

  6. Napisz program obliczający wartość funkcji:

.

  1. Napisz program obliczający dla podanych współczynników a, b i c pierwiastki równania kwadratowego w postaci ax2+bx+c=0.


Wyszukiwarka

Podobne podstrony:
Podstawy Programowania Lab 3 dod
Podstawy Programowania Lab 2 dod
Podstawy Programowania Lab 7
Podstawy Programowania Lab 4
Podstawy Programowania Lab 6
Podstawy Programowania Lab 5
Podstawy Programowania Lab 8
cwiczenie10d2013, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
lab 2, Edukacja, ZiIP, sem. I, Podstawy programowania, Laborki i inne, Podstawy Programowania
cwiczenie8d2013, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
cwiczenie13d2012, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
cwiczenie9d2013, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
cwiczenie11d2013, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
cwiczenie6d2013, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
LAB 4, Edukacja, ZiIP, sem. I, Podstawy programowania, Laborki i inne, Podstawy Programowania
koło 1 lab, TIN inż, Semestr 1, Podstawy programowania
Nowa podstawa programowa WF (1)

więcej podobnych podstron