Recibo (ISCTE, ETI, Introdução à Programação, 1998/1999, 1ª frequência):
Nome: _______________________________________________
Nº ______________________
Ass. Docente: ________________________________________

Identificação:

Nome: _______________________________________________
Nº ________________
Turma: ____________


 
 


ISCTE - ETI

Introdução à Programação

1ª Frequência

1998/1999,  1º semestre


 



















Notas:

Questão 1
#include<iostream>
using namespace std;
 
bool f1(int a, int b)
{
    return  a <= b;
}
 
int f2(int m[], int n, int& a)
{
    ...
}
 
int main()
{
    const int ci = 10;
    int i, i1 = 1, i2;
    float f;
    char c;
    bool b;
    int m1[10];
    ...
}
 
int f3(int n, int& a)
{
    ...
}
a)  Quais das seguintes atribuições são válidas?
__  f = 3456;

__  ci = 4; 

__  m1 = 0;

__  i = i1;
 [cotação: 2]

b)  O que aparece no ecrã depois de executar o código que se segue?

i = 3;
if(i > 0)
    if(i > 10)
        cout << "A";
    else
        cout << "B";
else
    cout << "C";
__  A

__  B

__  B C

 [cotação: 1,5]

c)  Quais das seguintes invocações da função f1() são válidas?

__ bool x = f1(4, 10);

__ bool x = f1(m1[0], 10);

__ bool x = f1(m1, i2);
 [cotação: 1,5]

d)  O que aparece no ecrã depois de executar o código que se segue?

void f4(int a, int& b)
{
    a = 1;
    b = 0;
}
int main()
{
    int x = 10, y = 20;
    f4(x, y);
    cout << x << " " << y << endl;
}
__  10 0

__  1 20
[cotação: 1]

e)  Se a função f2() for chamada na função main() do seguinte modo: int x = f2(m1, i1, i2);, quais das seguintes instruções podem constar no corpo da função f2()?

__  n = a;

__  i1 = i2;
[cotação: 1]

Questão 2

2.a)  Considere uma função float média(float m[], int n) que devolve a média dos valores guardados na matriz m de dimensão n.  Dada a pré-condição PC: n > 0, desenvolva a CO (condição objectivo), a CI (condição invariante), a G (guarda), a inicialização, o progresso e a acção do ciclo necessário na função, admitindo que esta começa com a definição duma variável local (float res;) e termina devolvendo o seu valor (return res;).  Note que a CO do ciclo pode ser diferente da CO da função.

 [cotação: 3]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

2.b)  Crie o código C++ para a função acima baseado no desenvolvimento efectuado na alínea anterior.

[cotação: 4]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

2.c)  Crie um pequeno programa para testar a função media().

[cotação: 3]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Questão 3

Diga quais as vantagens e as desvantagens da utilização de variáveis globais.

[cotação: 3]