Các bài toán cơ bản trong lập trình C# (phần 3)

0
921

Ở các bài trước mình đã giới thiệu với các bạn một số ví dụ cơ bản về toán học, bài này mình sẽ tiếp tục chia sẻ các ví dụ khác và có thêm phần mới là Interface.

Một Interface giống như một lớp chỉ chứa các phương thức trừu tượng. Một lớp trừu tượng được dùng làm lớp cơ sở cho một họ các lớp dẫn xuất từ nó.

Chương trình C # để sử dụng Danh bạ

Chương trình sẽ đọc một file với tên và sđt để tạo thành danh bạ. Sau đó nhập tên người cần tìm sẽ hiện ra sđt.

Đây là mã nguồn của chương trình C#:

using System;
using System.Collections;
using System.IO;
class PhoneBook
{
 
    static void Main(string[] arg)
    {
        Hashtable tab = new Hashtable();
        string fileName;
        if
        { 
            (arg.Length > 0) fileName = arg[0];
        } 
        else
        { 
            fileName = "phoneBook.txt";
        }
        StreamReader r = File.OpenText(fileName);
        string line = r.ReadLine();  
        while (line != null)
        {
            int pos = line.IndexOf('=');
            string name = line.Substring(0, pos).Trim();
            long phone = Convert.ToInt64(line.Substring(pos + 1));
            tab[name] = phone;
            line = r.ReadLine();
        }
        r.Close();
        for (; ; )
        { 
            Console.Write("NHAP TEN : ");
            string name = Console.ReadLine().Trim();
            if (name == "") 
                break;
            object phone = tab[name];
            if (phone == null)
                Console.WriteLine("-- KHONG TIM THAY TRONG DANH BA");
            else
                Console.WriteLine(phone);
        }
    }
}

Đây là kết quả của chương trình C #:

NHAP TEN: A
9999945670
NHAP TEN : B
-- KHONG TIM THAY TRONG DANH BA

Chương trình C # để thực hiện kế thừa Interface

Chương trình dưới đây thực hiện in số từ 100-105

Đây là mã nguồn của chương trình C#:

using System;
using System.Collections;
class GrowableArray : IEnumerable
{
  object[] a;
  public GrowableArray(int size) 
  {
    a = new object[size];
  }
  public GrowableArray() : this(8) {}
  void Grow() 
  {
    object[] b = new object[2 * a.Length];
    Array.Copy(a, b, a.Length);
    a = b;
  }
  public object this[int i] 
  {
    set 
    {
      if (i >= a.Length) Grow();
      a[i] = value;
    }
    get 
    {
      if (i >= a.Length) Grow();
      return a[i];
    }
  }
  public IEnumerator GetEnumerator() 
  {
    return new GAEnumerator(a);
  }
  class GAEnumerator : IEnumerator 
  {
    object[] a;
    int i = -1;
    public GAEnumerator(object[] a) { this.a = a; }
    public object Current 
   { 
      get 
      { 
         return a[i]; 
      }
   }
    public void Reset() 
    { 
        i = -1; 
    }
    public bool MoveNext() 
    { 
      do i++; 
      while (i < a.Length && a[i] == null);
      if (i == a.Length) 
         return false; 
      else return true;
    }
  } 
}
class Test 
{
public static void Main() 
{
    GrowableArray a = new GrowableArray(2);
    a[0] = 0;
    a[1] = 1;
    a[3] = 3;
    foreach (object x in a) Console.Write(" " + x);
  }

Đây là kết quả của chương trình C #:

100
101
102
103
104
105

Chương trình C # để tính gia tốc

Đây là mã nguồn của chương trình C#:

using System;
class program
{
    static void Main(string[] args)
    {
        int v, t, acc;
        Console.WriteLine("NHAP VAN TOC : ");
        v = int.Parse(Console.ReadLine());
        Console.WriteLine("NHAP THOI GIAN : ");
        t = int.Parse(Console.ReadLine());
        acc = v / t;
        Console.WriteLine("GIA TOC LA : {0}", acc);
    }
}

Đây là kết quả của chương trình C #:

NHAP VAN TOC :
10
NHAP GIA TOC :
2
Acceleration : 5

Chương trình C # để tìm cạnh huyền của tam giác vuông

Đây là mã nguồn của chương trình C#:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class Program
{
    static void Main(string[] args)
    {
        double a, b, c;
        Console.WriteLine("NHAP DO DAI CANH GOC VUONG THU NHAT ");
        a = double.Parse(Console.ReadLine());
        Console.WriteLine("NHAP DO DAI CANH GOC VUONG THU HAI ");
        b = double.Parse(Console.ReadLine());
        c = Math.Sqrt(a * a + b * b);
        Console.WriteLine("CANH HUYEN CO DO DAI LA : {0}", c);
        Console.ReadLine();
    }
}

Đây là kết quả của chương trình C #: 

NHAP DO DAI CANH GOC VUONG THU NHAT
3
NHAP DO DAI CANH GOC VUONG THU HAI
4
DO DAI CANH HUYEN LA : 5

Chương trình C # để chia 2 số lũy thừa cùng cơ số

Đây là mã nguồn của chương trình C#:

using System;
class Program
{
    static void Main()
    {
        Console.WriteLine("NHAP CO SO CHUNG : ");
        double num = double.Parse(Console.ReadLine());
        Console.WriteLine("NHAP SO MU THU NHAT :");
        double exp1 = double.Parse(Console.ReadLine());
        Console.WriteLine("NHAP SO MU THU 2 :");
        double exp2 = double.Parse(Console.ReadLine());
        double div;
        div = exp1 - exp2;
        Console.WriteLine("KET QUA LA : {0}^{1} = {2}", num, div, Math.Pow(num, div));
        Console.ReadLine();
    }
}

Đây là kết quả của chương trình C #:

NHAP CO SO CHUNG :
2
NHAP SO MU THU NHAT :
4
NHAP SO MU THU 2 :
3
KET QUA LA: 2^1 : 2

Chúc các bạn thành công!

This site uses Akismet to reduce spam. Learn how your comment data is processed.