Riešenie logických problémov pomocou uvažovania. III

15.06.2019

Myšlienka metódy: konzistentné úvahy a závery z tvrdení obsiahnutých v stave problému. Týmto spôsobom sa zvyčajne riešia jednoduché logické problémy.

Úloha 1. Vadim, Sergey a Michail študujú rôzne cudzie jazyky: čínština, japončina a arabčina. Na otázku, aký jazyk každý z nich študoval, jeden odpovedal: "Vadim študuje čínštinu, Sergej neštuduje čínštinu a Michail neštuduje arabčinu." Následne sa ukázalo, že v tejto odpovedi je pravdivé iba jedno tvrdenie a ostatné dve sú nepravdivé. Aký jazyk sa učí každý z mladých ľudí?

rozhodnutie. Existujú tri vyhlásenia. Ak je pravdivé prvé tvrdenie, potom je pravdivé aj druhé, keďže mladí muži sa učia rôzne jazyky. To je v rozpore s podmienkou problému, takže prvé tvrdenie je nepravdivé. Ak je druhé tvrdenie pravdivé, potom prvé a tretie musia byť nepravdivé. Ukazuje sa, že čínštinu nikto neštuduje. To je v rozpore s podmienkou, takže druhé tvrdenie je tiež nepravdivé. Zostáva považovať tretie tvrdenie za pravdivé a prvé a druhé za nepravdivé. Preto Vadim neštuduje čínštinu, Sergej študuje čínštinu.

odpoveď: Sergej študuje čínštinu, Michail japončinu a Vadim arabčinu.

Úloha 2. Na výlete sa päť priateľov - Anton, Boris, Vadim, Dima a Grisha zoznámilo so spolucestujúcim. Požiadali ju, aby uhádla ich mená, a každý z nich uviedol jedno pravdivé a jedno nepravdivé vyhlásenie:

Dima povedal: "Moje priezvisko je Mishin a Borisovo priezvisko je Khokhlov." Anton povedal: "Mishin je moje priezvisko a Vadimovo priezvisko je Belkin." Boris povedal: "Vadimovo priezvisko je Tichonov a moje priezvisko je Mishin." Vadim povedal: "Moje priezvisko je Belkin a Grisha sa volá Čechov." Grisha povedal: "Áno, moje priezvisko je Čechov a Antonovo priezvisko je Tichonov."

Aké je priezvisko každého priateľa?

Výrokovú formu „mladý muž A má priezvisko B“ označme ako AB, kde písmená A a B zodpovedajú začiatočným písmenám mena a priezviska.

Zaznamenajme si vyjadrenia každého z priateľov:

Predpokladajme, že DM je pravda. Ale ak je DM pravda, tak Anton a Boris musia mať iné priezviská, takže AM a BM sú nepravdivé. Ale ak sú AM a BM nepravdivé, potom BT a BT musia byť pravdivé, ale BT a BT nemôžu byť pravdivé súčasne.

Takže zostáva ďalší prípad: skutočný BH. Tento prípad vedie k reťazcu záverov: BH je pravdivé BM je nepravdivé BT je pravdivé AT je nepravdivé GF je pravdivé WB je nepravdivé AM je pravdivé.

Odpoveď: Boris - Chochlov, Vadim - Tichonov, Griša - Čechov, Anton - Mišin, Dima - Belkin.

Úloha 3.časť strán zviazaných k sebe vypadla z poškodenej knihy.

Číslo prvej vypadnutej strany je 143.

Číslo druhého je napísané rovnakými číslami, ale v inom poradí.

Koľko strán vypadlo z knihy?

Prvou ťažkosťou je uvedomiť si fakt jedinečnosti odpovede, ktorú treba vybrať z množstva odpovedí.

Medzi našimi súťažiacimi sa však našlo málo takých, ktorých táto obtiažnosť zarazila.Väčšina chalanov svedomito vypisovala všetky možné odpovede.

