Buscar

Lista de Exercícios para a 1ª unidade

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 18 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

�PAGE �
�PAGE �2�
UFRN-DIMAp
DIM0320 – ALGORITMOS E PROGRAMAÇÃO DE COMPUTADORES
PROF.: AMARO DUARTE
Lista de Exercícios para a 1ª unidade
Capitulos 1, 2 E 3
1) Assinale V (verdadeiro) ou F (falso) para as alternativas abaixo. Para as alternativas falsas, sublinhe as palavras ou frases que as tornam falsas.
Algoritmos são seqüências quaisquer de passos que produzem um resultado.
Algoritmos narrativos utilizam linguagem natural para descrever passos, e são intuitivos e precisos.
Fluxogramas são representações de algoritmos que utilizam formas geométricas. Cada comando é representado por uma forma geométrica e a ordem em que os comandos são executados é determinada pelas setas de fluxo.
Uma linguagem de programação é uma linguagem pouco precisa.
Os pseudocódigos utilizam uma linguagem própria, que se assemelha a uma linguagem de programação. A linguagem utilizada, no nosso caso, é uma de muitas versões de uma linguagem chamada portugol.
Se tentarmos construir um algoritmo narrativo preciso para resolver um problema, ele pode ficar muito extenso, podendo chegar a se tornar ilegível.
Toda tarefa realizada pelo computador é baseada, apenas, na manipulação de dados.
Em geral, os dados manipulados por um computador podem ser numéricos, literais e lógicos.
Os dados numéricos, em algoritmos, podem ser números naturais, inteiros, reais ou complexos.
Números reais, em pseudocódigo, são representados com vírgula separando a parte inteira da parte fracionária.
Qualquer caractere (letra, número, pontuação etc.) que estiver entre aspas é tratado como dado literal.
O comprimento de um dado literal é, apenas, a quantidade de letras que ele tem.
O dado literal vazio é representado, simplesmente, como duas aspas duplas (“”). Embora este dado possua tamanho 0 (zero), ele ocupa 1 byte na memória de um computador.
Para usar uma variável em um pseudocódigo, não é necessário declará-la. Basta atribuir um valor à mesma.
Todos os nomes a seguir são nomes válidos para variáveis: nota1, módulo, nome_estabelecimento, 1ª nota.
Numa declaração de variáveis, admite-se, apenas, uma variável para cada tipo.
Numa declaração de variáveis, variáveis de tipos diferentes podem ser declaradas em uma mesma linha.
Operadores binários são operadores que operam com dois ou mais operandos.
Operadores aritméticos, em geral, só podem resultar em valores inteiros ou reais.
O operador contrabarra ( \ ) só aceita operandos inteiros, e resulta em um número inteiro ou real.
O operador – pode ser usado como subtração e como inversão de sinal.
O tipo do valor que os operadores +, – (subtração) e * resultam é o mesmo do operando de tipo mais abrangente.
Os operadores relacionais aceitam operandos de qualquer tipo. Os tipos dos operandos podem ser diferentes.
Os operadores lógicos aceitam como operandos expressões relacionais e valores ou variáveis lógicas.
Expressões aritméticas, em notação de pseudocódigo, podem ser escritas em duas ou mais linhas, da mesma forma que na notação matemática.
2) Um homem quer atravessar um rio com um barco que pode carregar ele mesmo e apenas mais uma de suas três cargas: um lobo, um carneiro e um maço de alfafa. Se o homem se ausenta, pode acontecer o seguinte: o carneiro come a alfafa; o lobo come o carneiro. O que o homem deve fazer para atravessar o rio sem perder nenhuma de suas cargas? (algoritmo narrativo)
3) Elabore um algoritmo narrativo que mova 3 discos de uma torre de Hanói, que consiste em 3 hastes (a-b-c), uma das quais serve de suporte para os três discos de tamanhos diferentes (1-2-3), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer haste, sendo que nunca deve ser colocado um disco maior sobre um menor. O objetivo é transferir os três discos da haste A para haste C.
Dica: Mova <disco n> da haste <h1> para haste <h2>
4) Faça um algoritmo narrativo para calcular a média parcial de um aluno de graduação da UFRN, exibi-la e dizer se o aluno foi aprovado, está em 4ª prova ou foi reprovado.
5) Faça um fluxograma para o algoritmo da questão 4.
6) Faça um fluxograma que leia a idade de uma pessoa em anos e diga se a pessoa é criança (se a idade for menor que 11 anos), adolescente (se a idade for menor que 18), jovem (se a idade for menor que 21 anos), adulta (se a idade for menor que 60) ou idosa (60 anos ou mais).
7) Considerando os valores e expressões abaixo, assinale I para valor numérico inteiro, R para valor numérico real, C para valor literal e L para valor lógico:
( ) 1000 			( ) “4.56”
( ) “12”			( ) .F.
( ) .V. 			( ) “cinco”
( ) “Casa 8” 			( ) “5”
( ) - 456 			( ) 456
( ) - 4.56 			( ) 45.8976
( ) 2*3.5+9			( ) 15-15\7*7
(...) 2/3+9			( ) (17+(17-17\2*2))\2
( ) 5+5/3*9-(-32+5)		( ) 45.5+2*3/2.5
�
8) Seguindo a prioridade dos operadores, qual é o resultado das seguintes operações?
a) 4**2/4+17-5/2*5
b) 3**3*2-(4-6-1)/4+11
c) 3*(7\2)^2 - (4-6)/4 + 1 + 4 – 4\3*3
9) Assinale com um x os nomes válidos para variáveis abaixo:
( ) Alpha 	( ) BJ153		( ) A:B
( ) 5x 		( ) K7 			( ) Inps
( ) E(13)	( ) X-Y 		( ) FGTS
( ) 1Beta	( ) Notas/2 		( ) PE&E
( ) X		( ) Notas 		( ) int
( ) ABC	( ) Médias 		( ) AeQ*
( ) área	( ) perímetro		( ) ∑
( ) Π		( ) Δ			( ) Δs
( ) π		( ) area		( ) somatório
( ) pi		( ) área_triângulo	( ) area_circulo
(..) sigma	( ) delta_s		( ) épsilon
( ) epsilon	( ) ε			( ) teta
( ) θ		( ) Ω			(..) ω
( ) omega 	( ) φ			( ) fi
10) Encontre os erros da seguinte declaração de variáveis:
Inteiro: endereço, nfilhos, valor$, xpto, c, peso
Literal: idade, x
Lógico: 2lâmpada
11) As seguintes expressões estão em notação matemática. Converta-as para a notação de pseudocódigo:
�
�
Capitulo 4 – instruções primitivas
12) Assinale V (verdadeiro) ou F (falso) para as alternativas abaixo. Para as alternativas falsas, sublinhe as palavras ou frases que as tornam falsas.
Em um computador, os dados são obtidos do usuário pelos dispositivos de saída, e são exibidos ao usuário nos dispositivos de entrada.
Uma instrução de entrada é uma instrução que obtém dados de um dispositivo de entrada.
Uma instrução de saída é uma instrução que manda dados para um dispositivo de saída.
A atribuição é o único comando capaz de armazenar um dado em uma variável.
Valores (numéricos, literais, lógicos) só podem ser atribuídos a variáveis.
A uma variável deve ser atribuído, obrigatoriamente, um valor, variável ou expressão de tipo compatível.
O comando leia lê uma variável e diz ao usuário qual variável está sendo lida.
O comando leia só aceita ler, apenas, uma única variável.
O comando escreva pode exibir valores, variáveis ou expressões de qualquer tipo.
Ao usar o comando escreva para exibir valores de variáveis, não podemos, em momento algum, concatenar seqüências de caracteres às mesmas.
13) Os algoritmos a seguir estão errados. Diga quais são os erros que cada um deles contém, e justifique o porquê dos mesmos. Em seguida, reescreva-os da forma correta.
a)
Algoritmo Ex13_a
	Real: peso, altura
