FAQ | Points | Add... | Recent posts | Search | Register | Log in


Języki i paradygmaty programowania...


Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> Beginners Programming -> Języki i paradygmaty programowania...
Author
Message
panek89
Poziom 8
Poziom 8


Joined: 19 Oct 2006
Posts: 29
Location: Warszawa

Post#1 Post from the author of the topic 26 Jun 2009 17:30   

Języki i paradygmaty programowania...


Witam Panowie mam problem z kilkoma zadaniami z przedmiotu Języki i paradygmaty programowania...

Zad.1. 1.pkt. Utworzyć klasę posiadającą:
- dwa atrybuty prywatne: typu int i typu tablica znakowa o rozmiarze 10
- metody: konstruktor nadający atrybutom wartości: 11 i „wiersz”, konstruktor przeciążony nadający wartości atrybutom poprzez pobierane wartości parametrów, wpisz, wyświetl wszystko, wyświetl wartość pola tekstowego(wszystkie metody publiczne).

Code:
#include <iostream.h>
#include <stdlib.h>
#include <string.h>
class a1
{
      private: int a; char w[10];
     
        public:   
     a1()
      {a=11; strcpy(w,"wiersz");}
     a1(int x,char w1[10])
     { a=x; strcpy(w,w1);}
     void wysw()
     {cout<<"a="<<a<<"\nw="<<w<<endl;}
    void wysw(int t)
    {cout<<"pole tekstowe="<<w<<endl;}
     void wpisz(int aa, char ww[10]){
     a=aa; strcpy(w,ww);}
     
};     
      main ()
 {  a1 p1;
    p1.wysw();
    a1 p2(15,"tekst2");
    p2.wysw();
    a1 p3;
    p3.wpisz(44,"tekst3");
    p3.wysw();
   

    system("pause");
    return 0;
}   


Zad.2. 1.5.pkt. W oparciu o klasę z zad.1. (ewentualnie ją modyfikując) za pomocą mechanizmu dziedziczenia utworzyć klasę pochodną dziedziczącą atrybut tablica znakowa, mającą dodatkowo jeden atrybut typu int jako publiczny, oraz swoje metody: konstruktor – nadający wartość obu atrybutom – odpowiednio 555 i „kolokwium”, wyświetl wartości wszystkich atrybutów, wpisz wartość atrybutu tablica znakowa.

Zad.3. 1.pkt. Utworzyć klasę posiadającą dwa atrybuty – jeden typu int, drugi typu float. Atrybut typu int ma być statyczny. Należy nadać mu wartość początkową 101. Klasa ma zawierać metody: konstruktor nadający wartość dla atrybutu typu float poprzez parametr i zwiększający wartość atrybutu statycznego o 10, wyświetl wartość atrybutu statycznego. Utworzyć trzy obiekty, pokazać zmiany wartości atrybutu statycznego.

Zad.4. 1.5.pkt. Utworzyć klasę bazową z chronionym atrybutem typu float, konstruktorem nadającym mu wartość 2.33, oraz pochodną od niej zawierającą dodatkowy parametr typu int i swój konstruktor nadający wartości przez parametry. W klasie bazowej zdefiniować metodę „obliczenia”, która ma wywoływać prywatną metodę kwadrat – która ma liczyć kwadrat wartości atrybutu typu całkowitego danej klasy. W klasie pochodnej ma być swoja metoda kwadrat. Metody „kwadrat” maja być wirtualne. W funkcji main pokazać działanie mechanizmu wirtualnego.

Nie wiem jak zrobić zadanie 2,3 i 4... 1 zrobiłem, ale czy dobrze też nie wiem.

Pozdrawiam
Back to top
   
Demoman
Poziom 13
Poziom 13


Joined: 03 Dec 2003
Posts: 135
Location: -

Post#2 26 Jun 2009 18:17   

Re: Języki i paradygmaty programowania...


kod w znaczniki code a potem pomyślimy :)
Back to top
   
Google

Google Adsense


Post# 26 Jun 2009 18:17   





Back to top
   
panek89
Poziom 8
Poziom 8


Joined: 19 Oct 2006
Posts: 29
Location: Warszawa

Post#3 Post from the author of the topic 27 Jun 2009 03:08   

Re: Języki i paradygmaty programowania...


Okey ;) już jest ;p także kto chętnych niech myśli :)
Back to top
   
laurearel
Poziom 8
Poziom 8


Joined: 29 Jun 2009
Posts: 31

Post#4 29 Jun 2009 23:52helpful post - solution   

Re: Języki i paradygmaty programowania...


Mam nadzieję że nie za późno ;p

Ad 1
Code:
#include <iostream.h>
#include <stdlib.h>
#include <string.h>

/****************** KLASA NOWA *******************/
class KlasaNowa
{
      private:
        int a;
        char w[10];
     
      public: 
      /******* konstruktory ************/
      KlasaNowa()
      {
          a=11; strcpy(w,"wiersz");
         
      }
     
