Контрольные примеры
Контрольный пример 1:
Пример 1 представлен на рисунке 9.
Ввод: мама ушла в магазин
Вывод: магазин в ушла мама
Рисунок 9 – пример работы по задаче 4.
Пример 2:
Пример 2 представлен на рисунке 10.
Ввод: казнить нельзя, помиловать
Вывод: помиловать нельзя казнить.
Рисунок 10 – пример работы по задаче 4.
Пример 3:
Пример 3 представлен на рисунке 11.
Ввод: шла саша по шоссе и сосала сушку
Вывод: сушку сосала и шоссе по саша шла
Рисунок 11 – пример работы по задаче 4.
ЗАДАЧА 5
Задание
Дано предложение, написать его в обратном порядке слов.
Входные данные
Предложение тип string.
Выходные данные
Предложение в обратном порядке слов.
Листинг программы:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace lab5_v6
{
class Program
{
static void Main(string[] args)
{
Console.Write("Введите предложение: ");
StringBuilder input = new StringBuilder(Console.ReadLine());
int i = input.Length - 1;
int lastSpace = i;
while (i >= 0)
{
while (i >= 0 && input[i] != ' ') i--;
{
char[] buf = new char[lastSpace - i];
input.CopyTo(i + 1, buf, 0, lastSpace - i);
Console.Write(buf);
if (i > 0) Console.Write(' ');
};
lastSpace = i;
i--;
}
Console.WriteLine();
Console.ReadKey();
}
}
}
Контрольные примеры
Контрольный пример 1:
Пример 1 представлен на рисунке 12.
Ввод: мама ушла в магазин
Вывод: магазин в ушла мама
Рисунок 12 – пример работы по задаче 5.
Пример 2:
Пример 2 представлен на рисунке 13.
Ввод: казнить нельзя, помиловать
Вывод: помиловать нельзя казнить.
Рисунок 13 – пример работы по задаче 5.
Пример 3:
Пример 3 представлен на рисунке 14.
Ввод: шла саша по шоссе и сосала сушку
Вывод: сушку сосала и шоссе по саша шла
Рисунок 14 – пример работы по задаче 5.
Задача 6
Задание
Класс «Окружность». В классе определить поля с координатами центра окружности и радиусом окружности, автовычисляемые поля, хранящие значения длины окружности и площади круга, ограниченного окружностью, непараметризированный метод, определяющий пересекает ли заданная окружность оси координат, параметризированный метод, определяющий длину отрезка, отсекаемого окружностью от заданной прямой (прямая задается как y=kx+b, то есть задаются только параметры k и b, если прямая не пересекает окружность, то метод возвращает 0).
Входные данные
Координаты центра окружности, радиус окружности, параметры прямой a b тип double.
Выходные данные
Площадь и длина окружности, длина отрезка пересекающею окружность.
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace lab6
{
class Round
{
public double Xc, Yc;
public double R;
public double S, L;
public Round(double _Xc, double _Yc, double _R)
{
Xc = _Xc;
Yc = _Yc;
R = _R;
S = Math.PI * R * R;
L = 2 * Math.PI * R;
}
public bool checkOxy()
{
return (Xc * Xc + Yc * Yc) < (R * R);
}
public double getModule(double k, double b)
{
double d = Math.Pow((2 * Xc - 2 * k * b - 2 * Yc * k), 2) + 4 * (k * k + 1) * (R * R - Yc * Yc - 2 * Yc * b - Xc * Xc);
if (d <= 0) return 0;
else
{
double x1 = ((2 * Xc - 2 * k * b - 2 * Yc * k) + Math.Pow(d, 0.5)) / 2 / (k * k + 1);
double x2 = ((2 * Xc - 2 * k * b - 2 * Yc * k) - Math.Pow(d, 0.5)) / 2 / (k * k + 1);
double y1 = k * x1 + b;
double y2 = k * x2 + b;
return Math.Pow(Math.Pow(x1 - x2, 2) + Math.Pow(y1 - y2, 2), 0.5);
}
}
}
class Program
{
static void Main(string[] args)
{
Console.Write("Введите Xc: ");
double Xc = Convert.ToDouble(Console.ReadLine());
Console.Write("Введите Yc: ");
double Yc = Convert.ToDouble(Console.ReadLine());
Console.Write("Введите R: ");
double R = Convert.ToDouble(Console.ReadLine());
Round round = new Round(Xc, Yc, R);
Console.WriteLine("S = {0}", round.S);
Console.WriteLine("L = {0}", round.L);
if (round.checkOxy()) Console.WriteLine("Окружность пересекает оси координат");
else Console.WriteLine("Окружность не пересекает оси координат");
Console.WriteLine("\nВведите параметры линии: ");
Console.Write("k = ");
double k = Convert.ToDouble(Console.ReadLine());
Console.Write("b = ");
double b = Convert.ToDouble(Console.ReadLine());
double m = round.getModule(k, b);
if (m == 0) Console.WriteLine("Линия не пересекает окружность");
else Console.WriteLine("Длина отрезка пересекающего линию: {0}", m);
Console.ReadKey();
}
}
}