Sú to: žiačka šiesteho ročníka z Ankary (Turecko) Rafatova Sevda, žiačka ôsmeho ročníka Nasťa Karpuk z Pushchino (Moskovský región), siedmačka Galya Shushpanova z Bratska, žiačka ôsmeho ročníka zo Zelenogorska (región Krasnojarsk) Zhenya Sulimova Belova, Ksyu Donyakina, siedmak Dmitrij Baranov zo Slantsy (Leningradská oblasť) a mnohí ďalší.

Druhou fázou je odstránenie nepotrebných možností.

Stranu s číslom menším ako vypadla prvá strana jednohlasne odmietli takmer všetci súťažiaci.

A veľmi veľa tiež vylúčilo oba nepárne varianty čísla poslednej vypadnutej strany (keďže prvá strana vypadnutého bloku je nepárna, posledná by mala byť párna).

Niektorí chlapci sa dostali do tejto fázy, prakticky obišli prvú fázu: len pri pohľade na číslo 143 si vybrali číslo, ktoré končí na 4 a presahuje číslo prvej vypadnutej strany.

Úloha 4. Dvaja cestujúci odišli z bodu A súčasne do bodu B.

Krok druhého bol o 20 % kratší ako krok prvého,

ale ten druhý dokázal spraviť o 20% viac krokov za rovnaký čas ako ten prvý.

Ako dlho trvalo druhému cestujúcemu, kým sa dostal do cieľa, ak prvý cestujúci dorazil do bodu B 5 hodín po opustení bodu A?

Ukázalo sa to ako ťažký oriešok a rozpútal sa okolo toho boj názorov. Zdalo sa, že je to jednoduché len navonok, no ukázalo sa, že sa v ňom dá veľmi ľahko pomýliť. Táto úloha rozdelila našich súťažiacich na dva tábory. Toto boli názory týchto táborov: obaja cestujúci dorazia do cieľa v rovnakom čase; druhý cestovateľ bude za druhým trochu zaostávať.

Hovorcom prvého posudku bola Rafatova Sevda, šiestačka z Ankary. Sevda navrhol vykonať numerický experiment: nechajte prvého cestujúceho urobiť 4 zo svojich dlhých krokov. Potom druhý cestujúci v rovnakej vzdialenosti urobí 5 krokov. (Pretože každý krok druhého cestovateľa je o 20 % kratší). Podľa jej názoru teda nikto nebude za nikým zaostávať, obaja cestovatelia sa dostanú do cieľa naraz. Sevda má pravdu, že dĺžka 4 krokov prvého cestovateľa sa rovná dĺžke 5 krokov druhého. Ale časy sú iné. Koniec koncov, ak prvý cestujúci urobí 4 kroky, potom druhý počas tejto doby urobí iba 1, 2 * 4 = 4,8 krokov, a nie 5. Stále potrebuje minúť (5 - 4,8): 5 * 100 = 4 % času na prekonanie tejto vzdialenosti.

Úloha 5. Traja kamaráti, fanúšikovia pretekov Formuly 1, sa dohadovali o výsledkoch nadchádzajúcej etapy pretekov.

Uvidíte, Schumacher nebude prvý,“ povedal John. Hill bude prvý.

Nie, víťazom bude ako vždy Schumacher, - zvolal Nick. "A o Alesim nie je čo povedať, nebude prvý."

Peter, ktorého Nick oslovil, bol rozhorčený:

Hill nikdy neuvidí prvé miesto, ale Alesi pilotuje najvýkonnejšie auto.

Na konci pretekárskej etapy sa ukázalo, že každý z dvoch predpokladov dvoch kamarátov sa potvrdil a oba predpoklady tretieho z kamarátov sa ukázali ako mylné. Kto vyhral etapu pretekov?

W- Schumacher vyhráva; X Hill vyhrá A Alesi vyhráva.

Nickova veta „Alesi pilotuje najvýkonnejšie auto“ neobsahuje žiadne vyjadrenie o mieste, ktoré tento jazdec zaujme, preto sa s ňou v ďalšom uvažovaní nepočíta.

Vzhľadom na to, že predpoklady dvoch priateľov sa potvrdili a predpoklady tretieho sú nesprávne, zapíšeme a zjednodušíme pravdivé tvrdenie

