» Utilizator
Salut, vizitatorule!

SkullBox este o comunitate formata din programatori si administratori de sisteme sau retele care iti sta la dispozitie cand ai o problema legata de calculatoare. Daca esti un utilizator existent, autentifica-te.

Daca nu te-ai inregistrat inca pe forum, alatura-te noua astfel marind comunitatea si ajutandu-i pe cei care au nevoie de informatii.

Daca te-ai inregistrat dar inca nu ai primit codul de activare, il poti cere aici.




Autentifica-te cu numele de utilizator si parola pentru a putea posta pe forum sau pentru a accesa ariile disponibile doar utilizatorilor inregistrati.
» Promovam
» Parteneri » Statistici
  • 59641 de mesaje.
  • 7137 de topicuri.
  • 995 de utilizatori.
  •  
  • biggybillly e ultimul utilizator inregistrat.
[Detalii]

 
Pagini: [1]
Print
[BAC 2008][Pascal]Varianta nr. 96 [795 afisari]
Archangel
*


Mesaje: 1391
OfflineOffline

WWW

Logged

Archangel on deviantART | Archangel on Flickr |
"Daca voi nu ma vreti, eu va vreu!"
03-04-2008, 11:35 Twitt ::
DarkByte
*


Mesaje: 3333
OfflineOffline

WWW

1. b)

2.

7 si 16 care returneaza 0
10 si 11 care returneaza 1

3. a)

Code:
function verif (a, b, c : word) : byte;
begin
  if (a < b + c) and (a > abs (b - c)) and
     (b < a + c) and (b > abs (a - c)) and
     (c < a + b) and (c > abs (a - b))
    then verif := 1
    else verif := 0;  
end;
3. b)

Code:
var a1, b1, c1, a2, b2, c2 : word;
begin
  WriteLn('Dati 6 valori nenule :');
  ReadLn(a1, b1, c1, a2, b2, c2);
 
  if (verif(a1, b1, c1) = 1) and (verif(a2, b2, c2) = 1)
    then
      if (verif (abs(a1-a2), abs(b1-b2), abs(c1-c2)) = 1) or
         (verif (abs(a1-b2), abs(b1-c2), abs(c1-a2)) = 1)
         (verif (abs(a1-c2), abs(b1-a2), abs(c1-b2)) = 1)
        then WriteLn('Necongruente')
        else WriteLn('Congruente')
    else Writeln('NU');
  ReadLn;  
end.
4.a)

Parcurg lista de intervale, apoi caut in lista de numere cele care incadreaza in interval, incrementand o valoare temporara cu 1 la fiecare numar gasit. Daca numarul din lista e deja mai mare decat limita maxima a intervalului ies din bucla de cautare, continuand la fel pentru urmatorul interval.

La parcurgerea fiecarui interval, verific cate numere se incadreaza in interval, valoarea calculata astfel comparand-o cu valoarea maxima deja gasita. Daca valoarea curenta este mai mare decat fosta valoare maxima, atunci valoarea maxima va lua noua valoare si setez noile limite de interval.

4.b)
Code:
var f : Text;
    n, m, i, j, l1, l2, p, ptemp : Integer;
    lista, limite : array[1..1000] of integer;
begin
  Assign(f, 'bac.dat');
  Reset(f);
  Readln(f, n, m);
 
  for i := 1 to n do
    read(f, lista[i]);
   
  readln(f);  
 
  for i := 1 to m do
    readln(f, limite[i]);
 
  Close(f);
   
  p := 0;  
   
  for i := 1 to m - 1 do
    begin
      pTemp := 0;
     
      for j := 1 to n do
        if (lista[j] >= limite[i])
          then
            if (lista[j] <= limite[i + 1])
              then inc(pTemp)
              else break;
     
      if pTemp > p
        then
          begin
            p := pTemp;
            l1 := limite[i];
            l2 := limite[i + 1];
          end;
    end;  

  Writeln(l1, ' ', l2);
  ReadLn;    
end.
Logged

Document my code? Why do you think it's called "code"?

To think is to differ - Clarence Darrow
09-05-2008, 17:29 Twitt ::
Reclama
VIP

Hosting

Mesaje: 25.90
OnlineOnline

WWW
 

   Pe ABCDomenii: 250MB spatiu + 20GB trafic + 5 subdomenii = 0.95 €
 
 

The problem with troubleshooting is that trouble shoots back.
Azi 
Pages: [1]
Print
SkullBox Forum  |  Development  |  Programe facute de userii forumului  |  Probleme Rezolvate  |  Topic: [BAC 2008][Pascal]Varianta nr. 96
Jump to: