Postat de: Carmen Anton | 24/10/2014

Saptamana 1 – Recapitulare

SAPTAMANA  1

1. Fisiere text  – citire si tiparire

Ex1: Se considera fisierul text cifre.txt care contine pe o singura linie si separate prin spatiu, 2 numere naturale.

Sa se afiseze in fisierul suma.txt adunarea dintre cele doua  numere.

#include <fstream>
#include <iostream>
using namespace std;
int main()
{
int x, s=0;
ifstream f(“cifre.txt”);

ofstream g(“suma.txt”);

f>>x>>y;

s=x+y;

g<<“suma este:”<<s;

f.close(); g.close(); return 0;

}

2. Variabile si constante

Informaţiile din lumea reală se pot codifica sub forma unor date.

Clasificarea datelor:

  • variabile: îşi pot modifica valoarea pe parcursul execuţiei algoritmului
  • constante: nu îşi modifică valoarea pe parcursul execuţiei algoritmului.
    • Asupra datelor se aplică operatori rezultând expresii.
Operatori C/C++ Exemple
Atribuire = x=20;

y=x+7;

z=y;

Aritmetici +, -, *, /, %, ++, – c=y/x;  r=y%x;    v=r++;  d=c–
Relationali ==, >, <, >=, <=, != c==r;

v!=d;

Logici  &&, ||, !  

 

3.  Structura unui program C++

program = o succesiune de comenzi (instrucţiuni) de prelucrare a datelor, scrise intr-un limbaj de programare.

Orice program C++ trebuie să conţină o funcţie numită “main” (un fel de “program principal”).

Cel mai simplu program C++:

#include<iostream>

using namespace std;

int main()

{

cout<<“astazi este o zi frumoasa”;  //afisarea unui mesaj pe ecran

return 0;

}

 

4. Instructiunea IF
Are doua forme:
Forma 1
if  (expresie)
             {  instructiuni1;  }
  else
            {  instructiuni2;  }
Funcţionare: se evalueaza expresia, dacă valoarea rezultată este diferită de 0 se execută instructiuni1 iar dacă valoarea rezultată este 0 se execută instructiuni2.

 Forma 2
 if (expresie) 
        {  instructiuni;  }

Funcţionare: dacă valoarea expresiei este diferită de 0 atunci se execută instructiuni.

Exemplu: Să se tipărească maximul dintre 2 numere citite din fisierul date.txt.

#include <fstream>
#include <iostream>
using namespace std;
int main()
{
int x, z;
ifstream f(“date.txt”); ofstream g(“maxim.txt”);

f>>x>>y;

if (x>y)  g<<“maximul este:”<<x;

else g<<“maximul este:”<<y;
f.close();  g.close(); return 0;

}
5. Instructiunea WHILE

Forma generala este:
while  (expresie)
{
Instructiuni ;
}
Principiul funcţionării este: se evaluează expresia iar dacă valorea produsă este diferită de 0 se execută instructiuni subordonata şi se revine la evaluarea expresiei; dacă valoarea expresiei este 0 atunci se trece la instrucţiunea următoare lui while.

Exemplu: Se citeşte din fisierul date.txt un numar natural n. Se cere sa se calculeze suma cifrelor sale.

#include <fstream>
#include <iostream>
using namespace std;
int main()
{
int x, s=0;
ifstream f(“date.txt”); ofstream g(“scifre.txt”);

f>>x;

while (x>0)

{ s=s+x%10;

x=x/10;

}

g<<“suma cifrelor  este:”<<s;
f.close();   g.close();
return 0;
}
Exercitii cu secvente:

  1. Ce va afisa urmatoarea secventa de program ?

int x=32567, s=0;

while (x>0)

{ s=s*10+x%10;

x=x/10;

}

cout<<s;

  1. Ce va afisa urmatoarea secventa de program ?

int x=13531, s=0, y;

y=x;

while (x>0)

{ s=s*10+x%10;

x=x/10;

}

if (s==y)  cout<<”DA”;  else cout<<”NU”;

 

  1. Ce va afisa urmatoarea secventa de program ?

int x=24, s=1;

while (s<=x)

{ if (x%s==0)  cout<<s;

s=s+1;

}

 

  1. Ce va afisa urmatoarea secventa de program ?

int x=17, s=1,y=0;

while (s<=x)

{ if (x%s==0)  y++;

s=s+1;

}

If (y==2)  cout<<”DA”; else cout<<”NU”;

 

  1. Ce va afisa urmatoarea secventa de program ?

int x=24, y=18;

while (y!=x)

{ if (x>y)  x=x-y;

else  y=y-x

}

cout<<x;

 

