Program do obliczania średniej harmonicznej.

Dyskusje na temat języka C# oraz biblioteki .NET
etrox
Nowicjusz
Posty: 2
Dołączył(a): niedziela, 27 października 2013, 15:25

Program do obliczania średniej harmonicznej.

Post przez etrox »

Cześć, mam problem z zrobieniem swojego pierwszego programu więc bądzcie wyrozumiali :D

Muszę napisać program do obliczania sredniej harmonicznej.
Na razie napisałem coś takiego :

Code: Zaznacz cały

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace średnia_harmoniczna
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("Program do obliczania średniej harmocznicznej n liczb");


            int n, Śr;

            bool sukces;

            double mianownik;

            do
            {
            Console.WriteLine("Podaj ile liczb chcesz użyć do średniej harmoczninej: ");
                sukces = int.TryParse(Console.ReadLine(), out n);
                 if (!sukces)
                    Console.WriteLine("nieprawidłowy format liczby!");
                else if (n <= 0)
                    Console.WriteLine("Ilość liczb musi być dodatnia!");

            } while (!sukces || n<=0);

            for ( int i = 1; i <= n, i++);

            {
                Console.WriteLine(



            Śr = n / (1 / )


            

        }
    }
}
Nie wiem natomiast w jaki sposób konsola ma wypisywać polecenie Console.WriteLine("Podaj wartość an"); tak długo w zależności jaką liczbę n podał użytkownik na początku.
A także nie wiem w jaki sposób mam we wzorze napisać Śr= n / (1/a1)+(1/an)

Wiem z kursów na videokursy że trzeba to zrobić pętlami, ora skorzystać z tego :

Code: Zaznacz cały

for ( int i = 1; i <= n, i++);

Natomiast jak juz trzeba wszystko połązyć w jedność to jest trochę trudniej niz na filmikach, więc proszę o pomoc :D
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Program do obliczania średniej harmonicznej.

Post przez Morfidon »

Hej,

Aby pobrać coś z konsoli napisz coś takiego:
string line = Console.ReadLine(); // Get string from user
zawartość wpisaną przez użytkownika będziesz miał w zmiennej line.

Nie używaj polskich znaków w zmiennych.

Zapytaj się najpierw użytkownika ile chce podać liczb zapisz to np. w zmiennej n. Następnie wykonaj w pętli pobranie tych liczb do np. tablicy.

Użyj konwersji stringa do inta np.:

Code: Zaznacz cały

Convert.ToInt32(input);
Aby obliczyć średnią harmoniczną skorzystaj ze wzoru:
http://pl.wikipedia.org/wiki/%C5%9Arednia_harmoniczna

n - już masz to jest ilość zmiennych jakich podał użytkownik. Wykonaj pętle znów n razy i dodaj wynik sumy ilorazów z mianownika tak jak podano we wzorze.

Gdy już wszystko dodasz (po pętli) wykonaj wzór na zasadzie: n / wynik_z_mianownika_obliczony_w_petli

W programowaniu wszystko wykonuje się z góry do dołu. Musisz myśleć jak maszyna.

Jeśli to Twój pierwszy program to trochę za trudny jak na start. Spróbuj potrenować na czymś prostszym.

Pozdrawiam ;)
etrox
Nowicjusz
Posty: 2
Dołączył(a): niedziela, 27 października 2013, 15:25

Re: Program do obliczania średniej harmonicznej.

Post przez etrox »

Niestety, jest to mój pierwszy program jaki muszę zrobić a moja wiedza teoretyczna to 2h wykładów w szkole + pierwsze lekcje z twojego videokursu.
To jest kolejny przykład na to że szkoła niczego nie uczy, tylko to co samemu się nauczysz w praktyce ...
Mógłbyś dokończyć to co napisałem póki co ?

Code: Zaznacz cały

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace średnia_harmoniczna
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("Program do obliczania średniej harmocznicznej n liczb");


            int n, Śr;

            bool sukces;

            double mianownik;

            do
            {
            Console.WriteLine("Podaj ile liczb chcesz użyć do średniej harmoczninej: ");
                sukces = int.TryParse(Console.ReadLine(), out n);
                 if (!sukces)
                    Console.WriteLine("nieprawidłowy format liczby!");
                else if (n <= 0)
                    Console.WriteLine("Ilość liczb musi być dodatnia!");

            } while (!sukces || n<=0);

            for ( int i = 1; i <= n, i++);

            {
                Console.WriteLine(



            Śr = n / (1 / )


            

        }
    }
}

znasz może jakieś strony gdzie są zrobione gotowe proste programy, bo jakoś na takich przykładach najłatwiej mi się uczyc.
Tu też pytanie do Ciebie, czy może planujesz zrobić lekcje o C# z takimi aplikacjami konsolowymi ale troche bardziej złożonymi niż te które są aktualnie w videokursie o C# ?
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Program do obliczania średniej harmonicznej.

Post przez Morfidon »

Dalej stosujesz polskie znaki.

Pętla:

Code: Zaznacz cały

 for ( int i = 1; i <= n, i++);
nie wykona się wcale... ponieważ masz średnik na końcu.

Niestety nie planuje takiego kursu, ale planuje kurs C# tworzenie aplikacji (deskoptowych). Musisz ćwiczyć i robić dużo samemu. Jeśli nigdy nie programowałeś, a zabrałeś się za studia informatyczne to wiedz, że czeka Cię cholernie dużo roboty w domu. Musisz pisać, pisać i jeszcze raz pisać.

Przede wszystkim musisz perfekcyjnie znać pierwsze 17 lekcji mojego kursu, aby radzić sobie z aplikacjami konsolowymi.

W c# rzadko się pisze w konsoli, dlatego kurs dot. pisaniu w konsoli nie powstanie. Taki kurs dot. pisania trudniejszych aplikacji w konsoli istnieje tutaj, ale w języku c++:
http://videokurs.pl/kurs-c-algorytmy.php
Post Reply