1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Bài tập C sharp ppt

15 529 7
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng lớp đường tròn và giải phương trình bậc hai trong C#
Thể loại Bài tập
Định dạng
Số trang 15
Dung lượng 75 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài tập 1: Xây dựng một lớp đường tròn lưu giữ bán kính và tâm của đường tròn.. Tạo các phương thức để tính chu vi, diện tích của đường tròn.. Bài tập 2: Thêm thuộc tính BanKinh vào lớp

Trang 1

Bài tập 1: Xây dựng một lớp đường tròn lưu giữ bán kính và tâm của đường tròn Tạo các phương thức để tính chu vi, diện tích của đường tròn.

Bài tập 2: Thêm thuộc tính BanKinh vào lớp được tạo ra từ bài tập 1.

Bài tập 3: Tạo ra một lớp lưu trữ giá trị nguyên tên myNumber Tạo thuộc tính cho thành viên này Khi số được lưu trữ thì nhân cho 100 Và khi số được truy cập thì chia cho 100 Câu hỏi 7: Viết lớp giải phương trình bậc hai Lớp này có các thuộc tính a, b, c và nghiệm x1, x2 Hãy xây dựng theo hướng đối tượng lớp trên Lớp cho phép bên ngoài xem được các

nghiệm của phương trình và cho phép thiết lập hay xem các giá trị a, b, c.

Mình làm nó thành 1 project

CMain.cs

PHP Code:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace BT_Chuong4

{

class CMain

{

static void Main(string[] args)

{

CCircle cir = new CCircle( , , );

Console.WriteLine("Perimeter is {0}, Area is {1}", cir.GetPe rimeter(), cir.GetArea());

CGiaiPhuongTrinh gpt = new CGiaiPhuongTrinh( , , );

gpt.GetResult();

Console.WriteLine(gpt.Result.ToString());

Console.ReadKey();

}

}

}

CPoint.cs

PHP Code:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace BT_Chuong4

{

class CPoint

{

/// <summary>

Trang 2

/// Properties of a point

/// </summary>

private float x;

public float X

{

get { return x; }

set { x = value; }

}

private float y;

public float Y

{

get { return y; }

set { y = value; }

}

/// <summary>

/// Constructor, non-parameter

/// </summary>

public CPoint()

{

x = y = 0

}

/// <summary>

/// Constructor, two parameter

/// </summary>

/// <param name="x">Coordinate of point</param> /// <param name="y">Ordinale of point</param> public CPoint(float x, float y)

{

this.x = x

this.y = y

}

/// <summary>

/// Copy constructor

/// </summary>

/// <param name="p">Other point to copy</param> public CPoint(CPoint p)

{

this.x = p x

this.y = p y

}

}

}

CCircle.cs

PHP Code:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

Trang 3

namespace BT_Chuong4

{

class CCircle

{

/// <summary>

/// Properties of a circle

/// </summary>

private CPoint center;

internal CPoint Center

{

get { return center; }

set { center = value; }

}

private float radius;

public float Radius

{

get { return radius; }

set { radius = value; }

}

/// <summary>

/// Constructor, non-parameter

/// </summary>

public CCircle()

{

this.center = new CPoint();

this.radius = 0

}

/// <summary>

/// Constructor, three float parameter

/// </summary>

/// <param name="x">Coordinate of point</param> /// <param name="y">Ordinale of point</param> /// <param name="rad">Radius of circle</param> public CCircle(float x, float y, float rad) {

this.center = new CPoint( , y);

this.radius = rad;

}

/// <summary>

/// Constructor, two parameter

/// </summary>

/// <param name="p"></param>

/// <param name="rad"></param>

public CCircle(CPoint p, float rad)

{

this.center = new CPoint( );

this.radius = rad;

}

/// <summary>

/// Copy constructor

Trang 4

/// </summary>

/// <param name="cir">Other circle</param> public CCircle(CCircle cir)

{

this.center = new CPoint(cir.center); this.radius = cir.radius;

}

/// <summary>

/// Method calculate perimeter of circle /// </summary>

/// <returns>Perimeter</returns>

public double GetPerimeter()

{

return 2 radius*Math.PI;

}

/// <summary>

/// Method calculate area of circle

/// </summary>

/// <returns>Area</returns>

public double GetArea()

{

return radius * radius * Math.PI; }

}

}

CGiaiPhuongTrinh.cs

PHP Code:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace BT_Chuong4

{

class CGiaiPhuongTrinh

{

//Properties

private float a;

public float A

{

get { return a; }

set { a = value; }

}

private float b;

public float B

{

get { return b; }

set { b = value; }

}

Trang 5

private float c;

public float C

{

get { return c; }

set { c = value; }

}

private float x1;

public float X1

{

get { return x1; }

set { x1 = value; }

}

private float x2;

public float X2

{

get { return x2; }

set { x2 = value; }

}

private StringBuilder result;

public StringBuilder Result

{

get { return result; }

set { result = value; }

}

/// <summary>

/// Constructor, non-parameter

/// </summary>

public CGiaiPhuongTrinh()

{

a = b = c = 0

result = new StringBuilder();

}

/// <summary>

/// Constructor, three parameter

/// </summary>

/// <param name="a"> a constant</param>

/// <param name="b"> b constant</param>

/// <param name="c"> c constant</param>

public CGiaiPhuongTrinh(float a, float b, float c) {

this.a = a

this.b = b

this.c = c

result = new StringBuilder();

}

/// <summary>

/// Set value for quadratic equation

Trang 6

/// </summary>

/// <param name="a"> a constant</param>

/// <param name="b"> b constant</param>

/// <param name="c"> c constant</param>

public void SetValue(float a, float b, float c)

{

this.a = a

this.b = b

this.c = c

}

/// <summary>

/// Calculation value of quadratic equation

/// </summary>

/// <param name="flag">status root of equation</param>

/// <returns>True (is quadratic equation)/False (is simple equat ion)</returns>

public bool Process(ref int flag)

{

if (a == 0

{

if (b == 0

{

if (c == 0) flag = 1; //Phương trinh vô số nghiệm else flag = 2; //Phương trình vô nghiệm

}

else

{

x1 = x2 = -c / b

flag = 3; //Phương trình có 1 nghiệm }

return false;

}

float delta = b * b - 4 * a * c

if (delta == 0

{

x1 = x2 = -b / (2 * a);

flag = 1; //Phương trình có nghiệm dn

}

else if (delta > 0) //Phương trình có 2 nghiệm ph

ân biệt

{

flag = 2

x1 = (float)(-b + Math.Sqrt(delta)) / (2 * a);

x2 = (float)(-b - Math.Sqrt(delta)) / (2 * a);

}

else flag = 3; //Phương trình vô nghiệm return true;

}

/// <summary>

/// Get result of quadratic equation

/// </summary>

public void GetResult()

{

Trang 7

int flag = 0

result.Length = 0

if (Process(ref flag))

{

result.AppendFormat("PHƯƠNG TRÌNH BẬC 2: {0}*X^2 + {1}*X + {2} = 0 \n", a b c);

if (flag == 1

result.AppendFormat(" - Phương trình có nghiệm dn: x

= {0}\n", x1);

else if (flag == 2

result.AppendFormat(" - Phương trình có 2 nghiệm pb: x1 = {0} và x2 = {1}\n", x1, x2);

else if (flag == 3

result.Append(" - Phương trình vô nghiệm");

}

else

{

result.AppendFormat("PHƯƠNG TRÌNH BẬC 1: {0}*X + {1} =

0 \n", b, c);

if (flag == 1

result.Append(" - Phương trình vô số nghiệm \n"); else if (flag == 2

result.Append(" - Phương trình vô nghiệm \n");

else if (flag == 3

result.AppendFormat(" - Phương trình có 1 nghiệm: x

= {0}", x1);

}

}

}

}

Khá hơn trước là đã viết comment đầy đủ cho các hàm (tuy nhiên nội dung comment chưa tốt)

Đây làm mấy cái đề bài

Bài tập 5: Viết chương trình hiển thị ra màn hình 3 kiểu sau:

Mã:

*

* *

* * *

* * * *

* * * * *

* * * * * *

a)

Mã:

$ $ $ $ $ $

$ $ $ $ $

$ $ $ $

$ $ $

$ $

$

b)

Trang 8

*

* * *

* * * * *

* * * * * * *

* * * * * * * * *

* * * * * * * * * * *

c)

Bài tập 6: Viết chương trình hiển ra trên màn hình

Mã:

1

2 3 2

3 4 5 4 3

4 5 6 7 6 5 4

5 6 7 8 9 8 7 6 5

6 7 8 9 0 1 0 9 8 7 6

7 8 9 0 1 2 3 2 1 0 9 8 7

8 9 0 1 2 3 4 5 4 3 2 1 0 9 8

9 0 1 2 3 4 5 6 7 6 5 4 3 2 1 0 9

0 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1 0

Bài tập 7: Viết chương trình in ký tự số (0 9) và ký tự chữ (a z) với mã ký tự tương ứng của

từng ký tự

Ví dụ:

‘0’ : 48

‘1’ : 49

Bài tập 8: Viết chương trình giải phương trình bậc nhất, cho phép người dùng nhập vào giá

trị a, b

Bài tập 9: Viết chương trình giải phương trình bậc hai, cho phép người dùng nhập vào giá trị

a, b, c

Bài tập 10: Viết chương trình tính chu vi và diện tích của các hình sau: đường tròn, hình chữ

nhật, hình thang, tam giác

Mình làm tất cả thành một project, mỗi vẫn đề tạo một Class riêng để tăng

performance

Bạn sẽ thấy rằng, sau này khi bạn làm winform thì chỉ cần add class đó vào + tạo giao diện là ta đã có một chương trình tương ứng không phải chỉnh sửa gì cả Hay thậm chí giờ bạn add nguyên cái form vào (add đầy đủ reference của form) + sửa lại hàm main thế cũng OK

Program.cs

PHP Code:

using System;

using System.Collections.Generic;

using System.Linq;

Trang 9

using System.Text;

namespace BT_Chuong3

{

class Program

{

static void Main(string[] args)

{

// Vẽ tam giac các loại

CVeTamGiac vtg = new CVeTamGiac();

Console.Write("Nhap chieu cao tam giac: ");

int n = int.Parse(Console.ReadLine());

vtg.ChieuCao = n

vtg.VeTamGiacSao();

Console.WriteLine(vtg.HinhVe.ToString());

vtg.VeTamGiacDolar();

Console.WriteLine(vtg.HinhVe.ToString());

vtg.VeTamGiacCanSao();

Console.WriteLine(vtg.HinhVe.ToString());

vtg.VeTamGiacSo();

Console.WriteLine(vtg.HinhVe.ToString());

// In bảng mã ASCII

//CInMaASCII ascii = new CInMaASCII();

//ascii.InBangASCII();

//Console.WriteLine(ascii.BangMa.ToString());

// Giải phương trình bậc 1 và bậc 2

//CGiaiPhuongTrinh gpt = new CGiaiPhuongTrinh(2, 4, 1); //gpt.GetResult();

//Console.WriteLine(gpt.Result.ToString());

//gpt.SetValue(0, 6, 7);

//gpt.GetResult();

//Console.WriteLine(gpt.Result.ToString());

// Bài 10 quá vớ vẩn

Console.ReadKey(true);

}

}

}

CVeTamGiac.cs

PHP Code:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace BT_Chuong3

{

Trang 10

class CVeTamGiac

{

//Properties

private StringBuilder hinhVe;

public StringBuilder HinhVe

{

get { return hinhVe; }

set { hinhVe = value; }

}

private int chieuCao;

public int ChieuCao

{

get { return chieuCao; }

set { chieuCao = value; }

}

//Methods

public CVeTamGiac()

{

hinhVe = new StringBuilder();

}

public CVeTamGiac(int _chieuCao)

{

this.chieuCao = _chieuCao;

hinhVe = new StringBuilder();

}

public void VeTamGiacSao()

{

hinhVe.Length = 0

for (int i = 0; i < chieuCao; i++)

{

for (int j = 0; j <= i; j++)

{

hinhVe.Append("*");

}

hinhVe.Append("\n");

}

}

public void VeTamGiacDolar()

{

hinhVe.Length = 0

for (int i = 0; i < chieuCao; i++)

{

for (int j = 0; j < chieuCao- - ; j++) {

hinhVe.Append("$");

}

hinhVe.Append("\n");

}

}

Trang 11

public void VeTamGiacCanSao()

{

hinhVe.Length = 0

for (int i = 0; i < chieuCao; i++)

{

for (int j = 0; j < chieuCao - i; j++) {

hinhVe.Append(" ");

}

for (int j = 0; j < 2 i + 1; j++)

{

hinhVe.Append("*");

}

hinhVe.Append("\n");

}

}

public void VeTamGiacSo()

{

hinhVe.Length = 0

for (int i = 0; i < chieuCao; i++)

{

for (int j = 0; j < chieuCao - i; j++) {

hinhVe.Append(" ");

}

for (int j = i 1; j <= 2 * i + 1; j++) {

hinhVe.AppendFormat("{0}", %10); }

for (int j = 2 i; j >= i + 1; j ) {

hinhVe.AppendFormat("{0}", j % 10); }

hinhVe.Append("\n");

}

}

}

}

CInMaASCII.cs

PHP Code:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace BT_Chuong3

{

class CInMaASCII

{

Trang 12

//Properties

private StringBuilder bangMa;

public StringBuilder BangMa

{

get { return bangMa; }

set { bangMa = value; }

}

//Method

public CInMaASCII()

{

bangMa = new StringBuilder();

}

public void InBangASCII()

{

bangMa.Length = 0

bangMa.Append(" Dec Chr Hex Oct \n");

for (int i= ; i 256; i++)

{

bangMa.AppendFormat(" {0,3} {1,3} {2:X3} {3,3}\n", , (char) , , ); // su dung ep kieu

}

}

}

}

CGiaiPhuonTrinh.cs

PHP Code:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace BT_Chuong3

{

class CGiaiPhuongTrinh

{

//Properties

private float a;

public float A

{

get { return a; }

set { a = value; }

}

private float b;

public float B

{

get { return b; }

set { b = value; }

}

Trang 13

private float c;

public float C

{

get { return c; }

set { c = value; }

}

private StringBuilder result;

public StringBuilder Result

{

get { return result; }

set { result = value; }

}

// Method

public CGiaiPhuongTrinh()

{

a = b = c = 0

result = new StringBuilder();

}

public CGiaiPhuongTrinh(float a, float b, float c)

{

this.a = a

this.b = b

this.c = c

result = new StringBuilder();

}

public void SetValue(float a, float b, float c)

{

this.a = a

this.b = b

this.c = c

}

public bool Process(ref int flag,ref float getDelta)

{

if (a == 0

{

if (b == 0

{

if (c == 0) flag = 1; //Phương trinh vô số nghiệm else flag = 2; //Phương trình vô nghiệm

}

else flag = 3; //Phương trình có 1 nghiệm return false;

}

float delta = b * b - 4 * a * c

if (delta == 0) flag = 1; //Phương trình có nghiệm dn else if (delta > 0) //Phương trình có 2 nghiệm ph

ân biệt

{

Ngày đăng: 26/01/2014, 19:20

HÌNH ẢNH LIÊN QUAN

Bài tập 5: Viết chương trình hiển thị ra màn hình 3 kiểu sau: Mã: - Tài liệu Bài tập C sharp ppt
i tập 5: Viết chương trình hiển thị ra màn hình 3 kiểu sau: Mã: (Trang 7)
Bài tập 6: Viết chương trình hiển ra trên màn hình. Mã: - Tài liệu Bài tập C sharp ppt
i tập 6: Viết chương trình hiển ra trên màn hình. Mã: (Trang 8)

TỪ KHÓA LIÊN QUAN

w