Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Exercícios de Lógica de Programação, Exercícios de Informática

Lista de exercícios de Lógica de Programação.

Tipologia: Exercícios

Antes de 2010

Compartilhado em 01/09/2009

hudson-costa-6
hudson-costa-6 🇧🇷

4.7

(13)

6 documentos

1 / 17

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Algoritmos e Lógica de
Programação
Prof. Francisco Veríssimo Luciano
1/33
Algoritmos e
Lógica de Programação
Lista de Exercícios
Algoritmos e Lógica de
Programação
Prof. Francisco Veríssimo Luciano
2/33
Operações Aritméticas:
1) Crie um programa que permita fazer a conversão cambial entre Reais e
Dólares. Considere como taxa de câmbio US$1,00 = R$2,40. Leia um valor em
Reais pelo teclado e mostre o correspondente em Dólares.
2) Crie um programa que permita fazer a conversão cambial entre Dólares e
Reais. Considere como taxa de câmbio US$1,00 = R$2,40. Leia um valor em
Dólares pelo teclado e mostre o correspondente em Reais.
3) Calcule quantos azulejos são necessários para azulejar uma parede. É
necessário conhecer a altura da parede (AP), a sua largura (LP), e a altura do
azulejo (AA) e sua largura (LA). Leia os dados através do teclado.
4) Faça um programa que, a partir das medidas dos lados de um retângulo, lidos
via teclado, calcule a área e o perímetro deste retângulo.
b
a
A
a
A = a.b
P = 2.a + 2.b
b
5) A condição física de uma pessoa pode ser medida com base no cálculo do IMC,
Índice de Massa Corporal, o qual é calculado dividindo-se a massa da pessoa (m
em kg) pela altura da mesma (h em m) elevada ao quadrado (IMC= m/h²). Escreva
um programa que leia a massa e a altura de uma pessoa, calcule e mostre o IMC.
6) Dado o valor do raio (r) de uma circunferência, elaborar um programa para
calcular e imprimir sua área (A) e o seu comprimento (C). A fórmula da área do
círculo é A=π r
2
e do comprimento é C=2π r.
7) Elaborar um programa para calcular e imprimir o volume (V) de uma esfera e a
área (A) de sua superfície, dado o valor de seu raio (R). A fórmula do volume da
esfera é V=4/3 π R
3
e da área é A=4π R
2
.
8) Faça um programa para calcular a média final de um aluno, supondo-se que há
quatro notas bimestrais durante o ano e que esta é calculada através de uma
média aritmética simples (todos os bimestres têm o mesmo peso).
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Pré-visualização parcial do texto

Baixe Exercícios de Lógica de Programação e outras Exercícios em PDF para Informática, somente na Docsity!

Algoritmos

e

Lógica

de

Programação

Prof. Francisco Veríssimo Luciano

Algoritmos e

Lógica de Programação

Lista de Exercícios

Algoritmos

e

Lógica

de

Programação

Prof. Francisco Veríssimo Luciano

Operações Aritméticas

1)^

Crie

um

programa

que

permita fazer

a conversão

cambial entre

Reais

e

Dólares. Considere como taxa de câmbio US$1,00 = R$2,40. Leia um valor emReais pelo teclado e mostre o correspondente em Dólares.2) Crie um programa que permita fazer a conversão cambial entre Dólares eReais. Considere como taxa de câmbio US$1,00 = R$2,40. Leia um valor emDólares pelo teclado e mostre o correspondente em Reais.3)^

Calcule

quantos

azulejos

são

necessários

para

azulejar

uma

parede.

É

necessário conhecer a altura da parede (AP), a sua largura (LP), e a altura doazulejo (AA) e sua largura (LA). Leia os dados através do teclado.4) Faça um programa que, a partir das medidas dos lados de um retângulo, lidosvia teclado, calcule a área e o perímetro deste retângulo.

b

a^

A^

a

A = a.bP = 2.a + 2.b

b

  1. A condição física de uma pessoa pode ser medida com base no cálculo do IMC,Índice de Massa Corporal, o qual é calculado dividindo-se a massa da pessoa (mem kg) pela altura da mesma (h em m) elevada ao quadrado (IMC= m/h²). Escrevaum programa que leia a massa e a altura de uma pessoa, calcule e mostre o IMC.6) Dado o valor do raio (r) de uma circunferência, elaborar um programa paracalcular e imprimir sua área (A) e o seu comprimento (C). A fórmula da área docírculo é A=

π^ r

2 e do comprimento é C=

π^ r.

  1. Elaborar um programa para calcular e imprimir o volume (V) de uma esfera e aárea (A) de sua superfície, dado o valor de seu raio (R). A fórmula do volume daesfera é V=4/

π^ R

3 e da área é A=

π^ R

  1. Faça um programa para calcular a média final de um aluno, supondo-se que háquatro notas bimestrais durante o ano e que esta é calculada através de umamédia aritmética simples (todos os bimestres têm o mesmo peso).

