Методические указания По проведению самостоятельных работ по
Скачать 1.54 Mb.
|
Лабораторная работа №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 и количество отрицательных чисел; Количество положительных чисел; Среднее арифметическое чисел. |