Pagina informaticii

Teste de informatică pentru liceu, articole C#, C/C++, PHP

Teză la informatică, semestrul I, clasa a IX-a

Rândul 1

Notă: Se scordă un punct din oficiu. Fiecare subiect este notat cu 2 puncte. Orice punctaj peste 10 va fi notat cu 10

1. Fie algoritmul:
citeşte n
s <— 10
┌cât timp n > 0 execută
│┌dacă n mod 10 < s atunci
││   s <— n  mod 10
││altfel
││   s <— -1
│└■
│ n <— n div 10
└■
scrie s

a. Scrieţi valoarea care se afişează, în urma executării algoritmului, dacă se citeşte pentru n valoarea 1239.
b. Scrieţi cea mai mică valoare de 4 cifre distincte care poate fi citită pentru n astfel încât să se afişeze
valoarea -1.

2. Scrieţi un algoritm care citeşte un număr natural şi determină oglinditul său. De exemplu, oglinditul numărului 826 este 628.

3. Scrieţi un algoritm care citeşte un număr natural n şi determină numărul divizorilor proprii ai lui n.

4. Scrieţi un algoritm care citeşte două numere naturale nenule a şi b şi determină cel mai mare divizor comun al lor utilizând algoritmul lui Euclid. De exemplu, pentru a=15, b=12, cmmdc(a,b)=3.

5. Scrieţi un algoritm care citeşte un număr natural n şi afişează permutările circulare ale numărului. De exemplu, pentru n=12345, se vor afişa: 12345, 51234, 45123, 34512, 23451.

6. Scrieţi un algoritm care citeşte un număr natural n şi determină cifra de control a lui n. Cifra de control de obţine astfel: se determină suma cifrelor lui n. Dacă această sumă este mai mare sau egală cu 10, se calculează suma cifrelor sumei. Procedeul se repetă până când se obţine o sumă strict mai mică decât 10. De exemplu, pentru n=783, 7+8+3=18, 1+8=9, deci cifra de control este 9.

Rândul 2

1. Fie algoritmul:
citeşte n,k
p <— 1
┌cât timp (n > 0) and (k > 0) execută
│ c <— n mod 10
│ ┌dacă c mod 2 = 1 atunci
│ │ p <— p * c
│ └■
│ n <— n div 10
│ k <— k - 1
└■
scrie p

a. Scrieţi valoarea care se va afişa dacă se citeşte pentru n valoarea 296385, iar pentru k valoarea 3.
b. Dacă se citeşte pentru k valoarea 4, scrieţi cea mai mare valoare de 5 cifre care poate fi citită pentru n astfel încât numărul afişat în urma executării algoritmului să fie 1.

2. Scrieţi un algoritm care citeşte un număr natural şi determină cifra pară maximă a acestui număr. Dacă numărul nu are nicio cifră pară, se va afişa valoarea -1.

3. Scrieţi un algoritm care citeşte un număr natural n şi apoi n numere întregi şi determină suma numerelor care sunt pozitive, pare şi divizibile cu 3

4. Scrieţi un algoritm care citeşte două numere naturale n, b (2<=b<=9) şi îl converteşte pe n în baza b. De exemplu, pentru n=14 şi b=3, rezultatul va fi 112(3).

5. Scrieţi un algoritm care citeşte un număr natural n şi afişează permutările circulare ale numărului. De exemplu, pentru n=12345, se vor afişa: 12345, 51234, 45123, 34512, 23451.

6. Scrieţi un algoritm care citeşte un număr natural n şi determină cifra de control a lui n. Cifra de control de obţine astfel: se determină suma cifrelor lui n. Dacă această sumă este mai mare sau egală cu 10, se calculează suma cifrelor sumei. Procedeul se repetă până când se obţine o sumă strict mai mică decât 10. De exemplu, pentru n=783, 7+8+3=18, 1+8=9, deci cifra de control este 9.

Despre autor
Author

Dan Pracsiu deţinător www.dponline.ro
Profesor, Liceul Teoretic "Emil Racoviță" Vaslui
Membru în Comisia Naţională a Olimpiadelor de Informatică
Pasiuni: istoria, călătoriile, fotografia, muzica clasică

Comentarii (9)
  • Avatar

    bogdan 14-3-2012 5:1:59

    da...a fost o teza interesanta...dar acum cand ma uit in trecut...mi se pare asaaa de simpla...ca nu stiu cum de nu am luat punctaj maxim..

  • Avatar

    Andrei 26-11-2012 22:38:20

    E o teza usoara pt cine a invatat , iar pt cine n-a invatat e grea :D ; eu recunosc am luat 9,5 la teza k am gresit la un program dar foarte putin :P

  • Avatar

    Ana-Maria 30-11-2013 17:43:6

    Ar putea cineva să posteze aici, într-un comentariu, rezolvările pentru această teză? Vă rog! Sunt în clasa a IX-a, la matematică-informatică și, spre rușinea mea, nu prea am înțeles aceste programe...probabil pentru că nu am lucrat suficient. Dau teza peste o săptămână și sunt aproape sigură că rezolvările mă vor ajuta să-mi dau seama unde nu mă descurc și unde mai am de lucrat. Mulțumesc anticipat! :)

  • Avatar

    CPP 1-12-2013 20:34:45

    Pai aici sunt probleme care se fac la clasa, gen cmmdc, divizorii unui numar etc. Nu ai facut la clasa cu profesoara ta? Cine o sa-ti posteze rezolvari complete?

  • Avatar

    sey 2-12-2013 16:43:48

    unde sunt rezolvarile la aceasta teza?

  • Avatar

    CPP 2-12-2013 19:51:25

    Nu-s. Le rezolvi singur.

  • Avatar

    Bogdan 11-12-2013 11:10:43

    ar fi foarte utile cateva indicatii, daca nu rezolvari complete, sau cel putin raspunsurile finale pentru a te putea corecta

  • Avatar

    ina 14-5-2014 21:26:47

    :)
    imi place punctajul...

  • Avatar

    Eugen 31-3-2015 10:58:8

    PROGRAM test
    const s='tipuri de date';
    G=6.7E-11;
    type T1=integer;
    T2=-100..100;
    T3=0..MaxInt;
    T4=boolean;
    T5=false..true;
    T6='A'..'F';
    T7=char;
    T8='D'..'F';
    T9=(A,B,C,D,E,F);
    T10=T3;
    T11=real;
    T12=T11;
    var i,j:T1;
    k:T2;
    n:T3:
    c:A..D;
    d:T9:
    l:T7;
    Q:T4;
    p:boolean;
    x:T11;
    begin
    {calcule cu variabilele in studiu}
    end.
    1. scrieti valorile constantelor utilizate in textul programului test si specificati tipul acestora.
    2.scrieti numele tipurilor neordinale de date:
    3.explicati notiunea tip anonim de date:
    .scrieti numele variabilelor din programul test,tipul carora este anonim;

Scrie un comentariu
Nume:

Comentariu:

15 + 10 =