Algoritmos

e

Lógica

de

Programação

Prof. Francisco Veríssimo Luciano

  1. O critério de avaliação semestral de determinada escola segue a regra:

P1 – primeira avaliação do semestre.P2 – segunda avaliação do semestre.Ativ – nota atribuída pelas atividades realizadas no semestre.Média

=^

P1 x 4 + P2 x 4 + Ativ x 2

Escreva um programa que leia as notas das provas (P1 e P2) e da atividade (Ativ),calcule e mostre a média, seguindo o cálculo acima.10) Elaborar um programa para receber valores, via teclado, nas variáveis "a" e"b". Após isto, o programa, utilizando-se de uma 3a. variável "c", deverá trocar oconteúdo das variáveis "a" e "b".11) (DESAFIO) Idem o programa anterior, sem utilizar-se de uma 3a. variável.12)

Elaborar

um

programa

que

receba,

via

teclado,

os

valores

do

espaço

percorrido e do tempo gasto por um veículo em movimento, para calcular eapresentar em tela sua velocidade média.13) Num laboratório de física, em uma experiência de Movimento UniformementeVariado, foram encontrados os seguintes valores: s0=2m, v0=3m/s, a=10m/s

Digitado o valor de t (segundos), apresentar em tela o valor de s (metros). Dada afórmula:

s = s0 + v0. t + ½. a. t

2

  1. Suponha que um simples vírus tenha infectado o sistema de banco de dadosda universidade e que, como único estrago, ele tenha alterado os RA´s dos alunos.Após algum tempo, descobriu-se que dado o RA gerado pelo vírus RAV = x1 x2 x3x4 x5 x6 x7 x8 x9, o RA correto RAC = y1 y2 y3 y4 y5 y6 y7 y8 y9 poderia serobtido através das seguintes operações:

y1 = x1, y2 = x2, y3 = x8, y4 = x7, y5 = x5, y6 = x6, y7 = x3, y8 = x4, y9 = x9Exemplificando, se RAV=197845602 então RAC=190645782. Elabore um programa em C que leia RAV e gere RAC com 9 dígitos.

Algoritmos

e

Lógica

Programação

Prof. Francisco Veríssimo Luciano

  1. Descreva um programa em Linguagem C++ que leia o valor de um RA(número composto por 9 dígitos) e gere um novo RA pela inversão dos 4 dígitosmenos significativos do RA inicial.

Exemplificando, se RA inicial for 972845236 então o RA novo deve ser

Se RA inicial for 984475211 então o RA novo deve ser 984471125. O algoritmo deve ler RA inicial e apresentar o RA novo.16) Descreva um programa em C que leia o valor de um RA (número compostopor 9 dígitos) e gere um novo RA pela inversão dos 2 dígitos mais significativos epela inversão dos 2 dígitos menos significativos do RA inicial. Exemplificando, seRA inicial for 972845236 então o RA novo deve ser 792845263. Se RA inicial for984475213 então o RA novo deve ser 894475231. O algoritmo deve ler RA iniciale imprimir o RA novo.17) O preço dos produtos de uma empresa é armazenado de forma codificada etodos eles são lidos por uma máquina semelhante (mas não igual) a um código debarras. O código tem o formato C=c1 c2 c3 c4 c5 (c1, c2, c3, c4, c5 são dígitosentre 0 e 9). Para determinarmos o preço P=p1 p2 p3 p4 de um determinadoproduto cujo código é C, a máquina deve ler C e calcular o preço fazendo asseguintes contas:

p3p4 = C div 1000p2 = (c1c2c3c4c5) mod 10p1 = (c2c3) div 10

(repare que esta operação não é c2*c3 testando o exemplo

abaixo)Exemplificando, se C = 47238 então P=7447 pois as contas feitas foram:p3p4 = 47238 div 1000 = 47p2 = (47238) mod 10 = 4p1 = 72 div 10 = 7 Descreva um programa na Linguagem C++ que leia C e imprima P com 4 casas.18) Faça um programa em Linguagem C++ que leia um número X = d

d 1 2 d 3

onde

(sendo d1, d2 e d3 dígitos entre 1 e 9) e o transforme em Y = f

f 1 2 f 3

a partir da

seguinte regra:

f= (di^

mod 2) para I=1, 2, 3.i

Algoritmos

e

Lógica

de

Programação

Prof. Francisco Veríssimo Luciano

  1. Dado um número inteiro positivo X = x1 x2 escrito na base 4, isto é, com osvalores de x1 e x2 valendo 0, 1, 2 ou 3, podemos transformar este número nonúmero inteiro Y = y1 y2 y3 y4 escrito na base 2, de igual valor, a partir dadescrição a seguir:

