Vous êtes sur la page 1sur 10

LISTA DE EXERCÍCIOS NÚMERO 2 - VERSÃO 1.

1
INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO
CURSOS DE ENGENHARIA - 2004
PROF MARCELO NICOLETTI FRANCHIN
Esta lista foi preparada e gentilmente cedida pela
Profa. Andrea Carla Gonçalves Vianna
SITE: http://www.dee.feb.unesp.br/~marcelo/icc/icclistas.html
EMAIL: franchin@feb.unesp.br
Qualquer dúvida mande email com assunto:Duvida Lista 2 ICC Pascal

1 Identifique o tipo dos dados:


(a) numérico inteiro;
(b) numérico real;
(c) lógico;
(d) literal;

( ) true ( ) 45.0 ( ) 2345 ( ) 0.0


( ) 'aula' ( ) 'c*d' ( ) -456 ( ) '0 1 2 3'
( ) -0.204 ( ) 30.12 ( ) '56' ( ) -15.0962
( ) ' ' ( ) -334.89 ( ) -12E3 ( ) false
( ) 0 ( ) 708 ( ) 'false' ( ) -22
( ) 32 ( ) -1.3 ( ) 'BOLA' ( ) '&'
( ) 'TRUE' ( ) -4.5E-301 ( ) 0.56E2 ( ) 'a'

2 Assinale com um X os identificadores de variáveis válidos:

( ) valor ( ) A:B ( ) 5A ( ) x2
( ) B*D ( ) M{A} ( ) 3x4 ( ) NOTA[1]
( ) OI! ( ) XYZ ( ) X-Y ( ) nota*aluno
( ) 'nota' ( ) E(13) ( ) ai! ( ) SALARIO_BRUTO
( ) GUARDA-CHUVA ( ) KM/H ( ) A312 ( ) 3/1
( ) #12 ( ) _Y ( ) E&E: ( )
( ) a14b56 ( ) ___a ( ) 'aula' ( ) aula

3 Faça a declaração de 3 variáveis do tipo numérica inteira, 2 variáveis do


tipo numérica real, 2 variáveis de um único caracter e 2 variáveis do tipo
cadeia de caracteres com 15 caracteres.

4 Supondo que as variáveis NOME, PROF, ID e SALARIO sejam utilizadas para ar-
mazenar nome, código da profissão, idade e salário de uma pessoa, escreva o
conjunto de declarações necessário para criar estas variáveis e associar às
mesmas respectivos tipos pré-definidos.

5 Indique qual o resultado das expressões aritméticas abaixo, sendo:

x = 6.0 y = 2 z = 4.0 a = 8 b = 7.5 c = 7.7


d = 12 p = 4 q = 3 r = 10 s = 2.5

a) x + y - z * a
b) d Div y
c) d Mod y
d) y Div d
e) y Mod d
f) ((z/a)+b*a)-d
g) 100*(q Div p) + r
h) p*(r Mod q) - q/2
i) SqRt(r-Sqr(q))+Round(c)
j) Abs(a-b*y-d)

1
6 Sendo P, Q, R variáveis inteiras e S, variável real, cujos valores, num de-
terminado momento da execução do programa, são respectivamente, 2, 3, 12 e
4.5, quais são os valores de cada uma das seguintes expressões aritméticas?

a) 100 * (Q Div P) + R
b) P * (R Mod 5) - Q / 2
c) SqRt(R - Sqr(P)) + Round(S)
d) S Mod (P + 1) - Q * R
e) P + Round(2.9 + Trunc(0.3 + S) * 2)
f) R Div (Trunc(S-P+1.3)) + Trunc(SqRt(R))
g) SqRt(Exp(P*Ln(Q)))+P*R

7 Com as declarações

Var
a, b: Real;
nome, profissao: String;

complete o quadro, a seguir, com o valor das relações indicadas, tendo em


vista os valores atribuídos às variáveis.

