Sie sind auf Seite 1von 3

Ministerul Educaiei Naionale i Cercetrii tiinifice

Centrul Naional de Evaluare i Examinare

Examenul de bacalaureat naional 2016


Proba E. d)
Informatic
Limbajul C/C++
Simulare
Filiera teoretic, profilul real, specializarea tiine ale naturii
Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.
Timpul de lucru efectiv este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din
enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu
semnificaiile asociate acestora (eventual n form prescurtat).
n programele cerute, datele de intrare se consider corecte, validarea acestora
nefiind necesar.
THEMA I
(30 Punkte)
Fr Punkt 1 schreibt auf das Prfungsblatt den Buchstaben welcher der richtigen Antwort
entspricht.
1.

Gebt den C/C++ Ausdruck, welcher den Wert 1 hat, wenn und nur wenn die Zahl
gespeichert in der ganzen Variablen x der Menge {2015, 2016, 2017} angehrt, an. (4P.)

a.

x==2015 && !(x<2016 || x<2017)

b.

x==2015 && !(x<2016 && x<2017)

c.

x==2015 || !(x<2016 || x>2017)

d.

x==2015 || !(x<2016 && x>2017)

2. Sei der nebenstehende Pseudocode-Algorithmus.


Man beschriftet mit a%b den Rest der Teilung der natrlichen Zahl
a durch die natrliche, von Null verschiedene Zahl b.
a)

Schreibt den angeschriebenen Wert, wenn man in dieser


Reihenfolge die Zahlen 29678, 125, 1233345, 2, 78664, 0
einliest, an.
(6P.)

b)

Schreibt eine Folge von Eingabedaten, gebildet aus


natrlichen Zahlen, so dass nach dem Durchfhren des
Algorithmus, der Wert 2016 angeschrieben wird.
(4P.)

c)

Schreibt in Pseudocode einen, mit dem gegebenen,


quivalenten Algorithmus, in dem ihr die zweite Struktur
wiederhole
...
bis
mit
einer
anderen
Wiederholungsstruktur ersetzt.
(6P.)

d)

Schreibt das dem gegebenen Algorithmus entsprechende


C/C++ Programm.
(10P.)

Prob scris la informatic


Limbajul C/C++

m 0
wiederhole
lies x

(natrliche Zahl)
y x
wiederhole
c y%10
y [y/10]
bis cy%10
wenn y0 dann
m m*10+c

bis x=0
schreibe m

Simulare

Filiera teoretic, profilul real, specializarea tiine ale naturii

Ministerul Educaiei Naionale i Cercetrii tiinifice


Centrul Naional de Evaluare i Examinare

THEMA II
(30 Punkte)
Fr jeden der Punkte 1 und 2 schreibt auf das Prfungsblatt den Buchstaben welcher der
richtigen Antwort entspricht.
1.

Die Variablen x und y sind ganz und speichern je eine natrliche von Null verschiedene
Zahl. Gebt den C/C++ Ausdruck, welcher den Wert 1 hat, wenn und nur wenn die Werte der
Variablen x und y aufeinanderfolgend sind, an.
(4P.)

a.

abs(x+y)

2.

Die Variablen n und x sind ganz. Damit nach dem Durchlaufen n=0;
der nebenstehenden Sequenz die Variable n die Anzahl aller while(.........)
n=n+1;
Werte, natrliche perfekte Quadrate aus dem Intervall [0,x],
speichern soll, knnen die Auslassungspunkte ersetzt werden
mit:
(4P.)

a.

n<=x*x

b.

n*n<=x

c.

n<=(x-1)*(x-1)

d.

(n-1)*(n-1)<=x

b.

abs(x-y)

abs(x/y)

c.

d.

abs(x%y)

Schreibt auf das Prfungsblatt die Antwort fr jede der folgenden Anforderungen.
3.

Die ganzen Variablen baza1 und inaltime1 speichern die Basis beziehungsweise Hhe
eines Dreiecks und die ganzen Variablen baza2 und inaltime2 speichern die Basis
beziehungsweise Hhe eines anderen Dreiecks.
Schreibt eine C/C++ Anweisungssequenz die die Nachricht aceeasi arie auf dem
Bildschirm anschreibt, wenn die beiden Dreiecke denselben Flcheninhalt haben, oder die
Nachricht arii diferite, im Gegenfall.
(6P.)

4.

Eine natrliche, von Null verschiedene Zahl heit sPar wenn sowohl sie, als auch die
Summe ihrer eigenen Teiler (Teiler verschieden von 1 und sich selbst), Paarzahlen sind.
Man liest eine natrliche Zahl, n (n
[1,109]) und man soll die kleinste sPar Zahl, streng
grer als n schreiben.
Beispiel: wenn n=95 dann wird 98 geschrieben (sowohl 98, als auch 72=2+7+14+49,
sind Paarzahlen).
a) Schreibt in Pseudocode den Lsungsalgorithmus fr die erluterte Aufgabe.
(10P.)
b) Bestimmt die Rolle aller Variablen, die in dem bei Punkt a) erzeugten Algorithmus
vorkommen und gebt Eingangsdaten beziehungsweise Ausgangsdaten der erluterten
Aufgabe an.
(6P.)

