Buscar

Lista de Exercícios 2 algoritmo.doc

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 33 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 33 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 33 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

�
Lista de Exercícios 2 - Algoritmos e Programação
Prof. Francisco Marcelo
OBS.: Os códigos fontes de resposta devem ser colados dentro deste documento. Não poste no blackboard arquivos zipados ou código fonte sob pena de não ter o trabalho corrigido
I - Desenvolva os seguintes algoritmos:
1) Crie um programa que permita fazer a conversão cambial entre Reais e Dólares. Considere como taxa de câmbio US$1,0 = R$3,40. Leia um valor, pergunte se o valor informado esta em dolar ou real e, após, imprima o valor convertido.
RESPOSTA::
programa
{
	funcao inicio()
	{
		// 1) Crie um programa que permita fazer a conversão cambial entre Reais e Dólares. 
		//Considere como taxa de câmbio US$1,0 = R$3,40. 
		//Leia um valor, pergunte se o valor informado esta em dolar ou real e, após, imprima o valor convertido.
		real cambio = 3.40
		real valor_informado = 0.0
		real valor_final = 0.0
		inteiro tipo = 1
		
		escreva("Digite o valor a ser convertido: ")
		leia(valor_informado)
		escreva("Digite o tipo de conversão:","\n")
		escreva(" 1 de Real para Dolar","\n")
		escreva(" 2 de Dolar para Real","\n")		
		leia(tipo)
		se (tipo == 1)
		{
			valor_final = valor_informado / cambio	
		}
		senao
		{
			valor_final = valor_informado * cambio
		}
		escreva("Valor convertido: ",valor_final,"\n")		
	}
}
2) 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 (A) e sua largura (LA). Leia os dados através do teclado (obs.: não considere o rejunte).
RESPOSTA:
programa
{
	funcao inicio()
	{
		// 2) 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 (A) e sua largura (LA). 
		// Leia os dados através do teclado.
		real AP = 0.0, LP = 0.0, A = 0.0, LA = 0.0
		real area_parede = 0.0, area_azulejo = 0.0
		real qtde_azulejos = 0.0
		
		escreva ("Digite a altura da parede: ")
		leia (AP)
		escreva ("Digite a largura da parede: ")
		leia (LP)
		escreva ("Digite a altura da azulejo: ")
		leia (A)
		escreva ("Digite a largura da azulejo: ")
		leia (LA)
		area_parede = AP * LP
		area_azulejo = A * LA
		qtde_azulejos = area_parede / area_azulejo
		escreva("Será necessário a compra de ",qtde_azulejos," azulejos")
	}
}
3) 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.
Área = a.b
Perímetro = 2.a + 2.b
RESPOSTA::
programa
{
	funcao inicio()
	{
		// 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.
		//Área = a.b
		//Perímetro = 2.a + 2.b
		real area = 0.0, perimetro = 0.0, a = 0.0, b =0.0
		escreva("Digite a Altura: ")
		leia(a)
		escreva("Digite a Base: ")
		leia(b)
		area = a * b
		perimetro = 2 * a + 2 * b
		escreva ("A área é ",area, " e o Perímetro é ",perimetro)
	}
}
4) 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 (em kg) pela altura da mesma (em m) elevada ao quadrado (IMC= massa/altura²). Escreva um programa que leia a massa e a altura de uma pessoa, calcule e mostre o IMC.
RESPOSTA
programa
{
	inclua biblioteca Matematica --> mat
	
	funcao inicio()
	{
		// 4) 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 (em kg) pela altura da mesma (em m)
		// elevada ao quadrado (IMC= massa/altura²). 
		// Escreva um programa que leia a massa e a altura de uma pessoa, calcule e mostre o IMC.
		real IMC = 0.0, massa = 0.0, altura = 0.0
		escreva ("Digite a altura (em m): ")
		leia (altura)
		escreva ("Digite a massa / peso (em kg): ")
		leia (massa)
		//funcao real potencia(real base, real expoente)
		IMC = massa / mat.potencia (altura, 2.0)
		escreva("O IMC é ", IMC)
	}
}
5) 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 = pi r2 e do comprimento é C=2pi r. onde pi = 3,1415...
RESPOSTA:
programa
{
	inclua biblioteca Matematica --> mat
	
	funcao inicio()
	{
		// 5) 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 = pi r2 e do comprimento é C=2pi r. onde pi = 3,1415...
		real area = 0.0, comprimento = 0.0, raio = 0.0
		escreva ("Digite o raio de uma circunferência: ")
		leia (raio)
		//funcao real potencia(real base, real expoente)
		area = mat.PI * mat.potencia(raio, 2.0)
		comprimento = 2 * mat.PI * raio
		escreva("A área é ", area, " e o comprimento é ", comprimento)
	}
}
6) 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 da área é 4*pi*r^2 e do volume é (4*pi*r^3)/3
RESPOSTA:
programa
{
	inclua biblioteca Matematica --> mat
	
	funcao inicio()
	{
		// 6) 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 da área é 4*pi*r^2 e do volume é (4*pi*r^3)/3
		real area = 0.0, volume = 0.0, raio = 0.0
		escreva ("Digite o raio de uma esfera: ")
		leia (raio)
		//funcao real potencia(real base, real expoente)
		area = 4 * mat.PI * mat.potencia(raio, 2.0)
		volume = (4 * mat.PI * mat.potencia(raio, 3.0))/3
		escreva("A área é ", area, " e o volume é ", volume)
	}
}
7) 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).
RESPOSTA:
programa
{
	funcao inicio()
	{
		real nota1 = 0.0, nota2 = 0.0, nota3 = 0.0, nota4 = 0.0, media = 0.0
		
		escreva("Informe a primeira nota: ")
		leia (nota1)
		escreva("Informe a segunda nota: ")
		leia (nota2)
		escreva("Informe a terceira nota: ")
		leia (nota3)
		escreva("Informe a quarta nota: ")
		leia (nota4)
		
		media = (nota1+nota2+nota3+nota4)/4
		escreva ("Média Final = ", media)
	}
}
8) 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 0,4 + P2 x 0,4 + Ativ x 0,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.
RESPOSTA:
programa
{
	funcao inicio()
	{
		real P1, P2, Ativ, media
		escreva("Informe a nota primeira avaliação do semestre: ")
		leia (P1)
		escreva("Informe a nota segunda avaliação do semestre: ")
		leia (P2)
		escreva ("Informe a nota atribuída pelas atividades realizadas no semestre: ")
		leia (Ativ)
		media = P1*0.4 + P2*0.4 + Ativ*0.2
		escreva ("Média final = ",media)
	}
}
 