TEMA –  Prelucrarea cifrelor unui număr

  1. Scrieţi un program C++ care citeşte un număr natural n şi determină şi afişează cea mai mica şi cea mai mare dintre cifrele sale. De exemplu, pentru n=25471, se va tipări cmin=1 şi cmax=7.
  2. Se citește un număr natural n de cel mult 8 cifre. Să se scrie programul C++ care determină și afișează câte cifre pare şi câte cifre impare are numărul citit. De exemplu, pentru n=2754, se va tipări 2 cifre pare şi 2 cifre impare.
  3. Se citește un număr natural n de cel mult 8 cifre şi o cifră c. Să se scrie programul C++ care determină și afișează câte apariţii are cifra c în numărul citit. De exemplu, pentru n=25754 şi c=5, se va tipări 2 apariţii.
  4. Scrieţi un program C++ care citeşte un număr natural n şi determină şi afişează cea mai mare dintre cifrele sale şi numărul de apariţii ale acestei cifre. De exemplu, pentru n=75371, se va tipări cmax=7 şi nrap=2.
  5. Se citește un număr natural n de cel mult 8 cifre. Să se scrie programul C++ care determină și afișează numărul format doar din cifrele pare şi numărul format doar cu cifrele impare ale lui n . De exemplu, pentru n=2754, se va tipări np = 24 şi ni = 75.
  6. Se citește un număr natural n de cel mult 8 cifre şi o cifră c. Să se scrie programul C++ care determină și afișează cifra de rang c în numărul citit. Prima cifră a numărului este cifra cea mai semnificativă. De exemplu, pentru n=25754 şi c=5, se va tipări 4.
  7. Se citește un număr natural n de cel mult 8 cifre şi o cifră c. Să se scrie programul C++ care determină și câte dintre cifrele numărului n sunt mai mari sau egale cu cifra c în numărul citit. De exemplu, pentru n=25754 şi c=5, se va tipări 3.
  8. Scrieţi un program C++ care citeşte un număr natural n de cel mult 8 cifre şi determină oglinditul său. De exemplu, pentru n=12356, oglinditul său este 65321.
  9. Se citeşte un număr natural n de cel mult 8 cifre. Scrieţi un program care verifică dacă numărul n are toate cifrele în ordine crescătoare şi afişează “DA” sau “NU”.Exemplu: pentru n=1347 se va afişa DA, iar pentru n=23157 se va afişa NU.
  10. Se citeşte un număr natural de cel mult 8 cifre. Comparaţi suma cifrelor situate pe poziţii impare cu cea de pe poziţii pare şi afişaţi valoarea mai mare, sau mesajul “sume egale”. Cifra cea mai semnificativă este considerată prima cifră din număr. Exemplu: pentru n=123456 suma cifrelor de pe poziţii impare este Si=1+3+5=9, iar suma cifrelor de pe poziţii pare este Sp=2+4+6=12 se va afişa: Sp=12 este mai mare.

 

 

 

 

Postat de: Carmen Anton | 21/10/2014

Pregatire pentru Bacalaureat – proba Informatica

Bacalaureat 2015

Programa pentru examenul de bacalaureat – proba de Informatica:   Programa_Bac_2011_E d)_Informatica

Lectii utile pentru subiectul I:   Lectii Pascal    (schimbati extensia din doc in zip)

Variantele de subiecte (100) – partea I:   Subiecte Pascal   (schimbati extensia din doc in zip)

Document cu rezolvari: rezolvari_info bune

Calendar pentru recapitulare:

Se vor recapitula notiunile  din programa de bacalaureat de la capitolele 1,2,3

1. Algoritmi

2. Elemente de baza ale limbajului (Pascal/C++)

3. Subprograme predefinite

Termene:

22 octombrie 2014  – partea I variantele 1-15

29 octombrie 2014  – partea I variantele 16-31

05 noiembrie 2014  – partea I variantele 32-52

12 noiembrie 2014  – partea I variantele 53-75

19 noiembrie 2014 – partea I variantele 76-100

 

 

 

Postat de: Carmen Anton | 10/10/2014

Pagini web cu probleme de informatica

Resurse utile:

http://www.pbinfo.ro/

http://campion.edu.ro/

http://www.infoarena.ro/

http://algopedia.ro/wiki/index.php/Main_Page

 

Postat de: Carmen Anton | 10/10/2014

Concursuri Informatica si TIC

Olimpiade si concursuri scolare din calendarul MEN   la disciplinele Informatica si TIC

 

  1. Olimpiada informatica: http://olimpiada.info/
  • Concurs national de programare  (perioada: martie 2015)

2.  OTI (Olimpiada de Tehnologia Informatiei): http://www.ciaro.ro/2013/

  • organizată pe două secțiuni: TIC sau C#   (perioada: martie 2015)
  1. InfoEducatie: http://www.infoeducatie.ro/
  • Concurs national de soft educational si pagini web pe categorii: soft utilitar, soft educational, pagini web, multimedia, roboti
  1. Acadnet: http://www.acadnet.ro/
  • se adresează elevilor din clasele IX-XII, cu preocupări în domeniul informaticii, al integrării în reţele, proiectării, configurării, depanării şi al dezvoltării şi utilizării de aplicaţii specifice.
  • Secţiuni posibile: Calculatoare clasele 9-10, Calculatoare clasele 11-12, Reţele clasele 9-10, Reţele clasele 11-12

 

