Você está na página 1de 9

Nº_________________, Nome:______________________________________________________________________

Programação I
Aula Prática Nº 1

Coordenação de Engenharia Informática


Departamento de Engenharias e Tecnologias
Instituto Superior Politécnico de Tecnologias e Ciências

1. Identifique os erros de compilação que seriam detectados nos seguintes programas:


a) Programa 1
R:
#include <stdio.h>
Main()
{
printf(‘Hello World’);
}

b) Programa 2
R:
#include <stdio.h>
main
{
printf(Hello World);
}

c) Programa 3
R:
#include <stdio.h>
main()
{
print(“Hello World”)
}

d) Programa 4
R:
#include <stdio.h>
main()
{
printf(“Hello”)(“ World”);
}

2. Os comentários devem ser escritos


a) Antes de qualquer instrução do programa.
b) Depois de todas as instruções.
c) Antes do main.
d) Sempre que o programador ache necessário ou conveniente.
3. Um programa em C, que tenha comentários no seu código, é em relação a outro que
os não tenha
a) Mais rápido a executar.
joao.costa@isptec.co.ao ISPTEC 2021-22 Página 1 de 9
Nº_________________, Nome:______________________________________________________________________

b) Mais lento a executar.


c) Executado praticamente à mesma velocidade pois os comentários requerem uma
utilização ínfima do CPU.
d) Executado à mesma velocidade, pois os comentários são simplesmente ignorados
pelo compilador, não havendo qualquer reflexo deles em tempo de execução.
4. Indique se são verdadeiras ou falsas as seguintes afirmações: Os comentários
a) Só podem ocupar uma única linha.
b) Podem ocupar várias linhas.
c) Podem conter outros comentários dentro.
d) Começam por /* e terminam com */.
e) Não têm qualquer influência na velocidade de execução de um programa.
f) Têm que começar no início de uma linha.
g) Quando ocupam apenas uma linha, precisa começar por /*, mas não necessitam
de terminar com */.
h) Se ocupar apenas uma linha podemos usar //.
5. Escreva um programa que coloque no ecrã a seguinte frase:
Bem Vindos ao /mundo\ da programação em “C”
6. Escreva um programa que coloque no ecrã uma árvore com o seguinte formato:
*
***
*****
/|\
7. Escreva um programa que coloque no ecrã o seguinte output:

Total = 100%
IVA = 17%
IRS = 15%
--------------------
Liq. = 68%
8. Experimente a função puts(“Hello World”); (put string) para escrever a string
“Hello World” e indique qual é a diferença entre esta e a função printf. (Nota: esta
função também faz parte do stdio.h).
9. Indique quais das seguintes declarações estão correctas:
a) y int;
b) int ;
c) integer x;
d) inta , b;
e) float f, g, c;
f) char ch1=ch2=‘A’;
g) char ch1 = ‘A’, ch2 = ‘A’;
10. Uma variável inteira, quando é declarada, fica sempre inicializada com …
a) 0 (zero)
b) 1 (um)
c) Um valor aleatório
d) Um valor negativo
11. Indique, na seguinte lista, quais os identificadores correctos e incorrectos de
variáveis.
a) Valor
b) &xvar
c) dez%
d) a+b

joao.costa@isptec.co.ao ISPTEC 2021-22 Página 2 de 9


Nº_________________, Nome:______________________________________________________________________

e) _kabonga
f) MENOS
g) 10a
h) a10
i) main
j) F1
12. O nome de uma variável…
a) Deve indicar aquilo que ela armazena
b) Deve ser o Menor Possível
c) Deve ser o Maior Possível
d) Deve ser o mais explícito Possível
e) Deve ser todo Escrito em Maiúsculas
f) Pode, mas não deve, começar por underscore (_)
g) Pode conter mais do que 1 carácter
13. Associe os seguintes tipos aos correspondentes formatos de leitura e escrita.

int %e
float %ld
char %f
short int %d
long int %hd
signed long int %c