      KlasaNowa(int x,char w1[10])
      {
             a = x;
             for (int i=0 ; i< 10 ; i++)
             w[i] = w1[i] ;
      }
      /*********************************/
     void wyswietl()
     {
          cout << "int a = " << a << endl ;
          cout << "char w = " << w << endl ;
     }
};

/***************** MAIN ******************/

int main ()
{   
    char tab[10] ;
    int x,y ;
   
    KlasaNowa nowa1 ;
    nowa1.wyswietl();


    cout << " Podaj x : " ;
    cin >> x ; cout << endl;

    cout << "Podaj tab [max 10 znakow] : " ;
    cin >> tab;
     
   
    KlasaNowa nowa2(x,tab);
    nowa2.wyswietl();
   
   
    system("pause");
    return 0;
}   


Ad2
Po pierwsze zmieniasz w klasie bazowej (klasa nowa) zmienną char z private na protected .
Quote:
wpisz wartość atrybutu tablica znakowa.

Którego atrybutu ? Nie łapię za bardzo

Klasa pochodna :
Code:
 class KlasaPochodna : public KlasaNowa
{
      public :
             int iks ;
             
             KlasaPochodna()
             {
                            iks = 555 ;
                            strcpy(w,"kolokwium");
             }
             void wyswietl()
             {
                  cout << "int iks = " << iks << endl ;
                  cout << "char w = " << w << endl ;
             }
};

w main :
Code:
    KlasaPochodna pochod ;
    pochod.wyswietl();


Ad.3
Code:
class Trzy
{
                 
      public :
             static int umc ;
             float arghhh ;
             
             Trzy(float zm)
             {
                  arghhh = zm ;
                  umc = 101 ;
             }

             void wyswietl ()
             {
                  cout << "zm. statyczna umc = " << umc << ", zm. float = " << arghhh << endl ;
             }
};


Ostatnie pisałem na szybko bez sprawdzania, jutro jak nie zapomnę dopiszę 4te , teraz mykam, pozdro
Back to top
   
Google

Google Adsense


Post# 29 Jun 2009 23:52helpful post - solution   





Back to top
   
panek89
Poziom 8
Poziom 8


Joined: 19 Oct 2006
Posts: 29
Location: Warszawa

Post#5 Post from the author of the topic 30 Jun 2009 21:57   

Re: Języki i paradygmaty programowania...


Wielkie dzięki :) myślałem, że już nikt się nie skusi :)
Back to top
   
laurearel
Poziom 8
Poziom 8


Joined: 29 Jun 2009
Posts: 31

Post#6 01 Jul 2009 14:56   

Re: Języki i paradygmaty programowania...


i Ad.4

Code:
#include <cstdlib>
#include <iostream>
#include <math.h>

using namespace std;

class KBaz
{
      protected :
                float fChron ;
      public :
      KBaz ()
      {
          fChron = 2.33 ;
      }
     
      void obliczenia()
      {
           cout << " Kwadrat wynosi : " << kwadrat();
      }
     
      private :
              virtual double kwadrat()
              {
                     
              }
};

class KPoch : public KBaz
{
      int iNew;
      public :
      KPoch (int a, float b)
      {
            fChron = b ;
            iNew = a ;
      }

            private :
                   
              double kwadrat()
              {
                     return pow(iNew,2);
              }
};

int main(int argc, char *argv[])
{
    KPoch nius(10, 4);
    nius.obliczenia();
    cout << endl ;
    system("PAUSE");
    return EXIT_SUCCESS;
}

Back to top
   
panek89
Poziom 8
Poziom 8


Joined: 19 Oct 2006
Posts: 29
Location: Warszawa

Post#7 Post from the author of the topic 02 Jul 2009 22:12   

Re: Języki i paradygmaty programowania...


Hee fajnie fajnie :) a co powiecie na te zadania ? ja wymiękam ;]

Code:
Zad.1. 1.5.pkt. W oparciu o klasę z zad.2. (ewentualnie ją modyfikując) za pomocą mechanizmu dziedziczenia utworzyć klasę pochodną dziedziczącą oba atrybuty, mającą dodatkowo jeden atrybut typu tablica znakowa jako publiczny, oraz swoje metody: konstruktor – nadający wartość wszystkim atrybutom poprzez parametry, wyświetl wartość atrybutu tablica znakowa, wpisz wartości obu atrybutów liczbowych.

Zad.2. 1.pkt. Utworzyć  klasę posiadającą:
- dwa atrybuty: prywatny typu float i publiczny typu int
- metody: konstruktor nadający atrybutowi typu float wartość 11.77, dla typu int poprzez parametr, konstruktor przeciążony nadający wartości atrybutom poprzez pobierane wartości parametrów, wpisz wartość atrybutu typu int, wyświetl wszystko, średnia – obliczająca wartość średnią obu atrybutów i zwracająca ją (wszystkie metody publiczne).

