Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carla Sin

Criação de algoritmo

Recommended Posts

Elabore um algoritmo que armazene o comprimento de 6 aeronaves em metros e apresente somente os 3 maiores em ordem decrescente. Ahhh pode fazer só o rascunho que vou entender,pois, sei que é uma questão meio grandinha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá uma olhada neste algoritmo:

 

algoritmo "Ordenar"// Função : Ordenar números inteiros e/ou decimais// Autor :  Vergil// Data : 04/04/2007// Seção de Declarações var   comprimento : vetor[1..6] de real   valor : real   contar, contar2 : inteiroinicio	  // Leitura dos dados	  para contar <- 1 ate 6 faca			escreva("Informe o comprimento da nave: ")			leia(comprimento[contar])	  fimpara	  // Ordenar valores	  para contar <- 2 ate 6 faca		   para contar2 <- 1 ate contar faca				se comprimento[contar2] < comprimento[contar] entao				   valor <- comprimento[contar2]				   comprimento[contar2] <- comprimento[contar]				   comprimento[contar] <- valor				fimse		   fimpara	  fimpara	  	  // Exibir valores	  para contar <- 1 ate 6 faca		   escreval("comprimento da ", contar, " aeronave: ", comprimento[contar])	  fimparafimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ficou ótimo, só tem um defeito... você disse que o programa tem que processar a metragem e mostrar na forma decrescente a metragem de somente as três aeronaves maiores... Então faça o seguinte, mude seu contador limitado de 6 para 3 na saída, assim ele vai lhe mostrar as três maiores em formato decrescente... Mais fora isso sua lógica ficou perfeita...

Parabéns, nem precisou da minha pessoa heim? já está fera no negócio, http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

 

Seu código-->

 

// Exibir valores	  para contar <- 1 ate 6 faca		   escreval("comprimento da ", contar, " aeronave: ", comprimento[contar])	  fimpara

Agora ess foi o que modifiquei, mudeu seu contador limitado para três como du disse na resposta acima

 

// Exibir valores	  para contar := 1 ate 3 faca		   escreval("comprimento da ", contar, " aeronave: ", comprimento[contar])	  fimpara

 

Tenho uma dica pra você... você conhece o compilador VisuALg? Ele compila seus algorítmos, você vê o programinha rodando, eu compilei o seu aqui e achei o máximo...

Ele roda o programa mesmo escrito em Portugol...

Esse programinha ajuda demais a quem está começando agora, pois muitas faculdades ensinam lógica de programação só no canetão, e o aluno não se intereça tanto, mais quando ele vê o sisteminha rodando, se impolpa...

Baixe ele por esse link abaixo...

Download do visualg

 

Depois me fala o que você achou, hehehe http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Sugiro que coloque ele compilar em DOS

 

Cole esse código no visualg e veja seu programa rodando... hehehe

 

algoritmo "Ordenar"// Função : Ordenar números inteiros e/ou decimais// Autor :  Vergil// Data : 04/04/2007// Seção de Declaraçõesvar   comprimento : vetor[1..6] de real   valor : real   contar, contar2 : inteiroinicio	  // Leitura dos dados	  para contar := 1 ate 6 faca			escreva("Informe o comprimento da nave: ")			leia(comprimento[contar])	  fimpara	  // Ordenar valores	  para contar := 2 ate 6 faca		   para contar2 := 1 ate contar faca				se comprimento[contar2] < comprimento[contar] entao				   valor := comprimento[contar2]				   comprimento[contar2] := comprimento[contar]				   comprimento[contar] := valor				fimse		   fimpara	  fimpara	  // Exibir valores	  para contar := 1 ate 3 faca		   escreval("comprimento da ", contar, " aeronave: ", comprimento[contar])	  fimparafimalgoritmo

 

 

Abraços

 

 

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

o algoritmo só pode ser em portugol e só posso usar o "se e escolha" Muito obrigada a todos que me ajudaram mas agora eu vou dar uma abusadinha. Diculpa mas preciso de mais ajuda, até pq num quero passar por loira burra. Quem puder please huaauhau. :rolleyes:

Questão 1

 

1. Desenvolver um algoritmo com as opções de calcular e apresentar o volume e a área de superfície de um cone reto, um cilindro ou uma esfera. O programa deverá ler a opção da figura desejada (cone/ci1indro/esfera) e de acordo com a opção escolhida, calcular o volume e a área de superfície da figura informada. Respeite as fórmulas:

• Cone Reto volume = piR2H/3 e A=pi R(R2+H2);

• Cilindro volume = piR2H e A=2piRH;

• Esfera volume = 4/3piR3 e A=4piR2.

 

