Калькулятор на языке JavaScript

Автор: Светлана Д, 03 Ноября 2010 в 17:22, контрольная работа

Описание работы

1. Калькулятор мовою програмування JavaScript. Виконує такі математичні дії:
- тригонометричні функції
- обернені тригонометричні функції
- гіперболічні функції
- оберненні гіперболічні функції
2. Калькулятор для обчислення матриць мовою програмування JavaScript.
Виконує дії транспонування, складання, віднімання та множення матриць, знаходження оберненої матриці.

Работа содержит 1 файл

новіе системы ПО.doc

— 88.50 Кб (Скачать)

Завдання №1   Дано довільне ціле число. Виконати над його цифрами такі дії: залишити цифри менше за 5, та вивести нове число на екран. 

        Виконання роботи 

using System; 

namespace NewSystemSoftware

{

    class Program

    {

        static void Main(string[] args)

        {

            int Number = System.Convert.ToInt32(Console.ReadLine()),

                num = 0,

                i = 1;

            while (Number != 0)

            {

                if ((Number % 10) < 5)

                {

                   num += (Number % 10) * i;

                    i *= 10;

                }

                Number /= 10;

            }

            Console.WriteLine(num);

        }

    }

} 

Завдання №2 Зобразити на формі графічно контур першоїлітери Вашого прізвища (розмір 200x200). Заповнити градієнтною заливкою або текстурою та зберегти зображення в файлі з розширенням BMP. 

Виконання роботи 

using System;

using System.Windows.Forms; 

namespace WindowsApplication1

{

    static class Program

    {

        [STAThread]

        static void Main()

        {

            Application.EnableVisualStyles();

            Application.SetCompatibleTextRenderingDefault(false);

            Application.Run(new Letter());

        }

    }

} 
 

using System.Drawing;

using System.Drawing.Drawing2D;

using System.Drawing.Imaging;

using System.Windows.Forms; 

namespace WindowsApplication1

{

    public partial class Letter : Form

    {

        public Letter()

        {

            InitializeComponent();

        }

        private void Letter_Paint(object sender, PaintEventArgs e)

        {

            Graphics g = e.Graphics;

            Bitmap img = (Bitmap)Image.FromFile("puziri.bmp", true);

            TextureBrush texture = new TextureBrush(img);

            texture.WrapMode = WrapMode.Tile;

            g.FillPolygon(texture,

                new Point[] {new Point(10,10),

                             new Point(30,10),

                             new Point(100,85),

                             new Point(170,10),

                             new Point(190,10),

                             new Point(190,190),

                             new Point(170,190),

                             new Point(170,35),

                             new Point(100,110),

                             new Point(30,35),

                             new Point(30,190),

                             new Point(10,190)});

        }

        private void Letter_MouseDown(object sender, MouseEventArgs e)

        {

            Bitmap bi = new Bitmap(this.Width, this.Height);

            this.DrawToBitmap(bi, new Rectangle(0, 0, this.Width, this.Height));

            bi.Save(@"M.bmp", ImageFormat.Bmp);

        } 

    }

}

 
 

Завдання №3 Створіть додаток з графічним інтерфейсом, що дозволяє вести облік успішності студентів декількох груп Миколаївського політехнічного інституту. Повинен бути реалізований клас Group, що допускає серіалізацію. Дані по групах розташовуються в окремих файлах. 

Виконання роботи 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.IO;

using System.Runtime.Serialization.Formatters.Binary; 

namespace WindowsApplication2

{

    public partial class DataBaseForm : Form

    {

        public DataBaseForm()

        {

            InitializeComponent();

        }

        String OpenFile = "";

        private void Form1_Load(object sender, EventArgs e)

        {

            DirectoryInfo dir = new DirectoryInfo(".");

            FileInfo[] grFiles = dir.GetFiles("*.group"); // group

            foreach (FileInfo f in grFiles)

            {

                string[] s = f.Name.Split('.');

                listBox1.Items.Add(s[0]);

            }

            if (grFiles.Length == 0)

            {

                Group gr = new Group(1);

                gr.Add("Холмогорова", 5, 5, 5, 5);

                listBox1.Items.Add("П-5");

                FileInfo f = new FileInfo("П-5.group");

                FileStream s = f.Open(FileMode.CreateNew);

                BinaryFormatter b = new BinaryFormatter();

                b.Serialize(s, gr);

                s.Close();

            }

        }

