algoritmo "Lista"
var
nome: vetor [1..60] de literal
conceito: vetor [1..60] de real
mat: vetor [1..60,1..3] de literal
i: inteiro
Inicio
i <- 1
Repita
Escreva("Informe o Nome ",i, " : ")
Leia(nome[i])
Se(nome<>"fim")entao
mat[i,1] <- nome[i]
Escreva("Conceito (0-4): ")
Leia(conceito[i])
Enquanto (conceito[i] < 0) ou (conceito[i] > 4) FACA
Escreval("O conceito deve estar entre 0 e 4.")
Escreva("Conceito (0-4): ")
Leia(conceito[i])
Fimenquanto
mat[i,2] <- conceito[i]
Se(conceito[i]>0)entao
mat[i,3] <- "Aprovado"
Senao
mat[i,3] <- "Reprovado"
Fimse
Fimse
i <- i + 1
Ate(nome[i]= "fim") ou (i > 60)
Fimalgoritmo
blog com objetivo de mostrar atividades e exercicios realizados nas materias de Algoritmos e Funtamentos da Computação FATEC ID
Mostrando postagens com marcador Algoritmos. Mostrar todas as postagens
Mostrando postagens com marcador Algoritmos. Mostrar todas as postagens
sexta-feira, 10 de dezembro de 2010
6)Escreva algoritmo que leia os nomes e conceitos dos alunos de uma turma de tamanho máximo 60. O algoritmo deverá, para todos os alunos lidos, colocar em uma matriz o nome do aluno na primeira coluna e sua situação na segunda coluna: "aprovado", se o conceito do aluno for superior a 0; "reprovado" caso contrário. Os conceitos vão de 0 a 4, estando reprovados os alunos cujo conceito é o 0. O algoritmo pára de ler quando o nome informado for "fim" ou tenham sido lidos o nome e o conceito de 60 alunos (tamanho máximo da turma)
5) algoritmo que leia caracteres em dois vetores vetA e vetB, de cinco posições.
Após os dois vetores terem sido lidos, o algoritmo deverá colocar em um terceiro vetor vetC a diferença dos dois primeiro, i.e., os caracteres que estão contido em vetA e não estão contido em vetV. Por exemplo, se
vetA = { “A”, “E”, “F”, “6“,“?”}
e
vetB = { “F”, “3”, “?”, “F“,“H”,“E”}
então
vetC = { “A”,“6“}
algoritmo “Seleção”
var
vetA: vetor [1..5] de caracter
vetB: vetor[1..5] de caracter
vetC: vetor[1..5] de caracter
i,j,l: inteiro
inicio
para i de 1 ate 5 faca
escreva(“Digite o”,(i),” elemento do conjunto A: “)
leia(vetA[i])
fimpara
para j de 1 ate 5 faca
escreva(“Digite o”,(j),” elemento do conjunto B: “)
leia(vetB[j])
fimpara
i<-1
j<-1
l<-1
repita
se (vetA[i]<>vetB[j])entao
vetC[l]<-vetA[i]
escreval(vetC[l])
fimse
i<-i+1
ate(i=5)
fimalgoritmo
vetA = { “A”, “E”, “F”, “6“,“?”}
e
vetB = { “F”, “3”, “?”, “F“,“H”,“E”}
então
vetC = { “A”,“6“}
algoritmo “Seleção”
var
vetA: vetor [1..5] de caracter
vetB: vetor[1..5] de caracter
vetC: vetor[1..5] de caracter
i,j,l: inteiro
inicio
para i de 1 ate 5 faca
escreva(“Digite o”,(i),” elemento do conjunto A: “)
leia(vetA[i])
fimpara
para j de 1 ate 5 faca
escreva(“Digite o”,(j),” elemento do conjunto B: “)
leia(vetB[j])
fimpara
i<-1
j<-1
l<-1
repita
se (vetA[i]<>vetB[j])entao
vetC[l]<-vetA[i]
escreval(vetC[l])
fimse
i<-i+1
ate(i=5)
fimalgoritmo
4) Escreva um algoritmo que leia caracteres em dois vetores vetA e vetB, de cinco posições.
Após os dois vetores terem sido lidos, o algoritmo deverá colocar em um terceiro vetor vetC o resultado da união dos dois primeiros, i.e., os caracteres que estão contidos em um ou outro vetor. Assuma que em um mesmo vetor não haverá caracteres repetidos, mas uma caracter contido em vetA poderá também estar contido em vetB. Nesse caso, apenas uma ocorrência é colocada em vetC. Por exemplo, se
vetA = { “A”, “E”, “F”, “6“,“?”}
e
vetB = { “F”, “3”, “?”, “F“,“H”,“E”}
então
vetC = { “A”, “E”, “F”, “6“,“?”,”E”,“H”}
algoritmo “Conjunto”
var
vetA,vetB: vetor [1..5] de literal
vetC: vetor [1..10] de literal
i,j,k: inteiro
log: logico
inicio
escreva(“Elementos do conjunto A”)
para i de 1 ate 5 faca
escreva(“Digite o “,i,”o elemento de A: “)
leia(vetA[i])
fimpara
escreval(“Elementos do conjunto B”)
para i de 1 ate 5 faca
escreva(“Digite o “,i, “o elemento de B: “)
leia(vetB[i])
fimpara
k<-1
para i de 1 ate 5 faca
log <- FALSO
para j de 1 ate 5 faca
se (vetA[i]=vetA[j]) entao
se(i>j) entao
log <- VERDADEIRO
fimse
fimse
se (vetA[i]=vetB[j]) entao
log <- VERDADEIRO
fimse
fimpara
se (log=FALSO) entao
vetC[k] <- vetA[i]
k <- k + 1
fimse
fimpara
para i de 1 ate 5 faca
log<- FALSO
para j de 1 ate 5 faca
se (vetB[i]=vetA[j]) entao
log <- VERDADEIRO
fimse
se (vetB[i]=vetB[j]) entao
se(i > j) entao
log <- VERDADEIRO
fimse
fimse
fimpara
se (log=FALSO) entao
vetC[k] <- vetB[i]
k <- k + 1
fimse
fimpara
fimalgoritmo
vetA = { “A”, “E”, “F”, “6“,“?”}
e
vetB = { “F”, “3”, “?”, “F“,“H”,“E”}
então
vetC = { “A”, “E”, “F”, “6“,“?”,”E”,“H”}
algoritmo “Conjunto”
var
vetA,vetB: vetor [1..5] de literal
vetC: vetor [1..10] de literal
i,j,k: inteiro
log: logico
inicio
escreva(“Elementos do conjunto A”)
para i de 1 ate 5 faca
escreva(“Digite o “,i,”o elemento de A: “)
leia(vetA[i])
fimpara
escreval(“Elementos do conjunto B”)
para i de 1 ate 5 faca
escreva(“Digite o “,i, “o elemento de B: “)
leia(vetB[i])
fimpara
k<-1
para i de 1 ate 5 faca
log <- FALSO
para j de 1 ate 5 faca
se (vetA[i]=vetA[j]) entao
se(i>j) entao
log <- VERDADEIRO
fimse
fimse
se (vetA[i]=vetB[j]) entao
log <- VERDADEIRO
fimse
fimpara
se (log=FALSO) entao
vetC[k] <- vetA[i]
k <- k + 1
fimse
fimpara
para i de 1 ate 5 faca
log<- FALSO
para j de 1 ate 5 faca
se (vetB[i]=vetA[j]) entao
log <- VERDADEIRO
fimse
se (vetB[i]=vetB[j]) entao
se(i > j) entao
log <- VERDADEIRO
fimse
fimse
fimpara
se (log=FALSO) entao
vetC[k] <- vetB[i]
k <- k + 1
fimse
fimpara
fimalgoritmo
5-3) Seja o seguinte algoritmo:
algoritmo “semnome”
var
veta: vetor[1..5] de literal
vetb: vetor[1..5] de literal
vetc: vetor[1..5] de literal
i, j, k : inteiro
achou:logico
inicio
i <- 1
repita
escreva(“Entre com”, i, “o elemento do vetor A: “)
leia(veta [i])
escreva(“Entre com”, i, “o elemento do vetor B: “)
leia(vetb[i])
i<-i + 1
ate (i>5)
i <-1
repita
vetc[i] <- “”
i<-i + 1
ate (i > 5)
i<-1
k<-1
repita
j<-1
achou<-FALSO
repita
se (veta[i]=vetb[i]) entao
vetc[k] <- veta[i]
escreval(vetc[k])
k<-k+1
achou<-VERDADEIRO
fimse
j <- j+1
ate (j>5) ou (achou)
i <-i+1
ate (i>5)
fimalgoritmo
Determine o conteúdo final de vetC, mostrando o teste de mesa completo utilizado para tal,
supondo que os valores lido foram “k”, “d”, “j”, “s”, “d”, “k”, “s”, “j”, “h” e “m”, nessa ordem.
RESPOSTA: achou= falso
var
veta: vetor[1..5] de literal
vetb: vetor[1..5] de literal
vetc: vetor[1..5] de literal
i, j, k : inteiro
achou:logico
inicio
i <- 1
repita
escreva(“Entre com”, i, “o elemento do vetor A: “)
leia(veta [i])
escreva(“Entre com”, i, “o elemento do vetor B: “)
leia(vetb[i])
i<-i + 1
ate (i>5)
i <-1
repita
vetc[i] <- “”
i<-i + 1
ate (i > 5)
i<-1
k<-1
repita
j<-1
achou<-FALSO
repita
se (veta[i]=vetb[i]) entao
vetc[k] <- veta[i]
escreval(vetc[k])
k<-k+1
achou<-VERDADEIRO
fimse
j <- j+1
ate (j>5) ou (achou)
i <-i+1
ate (i>5)
fimalgoritmo
Determine o conteúdo final de vetC, mostrando o teste de mesa completo utilizado para tal,
supondo que os valores lido foram “k”, “d”, “j”, “s”, “d”, “k”, “s”, “j”, “h” e “m”, nessa ordem.
RESPOSTA: achou= falso
5-2) Escreva um algoritmo que leia o nome dos alunos de uma turma de tamanho indefinido
(mas não superior a 60) e sua nota em uma prova (0 a 10; o algoritmo deve verificar se a nota fornecida é válida). O algoritmo pára de ler quando o nome do aluno fornecido for vazio (“”). Para cada aluno, o algoritmo deve escrever seu nome e sua nota normalizada, dada pela fórmula: NNi = Ni X 10/Nmax (5.5)
Onde NNi é a nota normalizada do i-ésimo aluno, Ni é sua nota original, e Nmax é a nota máxima obtida dentre todos os alunos da turma.
algoritmo “Nota normalizada”
var
nome:vetor[1..60] de literal
nota:vetor[1..60] de real
nn:vetor[1..60] de real
i,j:inteiro
maior:real
inicio
i<-1
j<-0
maior<-0
escreva(“Digite o nome do aluno: “)
leia(nome[i])
repita
j<-j+1
escreva(“Digite a nota: “)
leia(nota[i])
se(nota[i]>=0)e(nota[i]<=10)entao
se(nota[i]>maior)entao
maior<-nota[i]
fimse
senao
escreval(“Nota inválida.”)
fimse
i<-i+1
escreva(“Digite o nome do aluno: “)
leia(nome[i])
ate(nome[i]=”")
para i de 1 ate j faca
nn[i]<-nota[i]*10/maior
escreval(nome[i],”:”,nn[i])
fimpara
fimalgoritmo
Onde NNi é a nota normalizada do i-ésimo aluno, Ni é sua nota original, e Nmax é a nota máxima obtida dentre todos os alunos da turma.
algoritmo “Nota normalizada”
var
nome:vetor[1..60] de literal
nota:vetor[1..60] de real
nn:vetor[1..60] de real
i,j:inteiro
maior:real
inicio
i<-1
j<-0
maior<-0
escreva(“Digite o nome do aluno: “)
leia(nome[i])
repita
j<-j+1
escreva(“Digite a nota: “)
leia(nota[i])
se(nota[i]>=0)e(nota[i]<=10)entao
se(nota[i]>maior)entao
maior<-nota[i]
fimse
senao
escreval(“Nota inválida.”)
fimse
i<-i+1
escreva(“Digite o nome do aluno: “)
leia(nome[i])
ate(nome[i]=”")
para i de 1 ate j faca
nn[i]<-nota[i]*10/maior
escreval(nome[i],”:”,nn[i])
fimpara
fimalgoritmo
5-1)Escreva um algoritmo que calcule e coloque em um vetor os números de 1 a n cuja raiz quadrada é um número inteiro ímpar. Por exemplo, 1, 9, 25, 49,…O valor de n deve ser lido, sendo que n ≤1000.
algoritmo “Raiz quadrada”
var
x: vetor [1..1000] de inteiro
n,i:inteiro
total:real
inicio
escreva(“Digite um número: “)
leia(n)
i<-1
se (n<=1000) entao
para i de 1 ate n faca
se (i mod 2<>0)entao
total<-raizq(i)
se (total*total=i)entao
escreval(“A raíz quadrada de”,i,” é”,total)
fimse
fimse
fimpara
senao
escreva(“Número inválido.”)
fimse
fimalgoritmo
var
x: vetor [1..1000] de inteiro
n,i:inteiro
total:real
inicio
escreva(“Digite um número: “)
leia(n)
i<-1
se (n<=1000) entao
para i de 1 ate n faca
se (i mod 2<>0)entao
total<-raizq(i)
se (total*total=i)entao
escreval(“A raíz quadrada de”,i,” é”,total)
fimse
fimse
fimpara
senao
escreva(“Número inválido.”)
fimse
fimalgoritmo
domingo, 5 de dezembro de 2010
12) Escreva um que leia um número e escreva sua representação em binário.
Para tal, o número decimal deve ser dividido (divisão inteira) sucessivamente por 2, até que não seja mais possível dividi-lo. O resto de cada divisão fornece cada bit da representação em binário. O primeiro resto corresponde ao bit mais à direita (menos significativo); o último resto corresponde ao bit mais à esquerda (mais significativo). Por exemplo, a representação em binário do número 10421 será obtida através da seguinte seqüência de divisões:
1ª divisão 10421 ÷ 2 = 5210; resto 1 (bit mais à direita);2 ª divisão 5210 ÷ 2 = 2605; resto 0;
3 ª divisão 2605 ÷ 2 = 1302; resto 1;
4 ª divisão 1302 ÷ 2 = 651; resto 0;
5 ª divisão 651 ÷ 2 = 325; resto 1;
6 ª divisão 325 ÷ 2 = 162; resto 1;
7 ª divisão 162 ÷ 2 = 81; resto 0;
8 ª divisão 81 ÷ 2 = 40; resto 1;
9 ª divisão 40 ÷ 2 = 20; resto 0;
10 ª divisão 20 ÷ 2 = 10; resto 0;
11 ª divisão 10 ÷ 2 = 5; resto 0;
12 ª divisão 5 ÷ 2 = 2; resto 1;
13 ª divisão 2 ÷ 2 = 1; resto 0;
14 ª divisão 1 ÷ 2 = 0; resto 1 (bit mais à esquerda);
Logo, 10421
10 corresponde a 101000101101012
algoritmo “Conversão de decimal para binário”
var
numero,bit,x,y:inteiro
inicio
escreva(“Digite um número que corresponde na base 10: “)
leia(numero)
repita
y<-numero mod 2
escreva(y)
x<-numero div 2
numero<-x
ate(numero<1)
fimalgoritmo
10) Decidiu-se, em uma linha de produção, fazer uma verificação da taxa diária de uso dos equipamentos.
Escreva um algoritmo que leia o código do equipamento e sua taxa de uso diária (número horas/dia). O algoritmo deve escrever:
a) a taxa de uso diária do equipamento mais usado; e
b) a soma das taxas de uso dos equipamentos cuja taxa é igual ou inferior a 5 horas/dia.
A entrada de dados deve ser finalizada quando o código de equipamento informado for negativo.
algoritmo “Equipamentos mais utilizados”
var
codigo:inteiro
minuto,maior,total:real
inicio
total<-0
escreva(“Digite o código do equipamento. Para terminar, digite um número negativo: “)
leia(codigo)
repita
escreva(“Digite a quantidade de minutos utilizado por dia: “)
leia(minuto)
se (maior
maior<-minuto
fimse
se (minuto<=300)entao
total<-total+minuto
fimse
escreva(“Digite o códgo do equipamento: “)
leia(codigo)
ate (codigo<0)
escreval(“Quantidade de tempo do equipamento mais utilizado:”, maior,” minutos/d.”)
escreval(“Soma das horas dos equipamentos menos utilizados:”,total,” minutos/d.”)
codigo:inteiro
minuto,maior,total:real
inicio
total<-0
escreva(“Digite o código do equipamento. Para terminar, digite um número negativo: “)
leia(codigo)
repita
escreva(“Digite a quantidade de minutos utilizado por dia: “)
leia(minuto)
se (maior
maior<-minuto
fimse
se (minuto<=300)entao
total<-total+minuto
fimse
escreva(“Digite o códgo do equipamento: “)
leia(codigo)
ate (codigo<0)
escreval(“Quantidade de tempo do equipamento mais utilizado:”, maior,” minutos/d.”)
escreval(“Soma das horas dos equipamentos menos utilizados:”,total,” minutos/d.”)
fimalgoritmo
9) Foi feita uma pesquisa para determinar a relação entre o peso das crianças nascidas em um certo período em uma certa região e o tipo de parto.
Para tal, foram tabulados os seguintes dados para cada criança: sexo (“M” para masculino e “F” para feminino), tipo de parto (“N” para normal e “C” para cesariana) e peso (em gramas).Escreva um algoritmo que fique lendo tais dados até que o sexo informado seja vazio (“ “). Após, o algoritmo deve calcular e escrever:
a) a porcentagem de crianças nascidas de parto normal e cesariana;
b) a porcentagem de crianças do sexo masculino nascidas de parto normal e cesariana;c) a porcentagem de crianças do sexo feminino nascidas de parto normal e cesariana;
d) a porcentagem de crianças nascidas de partos normal com peso inferior a 2 kg; e
e) a porcentagem de crianças nascidas de cesariana com peso inferior a 2Kg.
algoritmo “Parto normal ou cesariana”var
sexo,f,m,x: literal
parto,n,c: literal
peso,pn,pc,normal,cesariana,mn,mc,fn,fc: real
a,b,j,d,l,g,h,i,p: inteiro
inicio
a<-0
b<-0
j<-0
d<-0
l<-0
g<-0
h<-0
i<-0
p<- -1
repita
escreva(“Digite o sexo (m/f) ou x para terminar: “)
leia(sexo)
se (sexo=”m”)entao
escreva(“Digite o tipo de parto (n/c): “)
leia(parto)
se (parto=”n”)entao
a<-a+1
escreva(“Digite o peso em gramas: “)
leia(peso)
se (peso<2000)entao
b<-b+1
fimse
senao
j<-j+1
escreva(“Digite o peso em gramas: “)
leia(peso)
se (peso<2000)entao
d<-d+1
fimse
fimse
fimse
se (sexo=”f”)entao
escreva(“Digite o tipo de parto (n/c): “)
leia(parto)
se (parto=”n”)entao
l<-l+1
escreva(“Digite o peso em gramas: “)
leia(peso)
se (peso<2000)entao
g<-g+1
fimse
senao
h<-h+1
escreva(“Digite o peso em gramas: “)
leia(peso)
se(peso<2000)entao
i<-i+1
fimse
fimse
fimse
p<-p+1
ate (sexo=”x”)
normal<-(a+l)*100/p
cesariana<-(j+h)*100/p
mn<-a*100/p
mc<-j*100/p
fn<-l*100/p
fc<-h*100/p
pn<-(b+g)*100/p
pc<-(d+i)*100/p
escreval(“Porcentagem de crianças nascidas de parto normal e cesariana: “,normal,cesariana)
escreval(“Porcentagem de meninos nascidos de parto normal e cesariana: “,mn,mc)
escreval(“Porcentagem de meninas nascidas de parto normal e cesariana: “,fn,fc)
escreval(“Porcentagem de crianças nascida de parto normal com menos de 2000 gramas: “,pn:2:3)
escreval(“Porcentagem de crianças nascidas de parto cesariana com menos de 2000 gramas: “,pc:2:3)
fimalgoritmo
8) Escreva um algoritmo que lê o número de aulas ministradas (encontros) em uma determinada disciplina.
A seguir, para cada aluno da disciplina, o algoritmo deve ler o código do aluno, suas notas nas três avaliações da disciplina e seu número de faltas. Com esses dados, o algoritmo calcula a média ponderada, com pesos respectivos de 4 para a maior nota e 3 para as outras duas, e escreve o código do aluno, suas três notas, a média calculada e uma mensagem “Aprovado”
a) se sua nota for maior ou igual a 6 e ele compareceu, ao menos, a 75% dos encontros; ou
b) se sua nota for maior ou igual a 8 e ele compareceu, ao menos a 50% dos encontros.Em caso contrário, a mensagem mostrada é “Exame” se sua nota for menor do que 6 (mas o aluno compareceu a, no mínimo, 75% dos encontros) ou “Reprovado” se ele não compareceu a 75% dos encontros. O algoritmo pára de ler dados quando o código fornecido for 0 (não existe nenhum aluno com código zero; esse valor é apenas para indicar que não há mais alunos).
algoritmo “Aprovado ou reprovado”var
aulas,faltas:inteiro
codigo,n1,n2,n3,media,presenca,por,maior,menor1,menor2: real
inicio
escreva(“Digite a quantidade de aulas ministradas: “)
leia(aulas)
escreva(“Digite o código do aluno: “)
leia(codigo)
repita
escreva(“Digite as três notas: “)
leia(n1,n2,n3)
se(n1>n2)entao
se (n1>n3)entao
maior<-n1
menor1<-n2
menor2<-n3
senao
maior<-n3
menor1<-n1
menor2<-n2
fimse
senao
se(n2>n3)entao
maior<-n2
menor1<-n1
menor2<-n3
senao
maior<-n3
menor1<-n1
menor2<-n2
fimse
fimse
escreva(“Digite a quantidade de faltas: “)
leia(faltas)
media<-((maior*4)+(menor1*3)+(menor2*3))/10
presenca<-aulas-faltas
por<-presenca*100/aulas
se (media>=6) e (por>=75)entao
escreval(“Aluno: “,codigo)
escreval(“Notas: “,n1,n2,n3)
escreval(“Média: “,media)
escreval(“Presença: “,por,”%”)
escreval(“Aprovado.”)
senao
se (media>=8) e (por>=50)entao
escreval(“Aluno: “,codigo)
escreval(“Notas: “,n1,n2,n3)
escreval(“Média: “,media)
escreval(“Presença: “,por,”%”)
escreval(“Aprovado.”)
senao
se (media<6) e (por>=75) entao
escreval(“Aluno: “,codigo)
escreval(“Notas: “,n1,n2,n3)
escreval(“Média: “,media)
escreval(“Presença: “,por,”%”)
escreval(“Exame.”)
senao
escreval(“Aluno: “,codigo)
escreval(“Notas: “,n1,n2,n3)
escreval(“Média: “,media)
escreval(“Presença: “,por,”%”)
escreval(“Reprovado.”)
fimse
fimse
fimse
escreva(“Digite o código do aluno: “)
leia(codigo)
ate (codigo=0)
fimalgoritmo
5) Escreva um algoritmo que leia o nome, o sexo (“M” ou “F”), a altura e o peso de um grupo de 50 pessoas e informe:
a) as médias harmônicas das alturas dos homens e dos pesos das mulheres; e
b) o nome do homem mais alto e da mulher mais gorda. algoritmo “Média”
var
h,i,j,l,m,n,pessoas: inteiro
nomem,nomefinalm,nomeh,nomefinalh,sexo, masculino,feminino: literal
peso,pesototal,mediapeso,altura,alturatotal,mediaaltura:real
alturamaior,pesomaior:real
inicio
escreva (“Digite o número de pessoas: “)
leia(pessoas)
h<-0
i<-0
m<-0
j<-0
l<-0
n<-0
alturatotal<-0
pesototal<-0
alturamaior<-0
pesomaior<-0
para h de 1 ate pessoas faca
escreva (“Digite o sexo: “)
leia (sexo)
se (sexo=”masculino”) entao
i<-i+1
escreva (“Digite o nome: “)
leia (nomeh)
l<-l+1
escreva (“Digite a altura: “)
leia (altura)
alturatotal<-alturatotal+altura
se (altura>alturamaior) entao
alturamaior<-altura
nomefinalh<-nomeh
fimse
senao
m<-m+1
escreva (“Digite o nome: “)
leia (nomem)
n<-n+1
escreva (“Digite o peso: “)
leia(peso)
pesototal<-pesototal+peso
se (peso>pesomaior) entao
pesomaior<-peso
nomefinalm<-nomem
fimse
fimse
fimpara
mediaaltura<-alturatotal/i
mediapeso<-pesototal/m
escreval(“Média da altura dos homens: “,mediaaltura)
escreval(“Média do peso das mulheres: “,mediapeso)
escreval(“O homem mais alto é o “, nomefinalh,” com”,alturamaior,” metros.”)
escreval(“A mulher mais pesada é a “,nomefinalm,” com”,pesomaior,” quilos.”)
fimalgoritmo
var
h,i,j,l,m,n,pessoas: inteiro
nomem,nomefinalm,nomeh,nomefinalh,sexo, masculino,feminino: literal
peso,pesototal,mediapeso,altura,alturatotal,mediaaltura:real
alturamaior,pesomaior:real
inicio
escreva (“Digite o número de pessoas: “)
leia(pessoas)
h<-0
i<-0
m<-0
j<-0
l<-0
n<-0
alturatotal<-0
pesototal<-0
alturamaior<-0
pesomaior<-0
para h de 1 ate pessoas faca
escreva (“Digite o sexo: “)
leia (sexo)
se (sexo=”masculino”) entao
i<-i+1
escreva (“Digite o nome: “)
leia (nomeh)
l<-l+1
escreva (“Digite a altura: “)
leia (altura)
alturatotal<-alturatotal+altura
se (altura>alturamaior) entao
alturamaior<-altura
nomefinalh<-nomeh
fimse
senao
m<-m+1
escreva (“Digite o nome: “)
leia (nomem)
n<-n+1
escreva (“Digite o peso: “)
leia(peso)
pesototal<-pesototal+peso
se (peso>pesomaior) entao
pesomaior<-peso
nomefinalm<-nomem
fimse
fimse
fimpara
mediaaltura<-alturatotal/i
mediapeso<-pesototal/m
escreval(“Média da altura dos homens: “,mediaaltura)
escreval(“Média do peso das mulheres: “,mediapeso)
escreval(“O homem mais alto é o “, nomefinalh,” com”,alturamaior,” metros.”)
escreval(“A mulher mais pesada é a “,nomefinalm,” com”,pesomaior,” quilos.”)
fimalgoritmo
4) Num frigorífico existem 90 bois.
Cada boi traz preso no seu pescoço um cartão contendo um número de identificação e seu peso. Escreva um algoritmo que receba como entradas os números e pesos dos 90 bois. O algoritmo deve informar os números e os pesos do boi mais gordo e do boi mais magro.
algoritmo “Boi gordo e boi magro”
var
i,j,l,boi: inteiro
peso,pesomaior,pesomenor,identificacao:real
identificacaog,identificacaom,identificacaofinalm,identificacaofinalg:real
inicio
escreva(“Digite a quantidade de boi: “)
leia(boi)
i<-0
j<-0
l<-0
pesomaior<-0
pesomenor<-100000
identificacaofinalg<-0
identificacaofinalm<-0
repita
escreva(“Digite o número de identificação: “)
leia(identificacao)
escreva(“Digite o peso: “)
leia(peso)
i<-i+1
se (peso>pesomaior)entao
pesomaior<-peso
identificacaofinalg<-identificacao
j<-j+1
fimse
se (peso
pesomenor<-peso
identificacaofinalm<-identificacao
l<-l+1
fimse
ate(i=boi)
escreval(“O boi mais gordo é”,identificacaofinalg,” possui”,pesomaior,” quilos.”)
escreval(“O boi mais magro é”,identificacaofinalm,” possui”,pesomenor,” quilos.”)
fimalgoritmo
var
i,j,l,boi: inteiro
peso,pesomaior,pesomenor,identificacao:real
identificacaog,identificacaom,identificacaofinalm,identificacaofinalg:real
inicio
escreva(“Digite a quantidade de boi: “)
leia(boi)
i<-0
j<-0
l<-0
pesomaior<-0
pesomenor<-100000
identificacaofinalg<-0
identificacaofinalm<-0
repita
escreva(“Digite o número de identificação: “)
leia(identificacao)
escreva(“Digite o peso: “)
leia(peso)
i<-i+1
se (peso>pesomaior)entao
pesomaior<-peso
identificacaofinalg<-identificacao
j<-j+1
fimse
se (peso
pesomenor<-peso
identificacaofinalm<-identificacao
l<-l+1
fimse
ate(i=boi)
escreval(“O boi mais gordo é”,identificacaofinalg,” possui”,pesomaior,” quilos.”)
escreval(“O boi mais magro é”,identificacaofinalm,” possui”,pesomenor,” quilos.”)
fimalgoritmo
2) Escreva um algoritmo que leia um número n (n inteiro e n ≥ 0) e calcule seu fatorial.
O fatorial de um número (representado por n!) é o produtório de 1 a n. É arbitrado que o fatorial de 0 é 1. Assim
0! = 1 = 1
2! = 1 X 2 = 2
3! = 1 X 2 X 3 = 6
4! = 1 X 2 X 3 X 4 = 24
5! = 1 X 2 X 3 X 4 X 5 = 120
…
algoritmo “Fatorial”
var
n,total,i,j:inteiro
inicio
escreva (“Digite um número inteiro: “)
leia(n)
se (n=0)entao
escreva (“O fatorial de 0 é: 1″)
senao
se (n>0)entao
i<-0
j<-1
total<-1
repita
total<-total*j
j<-j+1
i<-i+1
ate (i=n)
escreva(“O fatorial de”,n,” é:”,total)
fimse
fimse
fimalgoritmo
ou
algoritmo “Fatorial”
var
n,i,fatorial: inteiro
inicio
escreva(“Digite um número: “)
leia(n)
fatorial<-1
para i de 1 ate n faca
fatorial<-fatorial*i
fimpara
escreval(“O fatorial de “,n,” é: “,fatorial)
fimalgoritmo
1)A operação de multiplicação, quando o multiplicador é um número inteiro, nada mais é do que??
uma sucessão de somas. Assim, por exemplo, 4X5 = 5+5+5+5 = 20. Escreva um algoritmo que leia o multiplicando e o multiplicador e, através de uma sucessão de somas, calcule e escreva o produto. O multiplicador é, necessariamente, um número inteiro. Porém, multiplicador e multiplicando podem ser 0 ou negativos.
algoritmo “Multiplicando”
var
multiplicador,multiplicando,i,total: inteiro
inicio
escreva(“Digite o multiplicador:”)
leia (multiplicador)
escreva(“Digite o multiplicando:”)
leia (multiplicando)
total<-0
i<-0
se (multiplicador>=0) e (multiplicando>=0) entao
se (multiplicando=0) entao
escreva (“O total é:0″)
senao
repita
total<-total+multiplicador
i<-i+1
ate (i=multiplicando)
escreva (“O total é:”,total)
fimse
senao
se (multiplicador<0) entao
repita
total<-total+multiplicador
i<-i+1
ate (i=multiplicando)
escreva(“O total é:”,total)
fimse
se (multiplicando<0) entao
repita
total<-total+multiplicando
i<-i+1
ate (i=multiplicador)
escreva (“O total é:”,total)
fimse
fimse
fimalgoritmo
var
multiplicador,multiplicando,i,total: inteiro
inicio
escreva(“Digite o multiplicador:”)
leia (multiplicador)
escreva(“Digite o multiplicando:”)
leia (multiplicando)
total<-0
i<-0
se (multiplicador>=0) e (multiplicando>=0) entao
se (multiplicando=0) entao
escreva (“O total é:0″)
senao
repita
total<-total+multiplicador
i<-i+1
ate (i=multiplicando)
escreva (“O total é:”,total)
fimse
senao
se (multiplicador<0) entao
repita
total<-total+multiplicador
i<-i+1
ate (i=multiplicando)
escreva(“O total é:”,total)
fimse
se (multiplicando<0) entao
repita
total<-total+multiplicando
i<-i+1
ate (i=multiplicador)
escreva (“O total é:”,total)
fimse
fimse
fimalgoritmo
18)Escreva um algoritmo que leia as notas das duas primeiras provas de um aluno (p1 e p2) e calcule qual o valor mínimo da terceira nota (p3), para que este aluno seja aprovado, considerando que a média aritmética mínima das três provas deva ser 6.0 para que o aluno seja aprovado.
algoritmo “Calcula a última nota”
var
n1,n2,n3:real
inicio
escreva(“Digite a primeira nota:”)
leia (n1)
escreva (“Digite a segunda nota:”)
leia (n2)
n3<-(18-(n1+n2))
se (n3<=0)e(n3>=-2)entao
escreva(“Aprovado. O aluno já atingiu a média.”)
senao
se (n3>=10.50)entao
escreva (“Reprovado. A última nota terá que ser”,n3:4:2)
fimse
fimse
fimalgoritmo
var
n1,n2,n3:real
inicio
escreva(“Digite a primeira nota:”)
leia (n1)
escreva (“Digite a segunda nota:”)
leia (n2)
n3<-(18-(n1+n2))
se (n3<=0)e(n3>=-2)entao
escreva(“Aprovado. O aluno já atingiu a média.”)
senao
se (n3>=10.50)entao
escreva (“Reprovado. A última nota terá que ser”,n3:4:2)
fimse
fimse
fimalgoritmo
17)Escreva um algoritmo que leia a quantia R$ em dinheiro que uma pessoa tem para enviar cartas, o preço PE de um envelope, o preço PS de um selo, a quantidade QS de selos que a pessoa já dispõe e a quantidade de envelopes QE que a pessoa também já dispõe. O algoritmo deve calcular e informar quantas cartas a pessoa pode enviar.
algoritmo “Quantidade de cartas enviadas”
var
rs,pe,ps,ce:real
qs,qe,qer,qce,qca,qsa,qea:real
inicio
escreva(“Informe o dinheiro:”)
leia(rs)
escreva(“Informe o preco do envelope:”)
leia(pe)
escreva(“Informe o preco do selo:”)
leia(ps)
escreva(“Informe a quantidade de selos:”)
leia(qs)
escreva(“Informe o custo de envio:”)
leia(ce)
escreva(“Informe a quantidade de envelopes:”)
leia(qe)
ce<- pe+ps
se(qe>qs) entao
qer<-qe-qs
se (qer*ps) <=rs entao
rs<- rs-(qer*ps)
qce<-qs
qca<- rs div ce
qce<-qce+qca
senao
qsa<- rs div ps
qce<- qs+qsa
fimse
senao
se (qs>qe) entao
qer<- qs-qe
se ((qer*pe)<= rs) entao
rs<- rs – (qer *pe)
qce <-qe
qca<-rs div ce
qce<- qce+qca
senao
qea <- rs div pe
qce <- qe+qea
fimse
senao
qce<-qs
qca<-rs div ce
qce<-qce +qca
fimse
fimse
escreva(“Quantidade de cartas enviadas:”, qce)
fimalgoritmo
var
rs,pe,ps,ce:real
qs,qe,qer,qce,qca,qsa,qea:real
inicio
escreva(“Informe o dinheiro:”)
leia(rs)
escreva(“Informe o preco do envelope:”)
leia(pe)
escreva(“Informe o preco do selo:”)
leia(ps)
escreva(“Informe a quantidade de selos:”)
leia(qs)
escreva(“Informe o custo de envio:”)
leia(ce)
escreva(“Informe a quantidade de envelopes:”)
leia(qe)
ce<- pe+ps
se(qe>qs) entao
qer<-qe-qs
se (qer*ps) <=rs entao
rs<- rs-(qer*ps)
qce<-qs
qca<- rs div ce
qce<-qce+qca
senao
qsa<- rs div ps
qce<- qs+qsa
fimse
senao
se (qs>qe) entao
qer<- qs-qe
se ((qer*pe)<= rs) entao
rs<- rs – (qer *pe)
qce <-qe
qca<-rs div ce
qce<- qce+qca
senao
qea <- rs div pe
qce <- qe+qea
fimse
senao
qce<-qs
qca<-rs div ce
qce<-qce +qca
fimse
fimse
escreva(“Quantidade de cartas enviadas:”, qce)
fimalgoritmo
Assinar:
Postagens (Atom)