Separe X nos dígitos x1 e x2Divida x1 por 2 chamando o quociente de y1 e o resto y2Divida x2 por 2 chamando o quociente de y3 e o resto y4Escreva Y = 1000 * y1 + 100 * y2 + 10 * y3 + y Faça um programa em Linguagem C++ que leia X e imprima Y com 4 dígitos.Exemplificando, se X=32 então Y=1110.25) Dado um número X = x1 x2 x3 x4, dizemos que X sofre uma rotação àesquerda quando é gerado o número Y = x2 x3 x4 x1 e que X sofreu uma rotaçãoà direita quando é gerado um número Z = x4 x1 x2 x3. Exemplificando, se X=9162então Y=1629 e Z=2916. Escreva um programa em Linguagem C++ que leia X eimprima os valores de Y (rotação à esquerda de X) e Z (rotação à direita de X).26) Um caixa eletrônico opera com notas de 50, 10, 5 e 1. Como medida desegurança, a cada vez que o cliente deseja sacar dinheiro, o valor é dado de formaa fornecer um pequeno volume de notas (supondo que o cliente sempre estejadentro do seu limite). Esta medida é feita para que a quantidade sacada não “façamuito volume” quando guardada pelo cliente. Por exemplo, se o cliente quisersacar 166 não são dadas 166 notas de 1; não são dadas 33 notas de 5 e 1 nota de1; são dadas 3 notas de 50, 1 nota de 10, 1 nota de 5 e 1 nota de 1. Assim, aresposta a ser impressa é 3 1 1 1. Faça um programa em C que leia a quantia(valor inteiro positivo) a ser sacada e imprima as quantidades de notas de 50, 10, 5e 1 a serem fornecidas aos clientes. O algoritmo (idéia) a ser seguido estáexemplificado abaixo:

166

50

16

10

6

5

1

1

16

3

6

1

1

1

0

1

notas de 50

notas de 10

notas de 5

notas de 1

Algoritmos

e

Lógica

de

Programação

Prof. Francisco Veríssimo Luciano

  1. Para garantirmos segurança na transmissão de dados, podemos codificá-losantes de transmiti-los. Suponha um número X qualquer de 3 dígitos na forma d

d 1 2

d(por exemplo 237 onde d^3

d^2

=3, d

=7 ). Faça um programa em Linguagem 3

C++ que transforme o número X=d

dd 12

em um número Y=f 3

ff 12

que corresponde a 3

X codificado em Y usando a seguinte regra:

