* Egzamino užduotis rasite čia.
Teorinės dalies galimus atsakymus pateikė Kauno KTU gimnazijos informacinių technologijų mokytoja Kristina Serapinaitė.
Norime akcentuoti, kad tai yra tik preliminarūs atsakymai, oficialius vertinimus pateiks vertintojai, kuomet vertins kandidatų atsakymų lapus.
ATSAKYMAI
I DALIS. Saugus ir teisėtas informacijos ir interneto naudojimas
Maksimalus vertinimas – 10 taškų
1. Dauguma šiuo metu internete paslaugas teikiančių svetainių naudoja slapukus (angl. cookies). Kas yra slapukas?
C Duomenų rinkinys, kurį sukuria svetainė ir įrašo į lankytojo įrenginį
2. Kuri iš pateiktų priemonių padeda neprarasti duomenų dėl aparatinės įrangos gedimų?
D Atsarginės kopijos
3. Pastaruoju metu ypač populiaru prekes ir paslaugas užsisakyti internetu. Patvirtinant užsakymą ir atsiskaitant, patogu naudoti elektroninį parašą. Nurodykite dar vieną tikslą, kuriuo naudojamas elektroninis parašas.
Elektroninių dokumentų pasirašymui
4. Kaip vadinami nepageidaujami elektroniniai laiškai, kurie paprastai siunčiami daugeliui adresatų ir neturi nieko bendra su gavėjo interesais arba naujienų grupės tematika?
Brukalas (šlamštas, spam)
5. Vienas iš saugaus elgesio internete patarimų – viešai skelbiamą savo elektroninio pašto adresą užrašyti žodžiais (pvz.: jonas eta gmail taškas com, jonas+eta+gmail+taškas+com, jonasgmail.com ar kt.) arba pateikti paveikslu.
Paaiškinkite, kodėl taip pateikta informacija gali padėti apsaugoti vartotojo duomenis.
Tam, kad pašto šiukšlintojų robotai negalėtų automatiškai atpažinti elektroninio adreso.
6. Jolita iš interneto atsisiuntė kompiuterių programą. Šios programos licencijos taisyklėse nurodyta, kad ja bus galima nemokamai naudotis vieną mėnesį. Po to nemokamas naudojimasis programa baigsis ir, norint jį pratęsti, reikės įsigyti programos licenciją.
6.1. Nurodykite dar vieną ribojimą, kuris gali būti pateikiamas tokios rūšies kompiuterių programinės įrangos licencijoje.
6.2. Kaip vadinama tokios rūšies kompiuterių programinė įranga?
6.1 paleidimų skaičius
6.2 laikinai nemokama
7. Socialinio tinklo paslaugas teikianti interneto svetainė tam tikrais atvejais gali pašalinti naudotojo publikuotą turinį, pavyzdžiui, komentarą. Nurodykite du tokius atvejus.
7.1. Grasinantis susidorojimu ar kurstantys neapykantą
7.2. Jei komentaras pažeidžia tos svetainės turinio politiką
8. Kaip vadinama paveiksle pateikta informacija apie kiškį?
Asmens duomenys
IV DALIS. Programavimo praktinės užduotys
Programavimo užduotis išsprendė Panevėžio J.Balčikonio gimnazijos informacinių technologijų mokytoja Renata Burbaitė. Mokytoja akcentuoja, jog galimi keli sprendimo variantai. Antrai užduočiai ji pateikia du galimus sprendimo variantus. Šių metų užduotys jai pasirodė dėkingos tuo, kad suteikia daugiau pasirinkimo laisvės jas sprendžiant.
Pirma užduotis. Bėgimas
//Bėgimas
#include
#include
#include
#include
using namespace std;
const char CD[] = "U1.txt";
const char CR[] = "U1rez.txt";
//-------------------------------------------------------------------------
struct Diena {
int diena;
int laikas;
};
//-------------------------------------------------------------------------
bool TikrintiLaika(int pradzia_valanda, int pradzia_minute, int pabaiga_valanda, int pabaiga_minute);
int SkaiciuotiLaika(int pradzia_valanda, int pradzia_minute, int pabaiga_valanda, int pabaiga_minute);
void Skaityti(Diena D[], int & d);
int MaziausiasLaikas(Diena D[], int d);
void Rasyti(Diena D[], int d, int maziausias_laikas);
//-------------------------------------------------------------------------
int main(){
Diena D[50]; int d;
Skaityti(D, d);
int maziausias_laikas = MaziausiasLaikas(D, d);
Rasyti(D, d, maziausias_laikas);
return 0;
}
//-------------------------------------------------------------------------
bool TikrintiLaika (int pradzia_valanda, int pradzia_minute, int pabaiga_valanda, int pabaiga_minute){
return (pradzia_valanda != 0 || pradzia_minute != 0 || pabaiga_valanda != 0 || pabaiga_minute != 0);
}
//-------------------------------------------------------------------------
int SkaiciuotiLaika(int pradzia_valanda, int pradzia_minute, int pabaiga_valanda, int pabaiga_minute){
return (pabaiga_valanda * 60 + pabaiga_minute - pradzia_valanda * 60 - pradzia_minute);
}
//-------------------------------------------------------------------------
//Į struktūrų masyvą bus dedami tik tinkami įrašai, t.y. kai bėgo rytą ir vakare
//-------------------------------------------------------------------------
void Skaityti(Diena D[], int & d){
ifstream fd(CD);
d = 0; //Pradinė reikšmė
int n; //Iš viso įrašų faile
int diena; //Dienos numeris
int rytas_pr_val, rytas_pr_min, rytas_pb_val, rytas_pb_min, vakaras_pr_val, vakaras_pr_min, vakaras_pb_val, vakaras_pb_min;
fd >> n;
for (int i = 1; i <= n; i++){
fd >> diena >> rytas_pr_val >> rytas_pr_min >> rytas_pb_val >> rytas_pb_min
>> vakaras_pr_val >> vakaras_pr_min >> vakaras_pb_val >> vakaras_pb_min;
if (TikrintiLaika(rytas_pr_val, rytas_pr_min, rytas_pb_val, rytas_pb_min)
&& TikrintiLaika(vakaras_pr_val, vakaras_pr_min, vakaras_pb_val, vakaras_pb_min))
{
D[d].diena = diena;
D[d].laikas = SkaiciuotiLaika(rytas_pr_val, rytas_pr_min, rytas_pb_val, rytas_pb_min)
+ SkaiciuotiLaika(vakaras_pr_val, vakaras_pr_min, vakaras_pb_val, vakaras_pb_min);
d++; //Paruošiama vieta naujam struktūrų masyvo elementui
}
}
fd.close();
}
//-------------------------------------------------------------------------
int MaziausiasLaikas(Diena D[], int d){
int maziausio_vieta = 0;
for (int i = 0; i < d; i++)
if (D[i].laikas < D[maziausio_vieta].laikas) maziausio_vieta = i;
return maziausio_vieta;
}
//-------------------------------------------------------------------------
void Rasyti(Diena D[], int d, int maziausias_laikas){
ofstream fr(CR);
fr << "Minimalus laikas" << endl;
fr << D[maziausias_laikas].laikas << endl;
fr << "Dienos" << endl;
for (int i = 0; i < d; i++)
if (D[i].laikas == D[maziausias_laikas].laikas) fr << D[i].diena << " ";
fr << endl;
fr.close();
}
Antra užduotis. Apklausa
I būdas
//Apklausa
#include
#include
#include
#include
using namespace std;
const char CD[] = "U2.txt";
const char CR[] = "U2rez.txt";
//------------------------------------------------------------------------------------------------
struct Mokinys {
string vardas;
};
struct Dalykas {
string pavadinimas;
Mokinys M[100];
int kiek_mokiniu;
};
//-------------------------------------------------------------------------
void RastiDalyka(Dalykas D[], int d, string dalyko_pavadinimas, bool & yra, int & kelintas);
void Skaityti(Dalykas D[], int & d);
double Vidurkis(int P[], int p);
void Rikiuoti(Dalykas D[], int d);
void Rasyti(Dalykas D[], int d);
//-------------------------------------------------------------------------
int main(){
Dalykas D[100]; int d;
Skaityti(D, d);
Rikiuoti(D, d);
Rasyti(D, d);
return 0;
}
//-------------------------------------------------------------------------
void RastiDalyka(Dalykas D[], int d, string dalyko_pavadinimas, bool & yra, int & kelintas) {
yra = false; kelintas = -1;
for (int i = 0; i < d; i++)
if (D[i].pavadinimas == dalyko_pavadinimas){
yra = true;
kelintas = i;
break;
}
}
//-------------------------------------------------------------------------
void Skaityti(Dalykas D[], int & d){
ifstream fd(CD);
d = 0; //Apibrëþiama pradinë reikðmë
int m; //Apklaustų mokinių skaičius faile
string vardas, dalyko_pavadinimas;
int p; //Pažymių skaičius
int P[100]; //Pažymių masyvas, nenurodyta kiek pažymių, tai remdamiesi logika pasirenkam patys masyvo dydį
fd >> m;
//Iš pradžių apibrėžam pradinius dalyką pasirinkusių mokinių kiekius
for (int i = 0; i < m; i++){
D[i].kiek_mokiniu = 0;
}
for (int i = 1; i <= m; i++){
fd >> vardas >> dalyko_pavadinimas >> p;
for (int j = 0; j < p; j++){
fd >> P[j];
}
if (Vidurkis(P, p) >= 9){
bool yra; int kelintas;
RastiDalyka(D, d, dalyko_pavadinimas, yra, kelintas);
if (yra){
int mokinio_vieta = D[kelintas].kiek_mokiniu;
D[kelintas].M[mokinio_vieta].vardas = vardas;
D[kelintas].kiek_mokiniu++;
}
else {
D[d].pavadinimas = dalyko_pavadinimas;
int mokinio_vieta = D[d].kiek_mokiniu;
D[d].M[mokinio_vieta].vardas = vardas;
D[d].kiek_mokiniu++;
d++;
}
}
}
fd.close();
}
//-------------------------------------------------------------------------
double Vidurkis(int P[], int p){
int suma = 0;
for (int i = 0; i < p; i++){
suma += P[i];
}
return (double) suma / p;
}
//-------------------------------------------------------------------------
void Rikiuoti(Dalykas D[], int d){
int m;
for (int i = 0; i < d - 1; i++){
m = i;
for (int j = i + 1; j < d; j++){
if ((D[j].kiek_mokiniu > D[m].kiek_mokiniu) ||
((D[j].kiek_mokiniu == D[m].kiek_mokiniu) && (D[j].pavadinimas < D[m].pavadinimas))) m = j;
}
swap(D[i], D[m]);
}
}
//-------------------------------------------------------------------------
void Rasyti(Dalykas D[], int d){
ofstream fr(CR);
if (d == 0) fr << "Neatitinka vidurkis" << endl;
else {
for (int i = 0; i < d; i++){
fr << D[i].pavadinimas << " " << D[i].kiek_mokiniu << endl;
for (int j = 0; j < D[i].kiek_mokiniu; j++){
fr << D[i].M[j].vardas << endl;
}
}
}
fr.close();
}
II būdas
//Apklausa
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>
using namespace std;
const char CD[] = "U2.txt";
const char CR[] = "U2rez.txt";
//-------------------------------------------------------------------------
struct Mokinys {
string vardas;
string dalykas;
double vidurkis;
};
struct Dalykas {
string pavadinimas;
string Vardai[100];
int kiek_mokiniu;
};
//-------------------------------------------------------------------------
void Skaityti(Mokinys M[], int & m);
double Vidurkis(int P[], int p);
void SalintiViena(Mokinys M[], int kuris, int & n);
void SalintiNetinkamus( Mokinys M[], int & m);
void SurastiDalykus(Mokinys M[], int m, Dalykas D[], int & d);
void Rikiuoti(Dalykas D[], int d);
void Rasyti(Dalykas D[], int d);
int main(){
Mokinys M[100]; int m;
Dalykas D[100]; int d;
Skaityti(M, m);
SalintiNetinkamus(M, m);
SurastiDalykus(M, m, D, d);
Rikiuoti(D, d);
Rasyti(D, d);
return 0;
}
//-------------------------------------------------------------------------
void Skaityti(Mokinys M[], int & m){
ifstream fd(CD);
int p;
int P[100];
fd >> m;
for (int i = 0; i < m; i++){
fd >> M[i].vardas >> M[i].dalykas >> p;
for (int j = 0; j < p; j++){
fd >> P[j];
}
M[i].vidurkis = Vidurkis(P, p);
}
fd.close();
}
//-------------------------------------------------------------------------
double Vidurkis(int P[], int p){
int suma = 0;
for (int i = 0; i < p; i++){
suma += P[i];
}
return (double) suma / p;
}
//-------------------------------------------------------------------------
void SalintiViena(Mokinys M[], int kuris, int & n){
for (int i = kuris; i < n; i++){
M[i] = M[i+1];
}
n--;
}
//-------------------------------------------------------------------------
void SalintiNetinkamus( Mokinys M[], int & m){
int i = 0;
while (i < m){
if (M[i].vidurkis < 9) SalintiViena(M, i, m);
else i++;
}
}
//-------------------------------------------------------------------------
void SurastiDalykus(Mokinys M[], int m, Dalykas D[], int & d){
d = 0;
for (int i = 0; i < m; i++){
D[i].kiek_mokiniu = 0;
}
int i = 0;
while (i < m){
D[d].pavadinimas = M[i].dalykas;
int kelintas_mokinys = D[d].kiek_mokiniu;
D[d].Vardai[kelintas_mokinys] = M[i].vardas;
D[d].kiek_mokiniu++;
int j = i + 1;
while (j < m){
if (M[j].dalykas == M[i].dalykas){
int kelintas_mokinys = D[d].kiek_mokiniu;
D[d].Vardai[kelintas_mokinys] = M[j].vardas;
D[d].kiek_mokiniu++;
SalintiViena(M, j, m);
}
else j++;
}
i++;
d++;
}
}
//-------------------------------------------------------------------------
void Rikiuoti(Dalykas D[], int d){
int m;
for (int i = 0; i < d - 1; i++){
m = i;
for (int j = i + 1; j < d; j++){
if ((D[j].kiek_mokiniu > D[m].kiek_mokiniu) ||
((D[j].kiek_mokiniu == D[m].kiek_mokiniu) && (D[j].pavadinimas < D[m].pavadinimas))) m = j;
}
swap(D[i], D[m]);
}
}
//-------------------------------------------------------------------------
void Rasyti(Dalykas D[], int d){
ofstream fr(CR);
if (d == 0) fr << "Neatitinka vidurkis" << endl;
else {
for (int i = 0; i < d; i++){
fr << D[i].pavadinimas << " " << D[i].kiek_mokiniu << endl;
for (int j = 0; j < D[i].kiek_mokiniu; j++){
fr << D[i].Vardai[j] << endl;
}
}
}
fr.close();
}
* * *
Pagrindinė brandos egzaminų sesija šiemet vyksta nuo birželio 7 d. iki liepos 2 d.
Pilną pagrindinės sesijos brandos egzaminų tvarkaraštį rasite čia:
Kur stoti | Paskelbtas 2021 metų brandos egzaminų tvarkaraštis
Detalų priėmimo į aukštąsias mokyklas tvarkaraštį rasite čia:
Kur stoti | LAMA BPO paskelbė detalų priėmimo į aukštąsias mokyklas tvarkaraštį
* * *
Straipsnį parengė: Aistė Borjas
El.paštas: aiste.borjas@gmail.com