9) 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 o conteúdo das variáveis "a" e "b".
RESPOSTA:
programa
{
	funcao inicio()
	{
		inteiro a = 0 ,b = 0, c = 0
		escreva("Digite a:")
		leia(a)
		escreva("Digite b:")
		leia(b)
		//invertendo
		c=b
		b=a
		a=c
		escreva("a=",a," e b=",b)
	}
}
10) 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 e apresentar em tela sua velocidade média.
RESPOSTA:
programa
{
	funcao inicio()
	{
		real s,t,v
		escreva("Informe o espaço percorrido (em kilometros):")
		leia(s)
		
		escreva("Informe o tempo gasto (em horas): ")
		leia(t)
		
		v = s / t
		
		escreva("Velocidade Média = ",v,"km/h")
	}
}
 
11) Num laboratório de física, em uma experiência de Movimento Uniformemente Variado, 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 a fórmula acima
RESPOSTA:
programa
{
	inclua biblioteca Matematica --> mat
	funcao inicio()
	{
		real s = 0.0, s0 =0.0,v0 = 0.0, t, a
		s0 = 2.0
		v0 = 3.0
		a = 10.0
		escreva("Informe o tempo (em segundos):")
		leia(t)
		
		s = s0 + v0*t + ((1/2)*a*mat.potencia(t, 2.0))
		
		escreva("Movimento Uniformemente Variado s=",s)
	}
}
 
12) Suponha que um simples vírus tenha infectado o sistema de banco de dados da universidade e que, como único estrago, ele tenha alterado os RA(Registro Acadêmico)s dos alunos. Após algum tempo, descobriu-se que dado o RA gerado pelo vírus RAV = x1 x2 x3 x4 x5 x6 x7 x8 x9, o RA correto RAC = y1 y2 y3 y4 y5 y6 y7 y8 y9 poderia ser obtido através das seguintes operações:
y1 = x1, y2 = x2, y3 = x8, y4 = x7, y5 = x5, y6 = x6, y7 = x3, y8 = x4, y9 = x9
Exemplificando, se RAV=197845602 então RAC=190645782. Elabore um programa em que leia RAV e gere RAC com 9 dígitos.
RESPOSTA
programa
{
	inclua biblioteca Matematica --> mat
	inclua biblioteca Texto --> texto
	inclua biblioteca Tipos --> tipo
	funcao inicio()
	{
		cadeia x = "", y=""
		escreva ("Digite uma informação com 9 posições: ")
		leia(x)
		//funcao inteiro numero_caracteres(cadeia cadeia)
		se (texto.numero_caracteres(x) == 9)
		{
			//funcao caracter obter_caracter(cadeia cad, inteiro indice)
			// funcao cadeia caracter_para_cadeia(caracter valor)
			// como o primeiro indice do tipo cadeia= 0 entao vamos ter que diminuir 1 do valor informado no exercicio para cada posicao
			// y1 = x1			
			y = tipo.caracter_para_cadeia(texto.obter_caracter(x,0))
			//y2 = x2
			y = y + tipo.caracter_para_cadeia(texto.obter_caracter(x,1))
			//y3 = x8
			y = y + tipo.caracter_para_cadeia(texto.obter_caracter(x,7))
			//y4 = x7
			y = y + tipo.caracter_para_cadeia(texto.obter_caracter(x,6))
			//y5 = x5
			y = y + tipo.caracter_para_cadeia(texto.obter_caracter(x,4))
			//y6 = x6		
			y = y + tipo.caracter_para_cadeia(texto.obter_caracter(x,5))
			//y7 = x3
			y = y + tipo.caracter_para_cadeia(texto.obter_caracter(x,2))
			//y8 = x4
			y = y + tipo.caracter_para_cadeia(texto.obter_caracter(x,3))
			//y9 = x9
			y = y + tipo.caracter_para_cadeia(texto.obter_caracter(x,8))
				
			escreva("y=",y)
		}
		
	}
}
13) Para garantirmos segurança na transmissão de dados, podemos codificá-los antes de transmitir. Suponha um número X qualquer de 4 dígitos na forma d1 d2 d3 d4 (por exemplo, 2371 onde d1 =2, d2 =3, d3 =7 e d4 =1). Escreva um programa que transforme o número X = d1 d2 d3 d4 em um número Y = f1 f2 f3 f4, que corresponde a X codificado usando a seguinte regra: 
f i = ((di + 7) % 10) para i=1, 2, 3, 4.
Exemplificando. Se X=7149 então Y=4816 pois :
Deve ser lido X e impresso Y.
RESPOSTA
programa
{
	inclua biblioteca Matematica --> mat
	inclua biblioteca Texto --> texto
	inclua biblioteca Tipos --> tipo
	
 funcao inicio()
 {
	//f i = ((di + 7) % 10) para i=1, 2, 3, 4.
	//Exemplificando. Se X=7149 então Y=4816 pois :
	
cadeia d = "", f = ""
	escreva ("Digite uma informação com 4 posições: ")
	leia(d)
	//funcao inteiro numero_caracteres(cadeia cadeia)
	se (texto.numero_caracteres(d) == 4)
	{
		//funcao caracter obter_caracter(cadeia cad, inteiro indice)
		// funcao cadeia caracter_para_cadeia(caracter valor)
		// como o indice do tipo cadeia = 0 entao vamos ter que diminuir 1 do valor
// informado no exercicio para cada posicao
		
//funcao caracter obter_caracter(cadeia cad, inteiro indice)
		// funcao cadeia inteiro_para_cadeia(inteiro valor, inteiro base)
			
		//f1
		f = tipo.inteiro_para_cadeia( (( tipo.caracter_para_inteiro(texto.obter_caracter(d,0)) + 7) % 10) , 10)
		//f2
		f = f + tipo.inteiro_para_cadeia( (( tipo.caracter_para_inteiro(texto.obter_caracter(d,1)) + 7) % 10) , 10)
		//f3
		f = f + tipo.inteiro_para_cadeia( (( tipo.caracter_para_inteiro(texto.obter_caracter(d,2)) + 7) % 10) , 10)
		//f4
		f = f + tipo.inteiro_para_cadeia( (( tipo.caracter_para_inteiro(texto.obter_caracter(d,3)) + 7) % 10) , 10)
			
		escreva(f)
	}		
 }
}
 
