You are on page 1of 8

LP TRNH HNG I TNG VI C#

1. Bi ton
Xy dng lp TamGiac biu din khi nim tam gic trong ton hc. nh ngha y cc thuc tnh, cc phng thc properties, cc phng thc khi to, cc phng thc kim tra nhp xut mt tam gic, kim tra tam gic nhp vo c hp l, tnh chu vi v din tch tam gic, kim tra v tr tng i gia mt im v mt tam gic.

2. ng dng
Vi Ms Visual Studio, xy dng project mi t tn l TamGiac vi 3 lp (Program, Diem v TamGiac) nh sau:

Lp Diem nh ngha mt im trong khng gian Oxy v c ci t nh sau:


using System; using System.Collections.Generic; using System.Text; namespace TamGiac { class Diem { // Cac thuoc tinh private int x; // x viet thuong private int y; // y viet thuong // Cac phuong thuc Properties public int X // X viet hoa { get { return x; } // x viet thuong set { x = value; } // x viet thuong } public int Y // Y viet hoa { get { return y; } // y viet thuong set { y = value; } // y viet thuong } // Cac phuong thuc khoi tao

public Diem() { x = 0; y = 0; } public Diem(int xx, int yy) { x = xx; y = yy; } public Diem(Diem p) { X = p.X; Y = p.Y; } // Tinh khoang cach giua 2 diem public double KhoangCach(Diem b) { double distance; distance = Math.Sqrt((x - b.x)*(x - b.x) + (y - b.y)*(y - b.y)); return distance; } public override string ToString() // Xuat { return "(" + x + ", " + y + ")"; } // Nhap diem public void NhapDiem() { Console.Write("Nhap hoanh do: "); string line = Console.ReadLine(); x = int.Parse(line); Console.Write("Nhap tung do: "); line = Console.ReadLine(); y = int.Parse(line); } } }

Mt tam gic gm c 3 nh, do lp TamGiac c nh ngha nh sau:


using System; using System.Collections.Generic; using System.Text; namespace TamGiac { class TamGiac { // Cac thuoc tinh

private Diem dinhA; private Diem dinhB; private Diem dinhC; // Cac phuong thuc Properties public Diem DinhA { get { return dinhA; } set { dinhA = value; } } public Diem DinhB { get { return dinhB; } set { dinhB = value; } } public Diem DinhC { get { return dinhC; } set { dinhC = value; } } // Cac phuong thuc khoi tao public TamGiac() { dinhA = new Diem(); dinhB = new Diem(); dinhC = new Diem(); } public TamGiac(Diem A, Diem B, Diem C) { dinhA = new Diem(A); dinhB = new Diem(B); dinhC = new Diem(C); } public TamGiac(TamGiac triangle) { dinhA = new Diem(triangle.DinhA); dinhB = new Diem(triangle.DinhB); dinhC = new Diem(triangle.DinhC); } public double ChuViTamGiac() { double cv; double a = dinhB.KhoangCach(dinhC); double b = dinhA.KhoangCach(dinhC); double c = dinhA.KhoangCach(dinhB); cv = a + b + c; return cv;

} public double DienTichTamGiac() { double dt; double a = dinhB.KhoangCach(dinhC); double b = dinhA.KhoangCach(dinhC); double c = dinhA.KhoangCach(dinhB); double p = (a + b + c)/2.0; dt = Math.Sqrt(p * (p-a) * (p-b) * (p-c)); return dt; } public void NhapTamGiac() { Console.WriteLine("Nhap dinh A: "); dinhA.NhapDiem(); Console.WriteLine("Nhap dinh B: "); dinhB.NhapDiem(); Console.WriteLine("Nhap dinh C: "); dinhC.NhapDiem(); } } }

Sau khi xy dng xong 2 lp Diem v TamGiac, trong hm Main ca lp Program ta s dng lp TamGiac nh sau:
using System; using System.Collections.Generic; using System.Text; namespace TamGiac { class Program { static void Main(string[] args) { // Khoi tao mot doi tuong thuoc lop TamGiac // Construct a new object which belong to TamGiac class TamGiac ABC = new TamGiac(); // Goi ham nhap mot TamGiac // Call NhapTamGiac function ABC.NhapTamGiac(); // Tinh chu vi tam giac // Call ChuViTamGiac function double cv = ABC.ChuViTamGiac(); Console.WriteLine("Chu vi tam giac la: " + cv);

// Tinh dien tich tam giac // Call DienTichTamGiac function double dt = ABC.DienTichTamGiac(); Console.WriteLine("Dien tich tam giac la: " + dt); Console.ReadLine(); } } }

3. M rng
Nhp vo danh sch cc tam gic, tm tam gic c din tch ln nht? Nhp s lng phn t ca mng tam gic:
int n = int.Parse(Console.ReadLine());

Khai bo mng cc tam gic:


TamGiac[] tgs = new TamGiac[n];

Khi to cc phn t trong mng tam gic v nhp ln lt cc phn t ny:


for (int i = 0; i < n; i++) { tgs[i] = new TamGiac(); tgs[i].NhapTamGiac(); }

Tm tam gic c din tch ln nht trong mng:


public static TamGiac DienTichLonNhat(TamGiac[] arr, int n) // 2 tham so { TamGiac max = arr[0]; for (int i = 0; i < n; i++) { if (max.DienTichTamGiac() > arr[i].DienTichTamGiac()) { max = arr[i]; } } return max; }

Lp Program c xy dng li nh sau:


using System; using System.Collections.Generic;

using System.Text; namespace TamGiac { class Program { static void Main(string[] args) { Console.Write("Nhap so tam giac: "); int n = int.Parse(Console.ReadLine()); TamGiac[] tgs = new TamGiac[n]; for (int i = 0; i < n; i++) { tgs[i] = new TamGiac(); tgs[i].NhapTamGiac(); } TamGiac tg = DienTichLonNhat(tgs, n); Console.WriteLine(tg.ToString() + "\t" + tg.DienTichTamGiac()); Console.ReadLine(); } public static TamGiac DienTichLonNhat(TamGiac[] arr, int n) { // 2 tham so TamGiac max = arr[0]; for (int i = 0; i < n; i++) { if (arr[i].DienTichTamGiac() > max.DienTichTamGiac()) { max = arr[i]; } } return max; } } }

4. M rng 2
S dng ArrayList thay v s dng mng: s dng c lp ArrayList, ta phi khai bo s dng th vin:
using System.Collections;

Xy dng ng dng tng t nh trn, m ngun nh sau:


using System;

using System.Collections.Generic; using System.Text; using System.Collections; namespace TamGiac { class Program { static void Main(string[] args) { Console.Write("Nhap so tam giac: "); int n = int.Parse(Console.ReadLine()); TamGiac[] tgs = new TamGiac[n]; for (int i = 0; i < n; i++) { tgs[i] = new TamGiac(); tgs[i].NhapTamGiac(); } TamGiac tg = DienTichLonNhat(tgs, n); // 2 i s Console.WriteLine(tg.ToString() + "\t" + tg.DienTichTamGiac()); ArrayList arr = new ArrayList(); for (int i = 0; i < n; i++) { TamGiac t = new TamGiac(); t.NhapTamGiac(); arr.Add(t); } TamGiac max = DienTichLonNhat(arr); // 1 i s Console.WriteLine(max.ToString() + "\t" + max.DienTichTamGiac()); Console.ReadLine(); } public static TamGiac DienTichLonNhat(ArrayList arr) // 1 tham so { TamGiac max = (TamGiac)arr[0]; for (int i = 0; i < arr.Count; i++) { if ( max.DienTichTamGiac() > ((TamGiac)arr[i]).DienTichTamGiac() ) { max = (TamGiac)arr[i]; } } return max; }

public static TamGiac DienTichLonNhat(TamGiac[] arr, int n) {// 2 tham so TamGiac max = arr[0]; for (int i = 0; i < n; i++) { if (max.DienTichTamGiac() > arr[i].DienTichTamGiac()) { max = arr[i]; } } return max; } } }

You might also like