14. Indique quais das seguintes afirmações são verdadeira e quais são falsas.
a) O tipo float reserva espaço em memória para um real com precisão simples
enquanto o tipo double reserva espaço para uma variável com precisão dupla.
b) O tipo char pode ter os prefixos long e short.
c) O tipo char pode ter os prefixos signed e unsigned.
d) Uma variável declarada como unsigned pode comportar valores superiores a
uma outra que seja declarada como signed.
e) Uma variável do tipo char, pode armazenar caracteres individuais ou conjuntos
de caracteres também denominados por strings.
f) Uma variável do tipo char, pode armazenar vários caracteres desde que todos
eles sejam caracteres ASCII.
g) Uma variável do tipo char, pode armazenar vários caracteres desde que sejam
caracteres especiais.
h) O operador módulo (%) não pode ser utilizado em reais.
15. Identifique os erros de compilação que seriam detectados nos seguintes programas:
a) Programa 1

#include <stdio.h>
main()
{
int x, y, x;
}

b) Programa 2

#include <stdio.h>
main()
{
joao.costa@isptec.co.ao ISPTEC 2021-22 Página 3 de 9
Nº_________________, Nome:______________________________________________________________________

int x, y;
float int = 5.23;
printf(“%f”,int);
}

c) Programa 3

#include <stdio.h>
main()
{
int x=y=z=0;
printf(“%d %d %d”,x,y,z);
}

16. Embora os programas que se seguem não tenham erros de compilação, identifique as
causas do possível mau funcionamento dos programas.
a) Programa 1
#include <stdio.h>
main()
{
int n;
scanf(“Introduza um Nº %d”,&n);
printf(“O nº = %d\n”,n);
}
b) Programa 2
#include <stdio.h>
main()
{
int n;
printf(“Introduza um Nº”);
Scans(“%d\n”,&n);
printf(“O nº = %d\n”,n);
}
c) Programa 3
#include <stdio.h>
main()
{
int n;
printf(“Introduza um Nº”);
Scans(“%f”,&n);
printf(“O nº = %f\n”,n);
}

joao.costa@isptec.co.ao ISPTEC 2021-22 Página 4 de 9


Nº_________________, Nome:______________________________________________________________________

Exercícios adicionais

joao.costa@isptec.co.ao ISPTEC 2021-22 Página 5 de 9


Nº_________________, Nome:______________________________________________________________________

joao.costa@isptec.co.ao ISPTEC 2021-22 Página 6 de 9


Nº_________________, Nome:______________________________________________________________________

joao.costa@isptec.co.ao ISPTEC 2021-22 Página 7 de 9


Nº_________________, Nome:______________________________________________________________________

Faça esses no Dev-C++ (Deve envia-los comprimidos


em um ficheiro com a extensão .zip, o nome é
p2021-22-P1_NumeroMatricula.zip):
1. Faça um programa que lê o número de um funcionário, número de horas trabalhadas, valor da
hora trabalhada, número de filhos com idade menor que 14 anos e calcule o salário deste
funcionário. Para cada filho menor, ele tem um acréscimo de 5000,00 AKZ no salário.
2. O governo acaba de liberar 10.000.000 AKZ para construção de casas populares. Cada casa
custa o equivalente a 150 salários mínimos. Faca um programa que leia o valor do salário
mínimo e calcule a quantidade de casas possíveis de se construir.
3. Faça um programa que leia um valor em Kwanza (KZ) e calcule o menor número possível de
notas de 5000,00, 2000,00, 1000,00, 500,00, 200,00 e 100,00 kwanzas em que o valor lido
pode ser decomposto. Escrever o valor lido e a relação de notas necessárias. Suponha que o
sistema monetário não utiliza cêntimos. (Dica: comportamento similar a um multicaixa).
4. Dada as seguintes entradas: km inicial, km final, litros consumidos, preço do litro de
combustível. Faça um programa que imprima o seguinte Relatório: distancia percorrida, Valor
total gasto e Km por litro.
5. A turma C é composta de 60 alunos, e a turma D de 20 alunos. Faça um programa que leia o
percentual de alunos reprovados na turma C, o percentual de aprovados na turma D, calcule e
imprima:
a) O número de alunos reprovados na turma C.
b) O número de alunos reprovados na turma D.
6. Um motorista de táxi deseja calcular o rendimento de seu carro na praça. Sabendo-se que o
preço do combustível é de 75.20 AKZ, faça um programa para ler: a marcação do odômetro
(Km) no início do dia, a marcação (Km) no final do dia, a quantidade de litros de combustível
gasto e o valor total (AKZ) recebido dos passageiros. Calcular e escrever: a média do
consumo em km/l e o lucro (líquido) do dia.
7. Uma loja vende bicicletas com um acréscimo de 50% sobre o seu preço de custo. Ela paga a
cada vendedor 2 salários mínimos mensais. Faça um programa que leia o valor do salário
mínimo, o preço de custo de uma bicicleta, o número de bicicletas vendidas e a quantidade
de funcionários. Calcule e imprima o lucro (líquido) da loja.
8. A equipa Ferrari deseja calcular o número mínimo de litros que deverá colocar no tanque de
seu carro para que ele possa percorrer um determinado número de voltas até o primeiro
reabastecimento. Faça um programa que leia o comprimento da pista (em km), a quantidade
de voltas a serem percorridas no grande prémio, o número de reabastecimentos desejados, e
o consumo de combustível do carro (em km/l). Calcular e escrever o número mínimo de litros
necessários para percorrer até o primeiro reabastecimento.
9. Faça um programa que leia os preços de uma mercadoria em abril e maio. Tendo como base
a variação dos preços desta mercadoria, calcule a taxa de inflação.
10. Faça um programa que leia um valor inteiro positivo e menor que 1000, armazene numa
variável inteira e imprima a soma dos dígitos que formam o valor. Exemplo: 825 => soma=15.
11. O custo ao consumidor de um carro novo é a soma do custo de fábrica com a percentagem
do distribuidor e dos impostos (aplicados ao custo de fábrica). Sabe-se que a percentagem
do distribuidor é de 28% e os impostos de 45%, faça um programa que leia o custo de
fábrica de um carro e escreva o custo ao consumidor.
12. Dados os comprimentos dos catetos de um triângulo rectângulo nas variáveis LADO1 e
LADO2, faça um programa que calcule o valor da HIPOTENUSA.
13. Faça um programa que leia o tempo de duração de um evento em uma fábrica expressa em
segundos e mostre-o expresso em horas, minutos e segundos.
14. Faça um programa que, tendo como dados de entrada dois pontos quaisquer no plano,
P(x1,y1) e P(x2,y2), escreva a distância entre eles.

