Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
с1# (Восстановлен).doc
Скачиваний:
247
Добавлен:
07.02.2015
Размер:
3.82 Mб
Скачать

2.2 Лабораторная работа №2

Тема: Вычисление суммы ряда.

Консольный вариант

Цель занятия: Изучить структуру программ , основные операторы VB.NET для вычислений, отличительные признаки языка программирования VB и VB.NET. Получить навыки работ по составлению простейших программ для вычисления суммы ряда в консольном варианте.

1. построение словесных алгоритмов

2. Построение алгоритмов в виде блок-схем

3. Разработка программы в консольном варианте .

4.Разработка программ на основе основных математических операторов

Словесный алгоритм:

1. Титульный лист ( тема, условие задачи, автор,кнопка Начало);

2. Если кнопка Начало включена, то переход на 3, иначе на 1;

3. Ввод n ( текстовое окно);

4. Организация цикла от i=1 до n;

5. Вычисление a=(-1) ^ (i + 1) / (i * (i + 1))

6.Вычислить выражение s=s+a

7. Если i>n, то переход на 8, иначе на 5

8. Вывод результата вычисления s

ModuleModule1

Dim x, k As Integer

Dim s As Double

Dim str As String

Sub Main()

Dim k As Integer

Console.WriteLine()

Console.WriteLine(« ГОУ ВПО ЧГПУ им. И. Я. Яковлева»)

Console.WriteLine()

Console.WriteLine()

Console.WriteLine(« Лабораторная работа по программированию «)

Console.WriteLine(« на тему “Вычисление суммы ряда”»)

Console.WriteLine()

Console.WriteLine()

Console.WriteLine(« Выполнил: студент МиИ-3а Сергеев Н. И.»)

Console.WriteLine(« Проверил: профессор информатики Никишев В. К.»)

Console.WriteLine()

Console.WriteLine()

Console.WriteLine()

Console.WriteLine()

Console.WriteLine(« Нажмите любую клавишу»)

Console.ReadKey()

Console.Clear()

str = «g»

s = 1

Do Until str = «»

Console.Clear()

Console.WriteLine(«Введите число “n”»)

x = Console.ReadLine()

For k = 1 To x

s = s * (1 + 1 / Math.Pow(k, x))

Next

Console.WriteLine(s)

Console.WriteLine()

Console.WriteLine(«повторить?(нажмите клавишу)»)

str = Console.ReadLine()

Loop

End Sub

End Module

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace WindowsFormsApplication23

{

public partial class Form3 : Form

{

public Form3()

{

InitializeComponent();

}

// Кнопка задание 1

private void button1_Click(object sender, EventArgs e)

{

int n = Convert.ToInt16(textBox1.Text);

double s=0;

for(int i=1;i<=n;i++)

{

double a=(1+1/Math.Pow(i,i));

s = s + a;

}

textBox2.Text = Convert.ToString(s);

}

private void button2_Click(object sender, EventArgs e)

{

Form1 f1 = new Form1();

Form3.ActiveForm.Hide();

f1.Show();

}

}

}

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace WindowsFormsApplication23

{

public partial class Form6 : Form

{

public Form6()

{

InitializeComponent();

}

// Кнопка вычислить

private void button1_Click(object sender, EventArgs e)

{

double x = Convert.ToDouble(textBox1.Text);

double eps = Convert.ToDouble(textBox2.Text);

int n = 0;

double a = Math.Pow(-1, n + 1) * Math.Pow(x, 2 * n + 1) / (2 * n + 1);

double s = 0;

while (Math.Abs(a) >= eps)

{

n = n + 1;

a = Math.Pow(-1, n + 1) * Math.Pow(x, 2 * n + 1) / (2 * n + 1);

s = s + a;

}

textBox3.Text = Convert.ToString(s);

textBox4.Text = Convert.ToString(n);

}

// Кнопка возврат

private void button2_Click(object sender, EventArgs e)

{

Form1 f1 = new Form1();

Form6.ActiveForm.Hide();

f1.Show();

}

}

}

Программа в среде VC++.NET

#pragma endregion

private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {

}

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {

}

private: System::Void button2_Click_1(System::Object^ sender, System::EventArgs^ e) {

this->Close();

}

private: System::Void button1_Click_1(System::Object^ sender, System::EventArgs^ e) {

int n = Convert::ToInt32(textBox1->Text);

double s=0;

int i;

double r,p;

p=1;

for(int i=1;i<=n;i++)

{

r=1+p/i;

s=s+r;

}

//label2->Text = Convert::ToString(cal->z);

label2->Text = Convert::ToString(r);

textBox3->Text = Convert::ToString(s);

}};}

Программа на VB.NET

Public Class Form4

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click

Form5.Show()

Me.Hide()

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Form1.Show()

Me.Hide()

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim i, n As Integer, p, s As Single

n = Val(TextBox1.Text)

p = 1 : s = 0

For i = 1 To n

s = s + Math.Sin(i)

p = p * (i / s)

Next

TextBox2.Text = p

End Sub

End Class

Public Class Form5

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim s, p, t As Single, n As Integer

s = 0

n = 1

t = Val(TextBox1.Text)

p = Math.Pow(-1, n) / Math.Pow(n, 2)

s = s + p

Do Until Math.Abs(p) < t

n = n + 1

p = Math.Pow(-1, n) / Math.Pow(n, 2)

s = s + p

Loop

TextBox2.Text = Str(s)

TextBox3.Text = Str(n)

TextBox4.Text = Str(Math.Abs(s - Math.Pow(Math.PI, 2) / 12))

End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Form1.Show()

Me.Hide()

End Sub

End Class

Задания к теме Сумма ряда