        private void SaveFile()

        {

            Group gr = new Group(group.Rows.Count);

            for (int i = 0; i < group.Rows.Count; i++)

            {

                DataRow NewRow = group.Rows[i];

                String name = System.Convert.ToString(NewRow["Фамилия"]);

                gr.Add(name,

                       System.Convert.ToInt32(NewRow["Оценка 1"]),

                       System.Convert.ToInt32(NewRow["Оценка 2"]),

                       System.Convert.ToInt32(NewRow["Оценка 3"]),

                       System.Convert.ToInt32(NewRow["Оценка 4"]));

            }

            FileInfo f = new FileInfo(OpenFile);

            FileStream s = f.Open(FileMode.Create);

            BinaryFormatter b = new BinaryFormatter();

            b.Serialize(s,gr);

            s.Close();

            int k = group.Rows.Count;

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

                group.Rows[0].Delete();

        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)

        {

            if (OpenFile != "" && OpenFile != listBox1.Items[listBox1.SelectedIndex].ToString() + ".group")

            {

                SaveFile();

                OpenFile = "";               

            }

            dataGridView1.Visible = false;

            if (listBox1.SelectedIndex < 0) return;

            dataGridView1.Visible = true;

            if (OpenFile == listBox1.Items[listBox1.SelectedIndex].ToString() + ".group") return;

            OpenFile = listBox1.Items[listBox1.SelectedIndex].ToString() + ".group";

            FileInfo f = new FileInfo(OpenFile);

            FileStream s = f.Open(FileMode.Open);

            BinaryFormatter b = new BinaryFormatter();

            Group gr = (Group) b.Deserialize(s);

            s.Close();

            for (int i = 0; i < gr.N; i++) {

                DataRow newRow;

                newRow = group.NewRow();

                newRow["Фамилия"] = gr.name[i];

                newRow["Оценка 1"] = gr.c1[i];

                newRow["Оценка 2"] = gr.c2[i];

                newRow["Оценка 3"] = gr.c3[i];

                newRow["Оценка 4"] = gr.c4[i];

                group.Rows.Add(newRow);

            }

        }

        private void listBox1_KeyUp(object sender, KeyEventArgs e)

        {

            if (e.KeyCode.ToString() == "Insert")

            {

                maskedTextBox1.Enabled = true;

                maskedTextBox1.Focus();

            }

        }

        private void maskedTextBox1_Leave(object sender, EventArgs e)

        {

            listBox1.Items.Add(maskedTextBox1.Text);

            Group gr = new Group(1);

            gr.Add("Холмогорова", 5, 5, 5, 5);

            FileInfo f = new FileInfo(maskedTextBox1.Text + ".group");

            FileStream s = f.Open(FileMode.CreateNew);

            BinaryFormatter b = new BinaryFormatter();

            b.Serialize(s, gr);

            s.Close();

            maskedTextBox1.Text = "";

            maskedTextBox1.Enabled = false;

        }

        private void DataBaseForm_FormClosed(object sender, FormClosedEventArgs e)

        {

            if (OpenFile != "") SaveFile();

        }

    }

    [Serializable]

    public class Group

    {

        public int N;

        int i;

        public string[] name;

        public int[] c1, c2, c3, c4;

        public Group(int n)

        {

            N = n;

            name = new string [n];

            c1 = new int [n];

            c2 = new int [n];

            c3 = new int [n];

            c4 = new int [n];

            i = -1;

        }

        public bool Add(string nname, int nc1, int nc2, int nc3, int nc4)

        {

            if (i == N - 1) return false;

            i++;

            name[i] = nname;

            c1[i] = nc1;

            c2[i] = nc2;

            c3[i] = nc3;

            c4[i] = nc4;

            return true;

        }

    }

} 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Література 
 

    
  1. Троелсен  Э. C# и платформа NET. Библиотека программиста. - СПб Питер, 2006. - 796 с.
  2. Робинсон У. C#: Пер. с англ. - M.: ДМК Пресс, 2005. - 352 с.

Информация о работе Калькулятор на языке JavaScript