Výrok je pravdivý len vtedy W = 1, A = 0, X = 0.

Schumacher sa stal víťazom etapy pretekov.

Úloha 6. Nejaký dobrodruh sa vybral na cestu okolo sveta na jachte vybavenej palubným počítačom. Bol varovaný, že najčastejšie zlyhajú tri uzly počítača - a , b , c a dal potrebné náhradné diely. Aby zistil, ktorý uzol je potrebné vymeniť, môže použiť signálne svetlá na ovládacom paneli. Existujú tiež presne tri žiarovky: X , r a z .

Pokyny na identifikáciu chybných uzlov sú nasledovné:

Ak je aspoň jeden z počítačových uzlov chybný, potom svieti aspoň jedna kontrolka. X , r , z ;

Ak uzol zlyhá a , ale uzol funguje s , potom sa rozsvieti kontrolka r ;

Ak uzol zlyhá s , ale uzol funguje b , rozsvieti sa kontrolka r ale nesvieti žiadne svetlo X ;

Ak uzol zlyhá b , ale uzol funguje c , potom sa rozsvietia svetlá. X a r alebo sa kontrolka nerozsvieti. X ;

Ak svieti lampa X a buď je uzol chybný a alebo všetky tri uzly a , b , c správne, kontrolka svieti. r .

Cestou sa pokazil počítač. Kontrolka na ovládacom paneli svieti. X . Po dôkladnom preštudovaní pokynov cestovateľ opravil počítač. No od tej chvíle až do konca plavby ho úzkosť neopúšťala. Uvedomil si, že inštruktáž nie je dokonalá a boli prípady, keď mu nepomohla.

Aké uzly cestovateľ nahradil? Aké nedostatky našiel v návode?

Zavedme notáciu pre logické výroky:

a - Chybný uzol a ; X - svieti žiarovka X ;

b - Chybný uzol b ; r - svieti žiarovka r ;

s - Chybný uzol s ; z - svieti žiarovka z .

Pravidlá 1-5 sú vyjadrené nasledujúcimi vzorcami:

z toho vyplýva a=0, b=1, c=1.

Úloha 7. Uveďte dôvody a odpovedzte na položenú otázku:

Väzeň dostal na výber z troch izieb, v jednej z nich bola princezná a v ďalších dvoch tigre. Na dverách izieb boli zavesené stoly s nasledujúcimi nápismi: Ja-V tejto miestnosti sedí tiger

II-V tejto miestnosti je princezná

III-Tiger sedí v izbe II

Odpoveď: Tiger je v druhej miestnosti.

Otázka: Na výlete sa päť priateľov - Anton, Boris, Vadim, Dima a Grisha - zoznámilo so spolucestujúcim. Požiadali ju, aby uhádla ich priezviská, a každý z nich uviedol jedno pravdivé a jedno nepravdivé vyhlásenie: Dima: "Moje priezvisko je Mishin a Borisovo priezvisko je Khokhlov." Anton: "Mishin je moje priezvisko a Vadimovo priezvisko je Belkin." Boris: "Vadim je Tichonov a moje priezvisko je Mishin." Vadim: "Ja som Belkin a Grisha sa volá Čechov." Grisha: "Áno, moje priezvisko je Čechov a Anton je Tichonov." Kto má priezvisko? vyriešiť problém zložením a transformáciou logického výrazu:

Na výlete sa päť priateľov - Anton, Boris, Vadim, Dima a Grisha - zoznámilo so spolucestujúcim. Požiadali ju, aby uhádla ich priezviská, a každý z nich uviedol jedno pravdivé a jedno nepravdivé vyhlásenie: Dima: "Moje priezvisko je Mishin a Borisovo priezvisko je Khokhlov." Anton: "Mishin je moje priezvisko a Vadimovo priezvisko je Belkin." Boris: "Vadim je Tichonov a moje priezvisko je Mishin." Vadim: "Ja som Belkin a Grisha sa volá Čechov." Grisha: "Áno, moje priezvisko je Čechov a Anton je Tichonov." Kto má priezvisko? vyriešiť problém zložením a transformáciou logického výrazu:

