Informatica - Pascal, C++, Pseudocod

Discutii despre tot ce nu se incadreaza in celelalte categorii.

Moderators: Moderatori ajutatori, Moderatori

AnDrEi_4_StEaUa
Membru, skill +3
Membru, skill +3
Posts: 1364
Joined: 21 Nov 2007, 22:02
Detinator Steam: Da
CS Status: Intru mai rar...
Detinator server CS: PGL.eXtreamCS.com
Has thanked: 5 times
Been thanked: 7 times
Contact:

27 Jan 2009, 19:47

Asta e primul meu an in care invat C++ la scoala,desigur sunt clasa a VIII-a
RoyalServer
User avatar
aNNakin
Fost administrator
Fost administrator
Posts: 10464
Joined: 17 Dec 2007, 21:42
Detinator Steam: Da
CS Status: a iubi - necesar si suficient
Detinator server CS: romania.cs16.ro
SteamID: anakin_cstrike16
Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator
Location: di.fm
Has thanked: 230 times
Been thanked: 787 times
Contact:

27 Jan 2009, 19:59

Eu m-am referit sa pui niste probleme sa le rezolvam. Baga una medie, apoi pun eu.
User avatar
TAVY
Fost moderator
Fost moderator
Posts: 5889
Joined: 08 Sep 2008, 05:18
Detinator Steam: Da
CS Status: Dusmaniti-ma toti
Detinator server CS: Nu
SteamID: hnz21
Reputatie: Fost Administrator
Location: Bangkok/Thailanda
Has thanked: 238 times
Been thanked: 316 times
Contact:

27 Jan 2009, 20:04

Pentru anakin :->
Se citesc 2 numere a, b intregi sa se calculeze :
1. media aritmetica
2. media geometrica

sau
Se citesc a, b intregi sa se afiseze cel mai mic :P

PS: mai usor de atat nu se poate :* probleme de nivel slow ;)) am sa revin cu ceva mai avansat :* :->

EDIT: pentru cei avansati
f:R->R si x citit de la tastatura.SA se afiseze f in punctul x :

Code: Select all

f= x2 - 1 daca x <= -1 
   3x        daca x > -1 


x2 = x la a doua ;)

PS: Problemele sunt luate din caietul de clasa a-IX-a
lotto_parazitu - ID public si NU sunt intermediar
am iesit la pensie
User avatar
Ciprian
Fost administrator
Fost administrator
Posts: 5172
Joined: 10 May 2008, 21:29
Detinator Steam: Da
CS Status: ^^
SteamID: crazycipry
Reputatie: Fost administrator
Fost Scripter eXtreamCS
Fost Supervizor CS.eXtreamCS.com
Fost Unbanner ZM.eXtreamCS.com
Fost Contribuitor
Nume anterior: crazy.cipry
Location: Baia Mare
Has thanked: 177 times
Been thanked: 405 times

27 Jan 2009, 20:53

Calcularea Celui Mai Mare Divizor Comun (c.m.m.d.c)

Pseudocod:

Code: Select all

natural x,y;
inceput
citeste x,y;
cat timp x*y<>0 executa
                             daca x>y atunci
                                              x<-x mod y;
                                           altfel
                                              y<-y mod x;
                             sfarsit_daca;
sfarsit_cat_timp;
scrie x+y;
sfarsit.
Pascal: (nu sunt sigur, daca nu e corect, corectati-ma!)

Code: Select all

var x,y:word;
begin
write('x='); readln(x);
write('y='); readln(y);
while x*y<>0 do
     begin
     if x>y then
                 x:=x mod y;
              else
                 y:=y mod x;
     end;
write('x+y=',x+y);
end.
Suma primelor n numere naturale

Pseudocod:

Code: Select all

natural n,s,i;
inceput
citeste n;
i<-1;
s<-0;
cat timp i<=n executa
                      s<-s+i;
                      i<-i+1;