Início
	Escreva("Programa que calcula o peso ideal")
	Escreva("de um homem")
	Escreva("Digite a altura:)
	Leia(altura)
	peso <- 7,27*altura – 58
fim
b)
Algoritmo Ex13_b
	Real: A, B
Início
	Escreva("Digite 2 números:")
	Leia(A,B)
	soma <- A+B
	Escreva("Soma = ", soma)
fim
�
c)
Algoritmo Ex13_c
	Real: a, b, resultado
Início
	Escreva("Digite os valores de a e b:")
	Leia(a,b)
	resultado <- a\b
	Escreva("Quociente = ",resultado)
fim
d)
Algoritmo Ex13_d
	Real: x, y
Início
	Escreva("Digite o valor de x:")
	Leia(x)
	y <- x^3+2x^2+5x+1
	Escreva("y = ",y)
fim
e)
Algoritmo gas_ideal
	Real: p, V, n, R, T
Início
	p<-101000.0
	n<-1.0
	R<-8.31
	T<-273p*V<-n*R*T
	Escreva(n,"mols de um gás a uma pressão de ",p,"Pa")
	Escreva(" e temperatura de ",T,"Kelvin ocupa um")
	Escreva("volume V = ",V,"metros cúbicos.")
fim
�
14) O que deve ser exibido na tela de um computador para cada algoritmo abaixo?
a) Suponha que os valores digitados para a, b, e c são, respectivamente, 2, 3 e 4.
Algoritmo Ex_14a
	inteiro: a,b,c