22. Uma pessoa com pouco tempo disponível lê um livro por 5 minutos a cada dia, X dias por semana. Monte a fórmula e elabore um algoritmo que calcule e mostre quanto tempo, em horas, a pessoa terá dedicado à leitura de um livro ao final de um ano.

 

3. Elabore um algoritmo que armazene o comprimento de 6 aeronaves em metros e apresente somente os 3 maiores em ordem decrescente.

Esse eu já comecei mas não cosegui fazer com que apresente os três maiores.

 

var

a1,a2,a3,a4,a5,a6 : real

 

inicio

escreva ("Metragem do avião 1 ")

leia (a1)

escreva ("Metragem do avião 2 ")

leia (a2)

escreva ("Metragem do avião 3 ")

leia (a3)

escreva ("Metragem do avião 4 ")

leia (a4)

escreva ("Metragem do avião 5 ")

leia (a5)

escreva ("Metragem do avião 6 ")

leia (a6)

 

se ((a1>a2)e(a1>a3)e(a1>a4)e(a1>a5)e(a1>a6)) entao

escreva ("O maior avião é o 1- ",a1)

fimse

se ((a2>a1)e(a2>a3)e(a2>a4)e(a2>a5)e(a2>a6)) entao

escreva ("O maior avião é o 2- ",a2)

fimse

se ((a3>a1)e(a3>a2)e(a3>a4)e(a3>a5)e(a3>a6)) entao

escreva ("O maior aviãoo é o 3- ",a3)

fimse

se ((a4>a1)e(a4>a2)e(a4>a3)e(a4>a5)e(a4>a6)) entao

escreva ("O maior avião é o 4- ",a4)

fimse

se ((a5>a1)e(a5>a2)e(a5>a3)e(a5>a4)e(a5>a6)) entao

escreva ("O maior avião é o 5- ",a5)

fimse

se ((a6>a1)e(a6>a2)e(a6>a3)e(a6>a4)e(a6>a5)) entao

escreva ("O maior avião é o 6- ",a6)

fimse

 

4. Faça um algoritmo que determine a data cronologicamente maior entre duas datas informadas pelo usuário. Essas datas só podem ser informadas por meio de valores inteiros.

Esse tem algum erro que eu não encontrei

var

d1,m1,a1,d2,m2,a2,maior:inteiro

inicio

// sessão de Comandos

escreval("Escreva a primeira data, mês e ano")

leia(d1)

leia(m1)

leia(a1)

escreval("Escreva a segunda data, mês e ano")

leia(d2)

leia(m2)

leia(a2)

se (d1>d2) e (m1>m2) e (a1>a2)entao

maior <-d1,m1,a1

fimse

se (d2>d1) e (m2>m1) e (a2>a1) entao

maior <-d2,m2,a2

fimse

 

 

escreval("A maior data cronologicamente é ", maior)

 

5.5. Numa fábrica de peças, o salário base de um operário da linha de fabricação é de R$ 240,00. Além do salário base, o operário tem um adicional de produtividade baseado na quantidade de peças que ele fabrica por mês que é pago segundo o seguinte critério:

• Se o número de peças é inferior ou igual 500, não existe adicional de produtividade;

• Se o número de peças é superior a 500 e inferior ou igual a 750, o adicional de produtividade será de R$ 0,50 por peça fabricada acima de 500;

• Se o número de peças for superior a 750, o adicional de produtividade será de R$ 0,75 por peça fabricada acima das 750.

Desenvolva um algoritmo que permita entrar com o número de peças fabricadas por um operário e imprima seu salário.

 

6.6. Elabore um algoritmo que a partir de uma data informada pelo usuário, no formato dia, mês e ano, apresente a quantidade de dias decorridos do ano informado (diferença entre a data fornecida e o primeiro dia do ano fornecido). Caso a data fornecida seja inválida, o usuário deverá ser somente notificado desta irregularidade. Sendo os valores válidos um cálculo deverá ser realizado verificando se o ano é bissexto. Esta verificação deverá acontecer por meio da análise proposta pelo calendário gregoriano (fórmula atual para ano bissexto), que indica que um ano é bissexto se for divisível por 4 e não for divisível por 100, ou também se for divisível por 400.

 

Exemplo:

dia 05 do mês de março do ano de 1999 <- 64 dias decorridos de ano não bissexto.

dia 05 do mês de março do ano de 2000 <- 65 dias decorridos de ano bissexto.

 

Esse eu também comecei

var

dia,mes,ano:inteiro

ano1,anobis,diat:inteiro

inicio

// Sessão de Comandos

escreval("informe um dia, mes, ano")

leia(dia)

leia(mes)

leia(ano)

 

ano1<-365

anobis<-366

 

se (ano mod 4=0) entao

escolha(mes)

caso 01

diat<-(dia)

caso 02