sfarsit_cat_timp;
scrie s;
sfarsit.
User avatar
TAVY
Fost moderator
Fost moderator
Posts: 5889
Joined: 08 Sep 2008, 05:18
Detinator Steam: Da
CS Status: Dusmaniti-ma toti
Detinator server CS: Nu
SteamID: hnz21
Reputatie: Fost Administrator
Location: Bangkok/Thailanda
Has thanked: 238 times
Been thanked: 316 times
Contact:

27 Jan 2009, 21:10

Code: Select all

var x,y:word;

real :-s cred eu in rest e OK
lotto_parazitu - ID public si NU sunt intermediar
am iesit la pensie
User avatar
Ciprian
Fost administrator
Fost administrator
Posts: 5172
Joined: 10 May 2008, 21:29
Detinator Steam: Da
CS Status: ^^
SteamID: crazycipry
Reputatie: Fost administrator
Fost Scripter eXtreamCS
Fost Supervizor CS.eXtreamCS.com
Fost Unbanner ZM.eXtreamCS.com
Fost Contribuitor
Nume anterior: crazy.cipry
Location: Baia Mare
Has thanked: 177 times
Been thanked: 405 times

27 Jan 2009, 21:17

TAVy wrote:

Code: Select all

var x,y:word;

real :-s cred eu in rest e OK
Cu cine faci matematica, cu femeia de servici? ( :)) glumeam :)) )

Eu am invatat ca [,] c.m.m.d.c se poate calcula doar pentru numere naturale. Ce ai invatat tu, asta e partea a 2-a... ;))
User avatar
TAVY
Fost moderator
Fost moderator
Posts: 5889
Joined: 08 Sep 2008, 05:18
Detinator Steam: Da
CS Status: Dusmaniti-ma toti
Detinator server CS: Nu
SteamID: hnz21
Reputatie: Fost Administrator
Location: Bangkok/Thailanda
Has thanked: 238 times
Been thanked: 316 times
Contact:

27 Jan 2009, 21:25

@ crazy.cipry asa o fi + eu nu am mai calculat c.m.m.d.c din a 9 mai uita si omu :)) desi nu trebuia
lotto_parazitu - ID public si NU sunt intermediar
am iesit la pensie
User avatar
aNNakin
Fost administrator
Fost administrator
Posts: 10464
Joined: 17 Dec 2007, 21:42
Detinator Steam: Da
CS Status: a iubi - necesar si suficient
Detinator server CS: romania.cs16.ro
SteamID: anakin_cstrike16
Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator
Location: di.fm
Has thanked: 230 times
Been thanked: 787 times
Contact:

27 Jan 2009, 21:45

@ TAVy
1.

Code: Select all

#include <iostream.h> //functii printre care si cin, cout, endl(linie noua)
#include <math.h> //contine functii matematica

int main()
{
    double a, b, ma, mg; //numere de tip REAL
    cout<<"a = "; cin>>a; //citim numerele
    cout<<"b = "; cin>>b;

    ma = (a+b)/2;
    mg = sqrt(a*b); //sqrt - radical
    cout<<"Media aritmetica = "<<ma<<endl; //afisam
    cout<<"Media geometrica = "<<mg;
}
2.

Code: Select all

#include <iostream.h>

int main()
{
    int a, b;
    cout<<"a = "; cin>>a;
    cout<<"b = "; cin>>b;

    if(a == b)
        cout<<"Numerele sunt egale";
    else
        cout<<"Numarul mai mic este: "<<(a < b ? a : b);
}
3. Cea pentru avansati, cu functiile:

Code: Select all

#include <iostream.h>

int main()
{
    int x, r;
    cout<<"x = "; cin>>x;

    r = ( (x > -1) ? 3*x : ( x*x - 1 ) );
    cout<<"Proiectia lui "<<x<<" prin f este: "<<r;
}
Unde este ceva ? ceva : ceva - este operator conditional, functioneaza ca si un if - else; Prima este ca si if, a doua ca si else.
------------------------------------

C.M.M.D.C a n numere
- puteti pune cate numere vreti: prima data tastati numarul de numere ce urmeaza sa la introduceti
- e facuta cu vectori/tablouri pentru ca am rezolvat-o la excelenta

Code: Select all

#include <iostream.h>

