Файл: Методические указания По проведению самостоятельных работ по.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.05.2024
Просмотров: 108
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Глава 1. Обзор среды и языка C#
1.1 Среда разработки SharpDevelop
1.2 Составные компоненты языка программирования С#
1.3 Типы данных. Описание переменных. Константы именованные и неименованные
1.4. Основная структура программы
1.6.3. Комбинированные операторы присваивания
Лабораторная работа №4
Разветвляющиеся алгоритмы
Синтаксис условного оператора:
If (логическое выражение)
P1;
Else
P2
Задача.Торговый агент получает процент от суммы совершенной сделки. Если объем сделки до 3000, то 5%; если объем от 3000 до 10000, то 10%; если выше 10000, то 20%. Рассчитать сумму вознаграждения.
Интерфейс программы:
Листинг 5
namespace saif1
{
/// <summary>
/// Description of MainForm.
/// </summary>
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
void Button1Click (object sender, EventArgs e)
{
double z=Convert.ToDouble (textBox1 .Text);
double Prem;
if (z<3000)
{ Prem =z*.05;
}
else
if (z<=10000)
{Prem =z*0.1;
}
else
{
Prem =z*0.2;
}
textBox2 .Text =Prem .ToString ("f")+" руб.";
}
void Button2Click(object sender, EventArgs e)
{
Application .Exit ();
}
}
}
Задания для самостоятельного выполнения:
-
Напишите программу, определяющую четность или нечетность введенного с клавиатуры целого числа. -
Напишите программу, находящую максимум из 3-х чисел, введенных с клавиатуры -
Напишите программу нахождения корней квадратного уравнения при условии, что если дискриминант больше или равно 0, оно имеет корни, в обратном случае – уравнение корней не имеет. -
Ввести номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный – 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 ( например, годы 300, 1300, 1900 не являются високосными, а 1200 и 2000 – являются)
Лабораторная работа №5
Тема: Циклические алгоритмы
Операторы цикла for, while
Задача 1: Создайте консольное приложение для нахождения суммы целых чисел от 1 до 10.
Листинг 6
using System;
namespace sarforcons
{
class Program
{
public static void Main(string[] args)
{
int i;
int s=0;
for (i=1;i<=10;i++)
s=s+i;
Console .WriteLine ("Суммачиселот 1 до 10 = "+s);
Console.Write("Нажмитеналюбуюклавишу...");
Console.ReadKey(true);
}
}
}
(Результат выведет число 55. Модифицируйте программу, чтобы программа запрашивала число повторов, например, от 1 до числа n (n – целое положительное число).
Задача 2: Создайте консольное приложение для вывода таблицы умножения (используются вложенные циклы)
Листинг 7
using System;
namespace sarfor2
{
class Program
{
public static void Main(string[] args)
{
Console.WriteLine ("Введитецелоечислоот 1 до 10");
int n=Convert .ToInt32 (Console .ReadLine ());
for (int i=1; i<=n;i++)
{
for (int j=1; j<=10;j++)
Console .WriteLine (i+" * "+j+" = "+i*j);
Console .WriteLine ();
}
Console.Write("Нажмитедляпродолжениялюбуюклавишу. . . ");
Console.ReadKey(true);
}
}
}
Результат:
Задача 3. Вычислите значения y, соответствующие каждому значению x (xn≤x≤xk, шаг изменения x равен dx) по формуле
Вычислите сумму положительных значений y, произведение ненулевых значений y, количество отрицательных значений Y.
Результаты выведите на элемент управления ListBox
Листинг8
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace sarawhile
{
/// <summary>
/// Description of MainForm.
/// </summary>
public partial class MainForm : Form
{
public MainForm()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent
();
}
void Button1Click(object sender, EventArgs e)
{
double xn=Convert .ToDouble (textBox1 .Text);
double xk=Convert .ToDouble (textBox2 .Text);
double dx=Convert .ToDouble (textBox3 .Text);
double p=1;
double s=0;
double k=0;
double x=xn;
listBox1 .Items .Clear ();
listBox1 .Items .Add (" x "+" y ");
listBox1 .Items .Add (" ");
while (x<=xk)
{
double y= Math .Exp (Math.Sin (x))*Math .Cos (x);
listBox1 .Items .Add (" "+x.ToString ()+" "+y.ToString ());
if (y>=0)
s=s+y;
else
k=k+1;
if (y!=0)
p=p*y;
x=x+dx;
}
textBox4 .Text =s.ToString ();
textBox5 .Text =p.ToString ();
textBox6 .Text =k.ToString ();
}
}
}
Задача 4.Разработайте интерфейс и программный код на С # для решения следующей задачи: Последовательно вводятся 6 чисел (последний элемент последовательности равен 5). Определите, каких среди них больше: положительных или отрицательных?
Листинг9
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace safor11
{
/// <summary>
/// Description of MainForm.
/// </summary>
public partial class MainForm : Form
{
public MainForm()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
//
// TODO: Add constructor code after the InitializeComponent() call.
//
}
void MainFormLoad(object sender, EventArgs e)
{
int pol=0;
int otr=0;
double chis=0;
string astr;
while (chis !=5)
{
astr = Microsoft .VisualBasic .Interaction.InputBox ("Введитечисло:","Окновводаданных","",-1,-1);
chis =Convert .ToDouble (astr);
if (chis>0)
pol=pol+1;
else
otr=otr+1;
}
if (pol>otr)
MessageBox .Show ("Положительныхчиселбольше","Заголовококна",MessageBoxButtons .OK ,MessageBoxIcon .Information );
else
MessageBox .Show ("Отрицательныхчиселбольше","Заголовококна",MessageBoxButtons .OK ,MessageBoxIcon .Information );
Application.Exit ();
}
}
}
Задание №5
-
Разработайте интерфейс и программный код на С # для решения следующей задачи: Последовательно вводятся 6 чисел. Определите, каких среди них больше: положительных или отрицательных
-
Вводится последовательность из N чисел.
Найдите:
-
Сколько в ней чисел, равных числу 100 и количество отрицательных чисел; -
Количество положительных чисел; -
Среднее арифметическое чисел.
Лабораторная работа №6
Тема: Работа с одномерными массивами в C#
Задача 1. В одномерном массиве заданных чисел найдите сумму элементов массива. Ввод элементов осуществите вручную.
Листинг10
using System;
namespace mascons1
{
classProgram
{
public static void Main (string[] args)
{
int [] a;
a=newint [10];
int sum=0;
string [] con;
con =newstring [10];
for (int i=0;i<=9;i++)
{
Console .WriteLine ("Введите элемент массива: ");
con [i]=Console .ReadLine ();
a[i]=Convert .ToInt16 (con [i]);
sum +=a[i];
}
Console .WriteLine ("Сумма элементов массива = "+sum );
Console.Write("Нажмите на любую клавишу . . . ");
Console.ReadLine ();
}
}
}
Задача2. Видоизмененный пример, в котором элементы массива заранее известны в списке инициализаторов.
Листинг11
using System;
namespace mascons1
{
class Program
{
public static void Main(string[] args)
{
int [] a;
a=new int[10]{1,2,3,4,5,6,7,8,9,15};
int sum=0;
Console .WriteLine ("Исходный массив: ");
for (int i=0;i<=9;I ++)
Console .WriteLine ("\t"+a[i]);
Console .WriteLine ();
for (int i=0;i<=9;i++)
sum=sum +a[i];
Console .WriteLine ("Сумма элементов массива = "+sum );
Console .WriteLine ();
Console.Write("Нажмите на любую клавишу . . . ");
Console.ReadLine ();
}
}
}
Задача 3. Код решения предыдущей задачи, написанной как Windows-приложение.
Листинг12
Using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace maswinap1
{
public partial class MainForm :Form
{
public MainForm()
{
InitializeComponent();
}
void MainFormLoad (object sender, EventArgs e)
{