Автор: Светлана Д, 03 Ноября 2010 в 17:22, контрольная работа
1. Калькулятор мовою програмування JavaScript. Виконує такі математичні дії:
- тригонометричні функції
- обернені тригонометричні функції
- гіперболічні функції
- оберненні гіперболічні функції
2. Калькулятор для обчислення матриць мовою програмування JavaScript.
Виконує дії транспонування, складання, віднімання та множення матриць, знаходження оберненої матриці.
Завдання №1
Дано довільне ціле число. Виконати над
його цифрами такі дії: залишити цифри
менше за 5, та вивести нове число на екран.
Виконання
роботи
using System;
namespace NewSystemSoftware
{
class Program
{
static void Main(string[] args)
{
int Number = System.Convert.ToInt32(
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.
Application.
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("
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.
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(
gr.Add(name,
System.Convert.ToInt32(NewRow[
System.Convert.ToInt32(NewRow[
System.Convert.ToInt32(NewRow[
System.Convert.ToInt32(NewRow[
}
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(
{
if (OpenFile != "" && OpenFile != listBox1.Items[listBox1.
{
SaveFile();
OpenFile = "";
}
dataGridView1.Visible = false;
if (listBox1.SelectedIndex < 0) return;
dataGridView1.Visible = true;
if (OpenFile == listBox1.Items[listBox1.
OpenFile = listBox1.Items[listBox1.
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(
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;
}
}
}
Література