int main()
{
    int n, i, j = 0, r, a[ 100 ];
    cout<<"Cate numere veti introduce: "; cin>>n;

    for(i = 0; i < n; i++)
        cin>>a[ i ];
    for(j = 0; j < n-1; j++)
    {
        while(a[ j ] != a[ j+1 ])
        {
            if(a[ j ] > a[ j+1 ])
                a[ j ] -= a[ j+1 ];
            else
                a[ j+1 ] -= a[ j ];
        }
        a[ j+1 ] = a[ j ];
    }

    cout<<"c.m.m.d a celor "<<n<<" numere este: "<<a[ n-1 ];
}
C.M.M.M.C - a*b / c.m.m.d.c
User avatar
GYUKY
Fost administrator
Fost administrator
Posts: 9280
Joined: 07 Apr 2008, 10:19
Detinator Steam: Da
CS Status: INACTIV !
Reputatie: Fost administrator
Membru Club eXtreamCS
Location: Germania
Has thanked: 193 times
Been thanked: 1156 times

27 Jan 2009, 21:50

In C++ cerinta :
Se da un vector cu n componente intregi . Sa se contruiasca un nou vector cu componente divizibile cu 5 . :) .
User avatar
aNNakin
Fost administrator
Fost administrator
Posts: 10464
Joined: 17 Dec 2007, 21:42
Detinator Steam: Da
CS Status: a iubi - necesar si suficient
Detinator server CS: romania.cs16.ro
SteamID: anakin_cstrike16
Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator
Location: di.fm
Has thanked: 230 times
Been thanked: 787 times
Contact:

27 Jan 2009, 21:53

Problema,:
* sa se afiseze al n-lea element din sirul lui Fibonacci, n citit de tastatura
Sirul lui Fibonacci:

Code: Select all

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ..
Fiecare element este alcatuit din suma celor 2 dinaintea lui.
User avatar
TAVY
Fost moderator
Fost moderator
Posts: 5889
Joined: 08 Sep 2008, 05:18
Detinator Steam: Da
CS Status: Dusmaniti-ma toti
Detinator server CS: Nu
SteamID: hnz21
Reputatie: Fost Administrator
Location: Bangkok/Thailanda
Has thanked: 238 times
Been thanked: 316 times
Contact:

27 Jan 2009, 22:05

Code: Select all

program SirulluiFibonacci;
var a, b, n : integer ;
begin 
write ('a='); read (a);
write ('b='); read (b);
if a + b then n := a +b 
           else write "nederminat" 
write ('a+b=' , a+b);
end.
Cei care se pricep la limbajul pascal Va rog sa ma corectaTI :D
lotto_parazitu - ID public si NU sunt intermediar
am iesit la pensie
User avatar
aNNakin
Fost administrator
Fost administrator
Posts: 10464
Joined: 17 Dec 2007, 21:42
Detinator Steam: Da
CS Status: a iubi - necesar si suficient
Detinator server CS: romania.cs16.ro
SteamID: anakin_cstrike16
Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator
Location: di.fm
Has thanked: 230 times
Been thanked: 787 times
Contact:

27 Jan 2009, 22:05

Fibonacci - al n-lea element din sir

1. Metoda 1 - fara vectori

Code: Select all

#include <iostream.h>

int main()
{
    int a, b, c=0, n;
    cout<<"n = "; cin>>n;
    a=b=1;

    if(n == 1 || n == 2)
        cout<<1;
    else
    {
        for(int i = 3; i <= n; i++)
        {
            c = a+b;
            a = b;
            b = c;
        }
        cout<<"al "<<n<<"-lea element este: "<<c;
    }
}
2. Metoda 2 - cu vectori

Code: Select all

#include <iostream.h>

int main()
{
    int n, i, a[100] = {0, 1};
    cout<<"n = "; cin>>n;

    for(i = 2; i <= n; i++)
        a[ i ] = a[ i-1 ] + a[ i-2 ];
    for(i = 2; i <= n; i++)
        cout<<a[ i ]<<endl;
}
aceasta metoda afiseaza tot sirul pana la n
Post Reply

Return to “Discutii generale”

  • Information