Sunteți pe pagina 1din 6

ACTIVITĂȚI 7

TIPURI COMPUSE DE DATE II

1. ACTIVITĂȚI EXPLICATE
1. Nota finală
2. Zi naștere

2. ACTIVITĂȚI SUPLIMENTARE
1. Cont personal

3. ACTIVITĂȚI PROPUSE
1. Grupa

SUPORT TEORETIC
Consultați
- Cursul 07
- Lecția 4 (activități remediale).

1
Notițe TIPURI COMPUSE DE DATE II ACTIVITĂȚI 7

Nota finală
a) Programul determină nota finală la examenul de ”Programarea
calculatorului II”, ca medie ponderată a altor patru note parțiale,
ae7.1 pentru o grupă de maximum 30 studenți. Se utilizează un tablou
unidimensional cu elemente de tip structură, care conțin datele
specifice pentru un student.

using System;

namespace c6_ex5
{
public struct student{
public string nume, prenume;
public int ne, nl, nt, np;
public double media;
};

class Program
{
static void Main(string[] args)
{

int n;
student[] grupa;//declarare variabila sir de elemente tip student

Console.Write("NOTELE STUDENTILOR\n");

Console.Write("\n\nIntruduceti numarul de studenti:");


n = int.Parse(Console.ReadLine());
grupa = new student[n];// grupa de tip sir de 30 elemente student

for(int i=0;i<n;i++)
{
Console.Write("\n\nIntruduceti notele pentru studentul
{0}\n",i);
Console.Write("Numele : ");
grupa[i].nume = Console.ReadLine(); //?

Console.Write("Prenumele : ");
grupa[i].prenume = Console.ReadLine(); //?

Console.Write("Nota ne : ");
grupa[i].ne = int.Parse(Console.ReadLine());

Console.Write("Nota nl : ");
grupa[i].nl = int.Parse(Console.ReadLine());

2
ACTIVITĂȚI 7 TIPURI COMPUSE DE DATE Notițe

Console.Write("Nota nt : ");
grupa[i].nt = int.Parse(Console.ReadLine());

Console.Write("Nota np : ");
grupa[i].np = int.Parse(Console.ReadLine());

grupa[i].media=0.4*grupa[i].ne+0.2*grupa[i].nl+0.2*grupa[i].nt
+0.2*grupa[i].np;
}

Console.Write("\n\nMediile studentilor sunt: '\n'");


for(int i=0;i<n;i++)
{
Console.Write("{0}.\n",i+1);
Console.Write(" Numele : {0}\n", grupa[i].nume);
Console.Write(" Prenumele : {0}\n", grupa[i].prenume);
Console.Write(" Nota finala : {0}\n",grupa[i].media);
}
Console.Write("\nApasati orice tasta pentru terminare...");
Console.ReadKey();
}
}

b) Adăugați linia de program prin care programul afișează un titlu sugestiv la


începutul execuției. Introduceți comentariile informative la început de program
sursa. Adăugați programul la Portofoliul de programe.

Zi de naștere
a) Exemplu de utilizare tipurilor de date enum și struct
ae7.2

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace cursul09.ex2
{
class Program
{
enum Luna
{
Ianuarie = 1, Februarie, Martie, Aprilie, Mai, Iunie,
Julie, August, Septmberie, Octombrie, Noiembrie,
Decembrie
}

3
Notițe TIPURI COMPUSE DE DATE II ACTIVITĂȚI 7

struct ZiNastere
{
public Luna nLuna;
public int nZi;
public int nAn;
}

static void Main(string[] args)


{
ZiNastere zn;

zn.nLuna = Luna.August;
zn.nZi = 11;
zn.nAn = 1961;

System.Console.WriteLine("My birthday is {0} {1}, {2}",


zn.nZi, zn.nLuna, zn.nAn);

Console.ReadKey();
}
}
}

b) Care este forma generală pentru enum ? Care sunt câmpurile obiectului
ZiNastere zn ?

c) Modificați programul astfel încât datele să fie citite de la tastatură.

d) Adăugați linia de program prin care programul afișează un titlu sugestiv la


începutul execuției. Introduceți comentariile informative la început de
program sursa. Adăugați programul la Portofoliul de programe.

4
ACTIVITĂȚI 7 TIPURI COMPUSE DE DATE Notițe

Cont personal
a) Introduceți și executați programul de mai jos.
as7.1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace cursul09.ex1
{
struct Cont
{
public string nume;
public decimal sold;
public Cont(string n, decimal s) { nume = n; sold = s; }
}

class Program
{
static void Main(string[] args)
{

Cont c1 = new Cont("Gheorghe", 1244.926m);


Cont c2 = new Cont();
Cont c3;

// struct cu new si constructor cu parametri


Console.WriteLine("{0} are un sold de {1:#.##}",
c1.nume,c1.sold);
Console.WriteLine();
// struct cu new cu constructor fara parametri
if (c2.nume == null)
{
Console.WriteLine("c2.nume este null");
Console.WriteLine("c2.sold este {0}", c2.sold);
Console.WriteLine();
};
// struct fara new si fara constructor
c3.nume = "Ana";
c3.sold = 100000m;
Console.WriteLine("{0} are un sold de {1:C}", c3.nume,
c3.sold);
Console.WriteLine();

5
Notițe TIPURI COMPUSE DE DATE II ACTIVITĂȚI 7

Console.ReadKey();
}
}
}

b) Care este farma generală a tipului compus struct ? Care sunt câmpurile
structurii struct Cont ?

c) Explicați cele trei modalități de accesare a câmpurilor unei structuri, pe baza


pragramului de mai sus.

d) Modificați programul astfel încât datele să fie citite de la tastatură. Explicați


{1:#.##} și {1:C}..

e) Adăugați linia de program prin care programul afișează un titlu sugestiv la


începutul execuției. Introduceți comentariile informative la început de
program sursa. Adăugați programul la Portofoliul de programe.

Grupa
Scrieți un program care care combină ae7.1 și ae7.2 prin care se
07.1 prelucrează datele studenților dintr-o grupă. Tipul de date student va
include și cîmpurile din structura ZiNastere.

07.2

07.3

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