Старооскольский технологический институт
(филиал) Федерального государственного автономного образовательного
учреждения высшего профессионального образования
«Национальный исследовательский технологический университет «МИСиС»
Лабораторная работа №2
По дисциплине «Технология программирования»
Вариант 1
Выполнила:
ст. группы ИТ-11-1д
Полякова Евгения
Проверил:
Головченко А. Л.
г. Старый Оскол
2012 г.
Задание №1
Задачи на использование операторов условия . Осуществить ввод необходимых данных, выполнить реализацию алгоритма с использованием операторов условия, обеспечить вывод полученных результатов. Для решения задачи предварительно составляется блок-схема. Не допускается использование операторов, прерывающих ход программы (break, goto).
1.Ввести номер года (положительное целое число). Определить количество дней в этом году, учитывая, что обычный год насчитывает 365 дней, а високосный — 366 дней. Високосным считается год, делящийся на 4, за исключением тех годов, которые делятся на 100 и не делятся на 400 (например, годы 300, 1300 и 1900 не являются високосными, а 1200 и 2000 — являются).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
UInt32 x;
Console.Write("Введите год " + "\n ");
x = Convert.ToUInt32(Console.ReadLine());
if (x % 4 == 0)
{
if
(x % 100 == 0 && x % 400 != 0)
{
Console.WriteLine("Год не високосный насчитывает 365 дней");
}
else
{
Console.WriteLine("Год високосный насчитывает 366 дней");
}
}
else
{
Console.WriteLine("Год не високосный насчитывает 365 дней");
}
Console.ReadKey();
}
}
}
Задание №2
Задачи на использование операторов варианта . Осуществить ввод необходимых данных, выполнить реализацию алгоритма с использованием операторов варианта, обеспечить вывод полученных результатов. Для решения задачи предварительно составляется блок-схема. Не допускается использование массивов и операторов goto.
1.Даны два целых числа: D (день) и M (месяц), определяющие правильную дату не високосного года. Вывести значения D и M для даты, предшествующей указанной. Если пользователь вводит D и M несоответствующие календарю - выдать сообщение об ошибке.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Zadanie_2_2
{
class Program
{
static void Main(string[] args)
{
Int32 D, M, y = 1;
string s;
Console.Write("Введите день ");
s = Console.ReadLine();
D = Convert.ToInt32(s);
Console.Write("Введите месяц ");
s = Console.ReadLine();
M = Convert.ToInt32(s);
switch (M)
{
case 1: {
if ((D < 1) || (D > 31)) y = 0;
else
if (D == 1) { D = 31; M = 12; }
else D--;
break; }
case 2:
{
if ((D < 1) || (D > 28)) y = 0;
else
if (D == 1) { D = 31; M --; }
else D--;
break;
}
case 3:
{
if ((D < 1) || (D > 31)) y = 0;
else
if (D == 1) { D = 28; M--; }
else D--;
break;
}
case 4:
{
if ((D < 1) || (D > 30)) y = 0;
else
if (D == 1) { D = 31; M--; }
else D--;
break;
}
case 5:
{
if ((D < 1) || (D > 31)) y = 0;
else
if (D == 1) { D = 30; M--; }
else D--;
break;
}
case 6:
{
if ((D < 1) || (D > 30)) y = 0;
else
if (D == 1) { D = 31; M--; }
else D--;
break;
}
case 7:
{
if ((D < 1) || (D > 31)) y = 0;
else
if (D == 1) { D = 30; M--; }
else D--;
break;
}
case 8:
{
if ((D < 1) || (D > 31)) y = 0;
else
if (D == 1) { D = 31; M--; }
else D--;
break;
}
case 9:
{
if ((D < 1) || (D > 30)) y = 0;
else
if (D == 1) { D = 31; M--; }
else D--;
break;
}
case 10:
{
if ((D < 1) || (D > 31)) y = 0;
else
if (D == 1) { D = 30; M--; }
else D--;
break;
}
case 11:
{
if ((D < 1) || (D > 30)) y = 0;
else
if (D == 1) { D = 31; M--; }
else D--;
break;
}
case 12:
{
if ((D < 1) || (D > 31)) y = 0;
else
if (D == 1) { D = 30; M--; }
else D--;
break;
}
default: { y = 0; break; }
}
{
if(y==1)
Console.Write("Дата, предшествующая указанной {0}.{1}", D, M);
else
Console.Write("Ошибка");
Console.ReadKey();
}
}
}
}