Início
	Escreva("Digite valores para a, b e c:")
	Leia(a,b,c)
	Escreva(a,"+",b,"+",c,"=",(a+b+c))
	a<-a+b+c
	Escreva(a,"+",b,"+",c,"=",(a+b+c))
fim
b)
Algoritmo Ex_14b
	inteiro: a,b,c
Início
	a <- 7
	b <- 2
	c <- 3
	a <- a + c-c\b*b
	escreva("a = ",a)
fim
c)
Algoritmo Ex_14b
	inteiro: a, b, c, x
Início
	a <- 7
	b <- 2
	c <- 3
	escreva("Antes:")
	escreva("a = ",a)
	escreva("b = ",b)
	escreva("c = ",c)
	x <- b
	b <- a
	a <- x
	x <- c
	c <- b
	b <- x
	escreva("Depois:")
	escreva("a = ",a)
	escreva("b = ",b)
	escreva("c = ",c)
fim
�
15) A posição de um veículo em Movimento Uniformemente Variado (M.U.V.) em função do tempo é calculado pela seguinte fórmula:
a) Faça um algoritmo que calcule a posição final do veículo usando os seguintes dados:
b) Faça um algoritmo que leia o tempo t e calcule a posição final do veículo com os seguintes dados:
c) Faça um algoritmo que leia a posição inicial s0, a velocidade inicial v0, a aceleração a e o instante de tempo t, e calcule a posição final do veículo.
16) Faça um algoritmo para calcular a área A e o perímetro p de um círculo de raio r, onde o valor de r deve ser lido do teclado. Dados:
17) Faça um algoritmo para calcular o quociente e o resto de uma divisão de números inteiros.
18) Faça um algoritmo para calcular o perímetro p e a área A de um triângulo qualquer. As fórmulas a serem utilizadas são:
Perímetro: 
Semiperímetro: 
Área: 
�
Capitulo 5 – controle de fluxo de execução
19) Assinale V (verdadeiro) ou F (falso) para as alternativas abaixo. Para as alternativas falsas, sublinhe as palavras ou frases que as tornam falsas.
Se um algoritmo possui um laço para-faça, é sempre possível refazer o mesmo algoritmo com um bloco de instruções equivalente contendo um laço enquanto-faça.
Se um algoritmo possui um laço enquanto-faça, é sempre possível refazer o mesmo algoritmo com um bloco de instruções equivalente contendo um laço para-faça.
Se a condição um laço enquanto-faça der falsa (.F.), o bloco de instruções dentro dele só será executado uma vez.
Se a condição um laço repita-até der falsa (.F.), o bloco de instruções dentro dele só será executado uma vez.
As instruções dentro de um laço enquanto-faça são executadas enquanto a condição for falsa.
As instruções dentro de um laço repita-até são executadas enquanto a condição for falsa.
Se a condição de um laço enquanto-faça for permanentemente falsa, é dito que este laço executa um loop infinito.
Se a condição de um laço repita-até for permanentemente falsa, é dito que este laço executa um loop infinito.
20) Os algoritmos a seguir estão errados ou possuem algum problema. Diga quais são os erros ou problemas que cada um deles contém, e justifique o porquê dos mesmos. Em seguida, reescreva-os da forma correta.
a)
Algoritmo Ex20_a
	Real: num
Início
	Escreva("Digite um número:")
	Leia(num)
	Se (num>0) então
		Escreva("O número é maior que zero.")
	Senão
		Escreva("O número é menor ou igual a zero.")
fim
�
b)
Algoritmo Ex20_b
	Real: A, B
Início
	Escreva("Digite 2 números maiores que zero:")
	Leia(A,B)
	Se (a>0 .E. b>0) então
		Se (a>b) então
			Escreva("O valor de a é maior que o de b.")
		Senão
			Se (a<b) então
				Escreva("O valor de a é menor que o de b.")
			Senão
				Escreva("O valor de a é igual ao de b.")
		Fim_se
	Senão
		Escreva("Erro: Valor menor que zero digitado.")
	Fim_se
fim
c)
Algoritmo Ex20_c
	inteiro: a, b, i
Início
Escreva("Digite valores inteiros para a e b:")
	Leia(a,b)
	Escreva("Números pares entre a e b:")
	Repita
		Se (i-i\2*2 = 0)
			Escreva(i)
		Fim_se
	Até(i=b)
fim
d)
Algoritmo Ex20_d
	inteiro: n, i, somatorio
Início
	Escreva("Digite um valor de n maior que 1:")
	Leia(n)
	Se (n>1) então
		Escreva("Soma dos números de 1 a n:")
		Para i de 1 até n faca
			somatorio <- somatorio + i
		Fim_para
		Escreva("Soma dos números de 1 a n:", somatorio)
	Fim_se
fim
�
e)
Algoritmo Ex20_e
	inteiro: n, i
Início
	Escreva("Digite um valor positivo para n:")
	Leia(n)
	Se (n>1) então
		Escreva("Números de n até 1:")
		Para i de n até 1 faca
			Escreva(i)
		Fim_para
	Fim_se
fim
21) O que deve ser exibido na tela de um computador para cada algoritmo abaixo?
a) O valor digitado para n é 1.
Algoritmo Ex21_a
	inteiro: n, i
Início
	Escreva("Digite um valor positivo para n:")
	Leia(n)
	Se (n>1) então
		Escreva("Sequência:")
		Para i de 1 até n faca
			Escreva(i**2)
		Fim_para
	Senão
		Escreva("O valor de n deve ser maior que 1.")
	Fim_se
fim
b) O valor digitado para n é 6.
Algoritmo Ex21_b
	inteiro: n, i, s
Início
	Escreva("Digite um valor positivo para n:")
	Leia(n)
	s<-0
	Se (n>1) então
		Escreva("Sequência:")
		Para i de 1 até n faca
			Escreva(i**2)
			s<-s+i**2
		Fim_para
		Escreva("s = ",s)
	Senão
		Escreva("O valor de n deve ser maior que 1.")
	Fim_se
fim
c) Os valores para a, b e c são, respectivamente, 2, 5 e 6.
Algoritmo Ex21_c
	inteiro: a, b, c, x
Início
	Escreva("Digite 3 números inteiros:")
	Leia(a,b,c)
	a <- b * c – a * b
	b <- b ** 2 – (a + 6)
	Se (b>a) .e. .não.(b>=c) então
		b <- c * 2 – (a + 2)
		c <- b – a * c * 2
	senão
		c <- c + 2 * a + 2
		b <- c * 2 + a * 2
	fim_se
	x <- a + b + c
	escreva("x = ",x)
fim
d) Os valores para a e b são, respectivamente, -10 e 20.
algoritmo Ex21_d
	inteiro: a, b, i, x, s
