Teste de informatică pentru liceu, articole C#, C/C++, PHP
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.
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ă
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
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
ina 14-5-2014 21:26:47
:)
imi place punctajul...
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;