Odpovede:

rozhodnutie. Výrokovú formu „mladý muž A má priezvisko B“ označme ako AB, kde písmená A a B zodpovedajú začiatočným písmenám mena a priezviska. Opravujeme výroky každého z priateľov: DM a BH; AM a WB; VT a BM; WB a MS; MS a AT. Predpokladajme, že DM je pravda. Ale ak je DM pravda, tak Anton a Boris musia mať iné priezviská, takže AM a BM sú nepravdivé. Ale ak sú AM a BM nepravdivé, potom BT a BT musia byť pravdivé, ale BT a BT nemôžu byť pravdivé súčasne. Takže zostáva ďalší prípad: skutočný BH. Tento prípad vedie k reťazcu záverov: BH je pravdivé BM je nepravdivé BT je pravdivé AT je nepravdivé GF je pravdivé WB je nepravdivé AM je pravdivé. Odpoveď: Boris - Chochlov, Vadim - Tichonov, Griša - Čechov, Anton - Mišin, Dima - Belkin.

Podobné otázky

  • uveďte 3 príklady názvov entít s tvárovými príponami a zdrobnenými príponami
  • zostavte 2 vety tak, aby v prvom prípade bola pred vymedzeným slovom a v druhom prípade za slovom, ktoré sa definuje. Vysvetlite umiestnenie interpunkčných znamienok v týchto vetách.
  • Prosím o riešenie .... Tenká vinutá pružina, pre ktorú platí Hookov zákon, zavesená zvislo na pevnej podpere, je natiahnutá silou 160N o 72 mm. Na pružinu bola aplikovaná dodatočná sila 120 N. Určte predĺženie špirály.
  • do kytice boli zvolené biele a červené ruže v pomere 2:3. nájdite pomer počtu bielych ruží k celkovému počtu ruží v kytici

Týmto spôsobom sa zvyčajne riešia jednoduché logické problémy.

Príklad 6 Vadim, Sergey a Michail študujú rôzne cudzie jazyky: čínštinu, japončinu a arabčinu. Na otázku, aký jazyk každý z nich študoval, jeden odpovedal: "Vadim študuje čínštinu, Sergej neštuduje čínštinu a Michail neštuduje arabčinu." Následne sa ukázalo, že v tejto odpovedi je pravdivé iba jedno tvrdenie a ostatné dve sú nepravdivé. Aký jazyk sa učí každý z mladých ľudí?

rozhodnutie. Existujú tri vyhlásenia:

  1. Vadim študuje čínštinu;
  2. Sergej neštuduje čínštinu;
  3. Michail neštuduje arabčinu.

Ak je pravdivé prvé tvrdenie, potom je pravdivé aj druhé, keďže mladí muži sa učia rôzne jazyky. To je v rozpore s podmienkou problému, takže prvé tvrdenie je nepravdivé.

Ak je druhé tvrdenie pravdivé, potom prvé a tretie musia byť nepravdivé. Ukazuje sa, že čínštinu nikto neštuduje. To je v rozpore s podmienkou, takže druhé tvrdenie je tiež nepravdivé.

odpoveď: Sergej študuje čínštinu, Michail japončinu a Vadim arabčinu.

Príklad 7 Na výlete sa päť priateľov - Anton, Boris, Vadim, Dima a Grisha zoznámilo so spolucestujúcim. Požiadali ju, aby uhádla ich mená, a každý z nich uviedol jedno pravdivé a jedno nepravdivé vyhlásenie:

Dima povedal: "Moje priezvisko je Mishin a Borisovo priezvisko je Khokhlov." Anton povedal: "Mishin je moje priezvisko a Vadimovo priezvisko je Belkin." Boris povedal: "Vadimovo priezvisko je Tichonov a moje priezvisko je Mishin." Vadim povedal: "Moje priezvisko je Belkin a Grisha sa volá Čechov." Grisha povedal: "Áno, moje priezvisko je Čechov a Antonovo priezvisko je Tichonov."

Aké je priezvisko každého priateľa?

rozhodnutie. Výrokovú formu „mladý muž A má priezvisko B“ označme ako A B, kde písmená A a B zodpovedajú začiatočným písmenám mena a priezviska.

Zaznamenajme si vyjadrenia každého z priateľov:

  1. DM a B X;
  2. A M a CB;
  3. VT a BM;
  4. CB a Gc;
  5. G C a AT.

Predpokladajme najprv, že je pravda DM. Ale ak je pravda DM, potom Anton a Boris musia mať odlišné priezviská, čo znamená, že A M a B M sú nepravdivé. Ale ak A M a B M sú nepravdivé, potom C B a CT musia byť pravdivé, ale C B a CT nemôžu byť pravdivé súčasne.

To znamená, že zostáva ďalší prípad: B X je pravda. Tento prípad vedie k reťazcu záverov:

B X pravdivé B M nepravdivé C T pravdivé A T nepravdivé G W pravdivé C B nepravdivé A M pravdivé.

odpoveď: Boris - Chochlov, Vadim - Tichonov, Griša - Čechov, Anton - Mišin, Dima - Belkin.

Príklad 8 Ministri zahraničných vecí Ruska, USA a Číny diskutovali za zatvorenými dverami o návrhoch dohôd o úplnom odzbrojení, ktoré predložila každá z krajín. V odpovedi na otázku novinárov: „Čí projekt bol prijatý?“, ministri odpovedali takto:

Rusko – „Projekt nie je náš, projekt nie je USA“;
USA - "Projekt nie je Rusko, projekt je Čína";
Čína - "Projekt nie je náš, projekt Ruska."

Jeden z nich (najotvorenejší) povedal pravdu v oboch prípadoch; druhý (najtajnejší) raz povedal lož, tretí (opatrný) raz povedal pravdu a druhý raz - lož.

Zistite, ktoré krajiny sú zastúpené otvorenými, tajnostkárskymi a opatrnými ministrami.

rozhodnutie. Pre pohodlie zápisu očíslujme vyhlásenia diplomatov:

Rusko – „Projekt nie je náš“ (1), „Projekt nie je USA“ (2);
USA - "Projekt nie Rusko" (3), "Projekt Čína" (4);
Čína – „Projekt nie je náš“ (5), „Projekt Ruska“ (6).

Poďme zistiť, ktorý z ministrov je najotvorenejší.

Ak ide o ruského ministra, tak z platnosti (1) a (2) vyplýva, že vyhral čínsky projekt. Ale potom sú pravdivé aj obe vyjadrenia ministra USA, čo však nemôže byť podmienkou.

Ak je najotvorenejší americký minister, tak opäť dostávame, že vyhral čínsky projekt, čo znamená, že obe vyhlásenia ruského ministra sú tiež pravdivé, čo však nemôže byť podmienkou.

Ukazuje sa, že najotvorenejší bol čínsky minister. Skutočne, z toho, že (5) a (6) sú pravdivé, vyplýva, že vyhral ruský projekt. A potom sa ukáže, že z dvoch vyhlásení ruského ministra je prvé nepravdivé a druhé pravdivé. Obe vyjadrenia ministra USA sú nesprávne.

odpoveď:Čínsky minister bol otvorenejší, ruský minister bol opatrnejší a americký minister bol viac tajnostkársky.

Otázka: Na výlete sa päť priateľov - Anton, Boris, Vadim, Dima a Grisha, zoznámilo so spolucestujúcim


Vážení užívatelia fóra, žiadam o pomoc pri riešení problému v Prologu))

Na výlete sa päť priateľov - Anton, Boris, Vadim, Dima a Grisha zoznámilo so spolucestujúcim. Požiadali ju, aby uhádla ich mená, a každý z nich uviedol jedno pravdivé a jedno nepravdivé vyhlásenie:
Dima povedal: "Moje priezvisko je Mishin a Borisovo priezvisko je Khokhlov." Anton povedal: "Mishin je moje priezvisko a Vadimovo priezvisko je Belkin." Boris povedal: "Vadimovo priezvisko je Tichonov a moje priezvisko je Mishin." Vadim povedal: "Moje priezvisko je Belkin a Grisha sa volá Čechov." Grisha povedal: "Áno, moje priezvisko je Čechov a Antonovo priezvisko je Tichonov."
Aké je priezvisko každého priateľa?

Za pomoc vopred VEĽMI ĎAKUJEME!!!

odpoveď: skontrolovať online

Otázka: Program na riešenie problému olympiády o Vasyových cestách v metre s lístkom


Chlapec Vasya jazdí každý deň metrom. Ráno ide do školy a večer v ten istý deň zo školy domov. Aby ušetril nejaké peniaze, kúpi si elektronickú čipovú kartu na X jázd. Keď chce nastúpiť do metra, priloží kartu na turniket. Ak na karte zostane nenulový počet jázd, turniket prepustí Vasyu a odpíše jednu jazdu z karty. Ak na karte nezostanú žiadne cesty, turniket Vasyu nepustí a on (Vasya) je nútený kúpiť si novú kartu na X ciest na tej istej stanici a prejsť turniketom znova.
Vasya si všimol, že vzhľadom na to, že metro je ráno preplnené, kupovať si ráno novú kartu je časovo náročné a môže meškať do školy. V tomto ohľade chce pochopiť: bude taký deň, že ráno po odchode do školy sa ukáže, že má na karte nula ciest.
Vasya nikam inam metrom nechodí, a preto nastupuje do metra len na stanici pri dome a na stanici pri škole.
Vstupné Data
Vstupný súbor INPUT.TXT obsahuje presne 2 riadky. Prvý obsahuje slovo „Škola“ alebo „Domov“, podľa toho, kde si Vasya prvýkrát kúpil kartu na X výletov. Druhý riadok obsahuje prirodzené číslo X, 1 ≤ X ≤ 1000.
Výkon
Výstupný súbor OUTPUT.TXT by mal obsahovať „Áno“, ak existuje deň, kedy má Vasya ráno na karte nula jázd, inak „Nie“.
Príklady
č. INPUT.TXT OUTPUT.TXT
1 Domov
1 Áno
2 škola
2 č

odpoveď: Veľmi hlúpa úloha. Netreba zabúdať na to, že párny počet ciest alebo nepárny počet – to isté platí, že z dvoch kariet sa to stane párnym. A celá úloha je zredukovaná na jednu primitívnu podmienku.

Otázka: Určte, aký je minimálny počet jázd výťahu potrebný na zdvihnutie celého zariadenia


Hmotnosti 3 domácich spotrebičov sú uvedené v kg (a, b, c). Určte, aký je minimálny počet jázd na výťahu s nosnosťou n kg, ktorý bude potrebný na zdvihnutie celého zariadenia. Pomôž mi prosím.

odpoveď: inp_w možno jednoducho skrátiť parametrom:

Pascalov kód
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 procedura inp_w(q: string ; var x: double) ; begin repeat Napíšte (q, " = " ) ; ReadLn(x) ; ak x<= 0 then WriteLn (q, "musí byť väčšie ako nula, zadajte znova.") kým x > 0 end ; const m = "Hmotnosť domácich spotrebičov"; g = "nosnosť výťahu"; var a, b, c, n: Real ; begin inp_w(m+ " "a"" , a) ; inp_w(m+ " "b"" , b) ; inp_w(m+ " "c"" , c) ; inp_w(g, n) ; ak (a > n) alebo (b > n) alebo (c > n), potom napíšte ( "Nie je možné prepravovať všetky domáce spotrebiče mimo tohto výťahu.") inak ak a + b + c<= n then Write ("Vyžaduje 1 cestu.") inak, ak (a + b<= n) or (a + c <= n) or (b + c <= n) then Write ("Vyžaduje 2 cesty.") inak Napíšte ( "Bude to trvať 3 cesty."); ReadLn koniec .

Otázka: Výpočet nákladov na cestu autom do krajiny


2. Urobte si program na výpočet nákladov na cestu autom do krajiny (spiatočná cesta). Počiatočné údaje sú: vzdialenosť od chaty (v kilometroch); množstvo benzínu, ktoré auto spotrebuje na 100 kilometrov; cena jedného litra benzínu. Nižšie je odporúčané zobrazenie dialógového okna počas spustenia programu. Vstup používateľa je zobrazený tučným písmom.
Výpočet nákladov na cestu do krajiny.
Vzdialenosť od chaty (km) - 67
Spotreba benzínu (l na 100 km) - 8,5
Cena litra benzínu (rub.) - 23.7
Výlet do vidieckeho domu bude stáť 269 rubľov. 94 kop.


Ako to spraviť?

odpoveď: Po prvé, s vašimi vstupnými údajmi to bude stáť 134 rubľov. 97 k., a po druhé

C++
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 int main() ( double km, r, p; int itog; cout<< "Vzdialenosť od chaty (km) - "; cin >> km; cout<< "Spotreba benzínu (l na 100 km) - "; cin >> r; cout<< "Cena za liter benzínu (rub.) - "; cin>p; itog = podlaha ((km / 100 * r* p) * 100 ) ; cout<< "Výlet do chaty bude stáť" << itog / 100 << " руб. " << itog % 100 << " коп." ; return 0 ; }

Vypočítajte si náklady na benzín potrebný na cestu do krajiny, ak poznáte trasu, spotrebu paliva na 100 km a náklady na liter paliva.
Vytvorte formulár typu znázorneného na obrázku 1.

Obrázok 1
Pre výpočet nákladov na benzín v sekcii implementácia napíšte funkciu Cena.
Napíšte obslužný nástroj kliknutia pre tlačidlo Výpočet. Označenie lblMessage by malo obsahovať správu o cene benzínu. Určite riešte funkciou!

odpoveď: Kód:

Delphi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 unitMainU; rozhranie používa Windows, správy, SysUtils, varianty, triedy, grafiku, ovládacie prvky, formuláre, dialógy, tlačidlá, StdCtrls; typ TForm1 = trieda (TForm) Label1: TLabel; edWay: TEdit; Label2: T Label; edFuel: TEdit; Label3: T Label; edCost: TEdit; btnRun: TButton; BitBtn1: TBitBtn; lblMessage: TLabel; procedure btnRunClick(Sender: TObject ) ; procedure BitBtn1Click(Sender: TObject ) ; súkromné ​​(súkromné ​​vyhlásenia) verejné (verejné vyhlásenia) koniec; var Form1: TForm1; implementácia ($R *.dfm) funkcia Cena(cesta, palivo, cena: predĺžená ) : predĺžená ; začať Výsledok: = (cesta/ 100 ) * Palivo* Cena; koniec ; postup TForm1. btnRunClick(Odosielateľ: TOobjekt) ; var eWay, eFuel, eCost: rozšírené ; begin try eWay:= strtofloat(edWay. Text ) ; okrem ukážkovej správy ( "Trasa v km" musí byť číslo!"); VÝCHOD; koniec ; ak eWay<= 0 then begin showmessage("Trasa v km" musí byť väčšia ako 0!"); VÝCHOD; koniec ; skúste eFuel:=strtofloat(edFuel.Text) ; okrem ukážkovej správy ( "Spotreba paliva na 100 km v litroch" by mala byť číslo!"); VÝCHOD; koniec ; ak eFuel<= 0 then begin showmessage("Spotreba paliva na 100 km v litroch" musí byť väčšia ako 0!"); VÝCHOD; koniec ; try eCost:= strtofloat(edCost. Text ) ; okrem ukážkovej správy ( "Náklady na liter paliva" musia byť číslo!"); VÝCHOD; koniec ; ak eCost<= 0 then begin showmessage("Náklady na liter paliva" musia byť väčšie ako 0!"); VÝCHOD; koniec ; lblMessage. Titulok := "Náklady na benzín potrebné na cestu do krajiny:"+ floattostr (Cena(eWay, eFuel, eCost) ); koniec ; postup TForm1. BitBtn1Click (Odosielateľ: TObject ) ; začať blízko; koniec ; koniec.

prikladám projektu na Delphi.



Podobné články