14) Faça um algoritmo que leia a idade de uma pessoa expressa em anos, meses e dias e escreva a idade dessa pessoa expressa apenas em dias. Considerar ano com 365 dias e mês com 30 dias.
RESPOSTA:
programa
{
	funcao inicio()
	{
		inteiro anos = 0, meses =0, dias = 0, resultado = 0
		escreva("Informe Quantidade de Dias: ")
		leia(dias)
		escreva("Informe Quantidade de Meses: ")
		leia(meses)
		escreva("Informe Quantidade de Anos: ")
		leia(anos)
		
		resultado = 365 * anos + 30 * meses + dias
		
		escreva("Total de dias: ",resultado)
	}
}
15) Escreva um algoritmo para ler o número total de eleitores de um município, o número de votos brancos, nulos e válidos. Calcular e escrever o percentual que cada um representa em relação ao total de eleitores.
RESPOSTA:
programa
{
	funcao inicio()
	{
		real Brancos = 0.0, Nulos = 0.0, Validos = 0.0, total_votos = 0.0
		real percentual_Brancos = 0.0, percentual_Nulos = 0.0, percentual_Validos = 0.0
		
		escreva("Informe o número de votos em brancos: ")
		leia(Brancos)
		escreva("informe o número de votos nulos: ")
		leia(Nulos)
		escreva("informe o número de votos válidos: ")
		leia(Validos)
		
		total_votos = Brancos + Nulos + Validos
				
		percentual_Brancos = (Brancos/total_votos)*100
		percentual_Nulos = (Nulos/total_votos)*100
		percentual_Validos = (Validos/total_votos)*100
		
		escreva("Percentual de votos brancos:",percentual_Brancos,"%","\n")
		escreva("Percentual de votos nulos:",percentual_Nulos,"%","\n")
		escreva("Percentual de votos válidos:",percentual_Validos,"%")
	}
}
16) O custo de um carro novo ao consumidor é a soma do custo de fábrica com a porcentagem do distribuidor e dos impostos (aplicados ao custo de fábrica). Supondo que o percentual do distribuidor seja de 28% e os impostos de 45%, escrever um algoritmo para ler o custo de fábrica de um carro, calcular e escrever o custo final ao consumidor.
RESPOSTA:
programa
{
	funcao inicio()
	{
		real custodefabrica = 0.0, imposto = 0.0,distribuidor= 0.0, custofinal= 0.0
		escreva ("Informe o custo de fábrica do veículo: ")
		leia (custodefabrica)
		distribuidor = custodefabrica * 0.28
		imposto = custodefabrica * 0.45
		custofinal = custodefabrica + distribuidor + imposto
		
		escreva("Custo final do veículo: R$",custofinal)
	}
}
17) Uma revendedora de carros usados paga a seus funcionários vendedores um salário fixo
por mês e mais 5% do valor das vendas por ele efetuadas. Escrever um algoritmo que leia o valor total de suas vendas e o salário fixo.
Calcule e escreva o salário final do vendedor. 
RESPOSTA
programa
{
	funcao inicio()
	{
		real vendas = 0.0, salario_fixo = 0.0, salario_final = 0.0
		escreva("Informe o valor total das vendas:")
		leia(vendas)
		escreva("informe o valor do sálario fixo:")
		leia(salario_fixo)
		
		salario_final = (salario_fixo)+(vendas*0.05)
		escreva("Salário final = ",salario_final)
	}
}
18) Escreva um algoritmo para ler uma temperatura em graus Fahrenheit, calcular e escrever o valor correspondente em graus Celsius.
Observação: Para testar se a sua resposta está correta saiba que 100oC = 212F
RESPOSTA:
programa
{
	funcao inicio()
	{
		real grausF = 0.0, grausC = 0.0
		escreva("Informe a temperatura (em graus Fahrenheit): ")
		leia(grausF)
		grausC = (grausF*100)/212
		
		escreva("Temperatura em graus Célsius = ",grausC,"°C")
	}
}
II - Utilizando estruturas condicionais desenvolva os seguintes algoritmos:
19) Ler um valor e escrevera mensagem É MAIOR QUE 10! se o valor lido for maior que 10, caso contrário escrever NÃO É MAIOR QUE 10!
RESPOSTA
programa
{
	funcao inicio()
	{
		inteiro valor = 0
		escreva ("Digite um valor: ")
		leia(valor)
		se (valor>10)
		{
			escreva("É MAIOR QUE 10!")
		}
		senao
		{
			escreva("NÃO É MAIOR QUE 10!")
		}
	}
}
20) Ler um valor e escrever se é positivo ou negativo (considere o valor zero como positivo).
RESPOSTA
programa
{
	funcao inicio()
	{
		inteiro valor
		escreva("Digite um valor: ")
		leia(valor)
		se (valor>=0)
		{
			escreva("VALOR É POSITIVO")
		}
		senao
		{
			escreva("VALOR É NEGATIVO")
		}
	}
}
21) As maçãs custam R$ 1,30 cada se forem compradas menos de uma dúzia, e R$ 1,00 se forem compradas pelo menos 12. Escreva um programa que leia o número de maçãs compradas, calcule e escreva o custo total da compra.
RESPOSTA
programa
{
	funcao inicio()
	{
		real valorunidade = 0.0, custo = 0.0
		inteiro quantidade = 0
		escreva("Informe a quantidade de maçãs compradas: ")
		leia(quantidade)
		
		se (quantidade>=12)
		{
			valorunidade = 1.00
		}
		senao
		{
			valorunidade = 1.30
		}
		custo = valorunidade*quantidade
		escreva("Custo total = R$ ",custo)
	}
}
22) Ler as notas da 1a. e 2a. avaliações de um aluno. Calcular a média aritmética simples e escrever uma mensagem que diga se o aluno foi ou não aprovado (considerar que nota igual ou maior que 6 o aluno é aprovado). Escrever também a média calculada.
RESPOSTA:
programa
{
	funcao inicio()
	{
		real nota1 = 0.0, nota2 = 0.0, media = 0.0
		escreva("Informe a primeira nota: ")
		leia(nota1)
		escreva("Informe a segunda nota: ")
		leia(nota2)
		
		media = (nota1+nota2)/2
		escreva ("Média =", media,"\n")
		se (media>=6)
		{
			escreva("ALUNO APROVADO.")
		}
		senao
		{
			escreva("ALUNO REPROVADO.")
		}
	}
}
23) Ler o ano atual e o ano de nascimento de uma pessoa. Escrever uma mensagem que diga se ela poderá ou não votar este ano (não é necessário considerar o mês em que a pessoa nasceu).
RESPOSTA:
programa
{
	funcao inicio()
	{
		inteiro anoatual,anonascimento
		escreva("Informe o ano atual: ")
		leia(anoatual)
		escreva("Informe o ano de seu nascimento: ")
		leia(anonascimento)
		
		se((anoatual-anonascimento)>=16)
		{
			escreva("Poderá votar em ",anoatual)
		}
		senao
		{
			escreva("Não poderá votar em ",anoatual)
		}
	}
}
24) Ler dois valores (considere que não serão lidos valores iguais) e escrever o maior deles.
RESPOSTA
programa
{
	funcao inicio()
	{
		inteiro valor1 = 0, valor2 = 0
		escreva("Digite o Primeiro Valor: ")
		leia(valor1)
		escreva("Digite o Segundo Valor: ")
		leia(valor2)
		
		se(valor1 > valor2)
		{
			escreva("O PRIMEIRO VALOR É O MAIOR: ",valor1)
		}
		senao
		{
			se (valor2 > valor1)
			{
				escreva("O SEGUNDO VALOR É O MAIOR: ",valor2)
			}
			senao
			{
				escreva("OS DOIS VALORES SÃO IGUAIS")
			}			
		}
	}
}
25) Ler dois valores (considere que não serão lidos valores iguais) e escrevê-los em ordem crescente.
RESPOSTA:
programa
{
	funcao inicio()
	{
		inteiro valor1 = 0, valor2 = 0
		escreva("Digite o Primeiro Valor: ")
		leia(valor1)
		escreva("Digite o Segundo Valor: ")
		leia(valor2)
		
		se(valor1 > valor2)
		{
			escreva(valor2, "-> ", valor1)
		}
		senao
		{
			se (valor2 > valor1)
			{
				escreva(valor1, "-> ", valor2)
			}
			senao
			{
				escreva("OS DOIS VALORES SÃO IGUAIS")
			}			
		}
	}
}
26) Ler a hora de início e a hora de fim de um jogo de Xadrez (considere apenas horas inteiras, sem os minutos) e calcule a duração do jogo em horas, sabendo-se que o tempo máximo de duração do jogo é de 24 horas e que o jogo pode iniciar em um dia e terminar no dia seguinte. 
RESPOSTA
programa
{
	funcao inicio()
	{
		inteiro horainicio = 0,horafim = 0,duracao = 0
		escreva("Informe a hora de início do jogo de Xadrez (em horas):")
		leia(horainicio)
		escreva("Informe a hora de término do jogo de Xadrez (em horas):")
		leia(horafim)
		
		se(horainicio > horafim)
		{
			duracao = (24-horainicio)+horafim
		}
		senao
		{
			duracao = horafim - horainicio
		}
		escreva("Duração do jogo: ",duracao," horas.")
	}
}
27) A jornada de trabalho semanal de um funcionário é de 40 horas. O funcionário que trabalhar mais de 40 horas receberá hora extra, cujo cálculo é o valor da hora regular com um acréscimo de 50%.
Escreva um algoritmo que leia o número de horas trabalhadas em um mês, o salário por hora e escreva o salário total do funcionário, que deverá ser acrescido das horas extras, caso tenham sido trabalhadas (considere que o mês possua 4 semanas exatas).
RESPOSTA:
programa
{
	funcao inicio()
	{
		inteiro horas_trabalhadas = 0, qtde_horas_extras = 0, total_horas_mes_normal = 0
		real valor_hora = 0.0, salario_total = 0.0
		
		escreva("Informe o número de horas trabalhadas no mês: ")
		leia(horas_trabalhadas)
		
		escreva("Informe o salário por hora: R$")
		leia(valor_hora)
		total_horas_mes_normal = 40 * 4
		qtde_horas_extras = horas_trabalhadas - total_horas_mes_normal
				
		se (qtde_horas_extras <= 0)
		{
			salario_total = horas_trabalhadas * valor_hora
		}
		senao
		{
			salario_total = total_horas_mes_normal * valor_hora
			salario_total = salario_total + qtde_horas_extras * 1.5 * valor_hora
		}		
		escreva("salário total = R$ ",salario_total)
	}
}
28) Faça um algoritmo para ler: número da conta do cliente, saldo, débito e crédito. Após, calcular e escrever o saldo atual (saldo atual = saldo - débito + crédito). Também testar se saldo atual for maior ou igual a zero escrever a mensagem 'Saldo Positivo', senão escrever a mensagem 'Saldo Negativo'.
RESPOSTA:
programa
{
	funcao inicio()
	{
		inteiro numerodaconta = 0
		real saldo = 0.0, debito = 0.0, credito = 0.0, saldoatual = 0.0
		escreva("Numero da conta: ")
		leia(numerodaconta)
		escreva("Saldo: ")
		leia(saldo)
		escreva("Debito: ")
		leia(debito)
		escreva("Credito: ")
		leia(credito)
		
		saldoatual = saldo - debito + credito
		
		se (saldoatual>=0)
		{
			escreva("Saldo atual = R$ ",saldoatual," - Saldo Positivo")
		}
		senao
		{
			escreva("Saldo atual = R$ ",saldoatual," - Saldo Negativo")
		}
	}
}
29) Faça um algoritmo para ler: quantidade atual em estoque, quantidade máxima permitida em estoque e quantidade mínima permitido em estoque de um produto. Calcular e escrever o valor médio permitido em estoque ((quantidade média = quantidade máxima + quantidade mínima)/2). Se a quantidade atual em estoque for menor ou igual a quantidade média escrever a mensagem 'Efetuar a compra', senão escrever a mensagem 'Não efetuar compra'.
RESPOSTA:
programa
{
	funcao inicio()
	{
		inteiro quantimax = 0,quantimin = 0,quantiatual = 0
		real quantimedia = 0.0
		escreva("Informe a quantidade atual em estoque do produto: ")
		leia(quantiatual)
		escreva("Informe a quantidade máxima permitida em estoque do produto: ")
		leia(quantimax)
		escreva("Informe a quantidade mínima permitida em estoque do produto: ")
		leia(quantimin)
		
		quantimedia = (quantimax+quantimin)/2
		
		se (quantiatual>=quantimedia)
		{
			escreva("Efetuar compra")
		}
		senao
		{			
			escreva("Não efetuar compra")
		}
	}
}
30) Ler um valor e escrever se é par ou impar.
RESPOSTA
programa
{
	funcao inicio()
	{
		inteiro valor = 0
		escreva ("Digite um valor: ")
		leia(valor)
		se (valor % 2 == 0 )
		{
			escreva("VALOR É POSITIVO")
		}
		senao
		{
			escreva("VALOR É NEGATIVO")
		}
	}
}
31) Ler 3 valores (considere que não serão informados valores iguais) e escrever o maior deles.
RESPOSTA
programa
{
	funcao inicio()
	{
		inteiro valor1 = 0,valor2 = 0,valor3 = 0,MAIOR = 0
		escreva("Digite o Primeiro Valor: ")
		leia(valor1)
		escreva("Digite o Segundo Valor: ")
		leia(valor2)
		escreva("Digite o Terceiro Valor: ")
		leia(valor3)
		se (valor1 ==valor2 e valor2 == valor3)
		{
			escreva("TODOS OS VALORES SÃO IGUAIS")
		}
		senao
		{
			se (valor1 >= valor2 e valor1 >= valor3)
			{
				MAIOR = valor1
			}
			se (valor2 >= valor1 e valor2 >= valor3)
			{
				MAIOR = valor2
			}
			se (valor3 >= valor1 e valor3 >= valor2)
			{
				MAIOR = valor3
			}
			escreva("Maior é ",MAIOR)
		}				
	}
}
32) Ler dois valores e imprimir uma das três mensagens a seguir:
‘Números iguais’, caso os números sejam iguais
‘Primeiro é maior’, caso o primeiro seja maior que o segundo;
‘Segundo maior’, caso o segundo seja maior que o primeiro.
RESPOSTA
programa
{
	funcao inicio()
	{
		inteiro valor1 = 0,valor2 = 0
		escreva("Digite o Primeiro Valor: ")
		leia(valor1)
		escreva("Digite o Segundo Valor: ")
		leia(valor2)
		
		se (valor1==valor2)
		{
			escreva("Números iguais")
		}
		se (valor1>valor2)
		{
			escreva("Primeiro é maior")
		}
		se (valor2>valor1)
		{
			escreva("Segundo é maior")
		}
	}
}
33) Um posto está vendendo combustíveis com a seguinte tabela de descontos:
até 20 litros, desconto de 3% por litro Álcool
acima de 20 litros, desconto de 5% por litro
até 20 litros, desconto de 4% por litro Gasolina
acima de 20 litros, desconto de 6% por litro 
Escreva um algoritmo que leia o número de litros vendidos e o tipo de combustível (codificado da seguinte forma: A-álcool, G-gasolina), calcule e imprima o valor a ser pago pelo cliente sabendo-se que o preço do litro da gasolina é R$ 3,30 e o preço do litro do álcool é R$ 2,90.
REPOSTA
programa
{
	funcao inicio()
	{
		real litros,valor,desconto,valortotal,valorlitro, preco_gasolina, preco_alcool
		cadeia tipo
		escreva("Tipo do combustível (digite 'A', se Alcool ou 'G', se Gasolina):")
		leia (tipo)
		escreva("Informe a quantidade de litros comprada: ")
		leia(litros)
		
		preco_gasolina = 3.3
		preco_alcool = 2.9
		
		se (tipo == "A")
		{
			se (litros>20)
			{
				valorlitro = preco_alcool - (preco_alcool*0.05)				
			}
			senao
			{
				valorlitro = preco_alcool - (preco_alcool*0.03)				
			}
		}
		se (tipo == "G")
		{
			se (litros>20)
			{
				valorlitro = preco_gasolina - (preco_gasolina*0.06)				
			}
			senao
			{
				valorlitro = preco_gasolina - (preco_gasolina*0.04)				
			}
		}
		valortotal = litros*valorlitro
		escreva("valor total da compra: R$ ",valortotal)
	}
}
34) Uma fruteira está vendendo frutas com a seguinte tabela de preços:
	Fruta
	Até 5kg
	Acima de 5kg
	Morango
	R$ 2,50 por Kg
	R$ 2,20 por Kg
	Maçã
	R$ 1,80 por Kg
	1,50 por Kg
Se o cliente comprar mais de 8 Kg em frutas ou o valor total da compra ultrapassar R$ 25,00, receberá ainda um desconto de 10% sobre este total. Escreva um algoritmo para ler a quantidade (em Kg) de morangos e a quantidade (em Kg) de maças adquiridas e escreva o valor a ser pago pelo cliente.
RESPOSTA
programa
{
	funcao inicio()
	{
		real kgmorangos,kgmacas,valormorangos,valormacas,valortotal
		escreva("informe quantidade de morangos(em kilogramas): ")
		leia(kgmorangos)
		escreva("informe quantidade de maçãs(em kilogramas): ")
		leia(kgmacas)
		se (kgmorangos>5)
		{
			valormorangos = 2.20
		}
		senao
		{
			valormorangos = 2.50
		}
		se(kgmacas>5)
		{
			valormacas = 1.50
		}
		senao
		{
			valormacas = 1.80
		}
		valortotal = kgmorangos*valormorangos + kgmacas*valormacas
		
		se (((kgmorangos+kgmacas)>8) ou (valortotal>25))
		{
			valortotal = valortotal - valortotal*0.10
		}		
		escreva("Valor total da compra = R$ ",valortotal)
	}
}
35) Uma empresa quer verificar se um empregado está qualificado para a aposentadoria ou não. Para estar em condições, um dos seguintes requisitos deve ser satisfeito:
Ter no mínimo 65 anos de idade.
Ter trabalhado no mínimo 30 anos.
Ter no mínimo 60 anos e ter trabalhado no mínimo 25 anos.
Com base nas informações acima, faça um algoritmo que leia: o número do empregado (código), o ano de seu nascimento e o ano de seu ingresso na empresa. O programa deverá escrever a idade e o tempo de trabalho do empregado e a mensagem 'Requerer aposentadoria' ou 'Não requerer'.
RESPOSTA
programa
{
	funcao inicio()
	{
		inteiro codigo,anonascimento,anoingresso,idade,tempotrabalho
		escreva("informe seu código:")
		leia(codigo)
		escreva("informe seu ano de nascimento:")
		leia(anonascimento)
		escreva("informe o ano em que ingressou na empresa:")
		leia(anoingresso)
		
		idade=2015-anonascimento
		tempotrabalho = 2015 - anoingresso
		escreva("Idade: ",idade, " Tempo trabalhado: ",tempotrabalho,"\n")
		
		se (idade>=65 ou tempotrabalho>=30 ou (idade>=60 e tempotrabalho>=25))
		{
			escreva("Requerer Aposentadoria")
		}
		senao
		{
			escreva("Não Requerer")
		}
	}
}
III - Utilizando estruturas de repetição desenvolva os seguintes algoritmos:
36) Escreva um algoritmo para ler 2 valores e se o segundo valor informado for ZERO, deve ser lido um novo valor, ou seja, para o segundo valor não pode ser aceito o valor zero e imprimir o resultado da divisão do primeiro valor lido pelo segundo valor lido. Acrescentar uma mensagem de 'VALOR INVÁLIDO' caso o segundo valor informado seja ZERO.
RESPOSTA
programa
{
	funcao inicio()
	{
		real valor1 = 0.0, valor2 = 0.0, divisao = 0.0
		inteiro contador = 0
		escreva("Informe o Primeiro Valor:")
		leia(valor1)
		
		enquanto (valor2==0)
		{
			escreva("Informe o Segundo Valor:")
			leia(valor2)
			se (valor2 == 0)
			{
				escreva("VALOR INVÁLIDO, informe outro valor","\n")
			}
		}
		se (valor2 > 0)
		{
			divisao = valor1/valor2
			escreva("Resultado: ",divisao)
		}
	}
}
37) Faça um algoritmo que leia um conjunto de números (X) e imprima sua soma (Soma) e sua média (Media). Admita que o valor 9999 é utilizado como sentinela para fim de leitura.
Ex.: 1, 2, 3 => Soma=6 Media=2
RESPOSTA
programa
{
	funcao inicio()
	{
		real valor1,soma = 0.0, media = 0.0
		inteiro contador = 0
		valor1 = 0.0		
		enquanto(valor1!=9999)
		{
			escreva("Informe um valor :")
			leia(valor1)
			se (valor1!=9999)
			{
				contador = contador + 1
				soma = soma + valor1
			}			
		}
		se (contador > 0)
		{
			media = soma/contador
		escreva ("SOMA = ",soma," MÉDIA = ", media)
	}
	}
}
38) Faça um algoritmo que leia um conjunto de dados numéricos (X) e imprima o maior dentre eles. Admita que o valor 9999 é utilizado como sentinela.
Ex.: 1, 2, 3 => Maior=3
RESPOSTA
programa
{
	funcao inicio()
	{
		real valor1, maior 
		maior = -99999.0
		valor1 = 0.0		
		inteiro contador = 0
enquanto(valor1!=9999)
		{
			escreva("Informe um valor :")
			leia(valor1)
			se (valor1!=9999)
			{
				se (valor1 > maior)
				{
					maior = valor1
				}
				contador = contador + 1
			}			
		}
		se (contador > 0)
{
			escreva ("MAIOR = ",maior)
		}
	}
}
39) (DIFÍCIL) Faça um algoritmo que leia dois números inteiros positivos (Num1 e Num2) e imprima o quociente (Quoc) e o resto (Resto) da divisão de Num1 por Num2, utilizando apenas as operações de adição e subtração.
Ex.: N1=10; N2=2 => Q=5 R=0
RESPOSTA
programa
{
	funcao inicio()
	{		
		inteiro dividendo = 0, divisor = 0, resto = 0
		inteiro contador = 0
		
		escreva("Informe o Dividendo: ")
		leia(dividendo)
		escreva("Informe o Divisor: ")
		leia(divisor)
		resto = dividendo
		
		enquanto (resto >= divisor)
		{	
			resto = resto - divisor
			contador = contador + 1
		}		
		escreva("Resto: ",resto,"\n")
		escreva("Quociente: ",contador,"\n")
	}
}
40) Faça um algoritmo que leia um conjunto de números (X) e imprima a quantidade de números pares (QPares) e a quantidade de números impares (QImpares) lidos. Admita que o valor 9999 é utilizado como sentinela para fim de leitura.
Ex.: 1,2,3,4,5 => Pares=2 Impares=3
RESPOSTA
programa
{
	funcao inicio()
	{
		inteiro valor1, qpares = 0, qimpares = 0
		inteiro contador = 0
		valor1 = 0
		
		enquanto(valor1!=9999)
		{
			escreva("Informeum valor :")
			leia(valor1)
			se (valor1!=9999)
			{
				se (valor1 % 2 == 0)
				{
					qpares = qpares + 1
				}
				senao
				{
					qimpares = qimpares +1
				}
				contador = contador +1
			}			
		}
		se (contador > 0)
		{
		escreva ("Quantidade de pares = ",qpares," Quantidade de impares = ",qimpares)
	}
	}
}
41) Faça um algoritmo que calcule e imprime a soma dos inteiros de 1 a 10. Utilize uma estrutura de repetição para fazer um laço com as instruções de cálculo e incremento. O laço deve terminar quando o valor de x se tornar 11.
RESPOSTA
programa
{
	funcao inicio()
	{
		inteiro soma = 0
		para (inteiro x = 0; x <=10; x++)
		{
			soma = soma + x
		}		
		escreva ("A SOMA DOS INTEIROS DE 1 A 10 É = ",soma)
	}
}
42) Foi feita uma pesquisa com um grupo de alunos de uma universidade, na qual se perguntou para cada aluno o número de vezes que utilizou o restaurante da universidade no último mês. Admita que o valor 9999 é utilizado como sentinela para fim de leitura. Construa um algoritmo que determine:
a) O percentual de alunos que utilizaram menos que 10 vezes o restaurante;
b) O percentual de alunos que utilizaram entre 10 e 15 vezes;
c) O percentual de alunos que utilizaram o restaurante acima de 15 vezes.
Ex.: 2, 3, 11, 12, 21, 22, 23 = a) 28%; b) 28%; c) 42%
RESPOSTA
programa
{
	funcao inicio()
	{
		inteiro valor1, contador = 0
		real contadorMenorDez = 0.0, contadorMaiorQuinze =0.0, contadorEntreDezQuinze = 0.0
		
		valor1 = 0
		
		enquanto(valor1!=9999)
		{
			escreva("Informe Quantas Vezes Utilizou o Restaurante :")
			leia(valor1)
			se (valor1!=9999)
			{				
				se (valor1 > 15)
				{
					contadorMaiorQuinze = contadorMaiorQuinze + 1
				}
				senao
				{
					se (valor1 >=10)
					{
						contadorEntreDezQuinze = contadorEntreDezQuinze + 1
					}
					senao
					{
						contadorMenorDez = contadorMenorDez + 1
					}
				}
				contador = contador + 1
			}			
		}
se (contador > 0)
{
			escreva ("% menor que 10 vezes: ",contadorMenorDez/contador * 100,"\n")
		escreva ("% entre 10 e 15 vezes: ",contadorEntreDezQuinze/contador * 100,"\n")
			escreva ("% acima de 15 vezes: ", contadorMaiorQuinze/contador * 100,"\n")
		}
	}
}
43) Faça um algoritmo que calcule a média de salários de uma empresa, pedindo ao usuário o nome dos funcionários e os salários e devolvendo a média, o salário mais alto e o salário mais baixo. Use nome = “fim” para encerrar a leitura.
RESPOSTA
programa
{
	funcao inicio()
	{
		inteiro contador = 0
		real maior =0.0, menor = 0.0, salario = 0.0, soma = 0.0
		cadeia nome = ""
		//9) Faça um algoritmo que calcule a média de salários de uma empresa, 
		//pedindo ao usuário o nome dos funcionários e os salários e devolvendo a média, 
		//o salário mais alto e o salário mais baixo. Use nome = “fim” para encerrar a leitura.
		maior = -9999.0
		menor = 9999.0
	
		enquanto(nome!="fim")
		{
			escreva("Digite o nome :")
			leia(nome)
			se (nome!="fim")
			{	
				escreva("Digite o salário :")
				leia(salario)			
				
				se (salario > maior)
				{
					maior = salario
				}
				se (salario < menor)
				{
					menor = salario
				}
				soma = soma + salario
				contador = contador + 1
			}			
		}
		se (contador > 0)
		{
			escreva ("Media: ",soma / contador,"\n")
			escreva ("Maior: ",maior,"\n")
			escreva ("Menor: ",menor,"\n")
		}
	}
}
44) Faça um algoritmo que leia um número e divida-o por dois (sucessivamente) ate que o resultado seja menor que 1. Mostre o resultado da ultima divisão e a quantidade de divisões efetuadas.
RESPOSTA
programa
{
	funcao inicio()
	{
		inteiro numero
		inteiro contador = 0
		real resto
		escreva("Informe o Segundo Valor:")
		leia(numero)
		resto = numero
		enquanto (resto >= 1)
		{			
			resto = resto / 2
			contador = contador + 1
		}
		
		escreva("Resultado: ",resto,"\n")
		escreva("Contador: ",contador)
	}
}
IV - Utilizando Vetores e/ou modularização
45) Escreva um programa para ler um vetor A de 15 posições e imprimir seus elementos.
programa
{
	funcao inicio()
	{ 	
		inteiro vetor[15],i
		para(i=0;i<15;i++){
			leia(vetor[i])
		}
		
		para(i=0;i<15;i++){
			escreva(vetor[i]+" ")
		}
		
	}
}
46) Faça um algoritmo que solicite que o usuário informe valores para um vetor com 10 posições e, após, implemente uma função que retorne verdadeiro caso dentro deste vetor tenha algum número repetido.
programa
{
	funcao inicio()
	{
	
		inteiro vetor[15],i
		para(i=0;i<15;i++){
			leia(vetor[i])
		}
		
		para(i=0;i<15;i++){
			escreva(vetor[i]+" ")
		}
		
	}
}
47) Crie um algoritmo que imprima na tela os elementos de um vetor de 10 números inteiros na ordem inversa.
programa
{
	funcao inicio()
	{
	
		inteiro vetor[15],i
		para(i=0;i<15;i++){
			vetor[i] = i+1
		}
		para(i=14;i>=0;i--){
			escreva(vetor[i]+" ")
		}
		
	}
}
48) Escreva um programa para ler um vetor Y (inteiro), de tamanho N (N<=20), determinar e imprimir o maior e o menor elemento deste vetor.
programa
{
	funcao inicio()
	{
	
		
		
		inteiro vetor[20],i
		inteiro maior = 0
		inteiro menor =0
		
		
		para(i=0;i<20;i++){
			leia(vetor[i])		
		}
		maior = vetor[1]
		menor = vetor [1]
		
		para(i=0;i<20;i++){
			se(vetor[i] > maior){
				maior = vetor[i]
			}
			se(vetor[i] < menor){
				menor = vetor[i]
				
			}
		}
		escreva("Maior "+maior)
		escreva(" Menor "+menor)
		
	}
}
49) Escreva um programa para ler 5 elementos do vetor X de inteiros. Calcular e imprimir a soma dos elementos impares. Supor que o vetor poderá não ter nenhum elementos com esta propriedade e neste caso, mostrar mensagem.
programa
{
	funcao inicio()
	{
	
		
		
		inteiro vetor[5],i
		inteiro soma_impares = 0
		
		
		para(i=0;i<5;i++){
			leia(vetor[i])		
		}
		para(i=0;i<5;i++){
			se(vetor[i] % 2 != 0)		{
				soma_impares = soma_impares + vetor[i]
			}
		}
		se(soma_impares == 0){
			escreva(" nao foram digitados numeros impares")
		}senao{
			escreva(" Soma: "+soma_impares)
		}
	
		
	}
}
50) Escreva um programa para ler 5 elementos do vetor X de inteiros. Criar e imprimir um novo vetor Y tal que seja formado pelos elementos pares do vetor X lido. Supor que o vetor poderá não ter nenhum elemento com esta propriedade e neste caso, mostrar mensagem.
programa
{
	funcao inicio()
	{
	
		
		
		inteiro vetor[5],i,vetor_pares[5]
		logico existe_par = falso
		
		
		para(i=0;i<5;i++){
			leia(vetor[i])		
			vetor_pares[i] = 0
		}
		para(i=0;i<5;i++){
			se(vetor[i] % 2 == 0)		{
				vetor_pares[i] = vetor[i]
				existe_par = verdadeiro
			}
		}
		se(existe_par){
			para(i=0;i<5;i++){
				se(vetor_pares[i] != 0)
					escreva(vetor_pares[i]+" ")		
			}
		}senao{
			escreva(" nao foram digitados numeros pares")
		}
	
		
	}
}
51) Escreva um programa para ler dois vetores A e B, A de 5 elementos e B de 8 elementos, intercalar A e B gerando e imprimindo o vetor C.
programa
{
	funcao inicio()
	{
	
		
		
		inteiro vetorA[5],i,a=0,b=0,vetorB[8],vetorC[8]
		logico existe_par = falso
		
		escreva("Vetor A")
		para(i=0;i<5;i++){
			leia(vetorA[i])		
		}
		escreva("Vetor B")
		para(i=0;i<8;i++){
			leia(vetorB[i])		
		}
		para(i=0;i<8;i++){
			se(i==0 ou i==2 ou i==4){
				vetorC[i] = vetorA[a]
				a++
			}senao{
				vetorC[i] = vetorB[b]
				b++
			}
		}
		para(i=0;i<8;i++){
			escreva(vetorC[i]+" ")		
		}
	
	
		
	}
}
52) Escreva um programa para ler um vetor RTde número binário de no máximo 8 elementos (0 e 1 obrigatoriamente). O programa deve converte o número binário para decimal.
programa
{
	funcao inicio()
	{
	
		
		inteiro binario[8],i,num=3,decimal =0
		
	
		para(i=0;i<8;i++){
			
			escreva("Digite 0 ou 1: ")
			enquanto(num!=0 e num!=1){
				leia(num)
				binario[i] = num
			}
			num = 3
		}
		para(i=0;i<8;i++){
			
			decimal = decimal + (2^(i+1) * binario[i])
			
		}
		escreva(" "+decimal)
	}
}
V - Utilizando Arquivos
53) Foi feita uma pesquisa entre os habitantes de uma região e os seguintes dados foram coletados: idade, sexo (M/F) e salário. Cada um destes dados foi armazenado em arquivos diferentes conforme detalhado abaixo:
	1 -arquivo idade.txt