inicio
	escreva("Digite valores para a e b:")
	leia(a, b)
	s <- 0
	para i de 0 ate 4 faça
		s <- s+(a+b)
		a <- a+2
		b <- b-3
	fim_para
	escreva("O valor final de i é ",i,".")
	se (a>b) então
		escreva("Trocando valores de a e b...")
		x <- a
		a <- b
		b <- x
	fim_se
	escreva("a=",a," b=",b," s=",s)
fim
�
e) Os valores para a, b, c e d são, respectivamente, 44, 12, -9, 7
Algoritmo Ex21_e
	real: a,b,c,d,x
Início
	Escreva("Digite 4 números:")
	Leia(a,b,c,d)
	Se (a>b) então
		x<-a
		a<-b
		b<-x
	fim_se
	escreva("Saída: ",a," ",b," ",c," ",d)
	se (a>c) então
		x<-a
		a<-c
		c<-x
	fim_se
	escreva("Saída: ",a," ",b," ",c," ",d)
	se (a>d) então
		x<-a
		a<-d
		d<-x
	fim_se
	escreva("Saída: ",a," ",b," ",c," ",d)
	se (b>c) então
		x<-b
		b<-c
		c<-x
	fim_se
	escreva("Saída: ",a," ",b," ",c," ",d)
	se (b>d) então
		x<-b
		b<-d
		d<-x
	fim_se
	escreva("Saída: ",a," ",b," ",c," ",d)
	se (c>d) então
		x<-c
		c<-d
		d<-x
	fim_se
	escreva("Saída final: ",a," ",b," ",c," ",d)
fim
�
f) Os valores para a e b são, respectivamente, 1 e 8.
algoritmo Ex21_f
	inteiro: a, b, i, x, s
inicio
	escreva("Digite valores para a e b:")
	leia(a, b)
	s <- 0
	para i de 0 ate 5 faça
		s <- s+(a+b)
		a <- a+2
		b <- b-3
	fim_para
	escreva("O valor final de i é ",i,".")
	se (a>b) então
		escreva("Trocando valores de a e b...")
		x <- a
		a <- b
		b <- x
	fim_se
	escreva("a=",a," b=",b," s=",s)
fim
22) Faça um algoritmo que leia um número e diga se ele é par ou ímpar.
23) Faça um algoritmo que leia um número e diga se ele é ou não um número ímpar divisível por 3.
24) Faça um algoritmo que calcule o perímetro de uma figura qualquer escolhida pelo usuário. Primeiramente,o algoritmo deve exibir na tela o seguinte:
Cálculo de perímetros
Digite:
"R" para retângulo
"C" para círculo
"T" para triângulo
Opção:
Em seguida, o algoritmo deve ler a opção digitada pelo usuário. Após escolhida a opção, o algoritmo deverá pedir apenas os dados necessários para o cálculo do perímetro da figura correspondente. Caso a opção não seja “R”, “C” ou “T”, o algoritmo deve apenas exibir a mensagem “opção inválida.”.
25) Faça um algoritmo que leia 3 valores reais e exiba os mesmos em ordem decrescente.
26) Faça um algoritmo que leia os 3 valores reais (L1, L2 e L3) maiores que zero e diga se eles formam ou não as medidas de um triângulo. (Dica: acrescente instruções que ordenem os valores em ordem decrescente antes de testá-los, de forma que L1 passe a ser o maior deles, e L3, o menor).
�
27) Faça um algoritmo que leia os 3 valores reais (L1, L2 e L3) maiores que zero e, se os valores formarem um triângulo, dizer o tipo do mesmo. A regra para determinar o tipo do triângulo é a seguinte:
Se L12=L22+L32, então formam um triângulo retângulo.
Se L12>L22+L32, então formam um triângulo obtusângulo.
 Se L12<L22+L32, então formam um triângulo acutângulo.