Prob scris la informatic


Limbajul C/C++

Simulare

Filiera teoretic, profilul real, specializarea tiine ale naturii

Ministerul Educaiei Naionale i Cercetrii tiinifice


Centrul Naional de Evaluare i Examinare

THEMA III
(30 Punkte)
Fr Punkt 1, schreibt auf das Prfungsblatt den Buchstaben welcher der richtigen Antwort
entspricht.
1.
In der unterstehenden Anweisungssequenz sind alle Variablen vom Typ ganz.
for(i=0;i<5;i++)
! ? ! ? !
{ for(j=0;j<5;j++)
? ! ? ! ?
if(.......) cout<<"! "; | printf("! ");
! ? ! ? !
else cout<<"? "; | printf("? ");
? ! ? ! ?
cout<<endl; | printf("\n");
! ? ! ? !
}
Gebt eine Ausdruck, der die Auslassungspunkte ersetzen kann, so dass nach dem
Durchfhren der erhaltenen Sequenz, die Werte aus der oberen Figur, auf dem Bildschirm, in
dieser Reihenfolge angeschrieben werden, an.
(4P.)
a.

(i+j)%2==0

b.

i%2+j%2==0

c.

i%2+j==0

d.

i+j%2==0

Schreibt auf das Prfungsblatt die Antwort fr jede der folgenden Anforderungen.
2.
Sei ein eindimensionales Feld in dem die Elemente, in dieser Reihenfolge
(2020,2016,2012,2008,2004,2000,1996) sind. Um zu prfen ob im Feld das
Element mit dem Wert x existiert, wird die Methode des Binren Suchens angewendet.
Schreibt alle Werte die x haben kann, so dass das Suchen abgeschlossen wird, nachdem
x verglichen wurde mit genau zwei Elementen des Feldes.
(6P.)
3.

Zwei eindimensionale Felder heien anagrame wenn ihre, von Null verschiedene,
Elemente gleich sind, eventuell verteilt in einer anderen Reihenfolge.
Schreibt ein C/C++ Programm, das von der Tastatur natrliche Zahlen aus dem Intervall
[0,200] einliest: auf der ersten Reihe zwei, von Null verschiedene Zahlen, n und m, auf der
zweiten Reihe die n Elemente eines eindimensionalen Feldes und auf der dritten die m
Elemente eines anderen eindimensionalen Feldes. Die Zahlen die sich auf derselben Reihe
befinden sind getrennt durch je ein Leerzeichen. Das Programm schreibt auf dem Bildschirm
die Nachricht DA, wenn die zwei Felder anagrame sind, oder die Nachricht NU, im Gegenfall.
Beispiele: wenn man in dieser Reihenfolge die Zahlen:
6 8
5 1 6 0 7 7
7 5 0 0 6 7 0 1
einliest, wird auf dem Bildschirm die Nachricht DA angeschrieben
und wenn man in dieser Reihenfolge die Stze:
4 4
5 1 6 0
6 5 6 1
einliest, wird auf dem Bildschirm die Nachricht NU angeschrieben.
(10P.)

4.

Eine Zahl x heit sufix einer Zahl y, wenn y aus x durch das Kleben auf der linken Seite
wenigstens einer anderen Ziffer, erhalten werden kann.
Die Datei bac.in enthlt eine Folge von hchstens 109 natrlichen unterschiedlichen Zahlen
aus dem Intervall [0,109]. Die Zahlen der Folge sind getrennt durch je ein Leerzeichen.
Schreibt auf dem Bildschirm, in streng steigender Reihenfolge, alle Glieder der Folge aus
der Datei die dem Intervall [100,999] gehren und sufixe fr wenigstens ein anderes
Glied derselben Folge sind. Die Zahlen werden je eine pro Reihe angeschrieben und wenn
es keine solchen Zahlen in der Folge gibt, wird auf dem Bildschirm die Nachricht Nu
exista angeschrieben. Fr das Bestimmen der Zahlen wird einer in Bezug auf die
Laufzeit effizienter Algorithmus bentzt.
Beispiel: wenn die Datei bac.in den Inhalt
15502 49 54321 6149 76149 123 502 4321 321
hat, dann werden auf dem Bildschirm die Zahlen
321
502
angeschrieben.
a) Beschreibt in Umgangssprache den bentigten Algorithmus und begrndet seine Effizienz. (4P.)
b) Schreibt das dem beschriebenen Algorithmus entsprechende C/C++ Programm. (6P.)

Prob scris la informatic


Limbajul C/C++

Simulare

Filiera teoretic, profilul real, specializarea tiine ale naturii