Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 17. 10. 2018 20:21

leontynka123
Zelenáč
Příspěvky: 2
Reputace:   
 

zaklady algoritmizace

Dobrý den potřebovala bych s tím pomoct děkují
Navrhněte vývojový diagram na součet pro daný počet hodnot. Vytvořte pro stejný problém třu různě diagramy. Jeden s cyklem s podmínkou na začátku, druhý s cyklem s podmínkou na konci a třetí s pevným počtem opakování.

Offline

 

#2 18. 10. 2018 23:06

Pomeranc
Příspěvky: 682
Pozice: student
Reputace:   10 
 

Re: zaklady algoritmizace

↑ leontynka123:

Problém je v diagramu nebo algoritmu?

Offline

 

#3 20. 10. 2018 15:23

Pluhtik
Příspěvky: 38
Pozice: student
Reputace:   -1 
 

Re: zaklady algoritmizace

Zdravím, předpokládám, že hodnoty jsou asi zadané jako argument v poli, že?
Potom algoritmy mohou fungovat takto:
1) součet je proměnná s hodnotou 0. Count (něco, co počítá, kolikrát proběhl cyklus) je zpočátku také 0 (je-li pole indexované od nuly, jinak je count = 1) a následuje cyklus s podmínkou na začátku, která se ptá, zda-li je Count < délka pole (nebo <= jestliže máš pole indexované od 1). Pokud ano, provede se cyklus, ve kterém se k proměnné součet přičte číslo v poli na indexu count. Ke count se přičte +1

2) totéž co 1, akorát stejná podmínka je na konci. Předtím než se provede první průběh cyklem je ovšem nutné ověřit (podmínkou), že je v poli alespoň 1 prvek (není-li v zadání řečeno, že máš jistotu, že jako argument bude pole s minimálně jedním prvkem)

3) opět stejné, akorát namísto podmínky se použije cyklus, který projde právě tolikrát, kolik je prvků v poli. Není nutné ani ověřovat, že není pole prázdné, kdyby bylo, tak cyklus proběhne 0x, tedy neproběhne.

Offline

 

#4 03. 04. 2020 20:10

Belichenko
Zelenáč
Příspěvky: 2
Pozice: student
Reputace:   
 

Re: zaklady algoritmizace

Ahoj potřeboval bych pomoct s tady tim úkolem, děkuji
1) Navrhněte vývojový diagram algoritmu , který bude řešit následující úlohu:
Zjistí počet mezer a teček v textovém řetězci, který zadá uživatel na vstupu. Pokud je mezera bezprostředně za tečkou,
počítá se společně s tečkou pouze jako jeden znak.
Pozn.: mezeru označte jako “ “, tečku jako “.“. Můžete již předpokládat, že na vstupu algoritmu bude daný řetězec
s danou délkou ve vámi zvolené datové struktuře. Výstupem algoritmu budou 2 číselné hodnoty.
Nápověda – zvolte vhodnou datovou strukturu tak, abyste mohli přistupovat ke každému prvku.

2) Určete počet elementárních kroků vašeho algoritmu a jeho třídu asymptotické složitosti.

Offline

 

#5 03. 04. 2020 21:58

vlado_bb
Moderátor
Příspěvky: 6212
Škola:
Reputace:   142 
 

Re: zaklady algoritmizace

↑ Belichenko: Vitaj vo fore a pozri si pravidla

Offline

 

#6 04. 04. 2020 16:16

Belichenko
Zelenáč
Příspěvky: 2
Pozice: student
Reputace:   
 

Re: zaklady algoritmizace

Ok, omlouvám se, pomohl by mi někdo to přenést do vývojového diagramu

using System;

namespace uloha1
{
    class Program
    {
        static void Main(string[] args)
        {
            string inp = Console.ReadLine();
            int dots = inp.Split('.').Length - 1;
            int spaces = inp.Split(' ').Length - 1;
            int e = 0;
            for (string pat = ". ";  (e = inp.IndexOf(pat, e)) != -1; spaces--)
            {
                e += pat.Length;
            }
            Console.WriteLine(dots);
            Console.WriteLine(spaces);
        }
    }
}

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson