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
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
8) Fazer um programa para calcular a soma dos N primeiros números, onde N é lido.
algoritmo "Calcula a soma do número e seus antecessores"
var
n,i,soma: inteiro
inicio
escreva("Digite um número ")
leia(n)
para i de n ate 1 passo -1 faca
soma<-i+soma
fimpara
escreval("A soma dos seus antecessores é:", soma)
fimalgoritmo
var
n,i,soma: inteiro
inicio
escreva("Digite um número ")
leia(n)
para i de n ate 1 passo -1 faca
soma<-i+soma
fimpara
escreval("A soma dos seus antecessores é:", soma)
fimalgoritmo
7) Leia um numero N (inteiro, positivo >5). Depois, leia para um determinado grupo de pessoas (N) as seguintes informações:
Idade
Peso
Sexo
Este programa deve fornecer como saída:
a) A média dos pesos dos homens;
b) A média das idades das mulheres;
c) Quantas mulheres acima de 25 anos;
algoritmo “Média de pesos e de idades”
var
quantidadedepessoas,idade,m,idadetotal,mais25,l:inteiro
peso,pesototal,mediapeso,mediaidade:real
sexo:literal
inicio
idade<-1
l<-0
mediapeso<-0
escreva(“Digite a quantidade de pessoas:”)
leia(quantidadedepessoas)
se(quantidadedepessoas>5) entao
para quantidadedepessoas de quantidadedepessoas ate 1 passo – 1 faca
escreva(“Digite o sexo:”)
leia(sexo)
se (sexo = “masculino”) entao
l<-l+1
escreva(“Digite o peso:”)
leia(peso)
pesototal<-pesototal+peso
escreva(“Informe a idade:”)
leia(idade)
senao
m<-m+1
escreva(“Informe o peso:”)
leia(peso)
escreva(“Informe a idade:”)
leia(idade)
idadetotal<-idadetotal+idade
se(idade<25) entao
mais25<-mais25+1
fimse
fimse
fimpara
mediapeso<-pesototal/l
mediaidade<-idadetotal/m
escreval(“Média do peso dos homens:”,mediapeso)
escreval(“Média da idade das mulheres:”, mediaidade)
escreval(“Mulheres acima de 25 anos:”,mais25 )
senao
escreval(“Número insuficiente de pessoas.”)
fimse
fimalgoritmo
Peso
Sexo
Este programa deve fornecer como saída:
a) A média dos pesos dos homens;
b) A média das idades das mulheres;
c) Quantas mulheres acima de 25 anos;
algoritmo “Média de pesos e de idades”
var
quantidadedepessoas,idade,m,idadetotal,mais25,l:inteiro
peso,pesototal,mediapeso,mediaidade:real
sexo:literal
inicio
idade<-1
l<-0
mediapeso<-0
escreva(“Digite a quantidade de pessoas:”)
leia(quantidadedepessoas)
se(quantidadedepessoas>5) entao
para quantidadedepessoas de quantidadedepessoas ate 1 passo – 1 faca
escreva(“Digite o sexo:”)
leia(sexo)
se (sexo = “masculino”) entao
l<-l+1
escreva(“Digite o peso:”)
leia(peso)
pesototal<-pesototal+peso
escreva(“Informe a idade:”)
leia(idade)
senao
m<-m+1
escreva(“Informe o peso:”)
leia(peso)
escreva(“Informe a idade:”)
leia(idade)
idadetotal<-idadetotal+idade
se(idade<25) entao
mais25<-mais25+1
fimse
fimse
fimpara
mediapeso<-pesototal/l
mediaidade<-idadetotal/m
escreval(“Média do peso dos homens:”,mediapeso)
escreval(“Média da idade das mulheres:”, mediaidade)
escreval(“Mulheres acima de 25 anos:”,mais25 )
senao
escreval(“Número insuficiente de pessoas.”)
fimse
fimalgoritmo
6) Faça um programa que seja capaz de calcular o resultado de uma operação de divisão inteira (x dividido y), utilizando-se para isso apenas do operador de subtração (-).
algoritmo "Calcula Divisão com subtração"
var
x,y,vezes,soma:inteiro
inicio
y<-0
soma<- 0
escreva("Entre com um número:")
leia(x)
escreva("Entre com um número divisor:")
leia(y)
se(x
escreva("Não é possível realizar uma divisão inteira")
senao
soma<-x
vezes<-0
repita
soma<-soma-y
vezes<-vezes+1
ate(soma=0)
escreval(x," / ",y," = ",vezes)
fimse
fimalgoritmo
var
x,y,vezes,soma:inteiro
inicio
y<-0
soma<- 0
escreva("Entre com um número:")
leia(x)
escreva("Entre com um número divisor:")
leia(y)
se(x
escreva("Não é possível realizar uma divisão inteira")
senao
soma<-x
vezes<-0
repita
soma<-soma-y
vezes<-vezes+1
ate(soma=0)
escreval(x," / ",y," = ",vezes)
fimse
fimalgoritmo
5) Faça um programa que seja capaz de calcular o resultado de uma operação de multiplicação (x vezes y), utilizando-se para isso apenas do operador de soma (+).
Ex.: 12 * 3 = 36 = 12+12+12 (3 vezes)
algoritmo “Multiplicação com operador de soma”
var
total,multiplicador,multiplicando,i: inteiro
inicio
total<-0
i<-0
escreva(“Digite o multiplicador:”)
leia(multiplicador)
escreva(“Digite o multiplicando:”)
leia(multiplicando)
se (multiplicando>0) entao
repita
total<-total+multiplicador
i<-i+1
ate (i=multiplicando)
escreva (“O resultado é”,total)
senao
escreva (“O resultado é”,multiplicando)
fimse
fimalgoritmo
algoritmo “Multiplicação com operador de soma”
var
total,multiplicador,multiplicando,i: inteiro
inicio
total<-0
i<-0
escreva(“Digite o multiplicador:”)
leia(multiplicador)
escreva(“Digite o multiplicando:”)
leia(multiplicando)
se (multiplicando>0) entao
repita
total<-total+multiplicador
i<-i+1
ate (i=multiplicando)
escreva (“O resultado é”,total)
senao
escreva (“O resultado é”,multiplicando)
fimse
fimalgoritmo
4) Faça um programa para achar todos os números inteiros e positivos entre dois números lidos (N1 e N2), tais que:
) Não terminem em zero;
b) Se o dígito à direita for removido, o número restante seja divisor do número original. (ex: 39 (3 é divisor de 39).
algoritmo “Decomposição”
var
n,n1,n2,k:inteiro
inicio
escreva(“Digite início:”)
leia(n1)
escreva(“Digite final:”)
leia(n2)
n<-n2
repita
se ((n mod 10)<>0) entao
k<- n div 10
se (k<>0) entao
se ((n mod k)=0) entao
escreval(n)
fimse
fimse
fimse
n<-n+1
ate (n>n2)
fimalgoritmo
b) Se o dígito à direita for removido, o número restante seja divisor do número original. (ex: 39 (3 é divisor de 39).
algoritmo “Decomposição”
var
n,n1,n2,k:inteiro
inicio
escreva(“Digite início:”)
leia(n1)
escreva(“Digite final:”)
leia(n2)
n<-n2
repita
se ((n mod 10)<>0) entao
k<- n div 10
se (k<>0) entao
se ((n mod k)=0) entao
escreval(n)
fimse
fimse
fimse
n<-n+1
ate (n>n2)
fimalgoritmo
Faça um programa que, dado um número, imprima a sua tabuada completa.
algoritmo "Tabuada"
var
n,i,total :inteiro
inicio
escreva("Digite o número que você gostaria de ver a tabuada")
leia(n)
para i de 0 ate 10 faca
total<- n*i
escreval(n, "x" ,i, "=",total)
fimpara
fimalgoritmo
var
n,i,total :inteiro
inicio
escreva("Digite o número que você gostaria de ver a tabuada")
leia(n)
para i de 0 ate 10 faca
total<- n*i
escreval(n, "x" ,i, "=",total)
fimpara
fimalgoritmo
2) Faça um programa que mostre na tela o(s) número(s) dentro do intervalo entre 600 e 700 que sejam múltiplos de 5 e também de 7.
algoritmo "Múltiplos de 5 e 7"
var
i:inteiro
inicio
para i de 600 ate 700 faca
se((i mod 5 =0) e (i mod 7=0))entao
escreval(i)
fimse
fimpara
fimalgoritmo
var
i:inteiro
inicio
para i de 600 ate 700 faca
se((i mod 5 =0) e (i mod 7=0))entao
escreval(i)
fimse
fimpara
fimalgoritmo
1) Faça um programa que calcule a média aritmética de 35 alunos do curso de Algoritmos. Use comandos de repetição.
algoritmo "Média aritmética"
var
media, nota, soma:real
i:inteiro
inicio
soma<-0
para i de 1 ate 35 faca
escreva("Entre com a ",i,"º nota")
leia(nota)
soma<-soma+nota
fimpara
media<-soma/35
escreval("A média aritmética é: ",media )
fimalgoritmo
var
media, nota, soma:real
i:inteiro
inicio
soma<-0
para i de 1 ate 35 faca
escreva("Entre com a ",i,"º nota")
leia(nota)
soma<-soma+nota
fimpara
media<-soma/35
escreval("A média aritmética é: ",media )
fimalgoritmo
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
16)Escreva um algoritmo que leia os nomes dos três candidatos ao Senado (para uma vaga) com suas respectivas votações. O algoritmo deve escrever o nome do candidato mais votado. Por exemplo, Maior votação: João da Silva. No caso de haver empate entre dois (os mais votados) ou entre os três candidatos, devem ser escritos os nomes desses candidatos. Por exemplo, Maior votação: João da Silva, Maria do Socorro.
algoritmo “Classifica o Senador mais votado”
var
c1,c2,c3:literal
v1,v2,v3:numerico
inicio
escreva(“Digite o nome e a quantidade de votos do primeiro candidato:”)
leia(c1)
leia(v1)
escreva(“Digite o nome e a quantidade de votos do segundo candidato:”)
leia(c2)
leia(v2)
escreva(“Digite o nome e a quantidade de votos do terceiro candidato:”)
leia(c3)
leia(v3)
se(v1=v2)e(v2=v3)entao
escreva(“Empate entre os candidatos”,c1,”,”,c2,”,”,c3)
senao
se(v1=v2)entao
escreva(“Empate entre os candidatos”,c1,”,”,c2)
senao
se(v2=v3)entao
escreva(“Empate entre os candidatos”,c2,”,”,c3)
senao
se(v1=v3)entao
escreva(“Empate entre os candidatos”,c1,”,”,c3)
senao
se (v1>v2)e(v1>v3)entao
escreva(“Maior votação:”,c1)
senao
se(v2>v1)e(v2>v3)entao
escreva(“Maior votação:”,c2)
senao
se(v3>v1)e(v3>v2)entao
escreva(“Maior votação:”,c3)
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimalgoritmo
var
c1,c2,c3:literal
v1,v2,v3:numerico
inicio
escreva(“Digite o nome e a quantidade de votos do primeiro candidato:”)
leia(c1)
leia(v1)
escreva(“Digite o nome e a quantidade de votos do segundo candidato:”)
leia(c2)
leia(v2)
escreva(“Digite o nome e a quantidade de votos do terceiro candidato:”)
leia(c3)
leia(v3)
se(v1=v2)e(v2=v3)entao
escreva(“Empate entre os candidatos”,c1,”,”,c2,”,”,c3)
senao
se(v1=v2)entao
escreva(“Empate entre os candidatos”,c1,”,”,c2)
senao
se(v2=v3)entao
escreva(“Empate entre os candidatos”,c2,”,”,c3)
senao
se(v1=v3)entao
escreva(“Empate entre os candidatos”,c1,”,”,c3)
senao
se (v1>v2)e(v1>v3)entao
escreva(“Maior votação:”,c1)
senao
se(v2>v1)e(v2>v3)entao
escreva(“Maior votação:”,c2)
senao
se(v3>v1)e(v3>v2)entao
escreva(“Maior votação:”,c3)
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimalgoritmo
15)Escreva um algoritmo que leia duas datas, na forma dia, mês e ano, e informe qual é a mais recente.
algoritmo “Classifica as datas”
var
dia1,mes1,ano1,dia2,mes2,ano2:inteiro
inicio
escreva (“Digite o primeiro dia:”)
leia (dia1)
escreva (“Digite o primeiro mes:”)
leia (mes1)
escreva (“Digite o primeiro ano:”)
leia (ano1)
escreva (“Digite o segundo dia:”)
leia (dia2)
escreva (“Digite o segundo mes:”)
leia (mes2)
escreva (“Digite o segundo ano:”)
leia (ano2)
se(ano1>=ano2)entao
se (mes1>=mes2)entao
se(dia1>=dia2)entao
escreva(“A data mais recente é”,dia1,”/”,mes1,”/”,ano1)
senao
escreva(“A data mais recente é”,dia2,”/”,mes2,”/”,ano2)
fimse
senao
se(dia1>=dia2)entao
escreva(“A data mais recente é”,dia1,”/”,mes1,”/”,ano1)
senao
escreva(“A data mais recente é”,dia2,”/”,mes2,”/”,ano2)
fimse
fimse
senao
se(mes1>=mes2)entao
se(dia1>=dia2)entao
escreva(“A data mais recente é”,dia1,”/”,mes1,”/”,ano1)
senao
escreva(“A data mais recente é”,dia2,”/”,mes2,”/”,ano2)
fimse
senao
se(dia1>=dia2)entao
escreva(“A data mais recente é”,dia1,”/”,mes1,”/”,ano1)
senao
escreva(“A data mais recente é”,dia2,”/”,mes2,”/”,ano2)
fimse
fimse
fimse
fimalgoritmo
var
dia1,mes1,ano1,dia2,mes2,ano2:inteiro
inicio
escreva (“Digite o primeiro dia:”)
leia (dia1)
escreva (“Digite o primeiro mes:”)
leia (mes1)
escreva (“Digite o primeiro ano:”)
leia (ano1)
escreva (“Digite o segundo dia:”)
leia (dia2)
escreva (“Digite o segundo mes:”)
leia (mes2)
escreva (“Digite o segundo ano:”)
leia (ano2)
se(ano1>=ano2)entao
se (mes1>=mes2)entao
se(dia1>=dia2)entao
escreva(“A data mais recente é”,dia1,”/”,mes1,”/”,ano1)
senao
escreva(“A data mais recente é”,dia2,”/”,mes2,”/”,ano2)
fimse
senao
se(dia1>=dia2)entao
escreva(“A data mais recente é”,dia1,”/”,mes1,”/”,ano1)
senao
escreva(“A data mais recente é”,dia2,”/”,mes2,”/”,ano2)
fimse
fimse
senao
se(mes1>=mes2)entao
se(dia1>=dia2)entao
escreva(“A data mais recente é”,dia1,”/”,mes1,”/”,ano1)
senao
escreva(“A data mais recente é”,dia2,”/”,mes2,”/”,ano2)
fimse
senao
se(dia1>=dia2)entao
escreva(“A data mais recente é”,dia1,”/”,mes1,”/”,ano1)
senao
escreva(“A data mais recente é”,dia2,”/”,mes2,”/”,ano2)
fimse
fimse
fimse
fimalgoritmo
13)Escreva um algoritmo que leia a altura (em metros), o peso (em quilogramas) e o sexo (“MASCULINO” ou “FEMININO”) e calcule seu peso ideal, dado por peso ideal do homem = (72,7 x altura) – 58 ou peso ideal da mulher = (62,1 x altura) – 44,77. O algoritmo deve, também, informar se a pessoa está abaixo ou acima de seu peso ideal e m quantos quilos.
algoritmo “Calcula o peso”
var
altura,peso,pesoideal:real
sexo,masculino,feminino:literal
inicio
escreva (“Digite a altura em metros:”)
leia (altura)
escreva (“Digite o peso em quilos:”)
leia (peso)
escreva (“Digite o sexo:”)
leia (sexo)
se(sexo = “masculino”)entao
pesoideal<-((72.7*altura)-58)
se(pesoideal=peso)entao
escreva(“Seu peso ideal é de”,pesoideal,”.Este é seu peso ideal.”)
senao
se (pesoideal>peso)entao
escreva(“Seu peso ideal é de”,pesoideal,”.Você está abaixo do peso.”)
senao
se (pesoideal
escreva(“Seu peso ideal é de”,pesoideal,”.Você está acima do peso.”)
fimse
fimse
fimse
senao
pesoideal<-((62.1*altura)-44.77)
se(pesoideal=peso)entao
escreva(“Seu peso ideal é de”,pesoideal,”.Este é seu peso ideal.”)
senao
se (pesoideal>peso)entao
escreva(“Seu peso ideal é de”,pesoideal,”.Você está abaixo do peso.”)
senao
se (pesoideal
escreva(“Seu peso ideal é de”,pesoideal,”.Você está acima do peso.”)
fimse
fimse
fimse
fimse
fimalgoritmo
escreva(“Seu peso ideal é de”,pesoideal,”.Você está acima do peso.”)
fimse
fimse
fimse
senao
pesoideal<-((62.1*altura)-44.77)
se(pesoideal=peso)entao
escreva(“Seu peso ideal é de”,pesoideal,”.Este é seu peso ideal.”)
senao
se (pesoideal>peso)entao
escreva(“Seu peso ideal é de”,pesoideal,”.Você está abaixo do peso.”)
senao
se (pesoideal
escreva(“Seu peso ideal é de”,pesoideal,”.Você está acima do peso.”)
fimse
fimse
fimse
fimse
fimalgoritmo
12)Escreva um algoritmo que leia as notas das três provas de um aluno (p1, p2 e p3), calcule sua média aritmética e escreva-a. As notas devem estar no intervalo [0,10].
algoritmo “Calcula a média”
var
n1,n2,n3,media:real
inicio
escreva (“Digite a primeira nota:”)
leia (n1)
escreva (“Digite a segunda nota:”)
leia (n2)
escreva (“Digite a terceira nota:”)
leia (n3)
se (n1>=0)e(n1<=10) entao
se(n2>=0)e(n2<=10)entao
se(n3>=0)e(n3<=10)entao
media<-(n1+n2+n3)/3
escreva (“A média é de”, media:3:2)
senao
escreva (“Notas inválidas”)
fimse
senao
escreva (“Notas inválidas”)
fimse
senao
escreva (“Notas inválidas”)
fimse
fimalgoritmo
var
n1,n2,n3,media:real
inicio
escreva (“Digite a primeira nota:”)
leia (n1)
escreva (“Digite a segunda nota:”)
leia (n2)
escreva (“Digite a terceira nota:”)
leia (n3)
se (n1>=0)e(n1<=10) entao
se(n2>=0)e(n2<=10)entao
se(n3>=0)e(n3<=10)entao
media<-(n1+n2+n3)/3
escreva (“A média é de”, media:3:2)
senao
escreva (“Notas inválidas”)
fimse
senao
escreva (“Notas inválidas”)
fimse
senao
escreva (“Notas inválidas”)
fimse
fimalgoritmo
11)Escreva um algoritmo que leia um dia, mês e ano e escreva, para essa data lida, o número de dias transcorridos no ano.
algoritmo “Total de dias”
var
dia,meses,ano, total, totaldias:inteiro
inicio
escreva (“Digite o dia:”)
leia (dia)
escreva (“Digite o mes:”)
leia (meses)
escreva (“Digite o ano:”)
leia (ano)
se (ano=2010) entao
se (meses=01) entao
total<-dia
escreva (“O total é de”,total, “dias.”)
senao
se (meses=02) entao
total<-dia+30
escreva (“O total é de”,total, “dias.”)
senao
se (meses=03) entao
total<-dia+60
escreva (“O total é de”,total, “dias.”)
senao
se (meses=04) entao
total<-dia+90
escreva (“O total é de”,total, “dias.”)
senao
se (meses=05) entao
total<-dia+120
escreva (“O total é de”,total, “dias.”)
senao
se (meses=06) entao
total<-dia+150
escreva (“O total é de”,total, “dias.”)
senao
se (meses=07) entao
total<-dia+180
escreva (“O total é de”,total, “dias.”)
senao
se (meses=08) entao
total<-dia+210
escreva (“O total é de”,total, “dias.”)
senao
se (meses=09) entao
total<-dia+240
escreva (“O total é de”,total, “dias.”)
senao
se (meses=10) entao
total<-dia+270
escreva (“O total é de”,total, “dias.”)
senao
se (meses=11) entao
total<-dia+300
escreva (“O total é de”,total, “dias.”)
senao
se (meses=12) entao
total<-dia+330
escreva (“O total é de”,total, “dias.”)
senao
escreva (“Data inválida”)
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
senao
escreva (“Ano inválido”)
fimse
fimalgoritmo
var
dia,meses,ano, total, totaldias:inteiro
inicio
escreva (“Digite o dia:”)
leia (dia)
escreva (“Digite o mes:”)
leia (meses)
escreva (“Digite o ano:”)
leia (ano)
se (ano=2010) entao
se (meses=01) entao
total<-dia
escreva (“O total é de”,total, “dias.”)
senao
se (meses=02) entao
total<-dia+30
escreva (“O total é de”,total, “dias.”)
senao
se (meses=03) entao
total<-dia+60
escreva (“O total é de”,total, “dias.”)
senao
se (meses=04) entao
total<-dia+90
escreva (“O total é de”,total, “dias.”)
senao
se (meses=05) entao
total<-dia+120
escreva (“O total é de”,total, “dias.”)
senao
se (meses=06) entao
total<-dia+150
escreva (“O total é de”,total, “dias.”)
senao
se (meses=07) entao
total<-dia+180
escreva (“O total é de”,total, “dias.”)
senao
se (meses=08) entao
total<-dia+210
escreva (“O total é de”,total, “dias.”)
senao
se (meses=09) entao
total<-dia+240
escreva (“O total é de”,total, “dias.”)
senao
se (meses=10) entao
total<-dia+270
escreva (“O total é de”,total, “dias.”)
senao
se (meses=11) entao
total<-dia+300
escreva (“O total é de”,total, “dias.”)
senao
se (meses=12) entao
total<-dia+330
escreva (“O total é de”,total, “dias.”)
senao
escreva (“Data inválida”)
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
senao
escreva (“Ano inválido”)
fimse
fimalgoritmo
10) Escreva um algoritmo que leia o nome de um nadador e sua idade. O algoritmo deve escrever
A categoria de Marcos é INFANTIL B.
A categoria é determinada conforme abaixo:
-nadadores com idade entre 5 e 7 anos são da categoria INFANTIL A;
-nadadores com idade entre 8 e 10 anos são da categoria INFANTIL B;
-nadadores com idade entre 11 e 13 anos são da categoria JUVENIL A;
-nadadores com idade entre 14 e 18 anos são da categoria JUVENIL B; e
-nadadores com idade superior a 18 anos são da categoria SÊNIOR.
algoritmo “Classifica em categorias”
var
nome:literal
idade:inteiro
inicio
escreva (“Digite o nome:”)
leia (nome)
escreva(“Digite a idade:”)
leia(idade)
se (idade >=5) entao
se (idade <=7) entao
escreva (“A categoria de”, nome , “é Infantil A”)
senao
se (idade<=10)entao
escreva (“A categoria de”, nome , “é Infantil B”)
senao
se (idade<=13) entao
escreva (“A categoria de”, nome , “é Juvenil A”)
senao
se (idade<=17) entao
escreva (“A categoria de”, nome , “é Juvenil B”)
senao
escreva (“A categoria de”, nome , “é Senior”)
fimse
fimse
fimse
fimse
senao
escreva (“É muito criança para nadar”)
fimse
fimalgoritmo
A categoria é determinada conforme abaixo:
-nadadores com idade entre 5 e 7 anos são da categoria INFANTIL A;
-nadadores com idade entre 8 e 10 anos são da categoria INFANTIL B;
-nadadores com idade entre 11 e 13 anos são da categoria JUVENIL A;
-nadadores com idade entre 14 e 18 anos são da categoria JUVENIL B; e
-nadadores com idade superior a 18 anos são da categoria SÊNIOR.
algoritmo “Classifica em categorias”
var
nome:literal
idade:inteiro
inicio
escreva (“Digite o nome:”)
leia (nome)
escreva(“Digite a idade:”)
leia(idade)
se (idade >=5) entao
se (idade <=7) entao
escreva (“A categoria de”, nome , “é Infantil A”)
senao
se (idade<=10)entao
escreva (“A categoria de”, nome , “é Infantil B”)
senao
se (idade<=13) entao
escreva (“A categoria de”, nome , “é Juvenil A”)
senao
se (idade<=17) entao
escreva (“A categoria de”, nome , “é Juvenil B”)
senao
escreva (“A categoria de”, nome , “é Senior”)
fimse
fimse
fimse
fimse
senao
escreva (“É muito criança para nadar”)
fimse
fimalgoritmo
9) Escreva um algoritmo que implemente uma calculadora de quatro operações. O algoritmo lê o primeiro operando, a operação (algum dos quatro símbolos: “x”, “-“, “*”, ou “/”) e o segundo operando. Ele deve escrever
1º operando operação 2º operando = resultado.
Por exemplo, se os valores lidos foram 4, “*” e 5, o algoritmo deve escrever
4*5 = 20.
algoritmo “Operações”
var
opera,operb,total:real
operador:literal
inicio
escreva (“Digite o primeiro operadorando:”)
leia (opera)
escreva (“Digite o segundo operando:”)
leia (operb)
escreva (“Digite o operador:”)
leia (operador)
se (operador=”+”) entao
total<-opera+operb
escreva (“O total é”,total:6:2)
senao
se (operador=”-”) entao
total<-opera-operb
escreva (“O total é”,total:6:2)
senao
se (operador=”x”) entao
total<-opera*operb
escreva (“O total é”,total:6:2)
senao
se (operador=”/”) entao
total<-opera/operb
escreva (“O total é”,total:6:2)
senao
escreva (“Operador inválido”)
fimse
fimse
fimse
fimse
fimalgoritmo
var
opera,operb,total:real
operador:literal
inicio
escreva (“Digite o primeiro operadorando:”)
leia (opera)
escreva (“Digite o segundo operando:”)
leia (operb)
escreva (“Digite o operador:”)
leia (operador)
se (operador=”+”) entao
total<-opera+operb
escreva (“O total é”,total:6:2)
senao
se (operador=”-”) entao
total<-opera-operb
escreva (“O total é”,total:6:2)
senao
se (operador=”x”) entao
total<-opera*operb
escreva (“O total é”,total:6:2)
senao
se (operador=”/”) entao
total<-opera/operb
escreva (“O total é”,total:6:2)
senao
escreva (“Operador inválido”)
fimse
fimse
fimse
fimse
fimalgoritmo
8) Seja o seguinte algoritmo:
01. algoritmo “Dec2Bin”
02. var03. b: literal
04. n, q, r: numérico
05. início
08. leia(n)
09. q <- n
10. r<- q%2
11. q <- q\2
12. se r = 0 então
13. b <- “0” + b
14. senão
15. b <- “1” + b
16. fimse
17. r <- q%2
18. q <- q\2
19. se r = 0 então
20. b <- “0” + b
21. senão
22. b <- “1” + b
23. fimse
24. r <- q%2
25. q <- q\2
26. se r = 0 então
27. b <- “0” + b
28. senão
29. b <- “1” + b
30. fimse
31. r <- q%2
32. q <- q\2
33. se r = 0 então
34. b <- “0” + b
35. senão
36. b <- “1” + b
37. fimse
38. r <- q%2
39. q <- q\2
40. se r = 0 então
41. b <- “0” + b
42. senão
43. b <- “1” + b
44. fimse
45. escreva(n, “ em decimal é representado por “, b, “ em binário”)
46. fimalgoritmo
7)Escreva um algoritmo que leia o nome de cinco clientes de uma loja e valor (em reais) que cada um desses clientes pagou por sua compra. O algoritmo deverá escrever:
1. o valor total pago pelos cinco clientes; 2. o valor médio das compras efetuadas;
3. os nomes dos clientes que efetuaram compras superiores a 20 reais.
algoritmo “Classifica em valores”
var3. os nomes dos clientes que efetuaram compras superiores a 20 reais.
algoritmo “Classifica em valores”
nome1,nome2,nome3,nome4,nome5:literal
v1,v2,v3,v4,v5,total,mediatotal:real
inicio
escreva (“Digite o nome da primeira pessoa:”)
leia(nome1)
escreva (“Digite o nome da segunda pessoa:”)
leia(nome2)
escreva (“Digite o nome da terceira pessoa:”)
leia(nome3)
escreva (“Digite o nome da quarta pessoa:”)
leia(nome4)
escreva (“Digite o nome da quinta pessoa:”)
leia(nome5)
escreva(“Digite o valor da compra da primeira pessoa:”)
leia(v1)
escreva(“Digite o valor da compra da segunda pessoa:”)
leia(v2)
escreva(“Digite o valor da compra da terceira pessoa:”)
leia(v3)
escreva(“Digite o valor da compra da quarta pessoa:”)
leia(v4)
escreva(“Digite o valor da compra da quinta pessoa:”)
leia(v5)
total<-(v1+v2+v3+v4+v5)
escreval (“A compra total foi de R$”,total:6:2, “reais.”)
mediatotal<-(total/5)
escreval (“O valor médio das compras foi de R$”, mediatotal:6:2, “reais.”)
se (v1>=20.00) entao
escreval (“A compra de” ,nome1, “foi superior à R$20.00 reais.”)
senao
se (v2>=20.00) entao
escreval (“A compra de” ,nome2, “foi superior à R$20.00 reais.”)
senao
se (v3>=20.00) entao
escreval (“A compra de” ,nome3, “foi superior à R$20.00 reais.”)
senao
se (v4>=20.00) entao
escreval (“A compra de” ,nome4, “foi superior à R$20.00 reais.”)
senao
se (v5>=20.00) entao
escreval (“A compra de” ,nome5, “foi superior à R$20.00 reais.”)
senao
escreva (“Ninguém gastou mais de R$20.00 reais.”)
fimse
fimse
fimse
fimse
fimse
fimalgoritmo
6) Um sistema de equações lineares do tipo:
13 Set
pode ser resolvido da seguinte forma:
Escreva um algoritmo que leia os coeficient b, c, d e f e calcule e escreva os valores de x e y.
Lembre-se de que os denominadores das equações não podem ser zero.
algoritmo “Valor de x e y”
var
a,b,c,d,f,g,x,y: numerico
inicio
escreva (“Digite o valor de a:”)
leia (a)
escreva (“Digite o valor de b:”)
leia (b)
escreva (“Digite o valor de c:”)
leia (c)
escreva (“Digite o valor de d:”)
leia (d)
escreva (“Digite o valor de f:”)
leia (f)
escreva (“Digite o valor de g:”)
leia (g)
se (a>0) e (b>0) e (c>0) e (d>0) e (f>0) e (g>0) entao
x<-((c*g)-(b*f))/((a*g)-(b*d))
y<-((a*f)-(c*d))/((a*g)-(b*d))
escreva (“O valor de x e de y é”,x,”e”,y)
senao
escreva (“Valor inválido”)
fimse
fimalgoritmo
Escreva um algoritmo que leia os coeficient b, c, d e f e calcule e escreva os valores de x e y.
Lembre-se de que os denominadores das equações não podem ser zero.
algoritmo “Valor de x e y”
var
a,b,c,d,f,g,x,y: numerico
inicio
escreva (“Digite o valor de a:”)
leia (a)
escreva (“Digite o valor de b:”)
leia (b)
escreva (“Digite o valor de c:”)
leia (c)
escreva (“Digite o valor de d:”)
leia (d)
escreva (“Digite o valor de f:”)
leia (f)
escreva (“Digite o valor de g:”)
leia (g)
se (a>0) e (b>0) e (c>0) e (d>0) e (f>0) e (g>0) entao
x<-((c*g)-(b*f))/((a*g)-(b*d))
y<-((a*f)-(c*d))/((a*g)-(b*d))
escreva (“O valor de x e de y é”,x,”e”,y)
senao
escreva (“Valor inválido”)
fimse
fimalgoritmo
5) Escreva um algoritmo que lê dois números inteiros e informa se o primeiro é múltiplo do segundo.
algoritmo “Números Múltiplos”
var
a, b: inteiro
inicio
escreva (“Digite o valor de a:”)
leia (a)
escreva (“Digite o valor de b:”)
leia (b)
se (a>b) entao
se ((a mod b)=0) entao
escreva (“São múltiplos”)
senao
escreva (“Não são múltiplos”)
fimse
senao
se ((b mod a)=0) entao
escreva (“São múltiplos”)
senao
escreva (“Não são múltiplos”)
fimse
fimse
fimalgoritmo
var
a, b: inteiro
inicio
escreva (“Digite o valor de a:”)
leia (a)
escreva (“Digite o valor de b:”)
leia (b)
se (a>b) entao
se ((a mod b)=0) entao
escreva (“São múltiplos”)
senao
escreva (“Não são múltiplos”)
fimse
senao
se ((b mod a)=0) entao
escreva (“São múltiplos”)
senao
escreva (“Não são múltiplos”)
fimse
fimse
fimalgoritmo
4)Escreva um algoritmo para calcular a área de um círculo, fornecido o valor do raio, que deve ser positivo ou zero.
algoritmo “Calcula a área”
var
raio, area:numerico
inicio
escreva (“Digite o valor do raio:”)
leia (raio)
se (raio>=0) entao
area<-3.1418*(raio)^2
escreva (“A área é de”,area)
senao
escreva (“Raio Inválido”)
fimse
fimalgoritmo
var
raio, area:numerico
inicio
escreva (“Digite o valor do raio:”)
leia (raio)
se (raio>=0) entao
area<-3.1418*(raio)^2
escreva (“A área é de”,area)
senao
escreva (“Raio Inválido”)
fimse
fimalgoritmo
3) Quais os valores armazenados em SOMA, NOME e TUDO após executados os passos abaixo, supondo-se que NUM, X, COR, DIA, TESTE e COD valem, respectivamente, 5, 2, “AZUL”, “TERÇA”, FALSO e VERDADEIRO?
1) NOME <- DIA
2) SOMA <- (NUM^2/X) + (X + 1)3) TUDO <- não ((TESTE ou COD) e (X <> NUM))
Respostas:
1) nome<-terça
2)soma<-(5^2/2)+(2+1)=15.5
3)tudo<-nao((verdadeiro ou falso) e (2<>5)=falso
2) Avalie (forneça o resultado da expressão lógica):
(((5/2 = 5/2) e (3.0 <> 3.1)) ou (5 >= 4)) e (não(5 = 5.0))
mostrando todos os passos utilizados para obtenção da solução.
1) 5/2=5/2 = verdadeiro
2) 3.0<>3.1 = verdadeiro
3)(5/2=5/2) e (3.0<>3.1) = verdadeiro
4)5>=4 = falso
5)não (5=5.0) = falso
6)(5>=4) e (não(5=5.0) = falso
7)(((5/2 = 5/2) e (3.0 <> 3.1)) ou (5 >= 4)) e (não(5 = 5.0)) = verdadeiro
1) Resolva as expressões lógicas:
1) 2 >3 = falso
2) (6 < 8) ou (3 > 7) = verdadeiro
3) não (2 <> 2.0) = verdadeiro
4) 5 >= 6 ou 6 < 7 ou não ( a+ 5 – 6 = 8) onde a = 5 = verdadeiro
5) ( 34 < 9 e 5 + u = 34) ou (5 = 15/3 e 8 > 12) onde u = 29 = falso
(L2) 21ºA comissão de formatura de um curso está organizando a festa de formatura de sua turma elevantou as seguintes informações:
1. custo do salão (capacidade de 800 pessoas com mesas de 4 pessoas) R$ 2000.00;
2. custo da sonorização: R$ 500,00
3. custo da decoração: R$ 800,00
Além desses custos, que serão rateados igualmente entre os formandos, há custos cuja divisão é
proporcional ao número de convidados do formando. São eles:
1. segurança: necessário um segurança para cada 80 pessoas da festa;
2. garçom: um garçom consegue atender 48 pessoas (ou 12 mesas de 4 pessoas); e
3. bebida.
Escreva um algoritmo que leia o nome de cada um dos cinco formandos com seus respectivos
números de convidados. Ele também deve ler os custos de um segurança, de um garçom e da
bebida. O algoritmo deve calcular e escrever, para cada formando o número de mesas desitnadas
para seus convidados e o custo da festa para eles. As mesas poderão ser compartilhadas entre
convidados de diferentes formandos.
2. custo da sonorização: R$ 500,00
3. custo da decoração: R$ 800,00
Além desses custos, que serão rateados igualmente entre os formandos, há custos cuja divisão é
proporcional ao número de convidados do formando. São eles:
1. segurança: necessário um segurança para cada 80 pessoas da festa;
2. garçom: um garçom consegue atender 48 pessoas (ou 12 mesas de 4 pessoas); e
3. bebida.
Escreva um algoritmo que leia o nome de cada um dos cinco formandos com seus respectivos
números de convidados. Ele também deve ler os custos de um segurança, de um garçom e da
bebida. O algoritmo deve calcular e escrever, para cada formando o número de mesas desitnadas
para seus convidados e o custo da festa para eles. As mesas poderão ser compartilhadas entre
convidados de diferentes formandos.
9) Apresente os resultados das operações lógicas abaixo:
0.1= 0
A+1= 1
1.1= 1
1+0= 1
A.1= A
A+0= A
B.0= 0
0+0= 0
A+1= 1
1.1= 1
1+0= 1
A.1= A
A+0= A
B.0= 0
0+0= 0
6) O que indicam as denominações SSI, MSI, LSI, VLSI e ULSI?
As portas lógicas e circuitos lógicos mais complexos são fornecidos pela indústria como Circuitos Integrados (CIs) digitais. CIs digitais são um conjunto de resistores, diodos, capacitores e transistores fabricados sobre o mesmo substrato de material semicondutor (geralmente, sílicio), cuja denominação comum é chip.
Os CIs digitais são classificados de acordo com sua complexidade, medida pela quantidade de portas lógicas no substrato. Atualmente, existem seis níveis de complexidade que estão mostrados na tabela abaixo:
5) Ilustre exemplos de Circuitos Combinacionais e de Circuitos Sequenciais.
4) Qual a diferença básica entre um circuito combinacional e um circuito sequencial?
Um circuito combinacional é constituído por um conjunto de portas lógicas as quais determinam os valores das saídas diretamente a partir dos valores atuais das entradas. Pode-se dizer que um circuito combinacional realiza uma operação de processamento de informação a qual pode ser especificada por meio de um conjunto de equações Booleanas. No caso, cada combinação de valores de entrada pode ser vista como uma informação diferente e cada conjunto de valores de saída representa o resultado da operação. Um circuito seqüencial, por sua vez, emprega elementos de armazenamento denominados latches e flip-flops, além de portas lógicas. Os valores das saídas do circuito dependem dos valores das entradas e dos estados dos latches ou flip-flops utilizados. Como os estados dos latches e flip-flops é função dos valores anteriores das entradas, diz-se que as saídas de um circuito seqüencial dependem dos valores das entradas e do histórico do próprio circuito. Logo, o comportamento de um circuito seqüencial é especificado pela seqüência temporal das entradas e de seus estados internos.
3) Em qual condição de entrada a saída de uma porta OR será 0?
Uma porta lógica OR só será O (falso), se ambas as entradas dessa porta também forem O (falso).
Como na tabela abaixo, a entrada A e a entrada B, na primeira linha, ambas são O (falsos), então, a saída também será O (falso). Caso contrário as saídas serão 1 (verdadeiro).
A | B | C |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Assinar:
Postagens (Atom)