f= ((d^1

    1. mod 10) 3 f= ((d^2
    1. mod 9) 1 f= (9 mod (d^3

Exemplificando. Se X=714 então Y= 141 pois :f=((d^1

    1. mod 10) = ((4+7) mod 10 ) = 1 3 f=((d^2
    1. mod 9) 1

= ((7+6) mod 9 )

f=(9 mod (d^3

= ( 9 mod (1+1))

O algoritmo e programa em C devem ler X e imprimir Y.

  1. Suponha que devido à problemas de formatação, um programa de computadorescrito no Brasil fornece datas (dia/mês/ano) como se fosse um número só com 8dígitos na forma X=d1d2m1m2a1a2a3a4. Isto significa, exemplificando, que se forlido o número X=11031980 então a data é dia 11 do mês 03 de 1980.Por outro lado, este mesmo programa escrito nos EUA fornece datas(mês/dia/ano) como se fosse um número também só de 8 dígitos na formaY=m1m2d1d2a1a2a3a4. Isto significa que Y=11031980 significa mês 11, dia 03 de1980. Escreva um programa em C que leia X correspondendo à data descrita noformato do Brasil ( 8 dígitos) e gere Y que corresponde à mesma data descrita noformato dos EUA com 8 dígitos.

Exemplificando, se X=25111981 então Y=11251981.OBS1: O número X de 8 dígitos deve ser lido em uma única vez e não dígito adígito e o número Y de 8 dígitos deve ser impresso em uma única vez, nãodígito a dígito!

Algoritmos

e

Lógica

de

Programação

Prof. Francisco Veríssimo Luciano

Testes Condicionais

:

  1. Elaborar um programa em Linguagem C++ que informe se o número digitadopelo usuário é par ou impar.30) Digitado um número inteiro entre 0 e 100, informar o quanto ele está distantede um determinado número chave, carregado no próprio programa. Ex.: Númerochave=20,

número

digitado=15,

resposta=5.

Número

chave=17,

número

digitado=20, resposta=3 (Obs.: a resposta deverá ser sempre um número positivo).31)

Uma

Universidade

tem

problemas

com

arredondamento

das

médias

dos

alunos, pois cada professor estipula um critério de arredondamento. Devemoselaborar um programa, em Linguagem C++, para a secretaria da Universidade,resolvendo esse problema. O programa deve solicitar uma nota e fazer o devidoarredondamento.Regras:Notas que ultrapassem 0,5 de resto serão arredondas para CIMA.

Ex: 4,6 –>5,

Notas que abaixo ou igual a 0,5 de resto serão arredondas para BAIXO.

Ex: 4,5 –> 4,

  1. Faça um programa em Linguagem que leia 3 números e imprima:

a) O maior número;b) O menor número;c) O número do meio.

  1. Um pediatra elaborou uma lista com pesos prováveis para meninos e meninasentre

e^3

anos

e,

freqüentemente,

precisa

consultar

a^

lista.

Escreva

um

programa em Linguagem C++ que, dada a idade de uma criança de 1 a 3 anos,mostre na tela os pesos prováveis para meninos e meninas da mesma idade,seguindo a tabela:

1 ano

–Meninos: 8.5 kg a 12.5kg

Meninas: 7.5kg a 11.5kg

2 anos

–Meninos: 10.1 kg a 15.2kg Meninas: 9.8kg a 14.5kg

3 anos

–Meninos: 11.7 kg a 18 kg

Meninas: 11.4kg a 17.950kg

Algoritmos

e

Lógica

Programação

Prof. Francisco Veríssimo Luciano

Exemplo: 34) Determinada instituição de ensino adotou como critério de cálculo de médias afórmula:

Nota do 1o. semestre x 3+Nota do 2o. semestre x 7

Se a média for menor que 7.0, o aluno será automaticamente inscrito na provasubstitutiva e somente será aprovado se a nota da prova substitutiva for maior ouigual a 7.0.Se a média for maior ou igual a 7.0, o aluno estará aprovado.Escreva um programa em Linguagem C++ que leia as notas necessárias paraverificar se o aluno foi aprovado ou reprovado, calcule a média, e mostre a médiaavisando se o aluno foi reprovado ou aprovado, segundo o critério apresentadoacima.Exemplo:

Digite a Nota do 1

o. semestre: 5.

Digite a Nota do 2

o. semestre: 4.

Média: 4.6O aluno foi inscrito na prova substitutivaNota da Prova: 8.0 O aluno foi APROVADO Escolha uma idade de 1 a 3 anos:

Pesos Prováveis Meninos

Meninas

de 10.1 kg a 15.2kg

de 9.8kg a 14.5kg

Algoritmos

e

Lógica

de

Programação

Prof. Francisco Veríssimo Luciano

Laços - Repetição

:

  1. Elaborar um programa em Linguagem C++ que escreva em tela os númerosde 1 a 20, utilizando o comando while( ).40) Elaborar um programa em Linguagem C++ que escreva em tela todos osnúmeros pares existentes entre 20 e 1, utilizando o comando while( ).41) Elaborar um programa em Linguagem C++ que escreva em tela os númerosde 1 a 20, informando quando eles são pares e quando são ímpares, utilizando ocomando while( ).42) Elaborar um programa em Linguagem C++ que escreva em tela os númerosde 20 a 1, utilizando o comando for( ).43) Elaborar um programa em Linguagem C++ que escreva em tela todos osnúmeros impares existentes entre 1 e 20, utilizando o comando for( ).44) Elaborar um programa em Linguagem C++ que escreva em tela os númerosde 20 a 1, informando quando eles são pares e quando são ímpares, utilizando ocomando for( ).45) Elaborar um programa em Linguagem C++ que escreva em tela os númerosde 1 a 20, utilizando o comando do-while( ).46) Elaborar um programa em Linguagem C++ que escreva em tela todos osnúmeros pares existentes entre 1 e 20, utilizando o comando do-while( ).47) Elaborar um programa em Linguagem C++ que escreva em tela os númerosde 1 a 20, informando quando eles são pares e quando são ímpares, utilizando ocomando do-while( ).48) Elaborar um programa em Linguagem C++ que seja uma “Calculadora”, ondeo usuário deverá digitar uma das seguintes teclas: ‘+’, ‘-‘, ‘*’, ‘/’ ou ‘S’.
  • Caso escolha ‘S’, para sair, o programa deverá ser encerrado;- Caso escolha ‘+’, ‘-‘, ‘*’ ou ‘/’, como operações aritméticas, o programadeverá solicitar a digitação de dois números quaisquer (número a e númerob), um por vez, realizar a respectiva operação aritmética (soma, subtração,multiplicação ou divisão) entre os respectivos números (a e b, nessa ordem)

Algoritmos

e

Lógica

Programação

Prof. Francisco Veríssimo Luciano

e então apresentar o seu resultado. Após isto, deverá voltar à etapa inicialde digitação das teclas ‘+’, ‘-‘, ‘*’, ‘/’ ou ‘S’ e repetir este item até a digitaçãoda tecla ‘S’.

  1. Elaborar um programa capaz de calcular z, dados x e y, sendo z = x

y.

Para x = 2 e y = 4 então z = 16, pois z = x

y^

→^

z = 2

(^4)

→^

z = 16

Exemplo:

Digite x:

2 Digite y:

4 O valor de 2 elevado à 4 é z = 16.

  1. Elaborar um programa em Linguagem C++ que calcule o resultado da série S,dada abaixo, tendo o usuário que entrar, via teclado, com um número inteiro querepresenta o valor de n:S = 2

n

Para n=0: S = 2

n=1: S = 2

n=2: S = 2

n=3: S = 2

n=4: S = 2

... etc. Exemplo:

Digite o valor de n:

3

O valor de S é 15 Dica:

Em estruturas de repetição poderão ser solicitados programas que leiam, via teclado, uma quantidade muito grande de dados (como 50, 100, 2000 e etc.).Quando um programa precisar ler essa quantidade muito grande, em primeirolugar, desenvolva e teste um programa que leia uma quantidade menor de dados(como 5 ou 10) e realize as operações pedidas no enunciado. Assim que oprograma estiver realizando corretamente essas operações, faça as alteraçõesnecessárias para ler a quantidade muito grande pedida pelo enunciado e realizar

Algoritmos

e

Lógica

de

Programação

Prof. Francisco Veríssimo Luciano

as operações corretamente, considerando a nova quantidade de dados, estandoassim, a solução de acordo com o que foi pedido.51) Elaborar um programa em Linguagem C++ que calcule o resultado da série S,dada abaixo, tendo o usuário que entrar, via teclado, com um número inteiro querepresenta o valor de n:S = 2

n

Para n=0: S = 2

n=1: S = 2

n=2: S = 2

n=3: S = 2

n=4: S = 2

... etc. Exemplo:

Digite o valor de n:

3

O valor de S é 7

  1. Elaborar um programa em Linguagem C++ que solicite ao operador a digitaçãode um número inteiro, positivo e não nulo e que informe se esse número é ou nãoum número PRIMO. Lembrando que um número é PRIMO se somente for divisívelpor 1 e por ele mesmo.53) Há um teorema na matemática que mostra que você não precisaria, noexercício anterior, testar para valores de contador até

n , mas sim apenas até

raiz

quadrada de n

. Ou seja, para se certificar que 29 é um número primo, teríamos

que fazer apenas o seguinte:29/1 => resto igual a zero (na verdade isto não precisa ser testado)29/2 => resto diferente de zero29/3 => resto diferente de zero => 29 é número primo29/4 => resto diferente de zero29/5 => resto diferente de zeroIsto porque a raiz quadrada de 29 é 5.39.Modifique então o algoritmo anterior para implementar esta pequena mudança,que melhora em muito a desempenho do mesmo.

Algoritmos

e

Lógica

de

Programação

Prof. Francisco Veríssimo Luciano

  1. Elaborar um programa em Linguagem C++ que calcule a média das notas dosalunos de uma sala de aula qualquer, sendo que em primeiro lugar deverá sersolicitada

a

digitação

da

quantidade

de

alunos

existentes

nessa

sala

e,

posteriormente, a digitação de todas as notas dos alunos da mesma.Média = ( N1 + N2 + N3 + N4 + N5 + ... + Nm ) / mExemplo:

Digite a quantidade de alunos da sala (m):

5

Digite N1:

5.5

Digite N2:

4.5

Digite N3:

3.0

Digite N4:

5.0

Digite N5:

7.0

Média da sala: 5.

  1. Escreva um programa em Linguagem C++ para mostrar na tela os resultadosde uma tabuada de um número qualquer fornecido via teclado.Exemplo:

Digite o número para a tabuada:

5

Tabuada do 5:5 x 0 = 05 x 1 = 55 x 2 = 105 x 3 = 155 x 4 = 205 x 5 = 255 x 6 = 305 x 7 = 355 x 8 = 405 x 9 = 455 x 10 = 50

  1. Escreva um programa em Linguagem C++ para ler dois números inteiros, viateclado, e mostrar na tela o produto entre eles, sendo que este cálculo deve ser

Algoritmos

e

Lógica

de

Programação

Prof. Francisco Veríssimo Luciano

c+

scanf

a+n =

c+1 =

c+

scanf

a+n =

c+1 =

c+

scanf

a+n =

c+1 =

c+

scanf

a+n =

c+1 =

c+

scanf

a+n =

c+1 =

c+

scanf

a+n =

c+1 =

c+

scanf

a+n =

c+1 =

c+

scanf

a+n =

c+1 =

c+

scanf

a+n =

c+1 =

printf

Algoritmos

e

Lógica

Programação

Prof. Francisco Veríssimo Luciano

prinft

b) Programa-Fonte em C #include <stdio.h>int main(){float s=0, c=1;int n;clrscr();printf("\t\tCalculo de uma Serie");printf("\n\nDigite a quantidade de termos: ");scanf("%d",&n);printf("\nS= ");while (c<=n){printf(" 1 / %.0f ",c);if (c==n)printf(" = ");elseprintf(" + ");s=s+1/c;c=c+1;}printf("%.2f",s);return 0;} Resultado da Simulação

Simulação

Tela

s^

c^

n^

1/c

Calculo de uma SerieDigite a quantidade de termos: 5 S= 1 / 1 + 1 / 2 + 1 / 3 + 1 / 4 + 1 / 5 = 2.

inicia^ com

scanf

printf

S =

printf

Algoritmos

e

Lógica

de

Programação

Prof. Francisco Veríssimo Luciano

printf

s+1/c =

c+1 =

printf

printf

s+1/c = 1.5^ c+1 =

printf

printf

s+1/c = 1.83^ c+1 =

printf

printf

s+1/c = 2.08^ c+1 =

printf

printf

s+1/c = 2.28^ c+1 =

printf

  1. Escreva programas em Linguagem C++ para calcular e exibir o resultado decada uma das séries:

a) S = 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + ..... + 1/16384b) S = 1/1 + 1/2 + 1/3 + 1/4 + 1/5 + ..... + 1/200c) S = 1 /1 + 1/ 2 + 1 / 3 + ..... + 1 / N

para os 50 primeiros termos.

d) S = x / 1 - x / 2 + x / 3 - x / 4 + x / 5 - ..... + x / 19 - x / 20e) S = 1 / 13 - 1 / 33 + 1 / 53 - 1 / 73 + 1 / 93

para 20 termos

f) S = 37 x 38 / 1 + 36 x 37 / 2 + 35 x 36 / 3 + .... + 1 x 2 / 37g) S = 1/1 + 3 /2 + 5 /3 + 7 / 4 + .... + 99 / 50

  1. Escreva um programa em Linguagem C++ que mostre na tela uma seqüênciade 30 números que respeitem a seguinte regra: os dois primeiros números são 1;qualquer outro número corresponde à soma dos dois anteriores ( 1, 1, 2, 3, 5, 8,13, 21, ... ).Esta seqüência é conhecida como Série de Fibonacci.

Algoritmos

e

Lógica

de

Programação

Prof. Francisco Veríssimo Luciano

  1. Escreva um programa em Linguagem C++ que mostre na tela uma seqüênciade N números da Série de Fibonacci, sendo N um número inteiro, positivo e nãonulo, digitado via teclado. OBS.: O programa deverá fazer a consistência dessenúmero digitado, ou seja, deverá rejeitar números negativos e o nulo.Exemplo A:

Digite N (positivo e não nulo):

7

O 7º número da Série de Fibonacci é 13 Exemplo B:

Digite N (positivo e não nulo):

^1

O 1º número da Série de Fibonacci é 1 Exemplo C:

Digite N (positivo e não nulo):

0

O 0 é um número inválido para a Série de Fibonacci.Digite N (positivo e não nulo):

3

O 3º número da Série de Fibonacci é 2 Exemplo D:

Digite N (positivo e não nulo):

- 4

O -4 é um número inválido para a Série de Fibonacci.Digite N (positivo e não nulo):

0

O 0 é um número inválido para a Série de Fibonacci.Digite N (positivo e não nulo):

2

O 2º número da Série de Fibonacci é 1

  1. Escreva um programa em Linguagem C++ para ler a idade de 40 pessoas,exibir

a^

idade

da

pessoa

mais

nova,

calcular

a

idade

média

e

calcular

a

porcentagem de pessoas com idade entre 24 a 30 anos.Dados:Idade Média (40 pessoas) = (Idade 1 + Idade 2 + Idade 3 + ... + Idade 40) / 40%idade entre 24 a 30 anos = ( Quantidade de pessoas entre 24 e 30 anos / 40 ) * 100

Algoritmos

e

Lógica

de

Programação

Prof. Francisco Veríssimo Luciano

Responda o que será mostrado na tela.Exemplo:

Suponhamos o RA acima: 200112387; o penúltimo dígito será 8 e o último 7. Logo, a variável

RA

terá o valor 8 e

RA

o valor 7.

Deve ser observado que em um par

if-else

, apenas um é executado, ou seja,

caso

a

condição

do

if

seja

verdadeira,

os

comandos

dentro

deste

serão

executados, e o

else

e seus comandos, desprezados; caso contrário (condição do

if^ falsa), os comandos dentro do

else

é que serão executados, e desprezados os

que estão dentro do

if.

Para o RA em questão, a condição

RA1 < RA

é falsa (8 < 7), logo,

x

receberá a atribuição de

RA2 * 10

(ou seja, 70) e

y^ a atribuição de

RA

(o valor 8).

Como pode ser notado,

z^ é inicializado com o valor 0.

A execução do programa chega agora à repetição: a condição para que o comando

while

continue repetindo é

x >= y

, que é verdadeira para o nosso

exemplo. A tabela à direita deve ser preenchida com os valores das variáveis

x ,^

y

e^ z

, uma vez para cada passo da repetição. A primeira linha, como pode ser notado, contém os valores que estas variáveis tinham antes do início da mesma.

Apenas dois comandos são repetidos:

x = x – y

, que subtrai o valor

y^ do que

há em

x , colocando o resultado em

x^ mesmo, e

z = z + 1

, que incrementa o valor

de^

z. O efeito destes comandos pode ser visto nas outras linhas da tabela. O valor de y permanece inalterado, já que nenhum comando o altera.

A repetição é encerrada quando

x^ chega ao valor 6, visto que 6 não é maior

ou igual a

y^ (8). O comando printf mostrará na tela os valores finais de

z^ e

x :^

Algoritmos

e

Lógica

Programação

Prof. Francisco Veríssimo Luciano

  1. Dados 2 valores A e B, com A < B, elaborar um programa em Linguagem C++para calcular e imprimir todos os múltiplos de A menores que B.Exemplo:

Digite A:

3

Digite B:

13

Os múltiplos de 3, entre 3 e 13 são: 3, 6, 9, 12

  1. Faça um programa em Linguagem C++ que leia números do teclado e mostrena tela

o menor dos números ímpares positivos digitados

. Os números pares

devem ser simplesmente ignorados e a digitação de um número negativo indicaque a entrada dos números está encerrada (Esse método de encerrar um laçochama-se Sentinela).Exemplo:

Digite os números inteiros positivos (um negativo será o Sentinela): 2 5 4 9 -1 Fim. O menor dos ímpares digitados é 5

  1. Faça um programa em Linguagem C++ para ler uma quantidade ilimitada denúmeros do teclado (ou seja, não faça um programa que leia apenas dois ou trêsnúmeros, mas que leia tantos números quanto for necessário), parando apenasquando for digitado zero (0) (Sentinela), e que

calcule e mostre na tela o

resultado da

soma dos valores absolutos dos números digitados (valor

absoluto de um número é o próprio número sem o sinal, ou seja, sempre positivo)

. Segue abaixo um exemplo do funcionamento que se espera do referido

programa:

Algoritmos

e

Lógica

de

Programação

Prof. Francisco Veríssimo Luciano

Digite números: (o sentinela é o zero) 4 -3-6 7 -5-10 0 Programa encerrado. O resultadoé 35.

⇐⇐⇐⇐^ A resposta é 35porque: 4 + 3 + 6 + 7 + 5 + 10 = 35

  1. Faça um programa em Linguagem C++ para ler uma quantidade ilimitada denúmeros do teclado (ou seja, não faça um programa que leia apenas dois ou trêsnúmeros, mas que leia tantos números quanto for necessário), parando apenasquando for digitado um número negativo, e que

calcule e mostre na tela a

divisão

da

soma

dos

números

pares

pela

soma

dos

números

ímpares

digitados

. Lembre-se que para descobrir se um número é par ou ímpar basta

calcular o resto da divisão deste por dois.72)

Faça

um

programa

em

Linguagem

C++

para

entrevistar

um

número

indeterminado de pessoas perguntando idade, sexo (1 para Masculino e 2 paraFeminino), grau de escolaridade (0 para analfabeto, 1 para curso fundamental, 2para

curso

médio

ou

para

curso

superior).

O

programa

deve

informar

a

quantidade de pessoas entrevistadas, a média das idades, a porcentagem demulheres

que

têm

nível

universitário

e^

a^

porcentagem

de

adultos

homens

analfabetos. 73) Faça um programa em Linguagem C++ que converta um número decimal(inteiro e positivo) qualquer para a base binária. Para compreender melhor estealgoritmo, sugerimos a leitura do apêndice D do livro “Como programar em C”, deDeitel & Deitel, editora LTC, que explica sistemas de numeração e conversão entrebases. 74) Faça um programa em Linguagem C++ que converta um número binárioqualquer para a base decimal. 75) Faça um programa em Linguagem C++ que leia três números e diga se elesconstituem três elementos seguidos da seqüência de Fibonacci.

Algoritmos

e

Lógica

Programação

Prof. Francisco Veríssimo Luciano

Obs.: A seqüência de Fibonacci ocorre na natureza. A razão entre dois númerossucessivos nesta seqüência converge para uma constante, 1.618, que é chamadarazão áurea. Os seres humanos tendem a achar agradáveis as formas que contémesta razão entre suas dimensões. Os arquitetos geralmente projetam janelas,quartos, edifícios, etc. cujas medidas comprimento e largura estão nas proporçõesda razão áurea. Os cartões postais costumam apresentar a relação entre largura ealtura respeitando a razão áurea (fonte: “Como programar em C”, Deitel & Deitel,a. 2

ed., editora LTC, pág. 144). Como não existe uma fórmula geral para os elementos da seqüência de Fibonacci,existindo somente uma fórmula de recorrência conhecida (aquela que diz quequalquer elemento pode ser calculado pela soma dos dois anteriores, exceto osdois primeiros, que são 1 e 1), não resta outra solução, a não ser gerar aseqüência e compará-la com os três números digitados. 76) Elaborar um programa em Linguagem C++ que calcule e imprima o valor de PIatravés da série abaixo. Calcule o valor com precisão de 0,0000000001.