diat<-(31+dia)

caso 03

diat<-(31+29+dia)

caso 04

diat<-(31+29+30+dia)

caso 05

diat<-(31+29+31+30+dia)

caso 06

diat<-(31+29+31+30+31+dia)

caso 07

diat<-(31+29+31+30+31+30+dia)

caso 08

diat<-(31+29+31+30+31+30+31+dia)

caso 09

diat<-(31+29+31+30+31+30+31+31+dia)

caso 10

diat<-(31+29+31+30+31+30+31+31+30+dia)

caso 11

diat<-(31+29+31+30+31+30+31+31+30+31+dia)

caso 12

diat<-(31+29+31+30+31+30+31+31+30+31+30+dia)

 

fimescolha

 

escreval("o número de dias é",diat)

 

fimse

 

se (ano mod 4<>0) entao

escolha(mes)

caso 01

diat<-(dia)

caso 02

diat<-(31+dia)

caso 03

diat<-(31+28+dia)

caso 04

diat<-(31+28+30+dia)

caso 05

diat<-(31+28+31+30+dia)

caso 06

diat<-(31+28+31+30+31+dia)

caso 07

diat<-(31+28+31+30+31+30+dia)

caso 08

diat<-(31+28+31+30+31+30+31+dia)

caso 09

diat<-(31+28+31+30+31+30+31+31+dia)

caso 10

diat<-(31+28+31+30+31+30+31+31+30+dia)

caso 11

diat<-(31+28+31+30+31+30+31+31+30+31+dia)

caso 12

diat<-(31+28+31+30+31+30+31+31+30+31+30+dia)

 

fimescolha

 

escreval("o número de dias é",diat)

 

77. Você foi contratado para descobrir a quantas anda o peso dos seus amigos de turma. Elabore um algoritmo que apresente a matricula e o peso do aluno(a) mais gordo(a), além da média do peso de todos os alunos em quilogramas. Será fornecido ao algoritmo a quantidade de alunos e para cada um o seu peso em gramas e a sua matrícula.

 

88. Desenvolver um algoritmo para calcular a conta de água para a CAESB. O custo da água varia de acordo com o tipo de consumidor (residencial, comercial ou industrial). O cálculo obedece as seguintes regras:

 Residencial: R$5,00 de taxa mais R$0,05 por m3 gastos;

 Comercial: R$500,00 para os primeiros 80 m3 gastos mais R$ 0,03 por m3 gasto excedendo os 80 m3;

 Industrial: R$800,00 para os primeiros 100 m3 gastos mais R$ 0,04 por m3 gasto excedendo os 100 m3.

 

O algoritmo deverá ler a conta do cliente, o tipo de consumidor e o consumo de água por metros cubos. Como resultado apresente a conta do cliente e o valor a ser pago pelo mesmo em real.

 

 

9.10. Faça um algoritmo que apresente o menu de opções a seguir e permita ao usuário escolher a opção desejada, mostrando o seu resultado final. Verifique a possibilidade de opção inválida ou inexistente.

 

Menu de Opções

1- Imposto

2- Novo salário

3- Classificação

 

A primeira opção deverá receber o salário de um funcionário, calcular e apresentar o valor do imposto usando a seguinte regra:

 

SALÁRIOS PERCENTUAL DO IMPOSTO

Menor que R$ 500,00 5

De R$ 500,00 a R$ 850,00 10

Acima de R$ 850,00 15

 

A segunda opção deverá receber o salário de um funcionário, calcular e mostrar o valor do novo salário, usando as regras a seguir:

 

SALÁRIO AUMENTO (em R$)

Maiores que R$ 1500,00 25,00

De R$ 750,00 a R$ 1500,00

(inclusive os valores) 50,00

De R$ 450,00 (inclusive) a R$ 750,00 75,00

Menores que R$ 450,00 100,00

 

A terceira opção irá receber o salário de um funcionário e mostra a sua classificação usando a relação a seguir:

 

SALÁRIO CLASSIFICAÇÃO

Até R$ 700,00 (inclusive) Mal remunerado

Maiores que R$ 700,00 Bem remunerado

 

 

É isso se vcs puderem me ajudar eu agradeço a todos de uma menina dedesperada pra entregar essa lista na segunda. E ainda vou ter prova disso na segunda. Me ajudem beijos...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa, quanta coisa, hehehe :rolleyes: Olha, vou lhe ajudar, vou fazer aqui e posto pra você...Mais digo uma coisa, não quero resolver tudo pra você, pois terás que aprender, e para o mesmo, só existe uma coisa, treinar...Mais estou vendo que você está se dedicando e até está postando alguns algorítmos que está fazendo, admiro isso e continue assim...Vou lhe ajudar...AbraçosPaulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.