Zad.3. 1.5.pkt. Utworzyć klasę bazową z atrybutem typu int, konstruktorem nadającym mu wartość przez parametr, oraz pochodną od niej zawierającą dodatkowy parametr typu float i swój konstruktor nadający wartości przez parametry. W klasie bazowej zdefiniować metodę „wyniki” wywołującą prywatną metodę „suma” – która ma liczyć sumę wartości atrybutów danej klasy i ją zwracać. W klasie pochodnej ma być swoja metoda suma. Metody „suma” maja być wirtualne. W funkcji main pokazać działanie mechanizmu wirtualnego.

Zad.4. 1.pkt. Utworzyć klasę posiadającą trzy atrybuty typu int. Jeden z atrybutów typu int ma być statyczny. Należy nadać mu wartość początkową 77. Klasa ma zawierać metody: konstruktor nadający wartości dla atrybutów 33 i 88, i zwiększający wartość atrybutu statycznego o 6, wyświetl wartości wszystkich atrybutów. Utworzyć dwa obiekty, pokazać zmiany wartości atrybutu statycznego.

Back to top
   
laurearel
Poziom 8
Poziom 8


Joined: 29 Jun 2009
Posts: 31

Post#8 02 Jul 2009 23:39   

Re: Języki i paradygmaty programowania...


słuchaj , to nie jest trudne. Sorki, ale ja nie mam czasu teraz, mam masę na głowę, i i tak nie wyrabiam ze wszystkim ;/
Przeanalizuj przykłady, po modyfikuj , porównaj treśc, a spokojnie dojdziesz do tego ; p
W tamtych przykładach masz wystarczająco informacji ;p

pozdro;p
Back to top
   
lord_dagoth
Poziom 20
Poziom 20


Joined: 06 Mar 2007
Posts: 872
Location: Gdańsk

Post#9 03 Jul 2009 08:42   

Re: Języki i paradygmaty programowania...


Zad. 2
Code:
class jakasKlasa
{
   private:
      float zmiennaFloat;
   public:
      int zmiennaInt;

      jakasKlasa(int x)
      {
         zmiennaInt=x;
         zmiennaFloat=11.77;
      }
   
      jakasKlasa(int x, float y)
      {
         zmiennaInt=x;
         zmiennaFloat=y;
      }
   
      void WpiszInt(int x)
      {
         zmiennaInt=x;
      }   

      void WyswietlWszystko()
      {
         std::cout<<zmiennaInt<<' '<<zmiennaFloat<<std::endl;
      }
   
      float srednia()
      {
         return ((float)zmiennaInt+zmiennaFloat)/2;
      }
};

Zad. 1
Code:
class jakasKlasa
{
   public:
      float zmiennaFloat;
      int zmiennaInt;

      jakasKlasa()
      {
      }

      jakasKlasa(int x)
      {
         zmiennaInt=x;
         zmiennaFloat=11.77;
      }
   
      jakasKlasa(int x, float y)
      {
         zmiennaInt=x;
         zmiennaFloat=y;
      }
   
      void WpiszInt(int x)
      {
         zmiennaInt=x;
      }   

      void WyswietlWszystko()
      {
         std::cout<<zmiennaInt<<' '<<zmiennaFloat<<std::endl;
      }
   
      float srednia()
      {
         return ((float)zmiennaInt+zmiennaFloat)/2;
      }
};

class klasaPochodna : jakasKlasa
{
   public:
      //nie ma sprecyzowanej dlugosci tablicy, ani tego, czy ma byc tworzona dynamicznie
      //wiec zalozylem ze ma 30 znakow, oczywiscie latwo to zmienic sobie :P
      char tablicaZnakow[30];

      klasaPochodna(int x, float y, char* ciagZnakow)
      {
         zmiennaInt=x;
         zmiennaFloat=y;

         //nie ma rowniez nic sprecyzowanego do sposobu przypisania tego, wiec
         //wzialem funkcje z string.h
         strncpy(tablicaZnakow,ciagZnakow,30);
      }

      void WyswietlTablice()
      {
         std::cout<<tablicaZnakow<<std::endl;
      }

      void WpiszAtrybutyLiczbowe(int x, float y)
      {
         zmiennaInt=x;
         zmiennaFloat=y;
      }
};

Reszty już mi się nie chce robić, ale będą dosłownie analogicznie :P
Back to top
   
Google

Google Adsense


Post# 03 Jul 2009 08:42   





Back to top
   
panek89
Poziom 8
Poziom 8


Joined: 19 Oct 2006
Posts: 29
Location: Warszawa

Post#10 Post from the author of the topic 03 Jul 2009 15:28   

Re: Języki i paradygmaty programowania...


Wielkie dzięki :) Pozdrawiam miłego kolegę ;)
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Programming Generally -> Beginners Programming -> Języki i paradygmaty programowania...
Page 1 of 1
Similar topics
[htc, wm 6.1]Kursy, języki, narzędzia do programowania. (2)
Jakie języki programowania do MMO 3D? (5)
Mikrokontrolery - Narzędzia i języki programowania (348)
Narzędzia i języki programowania (11)
Języki i paradygmaty programowania... (11)
Jaki język programowania wybrać do nauki programowania (4)

Page generation time: 0.137 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed