ответ: Задание 1
#include <iostream>
#include <cmath>
double getArea(double side)
{
double S = pow(side, 2) * sqrt(3) / 4;
return S;
}
double getHeight(double side)
{
double H = sqrt(pow(side, 2) - pow(side, 2) / 4);
return H;
}
double getInR(double side)
{
double R = side / sqrt(12);
return R;
}
double getOutR(double side)
{
double R = side / sqrt(3);
return R;
}
int main()
{
double sideA = 3.5; // длина одной из сторон треугольника, произвольное число;
double area = getArea(sideA);
double height = getHeight(sideA);
double R1 = getInR(sideA);
double R2 = getOutR(sideA);
std::cout << "S = " << area << '\n' << "H = " << height << '\n' << "R1 = " << R1 << '\n' << "R2 = " << R2;
return 0;
}
Задание 4:
#include <iostream>
double Pow(double num, int power)
{
double n = num;
for (int i = 1; i < power; i++)
num *= n;
return num;
}
int main()
{
double a = Pow(2, 5); // 2^5=32
std::cout << a;
return 0;
}
4. Раньше это называлось ПЗУ, "постоянное запоминающее устройство". Потом видов ПЗУ стало больше и стали называть каждое устройство по-своему. Во-первых, это локальные хранилища в компьютере: жесткие диски (HDD), либо SSD. Во-вторых, это внешние устройства, внешние накопители информации: также жесткие диски, флешки. Есть еще различные носители информации типа CD-ROM или дискет, но они сами не являются устройствами, устройства для считывания с них существуют отдельно. Есть и совсем специфические хранилища - хранилища на магнитных лентах, в них используются кассеты, типа магнитофонных. Не знаю, стоит ли их все упоминать, все они сейчас встречаются достаточно редко.
5. WIFI, Bluetooth, WiMax
Осуществил с того что я умею, сложного не использовал ибо еще не дошел до него . Тут 2 класса идут в двух разных .cs .
Единственные нюансы: 1) не осуществил год до нашей эры, т.е если год вводится -2 (2 до н.е) выводится 2.
2) запутанность жесткая, ибо использовал goto и много переменных разных. с моими текущими знаниями я не мог использовать что то попроще, возможно оптимизируете.
1 класс:
using System;
namespace HomeLibrary
{
class ListOfBooks
{
static string Author, Category, Name; static int Year;
public static bool Indicate, SecondIndicate, ThirdIndicate;
public static string SetAuthor
{
get
{
return Author;
}
set
{
if (string.IsNullOrWhiteSpace(value) || int.TryParse(value, out int WrongValue))
{
Indicate = true;
}
else
{
Author = value;
}
}
}
public static int SetYear
{
get
{
return Year;
}
set
{
if(value >= 0 && value <= 2022)
{
Year = value;
}
}
}
public static string SetCategory
{
get
{
return Category;
}
set
{
if (string.IsNullOrWhiteSpace(value) || int.TryParse(value, out int WrongValue))
{
SecondIndicate = true;
}
else
{
Category = value;
}
}
}
public static string SetName
{
get
{
return Name;
}
set
{
if (string.IsNullOrWhiteSpace(value) || int.TryParse(value, out int WrongValue))
{
ThirdIndicate = true;
}
else
{
Name = value;
}
}
}
}
}
2 класс.
using System;
using System.Collections.Generic;
namespace HomeLibrary
{
class Program
{
static void SecondMenue(int SecondChoise)
{
switch(SecondChoise)
{
case 2:
List<string> Books = new List<string>();
TryAgain4:
Console.WriteLine("Введите название книги.");
ListOfBooks.SetName = Console.ReadLine();
if (ListOfBooks.ThirdIndicate == true)
{
Console.WriteLine("Попробуйте ещё раз. Некорректное значение.");
ListOfBooks.ThirdIndicate = false;
Console.ReadLine();
goto TryAgain4;
}
TryAgain:
Console.WriteLine("Введите имя/псевдоним автора.");
ListOfBooks.SetAuthor = Console.ReadLine();
if ( ListOfBooks.Indicate == true)
{
Console.WriteLine("Попробуйте ещё раз. Некорректное значение.");
ListOfBooks.Indicate = false;
Console.ReadLine();
goto TryAgain;
}
TryAgain2:
string YearString;
Console.WriteLine("Введите год выпуска книги.");
YearString = Console.ReadLine();
if (!(int.TryParse(YearString, out int Year)))
{
Console.WriteLine("Попробуйте ещё раз. Некорректное значение.");
Console.ReadLine();
goto TryAgain2;
}
ListOfBooks.SetYear = Year;
TryAgain3:
Console.WriteLine("Введите категорию книги.");
ListOfBooks.SetCategory = Console.ReadLine();
if (ListOfBooks.SecondIndicate == true)
{
Console.WriteLine("Попробуйте ещё раз. Некорректное значение.");
ListOfBooks.SecondIndicate = false;
Console.ReadLine();
goto TryAgain3;
}
Books.Add($"Книга: {ListOfBooks.SetName}, Автор: {ListOfBooks.SetAuthor}, Год: {ListOfBooks.SetYear}, Категория: {ListOfBooks.SetCategory}.");
Console.WriteLine("Книга успешно добавлена в вашу библиотеку.");
string ChoiceAfter;
TryAgain5:
Console.WriteLine("Желаете добавить ещё книгу - 2 , посмотреть список книг - 3, закончить - 4 .");
ChoiceAfter = Console.ReadLine(); if (int.TryParse(ChoiceAfter, out int Choice) && Choice == 2) goto TryAgain4;
else if(Choice == 3)
{
Console.WriteLine("Список ваших книг:");
foreach(string Book in Books)
{
Console.Write($"\n{Book}");
Console.ReadLine();
}
goto TryAgain5;
}
else if(Choice == 4)
{
Console.WriteLine("Всего доброго!");
Console.ReadLine();
return;
}
break;
case 4:
Console.WriteLine("Всего доброго!");
Console.ReadLine();
return;
}
}
static void Menue(int UserNumber)
{
TryAgainX2:
switch (UserNumber)
{
case 1:
string ChoiseString;
Console.WriteLine("Добавить книгу - 2 , Закончить работу - 4 .");
ChoiseString = Console.ReadLine();
int.TryParse(ChoiseString, out int Choise); if (Choise >= 2 && Choise <= 4) SecondMenue(Choise);
break;
default:
Console.WriteLine("Некорректное значение");
goto TryAgainX2;
break;
}
}
static void Main(string[] args)
{
TryAgain:
string ChoiceFirst;
Console.WriteLine("Здравствуйте, Вас приветсвует домашняя библиотека. Открыть меню команд - 1");
ChoiceFirst = Console.ReadLine();
if (int.TryParse(ChoiceFirst, out int Choice) && Choice == 1) Menue(Choice);
else
{
Console.WriteLine("Неверное значение, попробуйте ещё раз.");
goto TryAgain;
}
Console.ReadLine();
}
}
}