Se os 3 lados forem iguais, é um triângulo eqüilátero.
Senão se, apenas, 2 dos lados forem iguais, é um triângulo eqüilátero.
Caso contrário, é um triângulo escaleno.
Caso L1,L2 e L3 não formem um triângulo, dizer que não é triângulo.
Dica: acrescente instruções que ordenem os valores em ordem decrescente antes de testá-los, de forma que L1 passe a ser o maior deles, e L3, o menor.
28) Faça um algoritmo que leia os 3 valores reais maiores que zero e, se os valores formarem um triângulo, calcular a área e o perímetro do mesmo. As fórmulas são:
Perímetro: 
Semiperímetro: 
Área: 
Caso contrário, diga que não é triângulo.
Dica: acrescente instruções que ordenem os valores em ordem decrescente antes de testá-los, de forma que L1 passe a ser o maior deles, e L3, o menor.
29) Faça um algoritmo que leia 3 valores reais (L1, L2 e L3) maiores que zero e teste se os lados formam ou não um triângulo. Se formarem, o algoritmo deve dizer o tipo do triângulo, o perímetro e a área do mesmo. Para o tipo de triângulo, as regras são as mesmas da questão 27, e para o perímetro e a área as fórmulas são as mesmas da questão 28. Caso L1,L2 e L3 não formem um triângulo, dizer que não é triângulo. Dica: acrescente instruções que ordenem os valores em ordem decrescente antes de testá-los, de forma que L1 passe a ser o maior deles, e L3, o menor.
30) Um trem em movimento uniformemente variado (M.U.V.), no instante 0,0s, está na posição s0=32,0m a uma velocidade v0= -14,0m/s, e está a uma aceleração constante a = 2,0m/s2. Faça um algoritmo que leia um instante de tempo final t, calcule e exiba a posição s correspondente e diga se o trem está antes da sua posição inicial, depois da sua posição inicial ou simplesmente está na sua posição inicial. A fórmula a ser usada para calcular o valor de s é 
.
31) Um trem em movimento uniformemente variado (M.U.V.), no instante t0 = 0,0s, está a uma velocidade v0=-14,0m/s, e está a uma aceleração constante a = 2,0m/s2. Faça um algoritmo que leia um instante de tempo final t, calcule e imprima a velocidade final v correspondente do trem, e diga se o trem está indo para frente, se a velocidade for positiva, para trás, se for negativa, ou parado. A fórmula a ser usada para calcular o valor de v é 
.
�
32) Um trem em movimento uniformemente variado (M.U.V.), no instante 0,0s, está na posição s0=32,0m a uma velocidade v0= -14,0m/s, e está a uma aceleração constante a = 2,0m/s2. Faça um algoritmo que realize os seguintes passos:
Ler um instante de tempo final t maior ou igual a zero;
calcule e exiba a posição s correspondente, usando a fórmula 
;
calcule e exiba a velocidade v correspondente, usando a fórmula 
;
diga se o trem está antes da sua posição inicial, depois da sua posição inicial ou simplesmente está na sua posição inicial;
diga se o trem está indo para frente, se a velocidade for positiva, para trás, se for negativa, ou parado.
33) Altere o algoritmo da questão 32 para que, usando um laço, escreva as posições s e as velocidades v nos instantes de 0,0 segundos até t segundos, e execute os passos 4 e 5 dentro do mesmo laço.
34) Faça um algoritmo que leia um valor para uma variável x e teste se o valor de x faz a expressão 
 resultar valor. Se sim, o algoritmo deve calcular e exibir o valor da mesma. Se não, exibir uma mensagem dizendo que "o valor de x não é aceitável".
35) Faça um algoritmo que leia um valor para uma variável x e teste se o valor de x faz a expressão 
 resultar valor. Se sim, o algoritmo deve calcular e exibir o valor da mesma. Se não, exibir uma mensagem dizendo que "o valor de x não é aceitável".
36) Faça um algoritmo que leia um valor para uma variável x e teste se o valor de x faz a expressão 
 resultar valor. Se sim, o algoritmo deve calcular e exibir o valor da mesma. Se não, exibir uma mensagem dizendo que "o valor de x não é aceitável".
37) Faça um algoritmo que leia um valor para uma variável x e teste se o valor de x faz a expressão 
 resultar valor. Se sim, o algoritmo deve calcular e exibir o valor da mesma. Se não, exibir uma mensagem dizendo que "o valor de x não é aceitável".
38) Um sistema de equações lineares do tipo:
pode ser resolvido usando as seguintes fórmulas:
Faça um algoritmo que leia os coeficientes a, b, c, d, f e g, e calcule os valores de x e y. Faça com que o algoritmo verifique, antes do cálculo, se o sistema tem solução e, caso contrário, diga que não tem solução. Por exemplo, para o sistema:
o algoritmo deve dizer que ele não possui solução.
39) Faça um algoritmo que calcule as raízes x1 e x2 de uma equação do 2º grau (
). O algoritmo deve ler os coeficientes da equação e calcular as raízes da equação, se a for diferente de zero, ou dizer que o valor de a está igual a zero, caso contrário. A fórmula usada para o cálculo do delta é:
Se o ( for maior ou igual a zero, as raízes podem ser calculadas usando as seguintes fórmulas.
Caso contrário, o algoritmo exibir a mensagem “raízes conjugadas complexas.”
40) Modifique o algoritmo da questão 39 para ele, também, poder calcular as raízes complexas para ( menor que zero. Neste caso, deve ser feito o cálculo da parte real (Re) e da parte imaginária (Im) das raízes conjugadas complexas. As raízes conjugadas complexas assumem a seguinte forma:
Onde:
 (sendo ( um valor negativo)
e j é equivalente a 
. Os comandos “escreva” devem exibir as raízes conjugadas complexas exatamente da seguinte forma:
onde no lugar de <Re> e <Im> irão aparecer os valores de Re e de Im e os símbolos restantes serão caracteres a serem exibidos pelos comandos “escreva”. Por exemplo:
41) Modifique o algoritmo da questão 40 para que, no caso do coeficiente a ser igual a zero, seja calculada a raiz de uma equação do 1º grau da forma:
Onde x é a raiz da equação. Caso o coeficiente b seja zero, dizer que a equação não tem solução.
�
42) Faça um algoritmo que calcule a média parcial de um aluno da UFRN, e diga se ele foi “aprovado”, está em “4ª prova” ou foi “reprovado”. O algoritmo só deve calcular a média se as 3 notas estiverem entre 0 e 10. Se o aluno estiver em 4ª prova, o algoritmo deve pedir a nota da 4ª prova, e se a nota da 4ª prova estiver entre 0 e 10, calcular a média final, exibi-la e dizer se o aluno foi aprovado ou reprovado.
43) Faça um algoritmo que leia um número n maior que zero, e imprima os números pares que forem múltiplos de 7, no intervalo de 1 a n.
44) Faça um algoritmo que leia os valores de M e N e calcule a soma de todos os números pares entre M e N. O valor de M deve ser menor que o de N. Se M for par, ele entra na soma. Se N for par, ele também entra na soma.
45) Faça um algoritmo que leia um número n maior que0, e imprima, apenas, o n-ésimo termo da série de Fibonacci. Lembre-se que os 2 primeiros termos da série de Fibonacci começam com 1, e, os termos a partir do 3º são a soma dos 2 anteriores (1 1 2 3 5 8 13 21 ...).
46) Faça um algoritmo que leia um número inteiro maior que 1 e diga se ele é primo ou não.
47) Faça um algoritmo que leia um número n maior que 2 e imprima todos os números primos que existem no intervalo de 2 a n.
48) Faça um algoritmo que leia valores inteiros para n e r, maiores que zero, e calcule o seguinte somatório:
49) Faça um algoritmo para gerar uma P.G. e calcular a soma e o produto dos termos da mesma. O algoritmo deve ler a razão q, o primeiro termo a1 e a quantidade de termos n, gerar e imprimir os n termos usando a seguinte fórmula:
e imprimir a soma e o produto dos mesmos. (Obs.: Ao calcular a soma e o produto dos termos, utilize laços, e não as fórmulas para os mesmos)
50) Faça um algoritmo que leia um valor maior que zero para n e calcule n! (fatorial de n).
51) A função seno pode ser calculada através da seguinte série:
	
Para qualquer valor real de x. Faça um algoritmo que leia um valor real para x e calcule um valor aproximado de sen(x) usando a seguinte série finita:
Dica: para os fatoriais, utilize os mesmos comandos utilizados para o cálculo do fatorial da questão 50.
�
52) Faça um algoritmo que calcule a combinação n e p, dada pela seguinte fórmula:
	
