Portál AbcLinuxu, 3. května 2025 22:54
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int operand1, operand2, operace, vysledek, vstup; char znamenko; srand(time(NULL)) ; printf("Vítej, maly poctari. Jsi pripraven na trochu zabavy? (Program ukoncis stisknutim libovolneho pismena.)\n\n"); for(;;) { operand1 = (rand() % 100) + 1; operand2 = (rand() % 100) + 1; operace = (rand() % 4) + 1; switch(operace) { case 1 : vysledek = operand1 + operand2; znamenko = '+'; break; case 2 : vysledek = operand1 - operand2; znamenko = '-'; break; case 3 : vysledek = ((operand1 %= 10 + 1)) * ((operand2 %= 10 + 1)); znamenko = '*'; break; case 4 : vysledek = operand1 / ((operand2 %= 10 + 1)); znamenko = '/'; break; default: printf("Error\n"); } printf("%6d\n%6c\n%6d\n\nVysledek: ", operand1, znamenko, operand2); if (scanf("%d", &vstup) != 1) return 1; printf("\n"); while (vysledek != vstup) { printf("Spatne, tupce! Pocitej znovu.\n\n"); printf("%6d\n%6c\n%6d\n\nVysledek: ", operand1, znamenko, operand2); if (scanf("%d", &vstup) != 1) return 1; printf("\n"); } } return 0; }Nejsem zrovna příznivcem dotykových zařízení, nechci jezdit zpoceným prstem po displeji (člověk se před obrazovkou více potí). Snad se jednou z této módní záležitosti nestane mainstream bez alternativy, jelikož by to bylo na úkor efektivity a pohodlí. Nedokážu si představit, že bych takto pracoval se stolním počítačem. Možná bych jen upozornil na to, že pro děti není zrovna vhodné, aby trávily vkuse několik hodin u tabletu, počítače nebo televize, jelikož jejich oči jsou ve vývinu a velké obrazovky s led podsvícením namáhají oči, rozpalují hlavu, unavují tělo a zatěžují srdce, a určitě zde existuje i zvýšené riziko rakoviny očí. To samé platí ale i o čtení. Děti by měly běhat někde venku, sportovat a rozvíjet svalovou soustavu, aby z nich nakonec nebyly chcípáci
Tiskni
Sdílej:
program mala_nasobilka; var f,a,b,c,p,s:integer; pu:real; begin randomize; s:=0; write('Pocet prikladov ? '); readln(p); for f:=1 to p do begin a:=random(11); b:=random(11); write(a,' x ',b,' = '); readln(c); if c = a * b then begin writeln; writeln('spravne'); writeln; inc(s); end else writeln('nespravne'); end; pu:=(s/p) * 100; writeln; writeln('Celkovy pocet prikladov: ',p,' z toho spravnych prikladov ',s,'. Percentualna uspesnost ', pu:2:0, '%'); end.
V pythone by som to robil asi nejak takto (sorry ak tam chybaju nejake medzery a pod., nedaval som na to zas az taky pozor).
import sys import random import operator modX = lambda x: x % 10 + 1 ops = { '+': (operator.add, int, int), '-': (operator.sub, int, int), '*': (operator.mul, modX, modX), '/': (operator.div, int, modX) } print "Vitej, maly poctari. Jsi pripraven na trochu zabavy? (Program ukoncis necelociselnym vstupom.)\n" while True: i1 = random.randint(1,100) i2 = random.randint(1,100) op = random.choice(list(ops)) fop, mod1, mod2 = ops[op] i1 = mod1(i1) i2 = mod2(i2) vysl = fop(i1, i2) try: guess = int(raw_input("%6d\n%6s\n%6d\n\nVysledek: " % (i1, op, i2))) except ValueError: sys.exit(1) while guess != vysl: print "Spatne, tupce! Pocitej znovu.\n" try: guess = int(raw_input("%6d\n%6s\n%6d\n\nVysledek: " % (i1, op, i2))) except ValueError: sys.exit(1)
op = random.choice(['+', '-', '*', '/'])
result = eval('%d %s %d' % (num1, op, num2))
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.