joao.costa@isptec.co.ao ISPTEC 2021-22 Página 8 de 9


Nº_________________, Nome:______________________________________________________________________

15. Faça um programa que leia dois valores, A e B, e os imprima ao contrario, isto é, se em A for
lido 7, e em B 11, quando você for escrever A, será impresso 11 e quando escrever B será
impresso 7. Neste algoritmo você só pode usar as variáveis A e B. Dica: operadores
aritméticos resolvem este problema.
16. Uma empresa de ferragens produz 3 tipos de peças mecânicas: parafusos, porcas e arruelas.
Sabe-se que é dado um desconto de: 10% por porca vendida, 20% por arruela vendida, 30%
por parafuso vendido. Dados de entrada: preço unitário da porca, da arruela e do parafuso;
quantidade de porcas, arruelas e parafusos solicitados pelo cliente. Dados de saída: total
pago pelas porcas, arruelas e parafusos; total de desconto dado ao cliente; total a ser pago
pelo cliente.
17. Uma revendedora de carros usados paga a seus funcionários vendedores, um salário fixo por
mês, mais uma comissão também fixa para cada carro vendido e mais 5% do valor das
vendas por ele efetuadas. Escrever um programa que lê o número do vendedor, o número de
carros por ele vendidos, o valor de cada carro, o salário fixo e o valor que recebe por carro
vendido e calcula o salário a ser pago a este vendedor, escrevendo o número do vendedor e
seu salário total.
18. Um hotel com 42 apartamentos resolveu fazer promoções para os fins de semana fora da alta
temporada, isto é, nos meses de abril, maio, junho, agosto, setembro outubro e novembro. A
taxa da promoção é de 22% da diária normal. A expectativa é aumentar a taxa de ocupação
de 40 para 70%. Supondo que as expectativas se confirmem, escrever um programa que lê a
diária normal e calcula e escreve as seguintes informações:
a) O valor da diária no período da promoção.
b) O valor médio arrecadado sem a promoção, durante um mês.
c) O valor médio arrecadado com a promoção, durante um mês.
d) O lucro ou prejuízo mensal com a promoção.

Questões de Prova escrita


Está disponível uma prova no repositório desta disciplina.

Bom trabalho!!!

joao.costa@isptec.co.ao ISPTEC 2021-22 Página 9 de 9

Você também pode gostar