a b nome profissao a+1>=SqRt(b nome<>'Léo' profis-


) sao<>'juiz'
3.0 16.0 'Miriam' 'médico'
5.0 64.0 'Pedro' 'juiz'
2.5 9.0 'Léo' 'professor'

8 Considere as variáveis declaradas no exercício anterior com os valores ali


indicados e a variável lógica TESTE com o valor FALSE, avalie as expressões
a seguir, para cada uma das três combinações de valores apresentadas:

a) (a+1 >= SqRt(b)) Or (nome <> 'Léo')


b) (a+1 <= SqRt(b)) And (profissao = 'médico')
c) (nome <> 'Léo') Or (profissao = 'juiz') And (a+1 >= SqRt(b))
d) (profissao = 'médico') Or teste
e) Not teste And ((a+1 <= SqRt(b)) Or Not (profissao = 'médico'))
f) Not ((a+1 >= SqRt(b)) And teste)
g) Not teste And (nome<>'Pedro') And ((profissao <> 'professor') Or Not
(a*b*c>SqRt(a)*SqRt(b/2))

9 Considere A, B, C variáveis reais contendo os valores 1.0, 4.5, 8.0, respec-


tivamente; NOME e COR, variáveis literais, contendo as seqüência de caracte-
res 'Tânia' e 'branco', respectivamente; e TESTE, variável lógica, contendo
o valor TRUE, determine o valor das expressões lógicas:

a) (A = 1) And TESTE
b) (NOME = 'Pedro') Or (COR <> 'branco')
c) Not TESTE Or (B*2-C = 0)
d) (C < 10) Or TESTE And (COR = 'preto')
e) TESTE And Not TESTE
f) Not((Sqrt(C*C/(B+A))>A) And (Sqrt(C*C/(B+A))<Int(B))) And TESTE

10 Determine os resultados obtidos na avaliação das expressões lógicas seguin-


tes, sabendo que A, B, C contém, respectivamente, 2, 7, 3.5, e que existe
uma variável lógica L cujo valor é FALSE:

a) (B = A*C) And (L Or True)


b) (B > A) Or (B = Exp(A*Ln(A)))
c) L And (B Div A >= C) Or Not(A <= C)
d) Not L Or True And (SqRt(A+B) >= C)
e) (B/A = C) Or (B/A <> C)
f) L Or (Exp(A*Ln(B)) <= C*10+A*B)

2
11 Com as declarações

Var num: Integer;


soma, x: Real;
simbolo: Char;
nome, cor, dia: String;
cod, teste, tudo: Boolean;

assinale os comandos de atribuição inválidos:

( ) simbolo := 5;
( ) soma := num + 2 * x;
( ) teste := cod Or (Sqr(x) <> soma);
( ) tudo := soma;
( ) cor := 'preto' - Sqr(x);
( ) x := x + 1;
( ) num := '*ABC*';
( ) dia := 'segunda';
( ) soma + 2 := Sqr(x) - SqRt(num);
( ) x := nome >= cod;
( ) num := x;
( ) num := Trunc(x);
( ) tudo := x >= 2;

12 Encontre os erros dos seguintes comandos de atribuição:

Var a: Boolean;
b, c: Real;
d: Integer;
Begin
a := b = c;
d := b;
c+1 := b+c;
c And b := 3.5;
b := 6/3 <= SqRt(9)*2
End.

13 Com as mesmas declarações do exercício anterior, quais serão os valores ar-


mazenados em SOMA, NOME e TUDO, supondo que NUM, X, COR, DIA, TESTE e COD
valem, respectivamente, 5, 2.5, 'azul', 'terça', False e True ?

a) NOME := DIA;
b) SOMA := Sqr(NUM)/X + Round(X+1);
c) TUDO := Not TESTE Or COD And (SOMA < X);

14 Foram digitadas três linhas, onde cada uma delas contém o nome e a nota de
um aluno, como segue:

Maria 9.1
Benedito 3.7
Almir 7.4

Escreva o(s) comando(s) de entrada que leia(m) estas linhas e armazene(m) os


valores na memória principal.

15 Supondo, N e P variáveis do tipo alfanumérico, X e A variáveis do tipo numé-