18
33
48
18
59
40
	2 - arquivo sexo.txt
F
M
M
F
M
M
	3 - arquivo salario.txt
1200
1800
790
2500
4800
2300
Faça um algoritmo que informa:
a)	A média de salário do grupo
programa
{
	inclua biblioteca Arquivos
	inclua biblioteca Tipos
	funcao inicio()
	{ 	
		cadeia linha
		inteiro arquivo,contador=0,acumulador=0,media,numero=0
		arquivo = Arquivos.abrir_arquivo("C:/Users/Desktop/Nova Pasta/salario.txt",Arquivos.MODO_LEITURA)
		linha = Arquivos.ler_linha(arquivo)
		contador++
		enquanto(linha!=""){
			numero = Tipos.cadeia_para_inteiro(linha,numero)
			acumulador = acumulador + numero	
		}
		media = acumulador /contador
		escreva("Media ="+media)
		
	}
} 
b)	Maior e menor idade do grupo
programa
{
	inclua biblioteca Arquivos
	inclua biblioteca Tipos
	funcao inicio()
	{ 	
		cadeia linha
		inteiro arquivo,maior,numero=0
		arquivo = Arquivos.abrir_arquivo("C:/Users/Desktop/Nova Pasta/salario.txt",Arquivos.MODO_LEITURA)
		linha = Arquivos.ler_linha(arquivo)
		numero = Tipos.cadeia_para_inteiro(linha,numero)
		maior = Tipos.cadeia_para_inteiro(linha,numero)
		enquanto(linha!=""){
			numero = Tipos.cadeia_para_inteiro(linha,numero)
			se(numero > maior){
				maior = numero
			}
		}
		
		escreva("Maior ="+maior)
		
	}
} 
c)	Quantidade de homens
programa
{
	inclua biblioteca Arquivos
	inclua biblioteca Tipos
	funcao inicio()
	{ 	
		cadeia linha
		inteiro arquivo,num_homens=0
		arquivo = Arquivos.abrir_arquivo("C:/Users/Desktop/Nova Pasta/sexo.txt",Arquivos.MODO_LEITURA)
		linha = Arquivos.ler_linha(arquivo)
		enquanto(linha!=""){
			se(linha == "M"){
				num_homens++
			}
		}
		
		escreva("Qtd Homens = "+num_homens)
		
	}
}
Dica.: infelizmente no Portugol Studio você deve criar um arquivo para cada informação (idade, sexo e salário) pois ele ainda não possui uma função para dividir um string em um vetor.
54) Elabore um programa para verificar que produtos precisam ser comprados e a quantidade a ser adquirida tendo as seguintes informações (arquivos):
	1-arquivo produto.txt
Arroz
Feijão
Sal
Açúcar
Macarrão
Farinha
	2-arquivo qtdmin.txt
10
20
30
40
10
8
	3-arquivo qtdest.txt
40
5
32
38
8
15
Um produto somente deverá ser comprado quando: a quantidade em estoque for menor ou
igual a quantidade mínima:
 QTCOMPRAR = (QTDMAX – QTDEST)
Grave em outro arquivo: Produto e Quantidade a Comprar
Dica.: infelizmente no Portugol Studio você deve criar um arquivo para cada informação (idade, sexo e salário) pois ele ainda não possui uma função para dividir um string em um vetor.
programa
{
	inclua biblioteca Arquivos
	inclua biblioteca Tipos
	funcao inicio()
	{
	
		cadeia produto[6]
		inteiro arquivo[3],num_homens=0,i,j,qtdmin[6],qtdest[6]
		arquivo[0] = Arquivos.abrir_arquivo("C:/Users/Desktop/Nova Pasta/ produto.txt", Arquivos.MODO_LEITURA)
		arquivo[1] = Arquivos.abrir_arquivo("C:/Users/Desktop/Nova Pasta/qtdmin.txt", Arquivos.MODO_LEITURA)
		arquivo[2] = Arquivos.abrir_arquivo("C:/Users/Desktop/Nova Pasta/qtdest.txt", Arquivos.MODO_LEITURA)
	
		arquivo[3] = Arquivos.abrir_arquivo("C:/Users/Desktop/Nova Pasta/qtdcompra.txt", Arquivos.MODO_LEITURA)	
		para(i=0;i<6;i++){
			produto[i] = Arquivos.ler_linha(arquivo[0])
			qtdmin[i] = Tipos.cadeia_para_inteiro(Arquivos.ler_linha(arquivo[1]),qtdmin[i])
			qtdest[i] = Tipos.cadeia_para_inteiro(Arquivos.ler_linha(arquivo[2]),qtdmin[i])
			se((qtdest[i] - qtdmin[i]) <0){
				Arquivos.escrever_linha(produto[i] + (qtdmin[i]-qtdest[i]), arquivo[3])
			}
			
		}
	
		escreva("Qtd Homens = "+num_homens)
		
	}
}
�PAGE�1� / �NUMPAGES�19�

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes