Universidade Federal da Paraíba

Departamento de Sistemas e Computação

Disciplina: Introdução à Programação (para o curso de Engenharia Elétrica)

Professores: Lívia M. R. Sampaio (Turma02) e Roberto Faria (Turma01)

 

1a Lista de Exercícios

Algoritmos

 

1.      Considere que uma calculadora comum, com quatro operações, está com as teclas de divisão e multiplicação inoperantes. Escreva algoritmos que resolvam as expressões matemáticas a seguir usando apenas as operações de soma e subtração.

a.       12 x 4

b.      10 ¸ 2

c.       28

 

2.      Dado o algoritmo a seguir, responda:

início

            lógico: A, B, C;

            se A

              então comando1;

              senão

                 início

                     se B

                        então

                           se C

                             então comando2;

                             senão

                                início

                                    comando3;

                                    comando4;

                                fim

                           fim-se

                     fim-se

                     comando5;        

                 fim

            fim-se

            comando6;

fim

 

a)      Se A = verdade, B = verdade e C= falso, quais comandos serão executados?

b)      Se A = falso, B = verdade e C = falso, quais comandos serão executados?

c)      Quais os valores de A, B e C para que somente o comando 5 seja executado?

d)      Quais os valores de A, B e C para que somente o comando 6 seja executado?

 

3.      Tendo como dados de entrada a altura e o sexo de uma pessoa, construa um algoritmo que calcule seu peso ideal, utilizando as seguintes fórmulas:

a.       para homens: (72.7*altura) – 58;

b.      para mulheres: (62.1*altura) – 44.7.

 

4.      Faça um algoritmo que leia o ano de nascimento de uma pessoa, calcule e mostre sua idade e, também, verifique e mostre se ela já tem idade para votar (16 anos ou mais) e para conseguir a carteira de habilitação (18 anos ou mais).

 

5.      Escreva um algoritmo que leia o código de um determinado produto e mostre a sua classificação. Utilize a seguinte tabela 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

 

6.      Elabore um algoritmo que calcule N!, sendo que o valor inteiro de N é fornecido pelo usuário.

Lembrete:

N! = 1 * 2 * 3 * ... * (N-1) * N;

0! = 1, por definição

 

7.      Sendo H = 1 +1/2 +1/3 + 1/4 + ... + 1/N, elabore um algoritmo para gerar o número H. O número N é fornecido pelo usuário.

 

8.      Escreva um algoritmo que leia um conjunto de 20 números inteiros (positivos) e mostre qual foi o maior e o menor valor fornecido.

 

9.      Construa um algoritmo que, dado um conjunto de valores inteiros e positivos, determine qual o menor e o maior valor do conjunto. O processamento será finalizado quando o usuário fornecer o valor –1 como entrada para o conjunto de valores em questão. O valor –1 não será considerado para do conjunto.

 

10.  Em uma eleição presidencial, existem quatro candidatos. Os votos são informados através de código. Os dados utilizados para a escrutinagem obedecem à seguinte codificação:

 

·        1, 2, 3 e 4 = voto para os respectivos candidatos;

·        5 = voto nulo;

·        6 = voto em branco.

 

Elabore um algoritmo que calcule e escreva:

 

·        total de votos para cada candidato;

·        total de votos nulos;

·        total de votos em branco;

·        percentual dos votos em branco e nulos sobre o total

 

Como finalizador do conjunto de votos, tem-se o valor 0.

 

11.  Escreva um algoritmo que imprima todos os números primos existentes entre N1 e N2, onde N1 e N2 são números naturais fornecidos pelo usuário.

 

12.  Anacleto tem 1,5 metro e cresce 2 centímetros por ano, enquanto Felisberto tem 1,1 metro e cresce 3 centímetros por ano. Construa um algoritmo que imprima quantos anos serão necessários para que Felisberto seja maior que Anacleto.

 

13.  Você pretende comprar um carro a prazo cujo valor original é R$18.500,00. O vendedor aceita que você dê uma entrada de R$ 3.500,00 e que você pague o restante em 36 parcelas mensais, a um juro de 2,5% ao mês. Escreva um algoritmo que calcule e imprima o valor de cada parcela, além da diferença entre o preço original e o valor que será pago pelo carro.

 

14.  Generalize o algoritmo da questão anterior a fim de que possamos aplicá-lo para qualquer preço, valor de entrada, taxa de juros e número de prestações.

 

Programas em C

 

Implemente os algoritmos das questões 3, 4, 5, 13 e 14.

 

Observações:

1. Entregar os programas desta lista via e-mail anexado num único arquivo zipado sob o nome Lista01.zip. O e-mail deve ser destinado à intprog@dsc.ufpb.br, colocando no subject: <nome_completo>/turmaxx/lista01.

2.      Os nomes de programas devem ser formados da seguinte maneira: L1Progxx.c

3.      Cada programa deve conter um cabeçalho com o seguinte formato:

/*

UFPB/CCT/DSC/IntProg – 2001.1

Curso de Engenharia Elétrica

Nome:

Matricula:

Turma:

Lista01 / Questaoxx

Objetivo do programa:

*/

4.      Data de entrega: 06/08/01