Atenção: antes de fazer o cálculo propriamente dito, faça com que o algoritmo teste se os valores de n e p são válidos para o cálculo, lembrando-se que não existe fatorial de número negativo.
53) Faça um algoritmo que calcule o mínimo múltiplo comum (mmc) e o máximo divisor comum de entre 2 números inteiros lidos do teclado.
Dica: sejam os números inteiros 24 e 18.
54) Faça um algoritmo que leia um número inteiro positivo e calcule a soma de seus dígitos.
(Exemplos.: 32 => 3+2 = 5; 538 => 5+3+8 = 16; 20320 => 2+0+3+2+0 = 7). Obs.: O número lido deve ser armazenado, obrigatoriamente, em uma única variável.
55) Em Matemática, um número perfeito é um número inteiro positivo para o qual a soma de todos os seus divisores positivos próprios (excluindo ele mesmo) é igual ao próprio número. Por exemplo, 6 é um número perfeito, pois 6 = 1+2+3. O número 28 também é perfeito, pois 28 = 1+2+4+7+14. Faça um algoritmo que leia um número inteiro positivo e diga se ele é ou não um número perfeito.
56) A Numerologia surgiu com o filósofo e matemático grego Pitágoras, criador da tabuada e de importantes fórmulas da geometria. Apesar do significado místico atribuído à Numerologia, esta consiste, basicamente, em pegar um número inteiro maior que zero (número este associado a um nome, a uma data, ao número de uma residência etc.), e a partir do mesmo, gerar um número de 1 a 9, chamado número da sorte, através de somas dos dígitos do número original e de sucessivas somas dos números gerados, até chegar a um número de 1 algarismo, entre 1 e 9. Por exemplo, se quisermos o número da sorte associado ao número 25121987 (número referente ao natal de 1987), procedemos da seguinte forma:
2+5+1+2+1+9+8+7 = 35
O número 35 possui mais de um dígito e, portanto, devemos somar os dígitos do mesmo:
3+5 = 8
Onde 8 é o número da sorte associado ao número 25121987.
Se pegarmos um número como 214, teremos que 2+1+4 = 7, onde 7 é o número da sorte associado ao número 214. Observe que, neste caso, só foi necessário realizar uma soma de dígitos.
Faça um algoritmo que leia um número positivo qualquer e gere o número da sorte associado. Dica: a soma de dígitos segue a mesma lógica do algoritmo da questão 54.
x1 = <Re> + <Im> * j
x2 = <Re> - <Im> * j
x1 = 3.543 + 0.943 * j
x2 = 3.543 - 0.943 * j
mmc(24,18) = 2 . 2 . 2 . 3 . 3 = 72
mdc(24,18) = 2 . 3 = 6 (multiplica apenas os fatores primos que dividem 2 números ao mesmo tempo)
_1330640940.unknown
_1330700506.unknown
_1331383169.unknown
_1341844356.unknown
_1341849195.unknown
_1342012653.unknown
_1341849477.unknown
_1341849015.unknown
_1331407388.unknown
_1337452182.unknown
_1331407262.unknown
_1330796162.unknown
_1330798234.unknown
_1330800796.unknown
_1330982758.unknown
_1330983625.unknown
_1330798747.unknown
_1330798112.unknown
_1330795572.unknown
_1330795589.unknown
_1330700785.unknown
_1330643275.unknown
_1330685134.unknown
_1330685238.unknown
_1330700429.unknown
_1330687317.unknown
_1330685215.unknown
_1330683265.unknown
_1330641162.unknown
_1330641386.unknown
_1330641068.unknown
_1330617239.unknown
_1330619014.unknown
_1330639186.unknown
_1330639694.unknown
_1330639583.unknown
_1330623439.unknown
_1330626522.unknown
_1330620296.unknown
_1330618733.unknown
_1316722035.unknown
_1330617079.unknown
_1330617124.unknown
_1316722177.unknown
_1330617006.unknown
_1316805902.unknown
_1316722069.unknown
_1316717764.unknown
_1316720920.unknown
_1316716153.unknown

Outros materiais