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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
 
(em construção rs rs)
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

11) Escreva um algoritmo que leia um valor composto apenas de 0’s e 1’s representando um número na base decimal.

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.”)
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

7) Escreva um algoritmo que leia 30 conjuntos de dois valores, representando o nome de um candidato ao Senado e sua votação.

6) Deseja-se fazer uma pesquisa a respeito do consumo mensal de energia elétrica em uma determinada cidade.

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

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

3) Escreva um algoritmo que leia dois números inteiros positivos n e p e calcule e escreva o coeficiente binomial n de ordem p dado pela equação 1.2.

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
 
1! = 1 = 2
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

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

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

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

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

14)Escreva um algoritmo que leia três valores correspondentes ao dia, mês e ano de nascimento de uma pessoa e outros três valores correspondentes ao dia, mês e ano do dia corrente. O algoritmo deve escrever a idade da pessoa.

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

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

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

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

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

8) Seja o seguinte algoritmo:

01. algoritmo “Dec2Bin”
02. var
03.     b: literal
04. n, q, r: numérico
05. início

 
06. b <- “ “07. escreva(“Entre com um número”)
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”
var
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

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

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

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.

10) Marque as alternativas corretas:

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

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.

Para cada um deles exemplifique dois circuitos internos a um computador e dois circuitos digitais ligados a aplicações diversas.
Circuito Combinacional

Circuito Sequencial

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