Sunteți pe pagina 1din 4

MINISTERUL EDUCAŢIEI AL REPUBLICII

MOLDOVA
Colegiul Politehnic din Chişinău

Catedra „Sisteme Informaţionale”

Lucrare de laborator nr. 3


La Programarea Orientată pe Obiecte 2

Varianta 5

Tema: Elaborarea programelor ce utilizează principiul de clase interioare și


parțiale

Data __________

__________
(Semnătura prof.)
__________
(Semnătura elev)

A efectuat
elevul gr. I 0112
Musteata Damian

A verificat profesorul
Verlan Zinaida

Chişinău 2015
Scopul lucrării:
1. Însuşirea noilor elemente de bază ale limbajului C#;
2. Cunoaşterea, definirea: claselor interioare și parțiale în limbajul C#;
3. Compunerea şi punerea în execuţie a programelor C#.

Condiția problemei:
Să se elaboreze un program C# (în Console Aplication) ce utilizează clase interioare și
parțiale.
Figura geometrică conform variantei – Con.

Listingul programului:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Laborator3
{
public partial class Figura
{
private class Con
{
private double _inaltime, _generatoare, _raza;
public Con(double inaltime, double generatoare, double raza)
{
_inaltime = inaltime;
_generatoare = generatoare;
_raza = raza;
}
public double Inaltime
{
get
{
return _inaltime;
}
set
{
if (value > 0) _inaltime = value;
}
}
public double Generatoare
{
get
{
return _generatoare;
}
set
{
if (value > 0) _generatoare = value;
}

}
public double Raza
{
get
{
return _raza;
}
set
{
if (value > 0) _raza = value;

1
}
}
public double Aria()
{
double arie = Math.PI * _raza * (_generatoare + _raza);
return arie;
}
public double Volumu()
{
double volumul = (Math.PI * Math.Pow(_raza,2) * _inaltime) / 3;
return volumul;
}
}
}
}
namespace Laborator3
{
public partial class Figura
{

class Program
{
static void Main(string[] args)
{
double h1, h2, h3, g1, g2, g3, r1, r2, r3;
Console.Write("Introdu inaltimea si dimensiunile rurilor Conului 1: ");
h1 = Convert.ToDouble(Console.ReadLine());
g1 = Convert.ToDouble(Console.ReadLine());
r1 = Convert.ToDouble(Console.ReadLine());
Console.Write("Introdu inaltimea si dimensiunile rurilor Conului 2: ");
h2 = Convert.ToDouble(Console.ReadLine());
g2 = Convert.ToDouble(Console.ReadLine());
r2 = Convert.ToDouble(Console.ReadLine());
Console.Write("Introdu inaltimea si dimensiunile rurilor Conului 3: ");
h3 = Convert.ToDouble(Console.ReadLine());
g3 = Convert.ToDouble(Console.ReadLine());
r3 = Convert.ToDouble(Console.ReadLine());
Con con1 = new Con(h1, g1, r1);
Con con2 = new Con(h2, g2, r2);
Con con3 = new Con(h3, g3, r3);
Console.WriteLine("Aria primului Con este {0} u.p.", con1.Aria());
Console.WriteLine("Volumul primului Con este {0} u.c", con1.Volumu());
Console.WriteLine("Aria celui de al doilea Con este {0} u.p.",
con2.Aria());
Console.WriteLine("Volumul celui de al doilea Con este {0} u.c",
con2.Volumu());
Console.WriteLine("Aria celui de al treilea Con este {0} u.p.",
con3.Aria());
Console.WriteLine("Volumul celui de al treilea Con este {0} u.c",
con3.Volumu());
Console.ReadKey();
}
}
}
}

2
Rezultate:

Concluzie:
La lucrarea dată de laborator am făcut cunoștință cu noi elemente ale limbajului C# în ceea ce
ține de lucrul cu clasele interioare și parțiale.

Clasa externă în programul de mai sus se numește Figura, iar cea internă – Con. Clasa Figura, pe
lîngă faptul că este una ”gazdă” pentru o altă clasă, aceasta mai este și clasă parțială, deoarece este
fragmentată în același fișier de cod.

În programul de mai sus, în comparație cu cel din laboratorul 3, dimensiunile razelor,


generatoarelor și înălțimile conurilor sunt citite de la tastatură, fapt ce face programul mult mai util, dar
și mai complex.

S-ar putea să vă placă și