PI = 4 * (1 - 1/3 + 1/5 - 1/7 + 1/9 -...)

Quem tiver curiosidade sobre a história de como o número PI tem sido calculadodurante toda a história, veja: http://www-groups.dcs.st- andrews.ac.uk/~history/HistTopics/Pi_through_the_ages.html Note que esta expressão poderia ser escrita assim:

PI = 4/1 - 4/3 + 4/5 - 4/7 + 4/9 -...

  1. Faça um programa em Linguagem C++ que calcule a raiz quadrada de umnúmero real qualquer

N^

sem o uso da função

sqrt

da Linguagem C++.

Sugerimos o uso de uma fórmula iterativa que foi deduzida com o uso dométodo de Newton-Rapson:

XNOVO = (XANTERIOR / 2) + (N / (2 * XANTERIOR) )

Onde N é valor cuja raiz será calculada; a partir de um valor XANTERIOR écalculado um valor XNOVO Este XNOVO passará a ser o XANTERIOR e,

Algoritmos

e

Lógica

de

Programação

Prof. Francisco Veríssimo Luciano

•^

Sugestão: para a leitura use a função getch e verifique se cada caractere lidoé um dígito de 0 a 9. Para exibir cada elemento, use uma função paraposicionar

os

valores

na

tela

-^

como

as

funções

gotoxy

e^

cprintf

da

linguagem C – procure equivalentes em C++.

Algoritmos

e

Lógica

Programação

Prof. Francisco Veríssimo Luciano

Funções

:

Elaborar um programa em Linguagem C++ que se utilize de funções com passagem de parâmetros. O programa deverá receber um número inteiro, viateclado, e passar esse número, como parâmetro, para uma função. Essa funçãodeverá ser capaz de analisar esse número e retornar, a quem a chamou, umainformação de 0 (zero) para o caso do número passado como parâmetro ser PARe de 1 (um) para o caso de o número passado como parâmetro ser ÍMPAR. Deposse dessa informação, o programa que chamou essa função deverá apresentarem tela o valor do número digitado e se ele é PAR ou ÍMPAR.82) Elaborar um programa em Linguagem C++ que se utilize de funções compassagem de parâmetros. O programa deverá receber um número inteiro, viateclado, e passar esse número, como parâmetro, para uma função. Essa funçãodeverá ser capaz de analisar esse número e retornar, a quem a chamou, umainformação de 0 (zero) para o caso do número passado como parâmetro serPRIMO e de 1 (um) para o caso de o número passado como parâmetro NÃO serPRIMO. De posse dessa informação, o programa que chamou essa função deveráapresentar em tela o valor do número digitado e se ele é PAR ou ÍMPAR.84) Elaborar um programa em Linguagem C++ que se utilize de funções compassagem de parâmetros. O programa deverá receber dois números quaisquer,via teclado, e passar esses números, como parâmetros, para uma função. Essafunção deverá ser capaz de calcular a MÉDIA ARITMÉTICA entre esses doisnúmeros e retornar, a quem a chamou, o resultado dessa operação. De possedessa informação, o programa que chamou essa função deverá apresentar emtela o valor dos dois números digitados e o cálculo da MÉDIA ARITMÉTICA entreeles.85) Elaborar um programa em Linguagem C++ que se utilize de funções compassagem de parâmetros. O programa deverá receber dois números inteiros, viateclado, e passar esses números, como parâmetros, para uma função. Essafunção deverá ser capaz de calcular o valor do primeiro número ELEVADO aosegundo número e retornar, a quem a chamou, o resultado dessa operação. Deposse dessa informação, o programa que chamou essa função deverá apresentarem tela o valor dos dois números digitados e o cálculo da POTÊNCIA entre eles.OBS.: Não será permitido o uso da função

pow( )

ou qualquer outra equivalente da

Linguagem C++ que calcule a potência entre dois números.

Algoritmos

e

Lógica

Programação

Prof. Francisco Veríssimo Luciano

DICA: O aluno deverá desenvolver sua própria função, se utilizando de laços.86) Elaborar um programa em Linguagem C++ que se utilize de funções compassagem

de parâmetros. O

programa deverá receber dois

números

inteiros

(dividendo e divisor respectivamente), via teclado, e passar esses números, comoparâmetros, para uma função. Essa função deverá ser capaz de calcular o valor dao primeiro número ELEVADO ao segundo número e retornar, a quem a chamou, oresultado dessa operação. De posse dessa informação, o programa que chamouessa função deverá apresentar em tela o valor dos dois números digitados e ocálculo da POTÊNCIA entre eles.OBS.: Não será permitido o uso da função

pow( )

ou qualquer outra equivalente da

Linguagem C++ que calcule a potência entre dois números.DICA: O aluno deverá desenvolver sua própria função, se utilizando de laços.

Agradecimentos especiais ao Prof. Robson Calvetti

Julho/