Файл: Методические указания По проведению самостоятельных работ по.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.05.2024

Просмотров: 100

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лабораторная работа №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 ();
        }
        }
    }
Задания для самостоятельного выполнения:

  1. Напишите программу, определяющую четность или нечетность введенного с клавиатуры целого числа.

  2. Напишите программу, находящую максимум из 3-х чисел, введенных с клавиатуры

  3. Напишите программу нахождения корней квадратного уравнения при условии, что если дискриминант больше или равно 0, оно имеет корни, в обратном случае – уравнение корней не имеет.

  4. Ввести номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный год насчитывает 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

  1. Разработайте интерфейс и программный код на С # для решения следующей задачи: Последовательно вводятся 6 чисел. Определите, каких среди них больше: положительных или отрицательных



  1. Вводится последовательность из 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)
        {