rico e uma linha digitada contendo os valores...

TESTE 25

Interprete a seqüência de comandos a seguir, e indique o que será impres-


so...

3
{ ... }
X := 0;
ReadLn (N,A);
X := X + A;
P := N;
WriteLn (P,' ',X);
X := X + A;
WriteLn (X);
A := X;
WriteLn (N,' ',X,' ',A);
{ ... }

16 Determine os resultados que serão impressos depois de executado o programa a


seguir:

Var d1, d2, d3, d4, numero: Integer;


Begin
numero := 1352;
d1 := (numero Div 1000) Mod 10;
d2 := (numero Div 100) Mod 10;
d3 := (numero Div 10) Mod 10;
d4 := numero Mod 10;
WriteLn (d4,' ',d3,' ',d2,' ',d1);
End.

17 Utilizando o seguinte trecho de programa:

Var x, y: Integer;
Z: Real;
Begin
ReadLn (x);
WriteLn (x,' elevado ao cubo = ',x*x*x);
ReadLn (y);
WriteLn (x+y);
z := x/y;
WriteLn (z);
z := z+1;
x := (x+y) Mod 2;
WriteLn (x);
{ ... }
End.

Explique o que está acontecendo em cada linha e qual é o resultado de cada


ação executada.

18 Após a execução do seguinte trecho de programa

{ ... }
If A2 <= B3 Then TESTE := True
Else TESTE := False
{ ... }

na variável TESTE estará armazenado o valor false se, originalmente:

a) A2 < B3
b) A2 <= B3
c) A2 >= B3
d) A2 > B3
e) A2 = B3

19 Após a execução do seguinte trecho de programa

{ ... }
D := 0;

4
If (A <= B) And (C >= B) Then D := 5;
{ ... }

na variável D estará armazenado o valor 5 se:

a) A < B < C
b) A > B > C
c) A < B > C
d) B < C < A
e) nenhuma das respostas anteriores

20 {...}
If A Then C1
Else
Begin
If B Then
If C Then C2
Else
Begin
C3;
C4;
End;
C5;
End;
C6;
{...}

Dado o trecho de programa anterior, responda:

a) Se A = True, B = True, C = False, quais comandos serão executados?


b) Se A = False, B = True, C = False, quais comandos serão executados?
c) Se A = False, B = True, C = True, quais comandos serão executados?
d) Quais são os valores de A, B, C para que somente o comando C5 seja execu-
tado?
e) Quais são os valores de A, B, C para que somente o comando C6 seja execu-
tado?

21 Qual o valor da variável v após a execução deste programa?

Var a, b, c: Boolean;
x, y: Real;
v: Integer;
Begin
a := False;
b := True;
c := False;
x := 1.5;
y := 3.2;
x := x + 1;
If c Or ((x+y > 5) Or (Not a And b)) Then v := 0
Else v := 1;
End.

22 O que está errado no programa a seguir ?

Var n, par: Real;


Begin
ReadLn (n);
If Odd(n) Then par := False
Else par := True;
End.

5
23 Determine o que será impresso pelo programa abaixo com os seguintes dados:

a) num = 13;
b) num = 0;
c) num = -35;

Var texto: String [15];


num: Integer;
Begin
ReadLn (num); { um dos valores acima }
If num > 0 Then
texto := 'Numero positivo'
Else
If num < 0 Then
texto := 'Numero negativo'
Else
texto := 'Zero'
WriteLn (texto);
End.

24 Se A = 127, B = 10, C = 5, D = False e E = True, qual é o valor produzido


por cada uma das sentenças abaixo ?

a) Not D
b) D And E
c) (A > B) Or (B < C)
d) Not (A < B)
e) (D And E) Or (A = B)
f) (D Or E) And (A < B)
g) (A + B < C) And D Or E And Not D
h) (A + B * C / B = 3) And Not (D Or E)

25 Os comandos

A := B = C;

If B = C Then A := True
Else A := False;

são equivalentes ? Explique por quê.

26 Faça um programa que receba dois números inteiros, calcule e imprima a soma
desses números.

27 Faça um programa que receba dois números reais, calcule e imprima a subtra-
ção do primeiro número pelo segundo.

28 Faça um programa que receba dois números inteiros, calcule e imprima a divi-
são do primeiro pelo segundo.

29 Faça um programa que receba dois números inteiros, calcule e imprima:

a) soma dos dois números;


b) subtração do primeiro pelo segundo;
c) subtração do segundo pelo primeiro;
d) multiplicação dos dois números;
e) divisão do primeiro pelo segundo;
f) divisão do segundo pelo primeiro;

6
g) quociente inteiro da divisão do primeiro pelo segundo;
h) quociente inteiro da divisão do segundo pelo primeiro;
i) resto da divisão do primeiro pelo segundo;
j) resto da divisão do segundo pelo primeiro.

30 Faça um programa que receba três notas de um aluno, calcule e imprima a mé-
dia aritmética entre essas notas.

31 Faça um programa que receba duas notas de um aluno e seus respectivos pesos,
calcule e imprima a média ponderada dessas notas.

32 Faça um programa que receba um número real, calcule e imprima:

a) a parte inteira do número;


b) a parte fracionária do número;
c) arredondamento do número.

33 Faça um programa que receba a medida de um ângulo em graus, calcule e impri-


ma o seno, o cosseno e a tangente desse ângulo.

34 Faça um programa que receba um número inteiro, calcule e imprima a tabuada


desse número.

35 Escreva um programa que receba o valor de um depósito e o valor da taxa de


juros. Calcule e imprima o valor do rendimento e o valor total depois do
rendimento.

36 Escreva um programa que calcule o volume de uma esfera de raio R, onde R é


fornecido pelo usuário.

37 Faça um programa que, tendo como dados de entrada dois pontos quaisquer do
plano, P(x1,y1) e Q(x2,y2), imprima a distância entre eles. A fórmula da dis-
tância é (x2 − x1 )2 + (y2 − y1 )2 .
38 Escreva um programa que calcule a quantidade de latas de tintas necessárias
e o custo para pintar tanques cilíndricos de combustível, em que são forne-
cidos a altura e o raio desse cilindro. Sabe-se que a lata de tinta custa
R$50,00; cada lata contém 5 litros e cada litro de tinta pinta 3 m2.

39 Faça um programa que receba dois números, calcule e imprima um elevado ao


outro.

40 Faça um programa que receba um número inteiro, calcule e imprima a raiz qua-
drada desse número e, esse número elevado ao quadrado.

41 Escreva um programa que receba o valor do salário de um funcionário e o va-


lor do salário mínimo. Calcule e imprima quantos salários mínimos ganha esse
funcionário.

42 Faça um programa que receba uma determinada hora (hora e minuto separados
por ponto), calcule e imprima essa hora em minutos.

43 Faça um programa que calcule e imprima:

a) área de um triângulo;
b) área de um quadrado;
c) área de um círculo;
d) área de um trapézio;
e) área de um retângulo;
f) área de um losango.

44 Faça um programa que receba o salário de um funcionário, calcule e imprima o


valor do imposto de renda a ser pago, sabendo que o imposto equivale a 5% do
salário.

7
45 Faça um programa que receba o salário de um funcionário, calcule e imprima o
novo salário sabendo-se que este sofreu um aumento de 22%.

46 Sabe-se que o quilowatt de energia custa um quinto do salário mínimo. Faça


um programa que receba o valor do salário mínimo e a quantidade de quilo-
watts gasta por uma residência. Calcule e imprima:

a) o valor, em reais, de cada quilowatt;


b) o valor, em reais, a ser pago por essa residência;
c) o novo valor a ser pago por essa residência, a partir de um desconto de
15%.

47 Faça um programa que receba o peso de uma pessoa, um valor inteiro, calcule e
imprima:

a) o peso dessa pessoa em gramas;


b) se essa pessoa engordar 5%, qual será seu novo peso em gramas.

48 Faça um programa que leia três valores inteiros, determine e imprima o menor
deles.

49 Faça um programa que, dado um número inteiro, verifique se este número é


par.

50 Dados 3 números (x,y,z), faça um programa em Pascal que imprima-os em ordem


decrescente.

51 Dados 3 valores (x,y,z), verifique se eles podem ser comprimentos dos lados
de um triângulo, e caso afirmativo, verificar se o triângulo é eqüilátero,
isósceles ou escaleno. Se não puderem formar um triângulo, escreva uma men-
sagem.

Propriedade: O comprimento de cada lado de um triângulo é menor do que a so-


ma dos comprimentos dos outros dois lados.

Definição 1: Chama-se triângulo eqüilátero ao triângulo que tem os compri-


mentos dos três lados iguais.

Definição 2: Chama-se triângulo isósceles ao triângulo que tem os comprimen-


tos de dois lados iguais.

Definição 3: Chama-se triângulo escaleno ao triângulo que tem os comprimen-


tos de seus três lados diferentes.

52 Tendo como dados de entrada a altura, o peso e o sexo de uma pessoa, faça um
programa que verifique se a pessoa está acima, abaixo ou no seu peso ideal.
Utilize as fórmulas abaixo para o cálculo do peso ideal:

• para homens: 72.7 * h - 58


• para mulheres: 62.1 * h - 44.7

53 Elabore um programa que, dada a idade de um nadador, classifique-o em uma


das seguintes categorias:

• infantil A: 5 - 7 anos;
• infantil B: 8 - 10 anos;
• juvenil A: 11 - 13 anos;
• juvenil B: 14 - 17 anos;
• sênior: maiores de 18 anos.

54 Escreva um programa que leia o código de um determinado produto e mostre a

8
sua classificação. Utilize a tabela abaixo como referência:

Código Classificação
1 Alimento não-perecível
2, 3 ou 4 Alimento perecível
5 ou 6 Vestuário
7 Higiene pessoal
8 até 15 Limpeza e utensílios domésticos
Qualquer outro código Inválido

55 A solução (x,y) para o sistema de equações lineares abaixo:

a * x + b * y = u

c * x + d * y = v
é dada por:
d b
x= *u − *v
a *d −b *c a *d −b *c
e
−c a
y= *u + *v
a *d −b *c a *d−b*c

Escreva um programa que leia os parâmetros a, b, c, d, u, v do sistema, cal-


cule e imprima a solução x, y do sistema.

56 Construa um programa que seja capaz de concluir qual dentre os animais se-
guintes foi escolhido, através de perguntas e respostas. Animais possíveis:
leão, cavalo, homem, macaco, morcego, baleia, avestruz, pingüim, pato, á-
guia, tartaruga, crocodilo e cobra.

Exemplo: É mamífero ? Sim.


É quadrúpede ? Sim.
É carnívoro ? Não.
É herbívoro ? Sim.
Então o animal escolhido foi o cavalo.

Utilize as seguintes classificações:

  carnívoro leão
 quadrúpede 
  herbívoro cavalo
 
mamíferos  onívoro homem
 bípede 
  frutífero macaco
 
 voadores morcego
 aquáticos baleia


  tropical avestruz
 não - voadoras 
  polar pingüim
 
aves nadadoras pato
 de rapina águia
 
 
 
 com casco tartaruga
 
répteis carnívoros crocodilo
 sem patas
  cobra






9
57 Escreva um programa que calcule o que deve ser pago por um produto, conside-
rando o preço normal de etiqueta e a escolha da condição de pagamento. Uti-
lize os códigos da tabela a seguir para ler qual condição de pagamento esco-
lhida e efetuar o cálculo adequado.

Código Condição de pagamento


1 À vista em dinheiro ou cheque, recebe 10% desconto
2 À vista no cartão de crédito, recebe 5% desconto
3 Em 2 vezes, preço normal de etiqueta sem juros
4 Em 3 vezes, preço normal de etiqueta mais juros de 10%

10

Vous aimerez peut-être aussi