Задачка Задача на кодинг №1

Кто просматривает этот контент: "Тема" (Всего пользователей: 0; Гостей: 1)

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
5 701
Репутация
233
Jabber
Telegram
#1
Всем привет, многие наверное сейчас будут смеяться и назовёте меня дураком (или ламером), но тем не менее решил немного поупражняться на С#, язык си, так-же как С++ мне знаком, НО с технологией нет, что-то вообще не сталкивался...

Но тем не менее упражняться нужно на каких-то простых задачах, иначе всё быстро забывается ! (ИМХО)

Так-вот, пока решил поработать с консолью и решать простые задачки на матан, ну и чуть по сложнее...

Кому интересно присоединяйтесь !

Также хочется увидеть решения этих задач на других языках например ассемблер, делфи и т.д. :)

Итак задача №1 (Постарайтесь решить сами, не важно на чём, а потом сверим результат и методику):


Есть прямоугольный треугольник с катетами (Вводятся в программе пользователем).
Найдите площадь треугольника, s=?
Используя теорему Пифагора, найдите длину гипотенузы, с=?
Кроме этого, найдите длину гипотенузы еще и с помощью теоремы косинусов.
Угол между катетами, думаю и так понятен, 90 градусов :)

Формула теоремы косинусов:



Теорему Пифагора, грех не знать...Dmeh-Smeh-Smeh!!!

Вот моё решение на С# (Ввод с консоли):

CODE:
 static void Main(string[] args)
        {
            double katet1, katet2; //Катеты, можно-будет вводить дробное число
            double GipSqr,GipSqr2; //Квадрат гипотенузы

            double Gip1; //Наша гипотенуза по теореме Пифагора
            double Gip2; //Наша гипотенуза по теореме Пифагора

            double S; //Наша площадь.


            Console.WriteLine("Данная программа вычислит гипотенузу и площадь нашего прямоугольного триугольника...");

            Console.Write("Введите первый катет: " );
            katet1= Convert.ToDouble(Console.ReadLine());

            Console.Write("Введите второй катет: ");
            katet2 = Convert.ToDouble(Console.ReadLine());

            GipSqr = Math.Pow(katet1, 2) + Math.Pow(katet2, 2); //вычисляем квадрат гипотенузы
            Gip1 = Math.Sqrt(GipSqr); //Вычисляем нашу гипотенузу по теореме Пифагора...

            Console.WriteLine("Гипотенуза по теореме Пифагора: "+ Gip1); //Выводим результат

            //Теорема косинусов***************************************************************************************************************

            GipSqr2 = Math.Pow(katet1, 2) + Math.Pow(katet2, 2) - 2 * katet1 * katet2 * Math.Cos(90*Math.PI / 180); //Вычисляем квадрат гипотенузы... (90*Math.PI / 180)-Перевод радианы в градусы.
            Gip2 = Math.Sqrt(GipSqr2); //Вычисляем нашу гипотенузу по теореме косинусов...

            Console.WriteLine("Гипотенуза по теореме косинусов: " + Gip2); //Выводим результат

            //********************************************************************************************************************************

            S = (katet1 * katet2) / 2; //Наша площадь...

            Console.WriteLine("Площадь равна: " + S); //Выводим результат

            Console.ReadKey();

        }

upload_2015-9-29_14-51-55.png

А теперь перепишите на ассемблере !ogo-go:bagfixbag::Mem10:

Все задачи в новый раздел:https://ru-sfera.org/forums/uchimsja-kodit-na-zadachkax.138/
 
Последнее редактирование:

Антоха

Уважаемый пользователь
Форумчанин
Регистрация
26.12.2012
Сообщения
3 002
Репутация
9 272
#2
Но тем не менее упражняться нужно на каких-то простых задачах
Беда в том,что для того,чтобы поупражняться нужно хоть что-то знать.Convert,Math.Pow,Math.Sqrt..хз

А теперь перепишите на ассемблере
могу лишь переписать на бумажку и посчитать в столбик...
 

X-Shar

:)
Администрация
Регистрация
03.06.2012
Сообщения
5 701
Репутация
233
Jabber
Telegram
#3
Math - Это математический класс стандартный процедур, находится в библиотеке using System;

В этом классе возведение в корень, в квадрат, можно синус взять...

Если среда русская, то достаточно написать так Math. и выведется контекстная подсказка какие есть функи...

В данном случае:

Math.Pow - Возведение в квадрат;

Math.Sqrt - Возведение в корень.


Convert.ToDouble - Это приведение в тип double (Это дробный тип данных), из потока при вводе получается тип "Строка", а функции Math. должны работать с числовыми типами, как-раз по мойму double, даже тип int нужно привадить, иначе компилятор сругается...

Ладно следующая задача по проще будет... :)

А вообще нужно-ли тематику развивать ?

Кстати интересно не только C# !
 
Вверх