Stránka 1 z 1

Jazyk C-podmíněné příkazy-pomoc

Napsal: 23 led 2017 21:46
od syrdava14
Dobrý den, potřebuji v céčku poradit

Jsou zadány údaje o dvou autech - u každého délka ujeté trasy a čas, za který tuto trasu ujelo. Program zjistí, které auto je rychlejší a o kolik km/h.

Myslím že to je s If a else. Nevím si rady, děkuji. Byl bych rád za rady.

Re: Jazyk C-podmíněné příkazy-pomoc

Napsal: 23 led 2017 21:50
od Blitzkrieg
A co neumíš - syntaxe? Samotný příklad je jednoduchý na pochopení...

Re: Jazyk C-podmíněné příkazy-pomoc

Napsal: 23 led 2017 21:52
od syrdava14
no nevím logiku toho příkladu. Jak mám zjistit jaké auto je rychlejsi a o kolik pomocí if a else

Re: Jazyk C-podmíněné příkazy-pomoc

Napsal: 23 led 2017 22:09
od faraon
Logika spočívá v tom, že využiješ znalosti fyziky a matematiky ze základní školy, a u každého auta vypočítáš jeho rychlost. Vzoreček jednotky rychlosti by ti mohl napovědět že půjde o jednoduché dělení.

Potom už si můžeš trochu víc pohrát, buď pomocí if porovnáš rychlosti a v jednotlivých větvích else vypočítáš jejich rozdíl, nebo si ten rozdíl spočítáš předem a z něj pomocí if a else odvodíš které auto bylo rychlejší. A nebo obojí, dá se to i zkombinovat.

A nezapomeň že výsledek může mít tři možnosti, buď je rychlejší první, nebo druhé, nebo jsou obě auta stejně rychlá!

Takže, jak daleko ses dostal? Už máš deklarované proměnné, načtená vstupní data, a dokážeš zapsat výraz který něco počítá? Ukaž co máš a s čím si nevíš rady, ale nechtěj aby někdo udělal celý úkol za tebe.

Re: Jazyk C-podmíněné příkazy-pomoc

Napsal: 23 led 2017 22:24
od syrdava14
No vytvořil jsem zatím toto.


1. možnost


#include<stdio.h>

void main()
{
float a, b, x, y;

printf("Tento program zjisti­, ktere auto je rychlejsi­ a o kolik km/h\n"
"=======================================================\n\);
"zadejte rychlost 1. auta a = ");
scanf("%f", &a);
printf("zadejte rychlost 2. auta b = ");
scanf("%f", &b);
printf (Program zjisti, který automobil jel větší rychlostí);
if (a < b ) printf ("\nDruhé auto je rychlejsi.\n");
else ( a > b ) printf("\nPrvní auto je rychlejsí.\n");



"zadejte délku trasy 1. auta x = ");
scanf("%f", &a);
printf("zadejte délku trasy 2. auta y = ");
scanf("%f", &b);
printf (Program zjisti, který automobil ujel větší vzdalenost);
if (x < y ) printf ("\nDruhé auto ujelo větší vzdalenost.\n");
else ( x > y ) printf("\nPrvní auto ujelo větší vzdalenost.\n");

}



2 možnost
#include<stdio.h>

void main()
{


float a,b

printf ("Tento program zjisti ktere auto ujelo danou vzdalenost rychleji\n"
"=======================================================\n\);" "zadejte čas za který auto ujelo 1. auto danou vzdalenost a = " );
scanf("%f", &a);
printf("Zadejte čas za který ujelo 2. auto danou vzdalenost b = ")
scanf("%f", &b);

if (a < b ) printf ("("\nDruhé auto je rychlejsi.\n");
else ( a > b ) printf ("("\nPrvní auto je rychlejsi.\n");

}

Re: Jazyk C-podmíněné příkazy-pomoc

Napsal: 23 led 2017 22:31
od Blitzkrieg
No ale to je blbost - ty přece máš vědět/zadat vzdálenost a čas a program zjistí, které auto je rychlejší. A ne že zadáš rychlost prvního a pak druhého auta, a program ti vypíše, jaké auto je rychlejší - to by bylo extra easy... :-D Navíc to používáš dvakrát proměnné "a" a "b" pro různé hodnoty - rychlost a vzdálenost.
Upozorňuji, že v céčku neumím, takže tam nemáš syntaxe a vynechal jsem i přiřazení typu k proměnným

Když to řeknu jednoduše, tak čas a dráhu pro jednotlivá auta víš, takže musíš akorát vypočítat rychlost jednotlivých aut a rozdíl mezi těmito 2 rychlostmi. Samotná podmínka je pak primitivní

Takže, vytvořme si třeba t1 a k ní přiřaď hodnotu času prvního auta (třeba 5 hodin - ale pouze číslo, bez textu!), poté vytvoř t2 a přiřaď k ní čas druhého auta
To samé platí i pro dráhu prvního (s1) a druhého auta (s2)

t1=####
t2=####

s1=####
s2=####

v1=s1/t1 //Tady máš samotný výpočet rychlostí 1. vozidla
v2=s2/t2 //Tady máš samotný výpočet rychlostí 2. vozidla

//Teď už stačí hodnoty v1 a v2 jen porovnat a víš, které auto je rychlejší. V zadání máš ale ještě za úkol zjistit, o kolik se rychlosti liší, takže bych samotnou podmínku ještě trochu upravil, jak vidíš dole...

//Tady pod tím je výpočet rozdílu mezi rychlostmi. (Pokud zná céčko něco jako absolutní hodnotu, tak ti stačí jen jeden "rozdilrychlosti" - tady jde o to, že pokud by to bylo jen v1-v2 a v1 bylo menší než v2, tak by se rozdíl napsal jako záporný - vyřešil jsem to takhle, ale je tu samozřejmě mnoho jiných možností ostatně jako v celém postupu řešení tohoto příkladu - faraon to napsal hezky...

rozdilrychlosti1=v1-v2
rozdilrychlosti2=v2-v1

//No a tady dole je samotná podmínka

if v1 > v2 "vypiš" 1. auto je rychlejší o rozdilrychlosti1 else "vypiš" 2. auto je rychlejší o rozdílrychlosti2

+ nesmíš samozřejmě zapomenout na to, že můžou mít obě auta stejnou rychlost. takže vytvoř ještě jednu podmínku.

if v1=v2 then "vypiš" Obě auta mají stejnou rychlost.


EDIT: Měl jsem špatně vzoreček (:-D), už je to opraveno...

Re: Jazyk C-podmíněné příkazy-pomoc

Napsal: 24 led 2017 10:23
od syrdava14
Díky za radu