CLAB 3-1 2008-2009, Tematy ćwiczeń laboratoryjnych z Języka Programowania


  1. Organizacja obliczeń cyklicznych w programie (pętle)

    1. pętle o nieokreślonej liczbie powtórzeń - instrukcje while i do-while

Cele ćwiczenia:

Nowe zagadnienia:

Definicje nowych pojęć do przyswojenia:

Instrukcje pętli (iteracyjne, powtarzania, obliczeń cyklicznych) - są to instrukcje pozwalające wykonać daną instrukcję (zwaną instrukcją wewnętrzną pętli) prostą lub złożoną zero lub więcej razy zależnie od spełnienia warunku sterowania pętlą.

0x08 graphic

Składnia instrukcji while jest następująca:

while (wyrażenie)

instrukcja wewnętrzna

Wykonywanie instrukcji while przebiega w ten sposób, że najpierw jest obliczana wartość wyrażenia (wyrażenie) i jeżeli ma ono wartość różną od zera (prawda), to jest wykonywana instrukcja wewnętrzna, która może być instrukcją prostą lub złożoną. Instrukcja może nie być nigdy wykonana, jeśli przy pierwszym obliczeniu wyrażenia (wyrażenie) będzie miało wartość zero (fałsz).

0x08 graphic
Składnia instrukcji do while jest następująca:

do

instrukcja wewnętrzna

while (wyrażenie);

Instrukcja jest wykonywana tak długo, jak długo wartość wyrażenia (wyrażenie) jest różna od zera (prawda) W przypadku, gdy wartość ta będzie równa zeru (fałsz), to wykonywanie instrukcji do...while kończy się. Wynika stąd, że instrukcja wewnętrzna jest zawsze wykonywana co najmniej jeden raz i to jest podstawowa różnica pomiędzy instrukcjami do...while a while.

manipulatory strumieniowe - umożliwiają wykonanie formatowania strumienia danych np. ustawianie szerokości pola, precyzji liczb, znaków wypełniających pole.

Biblioteka standardowa <iomanip.h> obsługuje manipulatory strumieniowe.

setw(n) - służy do ustawienia szerokości pola. Argument n to liczba całkowita (int) określająca ilość znaków w polu możliwych do wypełnienia. Np. setw(8).

setprecision(n) - ustala ilość cyfr po kropce dziesiętnej, czyli dokładność liczb zmiennoprzecinkowych (rzeczywistych). Wywołanie tego manipulatora powoduje ustawienie dokładności dla wszystkich kolejnych operacji, aż do następnego wywołania ustalającego dokładność. Argument n to liczba całkowita (int). Np.setprecision(5).

setfill(z) - służy do określania znaku wypełniającego pole. Stosowany przy porządkowaniu pola. Argument z jest typu znakowego. Np. setfill(`*').

setbase(n) - ustala podstawę formatu konwersji. Argument n może przyjąć wartości 0, 8, 10, 16.

Np. setbase(16) oznacza konwersję na system szesnastkowy.

setbase(8) oznacza konwersję na system ósemkowy.

setbase(10) oznacza konwersję na system dziesiętny.

setbase(0) oznacza konwersję na system domyślny.

lub bezpośrednio można użyć manipulatorów

dec - włącza konwersję dziesiętną.

hex - włącza konwersję szesnastkową.

oct - włącza konwersję ósemkową.

Napisz program do zamiany dziesiętnej liczby n na system szesnastkowy i ósemkowy

#include <iostream.h>

#include <iomanip.h>

#include <conio.c>

main()

{

int n;

cout<<"wprowadz liczbe dziesietna \n";

cin>>n;

cout<<n<<" to szesnastkowo: "<<hex<<n<<endl;

cout<< " to osemkowo: "<<setbase(8)<<n<<endl;

getch();

}

Zadanie 1

Napisz program do obliczania i wyprowadzenia na ekran w pewnym porządku, z ustaloną precyzją następujących wyrażeń: a=n-i, b=i/n, gdzie n jest podaną z klawiatury ilością iteracji a i jest kolejnym numerem iteracji. Wykorzystaj manipulatory strumienia do formatowania wydruku na ekranie dla kolejnych iteracji.

0x01 graphic

Program źródłowy

#include<iostream.h>

#include<conio.c>

#include<math.h>

#include<iomanip.h>

main()

{

int i=0;

float n, a, b;

cout<<”Podaj liczbe iteracji n”<<endl;

cin>>n;

while (i<n)

{

i++;

a=n-i;

b=i/n;

cout<<setw(10)<<setfill(`_')<<a;

cout<<setw(10)<<setprecision(2)<<setfill(`_')<<b;

cout<<setw(10)<<setfill(`_')<<i<<endl;

}

cout<<”KONIEC”<<endl;

getch();

}

Zadanie 2

Napisz program do zadania 1 stosując pętle do-while

Program źródłowy 0x01 graphic

#include<iostream.h>

#include<conio.c>

#include<math.h>

#include<iomanip.h>

main()

{

int i=0;

float n, a, b;

cout<<”Podaj liczbe iteracji n”<<endl;

cin>>n;

do

{

i++;

a=n-i;

b=i/n;

cout<<setw(10)<<setfill('_')<<a;

cout<<setw(10)<<setprecision(2)<<setfill(`_')<<b;

cout<<setw(10)<<setfill(`_')<<i<<endl;

}

while (i<n);

cout<<”KONIEC”<<endl;

getch();

}

Zadania C++ - 3.1

  1. Napisz program obliczający kwadraty i sześciany dowolnej ilości liczb. Program ma kończyć działanie po podaniu z klawiatury liczby 0 nie realizując dla niej obliczeń.

  1. Napisz program obliczający wartości funkcji sin(x), cos(x), tg(x), ctg(x) dla z góry określonej ilości liczb n.

  1. Napisz program obliczający sumę n pierwszych wyrazów ciągu harmonicznego: 0x01 graphic
    dla podanej wartości n.

  1. Napisz program wyznaczający max i min liczbę w niepustym ciągu n liczb podanych z klawiatury.

  1. Napisz program do obliczania sumy i iloczynu liczb całkowitych z przedziału od 1 do 100 podzielnych bez reszty przez 3.

  1. Pracownik dokonuje ważenia x wyprodukowanych detali. Napisz program do krótkiej analizy zbioru x detali. Program ma obliczać max i min wagę detali oraz podać ich średnią wagę.

  1. Klient dokonuje zakupów dysponując określoną suma pieniędzy. Napisz program do sumowania cen różnych produktów i ich ilości uwzględniający warunek posiadanej przez klienta kwoty pieniędzy.

  1. Napisz program do obliczania ilości liczb rzeczywistych wprowadzonych z klawiatury zakończonych liczbą 999. Liczba 999 jest warunkiem wyjścia z pętli i nie powinna być wliczona do ilości liczb ciągu.

  1. Napisz program do obliczania pierwiastka kwadratowego z liczb od 100 do 300 podzielnych bez reszty przez 25. Wydrukuj wyniki obliczeń w dwóch kolumnach wg następującego schematu:

liczba pierwiastek

100 10.000

125 11.180

  1. Kierowca w ciągu roku tankował samochód n razy. Zawsze zapisywał ilość paliwa i przejechane kilometry. Napisz program obliczający ilość przejechanych kilometrów, ilość zużytego paliwa w ciągu roku oraz średnie spalanie samochodu na 100 km.

  1. Napisz program wyświetlający na ekranie trójkąt równoramienny złożony z cyfr. Wysokość trójkąta (ilość wierszy) jest daną wejściową. Podstawa trójkąta powinna stykać się z lewym brzegiem ekranu

0

111

22222

3333333

  1. Napisz program do wydruku na ekranie liczb od 0 do 15 w systemie dziesiętnym, ósemkowym i szesnastkowym.

Ćwiczenia laboratoryjne nr 3.1

„Język Programowania” str. 4

4

Instrukcja wewnętrzna

Instrukcja wewnętrzna

W

T

N

w

N

T



Wyszukiwarka

Podobne podstrony:
CLAB 6-1 2008-2009, Tematy ćwiczeń laboratoryjnych z Języka Programowania
CLAB 1-1 2008-2009, Tematy ćwiczeń laboratoryjnych z Języka Programowania
CLAB 1-2 2008-2009, Tematy ćwiczeń laboratoryjnych z Języka Programowania
CLAB 7-2 2008-2009, Tematy ćwiczeń laboratoryjnych z Języka Programowania
CLAB 2 2009-2010, Tematy ćwiczeń laboratoryjnych z Języka Programowania
CLAB 8 2009-2010, Tematy ćwiczeń laboratoryjnych z Języka Programowania
CLAB 4 2009-2010, Tematy ćwiczeń laboratoryjnych z Języka Programowania
CLAB 1 2009-2010, Tematy ćwiczeń laboratoryjnych z Języka Programowania
CLAB 4-1 2008-2009, Ćwiczenia laboratoryjne
CLAB 3 2009-2010, Ćwiczenia laboratoryjne
CLAB 1-1 2008-2009, Język Programowania (JP)
1 FP Program W i CW dla II R W Ek K EK 2008 2009 fin, Ćwiczenia(2)
CLAB 7-1 2008-2009, Napisz program zwiększający parametry a=1 i b=1 o stałe wartości (np
Plany 2008-2009, PLan na luty, Treści programowe
CLAB 5-1 2008-2009, 5
Tematy ćwiczeń laboratoryjnych z Obróbki Ubytkowej, agh, III rok, Technologie obróbki ubytkowej, TOU
tematy ćwiczeń laboratoryjnych fizyka Cwicz 43
tematy ćwiczeń laboratoryjnych fizyka Cwicz 52
Plany 2008-2009, PLan na marzec, Treści programowe

więcej podobnych podstron