Alte concursuri de specialitate:

  1. InfoMatrix: http://www.infomatrix.ro/
  • Realizare de proiecte (pe o tema data: FAMILIA) pe categorii: Programming, Computer Art, Hardware Control, Short Movie, Robotics
  1. Evaluare in educatie – informatica: http://www.evaluare-edu.ro/evaluare-informatica/
  • O evaluare a cunostintelor de la clasa: TIC, Informatica, Competente Digitale
  1. Sigur.info: http://sigur.info/ziua-sigurantei-pe-internet-2013/despre-concurs-sid2013.html
  • Elevii sunt invitati sa participe cu proiecte multimedia in care vor ilustra opinia lor despre o Neticheta adecvata. Concurentii vor lucra individual sau in echipe de cate maxim trei persoane si vor fi coordonati de catre un profesor. Proiectele vor putea fi trimise in unul din urmatoarele formate: desene si creatii proprii scanate, afise, prezentari Power Point, filmulete video (realizate cu aparat foto, video, telefon mobil), prezentari Flash, pagini web create special pentru concurs

4.  Concursul Mate-Info UBB – informatica: http://www.cs.ubbcluj.ro/concursul-mate-info-ubb/

Concursul  se adresează, în principal, elevilor de liceu de clasa a XI-a si a XII-a ce doresc să-şi încerce forţele în vederea admiterii la

Facultatea de Matematică şi Informatică din cadrul Universităţii Babeş-Bolyai.

 

5. Concursul InfoGold: http://bm.uvvg.ro/infogold2013.html

  • Concursul se adreseaza elevilor de liceu din clasele IX-XII si cuprinde doua probe: proba de selectie teoretica, a doua proba, practica, grupati in patru echipe, formate la libera alegere. Premiile sunt in valoare totala de 2.000 lei.
Postat de: Carmen Anton | 09/10/2014

Subprograme

SUBPROGRAME 

Toate problemele se pot descompune în subprobleme, care devin module subordonate, unele repetându-se de un număr de ori, altele executându-se numai în funcţie de anumite condiţii. Subprogramele se clasifică în funcţie de originea lor în: subprograme standard (predefinite în biblioteci ale limbajului de programare) şi nestandard sau create de utilizator, care trebuie declarate şi definite de către acesta.

  1. Sintaxa declarării şi a definirilor de subprograme
  2. definirea antetului şi a blocului unui subprogram de tip funcţie este:

tip_rezultat  nume (lista parametrilor formali)

{ instrucţiuni }

  1. definirea antetului şi a blocului unui subprogram de tip procedură este:

void  nume (lista parametrilor formali)

{ instrucţiuni }

Unde :

tip_rezultat poate fi un tip standard, o adresă sau un tip definit anterior;

lista parametrilor formali  are sintaxa  tip1 p1, tip2 p2, ….. , tipn pn

unde tipi este un tip cunoscut anterior iar pi poate fi un identificator de variabilă sau specificare de adresă.

Dacă subprogramul nu are parametri  atunci apar numai parantezele rotunde sau cuvantul void. (parantezele sunt obligatorii şi la definire şi la apel chiar dacă nu există parametri).

Observaţii :

-           Blocul subprogramului apare între acolade, imediat după antet.

-           În interiorul blocului  pot fi definite variabile interne de lucru.

-           Nu se pot defini în interior şi alte subprograme

Dacă subprogramul trebuie să returneze o valoare calculată în cadrul lui atunci se va utiliza instrucţiunea return cu sintaxa:

return expresie;                      

şi care calculează valoarea expresiei şi o returnează modulului care a apelat funcţia.

Dacă această instrucţiune lipseşte sau dacă tipul rezultatului expresiei nu coincide cu tipul funcţiei se va produce un mesaj de eroare din partea compilatorului sub formă de WARNING.

Instrucţiunea return se poate amplasa oriunde în cadrul blocului, acolo unde logica funcţionarii decide reîntoarcerea în modulul care apelează funcţia.

 

Ex: Să se scrie o funcţie care verifică dacă un număr e prim sau nu.

unsigned prim(int x)

{ int i,s; s=0; for(i=2;i<=x/2;i++)     if((x%i)==0) s=1; if (x==1) s=1; return s; }

 

Lista de probleme:

SUBPROGRAME

E_Info_intensiv_subIII

Secvente:

1 exercitii subprograme

1 probleme subprograme

2 exercitii subprograme

3 exercitii subprograme

Older Posts »

Categorii

Follow

Get every new post delivered to your Inbox.