BOM ESTAVA APAGANDO ESTE CONTEUDO PARA COMEÇAR A POSTAR A DO NOVO MODULO MAIS RESOLVI CRIAR ESTA PAGINA PARA SERVIR DE REFERENTE PRA QUEM ESTA PASSANDO PELO O QUE EU PASSEI. NÃO ESPERE MUITA COISA APENAS COPIEI E COLEI O HTML POREM ESTA BEM COMPLETO VOU TENTAR MANTER OS LINKS DIRETOS DE DOWNLOAD DOS ARQUIVOS DO VISUAL ATIVOS! E É ISTO AE QUALQUER PROBLEMA BASTA COMENTAR QUE EU VO CORRIGINDO AS FALHARS
ABRAÇOS E BOMS ESTUDOS!
Aula 24, 25 e 26 - PÓS FERIAS!
ABRAÇOS E BOMS ESTUDOS!
Aula 24, 25 e 26 - PÓS FERIAS!
BOM BASICAMENTE DEPOIS DAS FÉRIAS APENAS CORRIGIMOS OS EXERCICIOS DAS AULAS 23 E 24 ENTAO JUNTEI TUDO EM UMA UNICA POSTAGEM! ESTOU ANSIOSO NÃO PELA PROVA MAIS SIM PELO JAVA SEDE DE CONHECIMENTO É ALGO, ACHO QUE ESTOU PRONTO PARA A TÃO FALADA PROVA TRISTE NA REALIDADE SÃO OS COLEGAS QUE DEIXAREMOS POIS ESTA CLARO QUE APENAS UMA PEQUENA MINORIA CHEGARA LÁ! BOM PARABENS AO QUE CONSEGUIREM! PROVA MARCADO DIA 23! ENTAO BONS ESTUDOS A TODOS!
01. Leia um conjunto com n números e informe se existe algum elemento repetido
no conjunto.
01. Leia um conjunto com n números e informe se existe algum elemento repetido
no conjunto.
var
VALOR: VETOR [1..8] DE INTEIRO
X,Y:INTEIRO
TESTE:LOGICO
Inicio
TESTE<-FALSO
PARA X DE 1 ATE 8 FACA
ESCREVAL("DIGITE O VALOR",X)
LEIA(VALOR[X])
FIMPARA
PARA X DE 1 ATE 8 FACA
PARA Y DE X+1 ATE 8 FACA
SE VALOR[X]=VALOR[Y] ENTAO
TESTE<-VERDADEIRO
FIMSE
FIMPARA
FIMPARA
LIMPATELA
SE TESTE=VERDADEIRO ENTAO
ESCREVAL("EXISTEM NUMERO REPETIDOS")
SENAO
ESCREVAL("NÃO EXISTEM NUMERO REPETIDOS")
VALOR: VETOR [1..8] DE INTEIRO
X,Y:INTEIRO
TESTE:LOGICO
Inicio
TESTE<-FALSO
PARA X DE 1 ATE 8 FACA
ESCREVAL("DIGITE O VALOR",X)
LEIA(VALOR[X])
FIMPARA
PARA X DE 1 ATE 8 FACA
PARA Y DE X+1 ATE 8 FACA
SE VALOR[X]=VALOR[Y] ENTAO
TESTE<-VERDADEIRO
FIMSE
FIMPARA
FIMPARA
LIMPATELA
SE TESTE=VERDADEIRO ENTAO
ESCREVAL("EXISTEM NUMERO REPETIDOS")
SENAO
ESCREVAL("NÃO EXISTEM NUMERO REPETIDOS")
FIMSE
NESSA PRIMEIRA QUESTAO JOSANDRO ME CORRIGIU DIZENDO QUE EU TINHA
QUE TER COLOCADO A OPÇÃO DO USUARIO DIZER QUANTOS NUMERO QUERIA USAR
JA ESTOU TRABALHANDO NISSO! E ASSIM QUE TERMINAR POSTO AKI
02. Leia uma matriz quadrada de ordem 10 e calcule a sua transposta. Imprima as
duas matrizes.
duas matrizes.
var
MATRIZ_A: VETOR [1..10,1..10] DE INTEIRO
MATRIZ_B:VETOR [1..10,1..10] DE INTEIRO
LINHA,COLUNA:INTEIRO
inicio
PARA LINHA DE 1 ATE 10 FACA
PARA COLUNA DE 1 ATE 10 FACA
ESCREVAL("DIGITE O VALOR ",LINHA," = ",COLUNA)
LEIA(MATRIZ_A[LINHA,COLUNA])
FIMPARA
LIMPATELA
FIMPARA
PARA LINHA DE 1 ATE 10 FACA
PARA COLUNA DE 1 ATE 10 FACA
MATRIZ_B[COLUNA,LINHA]<-MATRIZ_A[LINHA,COLUNA]
FIMPARA
FIMPARA
ESCREVAL(" MATRIZ A")
PARA LINHA DE 1 ATE 10 FACA
PARA COLUNA DE 1 ATE 10 FACA
ESCREVA("",MATRIZ_A[LINHA,COLUNA])
FIMPARA
ESCREVAL("")
FIMPARA
ESCREVAL("")
ESCREVAL(" MATRIZ B")
PARA LINHA DE 1 ATE 10 FACA
PARA COLUNA DE 1 ATE 10 FACA
ESCREVA("",MATRIZ_B[LINHA,COLUNA])
FIMPARA
ESCREVAL("")
FIMPARA
fimalgoritmo
MATRIZ_A: VETOR [1..10,1..10] DE INTEIRO
MATRIZ_B:VETOR [1..10,1..10] DE INTEIRO
LINHA,COLUNA:INTEIRO
inicio
PARA LINHA DE 1 ATE 10 FACA
PARA COLUNA DE 1 ATE 10 FACA
ESCREVAL("DIGITE O VALOR ",LINHA," = ",COLUNA)
LEIA(MATRIZ_A[LINHA,COLUNA])
FIMPARA
LIMPATELA
FIMPARA
PARA LINHA DE 1 ATE 10 FACA
PARA COLUNA DE 1 ATE 10 FACA
MATRIZ_B[COLUNA,LINHA]<-MATRIZ_A[LINHA,COLUNA]
FIMPARA
FIMPARA
ESCREVAL(" MATRIZ A")
PARA LINHA DE 1 ATE 10 FACA
PARA COLUNA DE 1 ATE 10 FACA
ESCREVA("",MATRIZ_A[LINHA,COLUNA])
FIMPARA
ESCREVAL("")
FIMPARA
ESCREVAL("")
ESCREVAL(" MATRIZ B")
PARA LINHA DE 1 ATE 10 FACA
PARA COLUNA DE 1 ATE 10 FACA
ESCREVA("",MATRIZ_B[LINHA,COLUNA])
FIMPARA
ESCREVAL("")
FIMPARA
fimalgoritmo
03.Ler uma matriz 6 x 6 e atribuir o valor 0 para os valores negativos
encontrados fora das diagonais principal e secundaria
encontrados fora das diagonais principal e secundaria
var
TABELA: VETOR [1..6,1..6] DE INTEIRO
LINHA,COLUNA:INTEIRO
inicio
PARA LINHA DE 1 ATE 6 FACA
PARA COLUNA DE 1 ATE 6 FACA
ESCREVAL("DIGITE O VALOR",LINHA," = ",COLUNA)
LEIA(TABELA[LINHA,COLUNA])
SE TABELA[LINHA,COLUNA]<0 ENTAO
SE (LINHA/COLUNA)= 1 ENTAO
ESCREVAL("VALOR ESTA SOB DIAGONAL PRINCIPAL PORTANTO SERA MANTIDO")
SENAO
SE LINHA+COLUNA=7 ENTAO
ESCREVAL("VALOR ESTA SOB DIAGONAL SECUNDARIA PORTANDO SERA MANTIDO")
SENAO
TABELA[LINHA,COLUNA]<-0
FIMSE
FIMSE
FIMSE
FIMPARA
TABELA: VETOR [1..6,1..6] DE INTEIRO
LINHA,COLUNA:INTEIRO
inicio
PARA LINHA DE 1 ATE 6 FACA
PARA COLUNA DE 1 ATE 6 FACA
ESCREVAL("DIGITE O VALOR",LINHA," = ",COLUNA)
LEIA(TABELA[LINHA,COLUNA])
SE TABELA[LINHA,COLUNA]<0 ENTAO
SE (LINHA/COLUNA)= 1 ENTAO
ESCREVAL("VALOR ESTA SOB DIAGONAL PRINCIPAL PORTANTO SERA MANTIDO")
SENAO
SE LINHA+COLUNA=7 ENTAO
ESCREVAL("VALOR ESTA SOB DIAGONAL SECUNDARIA PORTANDO SERA MANTIDO")
SENAO
TABELA[LINHA,COLUNA]<-0
FIMSE
FIMSE
FIMSE
FIMPARA
FIMPARA
fimalgoritmo
04 Leia matriz A de 8x8, depois preencha uma matriz B de mesma ordem,
trocando as linhas da matriz A pelas colunas da matriz B. Exemplo:
1ª linha da matriz A, será a 1ª coluna da matriz B
2ª linha da matriz A, será a 2ª coluna da matriz B
e assim por diante. Escreva a matriz resultante.
trocando as linhas da matriz A pelas colunas da matriz B. Exemplo:
1ª linha da matriz A, será a 1ª coluna da matriz B
2ª linha da matriz A, será a 2ª coluna da matriz B
e assim por diante. Escreva a matriz resultante.
var
TABELA: VETOR [1..8,1..8] DE REAL
TABELA2: VETOR[1..8,1..8] DE REAL
LINHA,COLUNA:INTEIRO
inicio
PARA LINHA DE 1 ATE 8 FACA
PARA COLUNA DE 1 ATE 8 FACA
ESCREVAL("DIGITE O VALOR LINHA = ",LINHA," COLUNA = ",COLUNA)
LEIA(TABELA[LINHA,COLUNA])
FIMPARA
LIMPATELA
FIMPARA
PARA LINHA DE 1 ATE 8 FACA
PARA COLUNA DE 1 ATE 8 FACA
TABELA2[COLUNA,LINHA]<-TABELA[LINHA,COLUNA]
FIMPARA
FIMPARA
PARA LINHA DE 1 ATE 8 FACA
PARA COLUNA DE 1 ATE 8 FACA
ESCREVAL("LINHA =",LINHA," COLUNA = ",COLUNA," == ",TABELA2[LINHA,COLUNA])
FIMPARA
FIMPARA
TABELA: VETOR [1..8,1..8] DE REAL
TABELA2: VETOR[1..8,1..8] DE REAL
LINHA,COLUNA:INTEIRO
inicio
PARA LINHA DE 1 ATE 8 FACA
PARA COLUNA DE 1 ATE 8 FACA
ESCREVAL("DIGITE O VALOR LINHA = ",LINHA," COLUNA = ",COLUNA)
LEIA(TABELA[LINHA,COLUNA])
FIMPARA
LIMPATELA
FIMPARA
PARA LINHA DE 1 ATE 8 FACA
PARA COLUNA DE 1 ATE 8 FACA
TABELA2[COLUNA,LINHA]<-TABELA[LINHA,COLUNA]
FIMPARA
FIMPARA
PARA LINHA DE 1 ATE 8 FACA
PARA COLUNA DE 1 ATE 8 FACA
ESCREVAL("LINHA =",LINHA," COLUNA = ",COLUNA," == ",TABELA2[LINHA,COLUNA])
FIMPARA
FIMPARA
FIM
Aula 23 - 08/07/2011 - EXERCICIOS DE FÉRIAS!
01.Crie um programa que preencha uma primeira matriz de ordem
4x5 e uma segunda matriz 5x2. O programa deverá,
também, calcular e mostrar a matriz resultante do produto
matricial das duas matrizes anteriores, armazenando-o
em uma terceira matriz de ordem 4x2.
var
MATRIZ_A: VETOR [1..4,1..5] DE INTEIRO
MATRIZ_B: VETOR [1..5,1..2] DE INTEIRO
MATRIZ_C: VETOR [1..4,1..2] DE INTEIRO
COLUNA,LINHA,N,SOMA:INTEIRO
inicio
ESCREVAL("VALORES DA PRIMEIRA MATRIZ 4X5")
ESCREVAL("")
PARA LINHA DE 1 ATE 4 FACA
PARA COLUNA DE 1 ATE 5 FACA
ESCREVAL("DIGITE OS VALOR",LINHA," = ",COLUNA)
LEIA(MATRIZ_A[LINHA,COLUNA])
FIMPARA
LIMPATELA
FIMPARA
ESCREVAL("VALORES DA SEGUNDA MATRIZ 5X2")
PARA LINHA DE 1 ATE 5 FACA
PARA COLUNA DE 1 ATE 2 FACA
ESCREVAL("DIGITE OS VALOR",LINHA," = ",COLUNA)
LEIA(MATRIZ_B[LINHA,COLUNA])
FIMPARA
LIMPATELA
FIMPARA
PARA LINHA DE 1 ATE 4 FACA
PARA COLUNA DE 1 ATE 2 FACA
SOMA<-0
PARA N DE 1 ATE 5 FACA
SOMA<- SOMA + ((MATRIZ_A[LINHA,N]) * (MATRIZ_B[N,COLUNA]))
FIMPARA
MATRIZ_C[LINHA,COLUNA]<-SOMA
FIMPARA
FIMPARA
ESCREVAL("PRODUTO MATRICIAL")
ESCREVAL("")
PARA LINHA DE 1 ATE 4 FACA
PARA COLUNA DE 1 ATE 2 FACA
ESCREVA("",MATRIZ_C[LINHA,COLUNA])
FIMPARA
ESCREVAL("")
FIMPARA
fimalgoritmo
DOWNLOAD
02.Um elemento Aij de uma matriz é dito ponto de sela da matriz
A se, e somente se ,Aij for ao mesmo tempo o menor elemento
da linha i e o maior elemento da coluna j.
Faça um programa que carregue uma matriz de ordem 5x7,
verefique se a matriz possui ponto de sela e ,
se possuir, mostre seu valor e sua localizaçao.
var
MATRIZ: VETOR [1..5,1..7] DE INTEIRO
L,C,L2,X:INTEIRO
MENOR,MAIOR,CR,LR:REAL
TESTE:LOGICO
inicio
CR<-0
X<-0
TESTE<-VERDADEIRO
PARA L DE 1 ATE 5 FACA
PARA C DE 1 ATE 7 FACA
ESCREVAL("DIGITE O VALOR ",L," = ",C)
LEIA(MATRIZ[L,C])
FIMPARA
LIMPATELA
FIMPARA
PARA L DE 1 ATE 5 FACA
MENOR<-MATRIZ[L,1]
X<-1
PARA C DE 1 ATE 7 FACA
SE MENOR>MATRIZ[L,C] ENTAO
MENOR<-MATRIZ[L,C]
X<-C
FIMSE
FIMPARA
MAIOR <- MATRIZ[L,X]
PARA L2 DE 1 ATE 5 FACA
SE MAIOR<MATRIZ[L2,X] ENTAO
MAIOR<-MATRIZ[L2,X]
LR<-L2
FIMSE
FIMPARA
SE ((LR=L) E (MENOR=MAIOR)) ENTAO
TESTE<-FALSO
ESCREVAL("ESTA MATRIZ POSSUI UM PONTO DE SELA")
ESCREVAL("O VALOR É ",MAIOR," SUA POSIÇÃO É LINHA ",LR," COLUNA ",X)
FIMSE
FIMPARA
SE TESTE ENTAO
ESCREVAL("NÃO EXISTE UM PONTO DE SELA NESTA MATRIZ!")
FIMSE
fimalgoritmo
03.Elabore um programa que preencha uma matriz de 6x4 com
números inteiros, cacule e mostre quantos elementos dessa
matriz são maiores que 30 e, em seguida, monte uma segunda
matriz com os elementos diferentes de 30.
No lugar do número 30 da segunda matriz, coloque o número zero.
var
MATRIZ_A: VETOR [1..6,1..4] DE INTEIRO
MATRIZ_B: VETOR [1..6,1..4] DE INTEIRO
CONT:REAL
LINHA,COLUNA:INTEIRO
inicio
PARA LINHA DE 1 ATE 6 FACA
PARA COLUNA DE 1 ATE 4 FACA
ESCREVAL("DIGITE O VALOR ",LINHA," = ",COLUNA)
LEIA(MATRIZ_A[LINHA,COLUNA])
FIMPARA
LIMPATELA
FIMPARA
PARA LINHA DE 1 ATE 6 FACA
PARA COLUNA DE 1 ATE 4 FACA
SE MATRIZ_A[LINHA,COLUNA]>30 ENTAO
CONT<-CONT+1
MATRIZ_B[LINHA,COLUNA]<- 0
SENAO
MATRIZ_B[LINHA,COLUNA]<-MATRIZ_A[LINHA,COLUNA]
FIMSE
FIMPARA
FIMPARA
ESCREVAL(" MATRIZ ORIGINAL")
ESCREVAL("")
PARA LINHA DE 1 ATE 6 FACA
PARA COLUNA DE 1 ATE 4 FACA
ESCREVA(" ",MATRIZ_A[LINHA,COLUNA])
FIMPARA
ESCREVAL(" ")
FIMPARA
ESCREVAL("")
ESCREVAL("MATRIZ RESULTANTE")
PARA LINHA DE 1 ATE 6 FACA
PARA COLUNA DE 1 ATE 4 FACA
ESCREVA(" ",MATRIZ_B[LINHA,COLUNA])
FIMPARA
ESCREVAL(" ")
FIMPARA
fimalgoritmo
04.Crie um programa que preencha uma matriz 15 x 5 com números
inteiros, calcule e mostre quais elementos da matriz se
repetem e quantas veses cada um se repete.
QUESTAO MEIO QUE ABONADA POIS NINGGUEM CONSEGIU FAZER!
PELO MENOS ATE O MOMENTO! JA TO TRABALHANDO
NISSO E ASSIM QUE CONSEGUI POSTO AKI!
05.Elabore um programa que preencha uma matriz 10 x 10 com números
inteiros, execute as trocas especificadas a seguir e mostre a matriz resultante:
- A linha 2 com a linha 8;
- A coluna 4 com a coluna 10;
- A diagonal principal com a diagonal secundária;
- A linha 5 com a coluna 10.
var
matr:vetor[1..10,1..10] de real
matr2:vetor[1..10,1..10] de real
l,c,c2:inteiro
inicio
PARA l de 1 ate 10 FACA
PARA c de 1 ate 10 FACA
escreval("Digite o número referente a linha",l," e coluna",c,":")
leia(matr[l,c])
matr2[l,c] <- matr[l,c]
FIMPARA
FIMPARA
c2<-10
PARA l de 1 ate 10 FACA
matr2[2,l] <- matr[8,l]
matr2[8,l] <- matr[2,l]
matr2[l,4] <- matr[l,10]
matr2[l,10] <- matr[l,4]
matr2[l,l] <- matr[l,c2]
matr2[l,c2] <- matr[l,l]
c2 <- c2-1
matr2[5,l] <- matr[l,10]
matr2[l,10] <- matr[5,l]
FIMPARA
escreval(" Matriz Final ")
PARA l de 1 ate 10 FACA
escreval("| ",matr2[l,1]," | ",matr2[l,2]," | ",matr2[l,3]," | ",matr2[l,4]," | ",matr2[l,5]," | ",matr2[l,6]," | ",matr2[l,7]," | ",matr2[l,8]," | ",matr2[l,9]," | ",matr2[l,10]," | ")
FIMPARA
fimalgoritmo
DOWNLOAD
Aula 22 - 06/07/2011 - MAIS EXERCICIOS MATRIZES
BOM! COMO SEMPRE O QUE COMPLICA É A LÓGICA E NÃO A TEORIA EM CI..
NÃO TIVE DIFICULDADES EM REALIZAR A 1 E A 2 POREM A 3 COMPLICA POR TER UM ENUNCIADO MAIS COMPLICADO MAIS DEPOIS DE BEM ESTUDADO FICA FACIL!
NÃO TIVE DIFICULDADES EM REALIZAR A 1 E A 2 POREM A 3 COMPLICA POR TER UM ENUNCIADO MAIS COMPLICADO MAIS DEPOIS DE BEM ESTUDADO FICA FACIL!
1) Faça um algoritmo que preencha uma matriz M (2x2), calcule e mostre a matriz R, resultante da multiplicação dos elementos de M pelo seu maior elemento.
var
M,R : VETOR [1..2,1..2] de real
N,X:INTEIRO
MAIOR:REAL
inicio
PARA N DE 1 ATE 2 FACA
PARA X DE 1 ATE 2 FACA
ESCREVAL("DIGITE O",X," VALOR DA LINHA N",N)
LEIA(M[N,X])
FIMPARA
LIMPATELA
FIMPARA
MAIOR<- M[1,1]
PARA N DE 1 ATE 2 FACA
PARA X DE 1 ATE 2 FACA
SE MAIOR<M[N,X] ENTAO
MAIOR<-M[N,X]
FIMSE
FIMPARA
FIMPARA
PARA N DE 1 ATE 2 FACA
PARA X DE 1 ATE 2 FACA
R[N,X]<-M[N,X]*MAIOR
FIMPARA
FIMPARA
LIMPATELA
PARA N DE 1 ATE 2 FACA
PARA X DE 1 ATE 2 FACA
ESCREVAL(R[N,X])
FIMPARA
FIMPARA
fimalgoritmo
M,R : VETOR [1..2,1..2] de real
N,X:INTEIRO
MAIOR:REAL
inicio
PARA N DE 1 ATE 2 FACA
PARA X DE 1 ATE 2 FACA
ESCREVAL("DIGITE O",X," VALOR DA LINHA N",N)
LEIA(M[N,X])
FIMPARA
LIMPATELA
FIMPARA
MAIOR<- M[1,1]
PARA N DE 1 ATE 2 FACA
PARA X DE 1 ATE 2 FACA
SE MAIOR<M[N,X] ENTAO
MAIOR<-M[N,X]
FIMSE
FIMPARA
FIMPARA
PARA N DE 1 ATE 2 FACA
PARA X DE 1 ATE 2 FACA
R[N,X]<-M[N,X]*MAIOR
FIMPARA
FIMPARA
LIMPATELA
PARA N DE 1 ATE 2 FACA
PARA X DE 1 ATE 2 FACA
ESCREVAL(R[N,X])
FIMPARA
FIMPARA
fimalgoritmo
2) Faça um programa que preencha:
- Um vetor com oito posições, contendo nomes de lojas;
- Outro vetor com quatro posições, contendo nomes de produtos;
- Uma matriz com os preços de todos os produtos em cada loja.
O programa deverá mostrar todas as relações (nome do produto – nome da loja) em que o preço não ultrapasse R$ 120,00.
LOJA: VETOR [1..8] DE CARACTER
PRODUTO: VETOR [1..4]DE CARACTER
TABELA:VETOR [1..4,1..8] DE REAL
N,L,C:INTEIRO
inicio
PARA N DE 1 ATE 8 FACA
ESCREVAL("DIGITE NOME DA LOJA",N)
LEIA(LOJA[N])
FIMPARA
LIMPATELA
PARA N DE 1 ATE 4 FACA
ESCREVAL("DIGITE NOME PRODUTO",N)
LEIA(PRODUTO[N])
FIMPARA
LIMPATELA
PARA L DE 1 ATE 8 FACA
LIMPATELA
PARA C DE 1 ATE 4 FACA
ESCREVAL("DIGITE O PREÇO DO(A) ",PRODUTO[C]," NA LOJA ",LOJA[L])
LEIA(TABELA[C,L])
FIMPARA
FIMPARA
LIMPATELA
PARA L DE 1 ATE 8 FACA
PARA C DE 1 ATE 4 FACA
SE TABELA[C,L]<120 ENTAO
ESCREVAL("O PRODUTO ",PRODUTO[C]," NA LOJA",LOJA[L]," CUSTA ",TABELA[C,L])
FIMSE
FIMPARA
FIMPARA
fimalgoritmo
3) Na teoria dos sistemas, define-se o elemento MINMAX de uma matriz como o maior elemento da linha em que se econtra o menor elemento da matriz. Elabore um programa que carregue uma matriz 4x7 com números reais, calcule e mostre seu MINMAX e sua posição (linha e coluna).
var
MATRIZ: VETOR [1..4,1..7] DE INTEIRO
C,L,C2,L2:INTEIRO
MENOR,MAIOR,LM,CM:REAL
TESTE:LOGICO
inicio
LM<-0
CM<-0
TESTE<-VERDADEIRO
PARA L DE 1 ATE 4 FACA
PARA C DE 1 ATE 7 FACA
ESCREVAL("DIGITE O VALOR",L," = ",C)
LEIA(MATRIZ[L,C])
FIMPARA
LIMPATELA
FIMPARA
PARA L DE 1 ATE 4 FACA
MENOR<-MATRIZ[1,1]
PARA C DE 1 ATE 7 FACA
SE MENOR>MATRIZ[L,C] ENTAO
MENOR<-MATRIZ[L,C]
LM<-L
FIMSE
FIMPARA
FIMPARA
MAIOR<-MATRIZ[LM,1]
PARA C DE 1 ATE 7 FACA
SE MAIOR < MATRIZ[LM,C] ENTAO
MAIOR<-MATRIZ[LM,C]
CM<-C
TESTE<-FALSO
FIMSE
FIMPARA
SE TESTE ENTAO
ESCREVAL("NÃO EXISTE VALOR MINMAX NESTA MATRIZ")
SENAO
ESCREVAL("O VALOR MINMAX É",MAIOR)
ESCREVAL("SUA POSIÇÃO É LINHA",LM,"COLUNA ",CM)
FIMSE
fimalgoritmo
var
MATRIZ: VETOR [1..4,1..7] DE INTEIRO
C,L,C2,L2:INTEIRO
MENOR,MAIOR,LM,CM:REAL
TESTE:LOGICO
inicio
LM<-0
CM<-0
TESTE<-VERDADEIRO
PARA L DE 1 ATE 4 FACA
PARA C DE 1 ATE 7 FACA
ESCREVAL("DIGITE O VALOR",L," = ",C)
LEIA(MATRIZ[L,C])
FIMPARA
LIMPATELA
FIMPARA
PARA L DE 1 ATE 4 FACA
MENOR<-MATRIZ[1,1]
PARA C DE 1 ATE 7 FACA
SE MENOR>MATRIZ[L,C] ENTAO
MENOR<-MATRIZ[L,C]
LM<-L
FIMSE
FIMPARA
FIMPARA
MAIOR<-MATRIZ[LM,1]
PARA C DE 1 ATE 7 FACA
SE MAIOR < MATRIZ[LM,C] ENTAO
MAIOR<-MATRIZ[LM,C]
CM<-C
TESTE<-FALSO
FIMSE
FIMPARA
SE TESTE ENTAO
ESCREVAL("NÃO EXISTE VALOR MINMAX NESTA MATRIZ")
SENAO
ESCREVAL("O VALOR MINMAX É",MAIOR)
ESCREVAL("SUA POSIÇÃO É LINHA",LM,"COLUNA ",CM)
FIMSE
fimalgoritmo
Aula 21 - 04/07/2011 - EXERCICIOS MATRIZES
APOS O CONTEUDO PASSADO VAMOS AO EXERCICIOS! NÃO TIVE GRANDES DIFICULDADES PARA RESOLVER AS QUESTOES ABAIXO ESPERO QUE ISSO CONTINUE! A TENDENCIA É PIORAR! ENTAO QUANDO MAIS EXERCICIOS FOREM PASSADOS MELHOR! MAOS A OBRA!
ABAIXO EXERCICIOS PASSADOS!
1) Faça um programa que preencha dois vetores de cinco elementos numéricos cada um e mostre o vetor resultante da multiplicação dos valores destes vetores.
ABAIXO EXERCICIOS PASSADOS!
1) Faça um programa que preencha dois vetores de cinco elementos numéricos cada um e mostre o vetor resultante da multiplicação dos valores destes vetores.
Vetor 1:
3 | 5 | 4 | 2 | 2 |
1 | 2 | 3 | 4 | 5 |
Vetor 2:
7 | 15 | 20 | 0 | 18 |
1 | 2 | 3 | 4 | 5 |
Vetor resultante da multiplicação:
21 | 75 | 80 | 0 | 36 |
1 | 2 | 3 | 4 | 5 |
var
VALOR1: VETOR [1..5] DE REAL
VALOR2:VETOR [1..5] DE REAL
RESP:VETOR [1..5] DE REAL
X:INTEIRO
inicio
ESCREVAL("VAMOS DIGITAR A PRIMEIRA RELAÇÃO DE 5 VALORES")
PARA X DE 1 ATE 5 FACA
ESCREVAL("DIGITE O",X," POSIÇÃO DA PRIMEIRA RELAÇÃO")
LEIA(VALOR1[X])
FIMPARA
LIMPATELA
ESCREVAL("AGORA A SEGUNDA RELAÇÃO DE 5 VALORES")
PARA X DE 1 ATE 5 FACA
ESCREVAL("DIGITE O",X," POSIÇÃO DA SEGUNDA RELAÇÃO")
LEIA(VALOR2[X])
FIMPARA
LIMPATELA
PARA X DE 1 ATE 5 FACA
RESP[X]<-((VALOR1[X])*(VALOR2[X]))
ESCREVAL(VALOR1[X]," X",VALOR2[X]," =",RESP[X])
FIMPARA
fimalgoritmo
VALOR1: VETOR [1..5] DE REAL
VALOR2:VETOR [1..5] DE REAL
RESP:VETOR [1..5] DE REAL
X:INTEIRO
inicio
ESCREVAL("VAMOS DIGITAR A PRIMEIRA RELAÇÃO DE 5 VALORES")
PARA X DE 1 ATE 5 FACA
ESCREVAL("DIGITE O",X," POSIÇÃO DA PRIMEIRA RELAÇÃO")
LEIA(VALOR1[X])
FIMPARA
LIMPATELA
ESCREVAL("AGORA A SEGUNDA RELAÇÃO DE 5 VALORES")
PARA X DE 1 ATE 5 FACA
ESCREVAL("DIGITE O",X," POSIÇÃO DA SEGUNDA RELAÇÃO")
LEIA(VALOR2[X])
FIMPARA
LIMPATELA
PARA X DE 1 ATE 5 FACA
RESP[X]<-((VALOR1[X])*(VALOR2[X]))
ESCREVAL(VALOR1[X]," X",VALOR2[X]," =",RESP[X])
FIMPARA
fimalgoritmo
2) Uma pequena loja de artesanato possui apenas um vendedor e comercializa dez tipos de objetos. O vendedor recebe, mensalmente, salário de R$ 400,00, acrescido de 5% do valor total de suas vendas. O valor unitário dos objetos deve ser informado e armazenado em uma matriz; a quantidade vendida de cada peça deve ficar na mesma matriz, em outra coluna.
Crie um programa que receba os preços e as quantidades vendidas e armazenando-os na matriz. Depois determine e mostre:
Crie um programa que receba os preços e as quantidades vendidas e armazenando-os na matriz. Depois determine e mostre:
- um relatório contendo quantidade vendida, valor unitário e valor total de cada objeto. Ao final deverá ser mostrado um valor geral das vendas e o valor da comissão que será paga ao vendedor
- o valor do objeto mais vendido e sua posição na matriz (mostre linha e coluna. Não se preocupe com empates).
var
OBJETO: VETOR [1..10,1..2] DE REAL
MULT,POSICAO,MAIOR_QUANT:REAL
TESTE:LOGICO
N:INTEIRO
inicio
TESTE<-FALSO
PARA N DE 1 ATE 10 FACA
LIMPATELA
ESCREVAL("DIGITE O PREÇO UNITARIO ",N)
LEIA(OBJETO[N,1])
ESCREVAL("DIGITE QUANTIDADE VENDIDA ",N)
LEIA(OBJETO[N,2])
FIMPARA
LIMPATELA
PARA N DE 1 ATE 10 FACA
MULT<- OBJETO[N,1]*OBJETO[N,2]
ESCREVAL("O PREÇO UNITARIO DO PRODUTO É",OBJETO[N,1])
ESCREVAL("A QUANTIA VENDIDA FOI",[N,2])
ESCREVAL("O VALOR TOTAL DO PRODUTO",MULT)
FIMPARA
MAIOR_QUANT<-(OBJETO[1,2])
PARA N DE 2 ATE 10 FACA
SE MAIOR_QUANT< OBJETO[N,2] ENTAO
MAIOR_QUANT<-OBJETO[N,2]
POSICAO<-N
TESTE<-VERDADEIRO
FIMSE
FIMPARA
SE TESTE=VERDADEIRO ENTAO
ESCREVAL("O MAIOR MAIOR PRODUTO VENDIDO FOI O",POSICAO," COM",MAIOR_QUANT)
ESCREVAL("SEU VALOR UNITARIO É",OBJETO[POSICAO,1])
ESCREVAL("SUA POSIÇÃO EXATA É LINHA",N," COLUNA ",N)
SENAO
ESCREVAL("O MAIOR MAIOR PRODUTO VENDIDO FOI O 1 COM",MAIOR_QUANT," UNIDADES")
ESCREVAL("SUA POSIÇÃO EXATA É LINHA 2 COLUNA 1")
FIMSE
fimalgoritmo
DOWNLOAD
3) Faça um programa que preencha uma matriz 10 x 3 com as notas de dez alunos em três provas. O programa deverá mostrar um relatório com o número dos alunos (número da linha) e a média do aluno nas 3 provas. Ao final do relatório, deverá mostrar a média geral de todos os alunos.
var
MATRIZ: VETOR [1..10,1..3] DE INTEIRO
MEDIA: VETOR[1..10] DE REAL
L,C:INTEIRO
MEDIA_T,SOMA:REAL
inicio
PARA L DE 1 ATE 10 FACA
PARA C DE 1 ATE 3 FACA
ESCREVAL("DIGITE A NOTA DO ALUNO",L," NA PROVA",C)
LEIA(MATRIZ[L,C])
SOMA<-(SOMA+MATRIZ[L,C])
FIMPARA
LIMPATELA
FIMPARA
PARA L DE 1 ATE 10 FACA
MEDIA[L]<- (MATRIZ[L,1]+MATRIZ[L,2]+MATRIZ[L,3])/3
ESCREVAL(" O ALUNO",L," TEVE MEDIA ",MEDIA[L])
FIMPARA
MEDIA_T<-(SOMA/10)/3
ESCREVAL("A MEDIA DA TURMA É",MEDIA_T)
fimalgoritmo
MATRIZ: VETOR [1..10,1..3] DE INTEIRO
MEDIA: VETOR[1..10] DE REAL
L,C:INTEIRO
MEDIA_T,SOMA:REAL
inicio
PARA L DE 1 ATE 10 FACA
PARA C DE 1 ATE 3 FACA
ESCREVAL("DIGITE A NOTA DO ALUNO",L," NA PROVA",C)
LEIA(MATRIZ[L,C])
SOMA<-(SOMA+MATRIZ[L,C])
FIMPARA
LIMPATELA
FIMPARA
PARA L DE 1 ATE 10 FACA
MEDIA[L]<- (MATRIZ[L,1]+MATRIZ[L,2]+MATRIZ[L,3])/3
ESCREVAL(" O ALUNO",L," TEVE MEDIA ",MEDIA[L])
FIMPARA
MEDIA_T<-(SOMA/10)/3
ESCREVAL("A MEDIA DA TURMA É",MEDIA_T)
fimalgoritmo
4) Faça um programa que preencha uma matriz de 5 x 5 com números inteiros, calcule e mostre os números superiores a cinquenta e suas respectivas posições (linha e coluna). O programa deverá mostrar mensagem se não existir nenhum número nessa condição.
var
MATRIZ: VETOR [1..5,1..5] DE INTEIRO
L,C:INTEIRO
TESTE:LOGICO
inicio
TESTE<-FALSO
PARA L DE 1 ATE 5 FACA
PARA C DE 1 ATE 5 FACA
ESCREVAL("DIGITE O VALOR")
LEIA(MATRIZ[L,C])
SE MATRIZ[L,C]>50 ENTAO
ESCREVAL("O VALOR DIGITADO É MAIOR QUE 50 ")
ESCREVAL("SUA LOCALIZAÇÃO É LINHA ",L," COLUNA ",C)
TESTE<-VERDADEIRO
FIMSE
FIMPARA
LIMPATELA
FIMPARA
SE TESTE=FALSO ENTAO
ESCREVAL("NENHUM NUMERO MAIOR QUE 50 FOI DIGITADO!")
FIMSE
Aula 20 - 29.06.2011 - MATRIZES
ANTES DE MAIS NADA SIM, CHEGUEI ATRASADO. NÃO SEI COMO ACHEI QUE A AULA ERA NO LAB, ENFIM. HOJE TIVEMOS O PRIMEIRO CONTATO COM O MONSTRO "MATRIZ" NUNCA TINHA VISTO UMA TURMA TÃO APAVORADA; A EXPLICAÇÃO SE TORNA UM TANTO COMPLICADO JA QUE PENSAR EM DADOS EM TRÊS DIMENSÕES ASSUSTA QUALQUER UM. CONFESSO QUE NO COMEÇO TIVE GRANDE DIFICULDADE EM ENTENDER A LÓGICA BASICA. MAIS DEPOIS DE ALGUNS EXERCÍCIOS A COISA COMEÇOU A ANDAR. ABAIXO SEGUE O CONTEÚDO E OS EXERCÍCIOS.
FAÇA UM PROGRAMA QUE PREENCHA UMA MATRIZ 10X3 COM AS NOTAS DE DEZ ALUNOS EM TRÊS PROVAS. O PROGRAMA DEVERA MOSTRAR UM RELÁTORIO COM NUMERO DOS ALUNOS(NUMERO DA LINHA) E A PROVA EM QUE CADA UM OBTEVE MENOR NOTA AO FINAL O RELATÓRIO, DEVERA MOSTRAR QUANTOS ALUNOS TIVERAM MENOR NOTA EM CADA UMA DAS PROVAS: NA PROVA 1, NA PROVA E NA PROVA 3.
VAR
NOTA: VETOR [1..10,1..3] DE REAL
PROVA,ALUNO,CONT1,CONT2,CONT3:INTEIRO
INICIO
PARA ALUNO DE 1 ATE 10 FACA
PARA PROVA DE 1 ATE 3 FACA
ESCREVAL("DIGITE A NOTA DA PROVA",PROVA)
LEIA(NOTA[ALUNO,PROVA])
FIMPARA
FIMPARA
CONT1<-0
CONT2<-0
CONT3<-0
PARA ALUNO DE 1 ATE 10 FACA
SE ((NOTA[ALUNO,1])>(NOTA[ALUNO,2]))E ((NOTA[ALUNO,2])>(NOTA[ALUNO,3])) ENTAO
CONT1<-CONT1+1
ESCREVAL("A MENOR NOTA DO ALUNO",ALUNO,"FOI NA TERCEIRA PROVA") ENTAO
SENAO
SE ((NOTA[ALUNO,1])>(NOTA[ALUNO,2]))E((NOTA[ALUNO,3])>(NOTA[ALUNO,2])) ENTAO
CONT2<-CONT2+1
ESCREVAL("A MENOR NOTA DO ALUNO",ALUNO,"FOI NA SEGUNDA PROVA")
SENAO
SE ((NOTA[ALUNO,2])>(NOTA[ALUNO,1]))E ((NOTA[ALUNO,2])>(NOTA[ALUNO,1])) ENTAO
CONT3<-CONT3+1
ESCREVAL("A MENOR NOTA DO ALUNO",ALUNO,"FOI NA PRIMEIRA PROVA")
SENAO
SE ((NOTA[ALUNO,2])=(NOTA[ALUNO,1]))E ((NOTA[ALUNO,1])>(NOTA[ALUNO,3])) ENTAO
ESCREVAL("O ALUNO",ALUNO," NÃO TEVE NENHUMA NOTA MENOR)
FIMSE
FIMSE
FIMSE
FIMSE
ESCREVAL(CONT3," ALUNOS TIRARAM A NOTA MAIS BAIXA NA PRIMEIRA PROVA")
ESCREVAL(CONT2," ALUNOS TIRARAM A NOTA MAIS BAIXA NA SEGUNDA PROVA")
ESCREVAL(CONT1," ALUNOS TIRARAM A NOTA MAIS BAIXA NA TERCEIRA PROVA")
FIM
NOTA: VETOR [1..10,1..3] DE REAL
PROVA,ALUNO,CONT1,CONT2,CONT3:INTEIRO
INICIO
PARA ALUNO DE 1 ATE 10 FACA
PARA PROVA DE 1 ATE 3 FACA
ESCREVAL("DIGITE A NOTA DA PROVA",PROVA)
LEIA(NOTA[ALUNO,PROVA])
FIMPARA
FIMPARA
CONT1<-0
CONT2<-0
CONT3<-0
PARA ALUNO DE 1 ATE 10 FACA
SE ((NOTA[ALUNO,1])>(NOTA[ALUNO,2]))E ((NOTA[ALUNO,2])>(NOTA[ALUNO,3])) ENTAO
CONT1<-CONT1+1
ESCREVAL("A MENOR NOTA DO ALUNO",ALUNO,"FOI NA TERCEIRA PROVA") ENTAO
SENAO
SE ((NOTA[ALUNO,1])>(NOTA[ALUNO,2]))E((NOTA[ALUNO,3])>(NOTA[ALUNO,2])) ENTAO
CONT2<-CONT2+1
ESCREVAL("A MENOR NOTA DO ALUNO",ALUNO,"FOI NA SEGUNDA PROVA")
SENAO
SE ((NOTA[ALUNO,2])>(NOTA[ALUNO,1]))E ((NOTA[ALUNO,2])>(NOTA[ALUNO,1])) ENTAO
CONT3<-CONT3+1
ESCREVAL("A MENOR NOTA DO ALUNO",ALUNO,"FOI NA PRIMEIRA PROVA")
SENAO
SE ((NOTA[ALUNO,2])=(NOTA[ALUNO,1]))E ((NOTA[ALUNO,1])>(NOTA[ALUNO,3])) ENTAO
ESCREVAL("O ALUNO",ALUNO," NÃO TEVE NENHUMA NOTA MENOR)
FIMSE
FIMSE
FIMSE
FIMSE
ESCREVAL(CONT3," ALUNOS TIRARAM A NOTA MAIS BAIXA NA PRIMEIRA PROVA")
ESCREVAL(CONT2," ALUNOS TIRARAM A NOTA MAIS BAIXA NA SEGUNDA PROVA")
ESCREVAL(CONT1," ALUNOS TIRARAM A NOTA MAIS BAIXA NA TERCEIRA PROVA")
FIM
FAÇA UM PROGRAMA QUE PREENCHA UMA MATRIZ DE 5X5 COM NUMEROS INTEIROS, CAUCULE E MOSTRE OS NUMEROS SUPERIORES A CINQUENTA E SUAS RESPECTIVAS POSIÇÕES(LINHA E COLUNA). O PROGRAMA DEVERÁ MOSTRAR MENSAGEM SE NÃO EXISTIR NENHUM NÚMERO NESSA CONDIÇÃO
VAR
VALOR:VETOR [1..5,1..5] DE INTEIRO
LINHA,COLUNA:INTEIRO
MAIOR:LOGICO
VALOR:VETOR [1..5,1..5] DE INTEIRO
LINHA,COLUNA:INTEIRO
MAIOR:LOGICO
INICIO
MAIOR<-FALSO
PARA LINHA DE 1 ATE 5 FACA
PARA COLUNA DE 1 ATE 5 FACA
ESCREVAL("DIGITE UM VALOR")
LEIA(VALOR[LINHA,COLUNA])
SE (VALOR[LINHA,COLUNA])>50 ENTAO
ESCREVAL("O VALOR DECLARADO É MAIOR QUE 50, SUA POSIÇÃO É LINHA",LINHA," COLUNA",COLUNA)
MAIOR<-VERDADEIRO
FIMSE
FIMPARA
FIMPARA
SE MAIOR=FALSO ENTAO
ESCREVAL("NENHUM VALOR DECLARADO É MAIOR DO QUE 50")
FIMSE
MAIOR<-FALSO
PARA LINHA DE 1 ATE 5 FACA
PARA COLUNA DE 1 ATE 5 FACA
ESCREVAL("DIGITE UM VALOR")
LEIA(VALOR[LINHA,COLUNA])
SE (VALOR[LINHA,COLUNA])>50 ENTAO
ESCREVAL("O VALOR DECLARADO É MAIOR QUE 50, SUA POSIÇÃO É LINHA",LINHA," COLUNA",COLUNA)
MAIOR<-VERDADEIRO
FIMSE
FIMPARA
FIMPARA
SE MAIOR=FALSO ENTAO
ESCREVAL("NENHUM VALOR DECLARADO É MAIOR DO QUE 50")
FIMSE
FIM
Aula 19 - 22.06.2011 - VETORES
DURANTE A AULA DE HOJE AVANÇAMOS NO CONTEÚDO,FOI NOS PASSADO VETOR A PRIMEIRA VISTA É ALGO DE OUTRO MUNDO, MAIS ATÉ QUE NA PRATICA AS COISAS CORRERAM TRANQUILAMENTE. DEPOIS DESTA AULA PERCEBI QUE AS COISAS VÃO CADA VEZ AUMENTANDO MAIS O CONTEÚDO DE ONTEM É O ALFABETO DE AGORA. E ACREDITO QUE AS DIFICULDADES DO PASSADO SERÃO GRANDES PROBLEMAS NO FUTURO. PRÓXIMA AULA VIRA MATRIZES, ESTOU MUITO CURIOSO ATÉ PORQUE QUANDO MAIS FERRAMENTAS APRENDEMOS, MAIS NOSSOS ALGORITMOS FICAM COMPLETOS, E DÃO MENOS TRABALHO MESMO QUE EXIJAM MAIS RACIOCINO. A AULA CORREU COMO DE COSTUME CONTEÚDO DEPOIS EXERCÍCIOS OS MESMO SEGUEM ABAIXO.
01. FAÇA UM PROGRAMA QUE LEIA 10 NOMES DE ALUNOS E GUARDE EM UMA LISTA
VAR
NOMES:VETOR[1..10] DE CARACTERE
CONT:INTEIRO
INICIO
PARA CONT DE 1 ATE 10 FACA
ESCREVAL("DIGITE UM NOME")
LEIA(NOMES[CONT])
FIMPARA
LIMPATELA
PARA CONT DE 1 ATE 10 FACA
ESCREVAL(NOMES[CONT])
FIMPARA
FIM
VAR
NOMES:VETOR[1..10] DE CARACTERE
CONT:INTEIRO
INICIO
PARA CONT DE 1 ATE 10 FACA
ESCREVAL("DIGITE UM NOME")
LEIA(NOMES[CONT])
FIMPARA
LIMPATELA
PARA CONT DE 1 ATE 10 FACA
ESCREVAL(NOMES[CONT])
FIMPARA
FIM
02. FAÇA UM PROGRAMA QUE LEIA 10 NOMES DE ALUNOS E SUA MÉDIA FINAL E GUARDE EM LISTAS. AO FINAL, LISTAR O NOME DO ALUNO E SUA MÉDIA MOSTRANDO "APROVADO" SE A MÉDIA FOR MAIOR OU IGUAL A 7.0 OU "REPROVADO" CASO CONTRÁRIO.
VAR
NOME:VETOR [1..10] DE CARACTER
MEDIA:VETOR [1..10] DE REAL
NOTA:VETOR[1..10] DE CARACTER
CONT:INTEIRO
INICIO
PARA CONT DE 1 ATE 10 FACA
ESCREVAL("DIGITE O NOME")
LEIA(NOME[CONT])
ESCREVAL("DIGITE MÉDIA")
LEIA(MEDIA[CONT])
SE (MEDIA[CONT])>=7 ENTAO
NOTA[CONT]<-"APROVADO"
SENAO
SE ((MEDIA[CONT])<7) E ((MEDIA[CONT])>0) ENTAO
NOTA[CONT]<-"REPROVADO"
SENAO
NOTA(CONT)<-("MÉDIA INVALIDA")
FIMSE
FIMSE
FIMPARA
PARA CONT DE 1 ATE 10 FACA
ESCREVAL("O ALUNO(A) ",NOME[CONT]," TIROU A MEDIA ",MEDIA[CONT]," E ESTÁ ",NOTA[CONT])
FIMPARA
FIM
03.FAÇA UM PROGRAMA QUE LEIA 50 VALORES REIAS E GUARDE EM UM VETOR. AO FINAL, MOSTRAR A SOMA E A MÉDIA DOS VETORES LIDOS.
VAR
VALOR:VETOR [1..50] DE REAL
CONT:INTEIRO
SOMA,MEDIA:REAL
INICIO
PARA CONT DE 1 ATE 50 FACA
ESCREVAL("DIGITE O VALOR")
LEIA(VALOR[CONT])
SOMA<-(SOMA+VALOR[CONT])
FIMPARA
MEDIA<-SOMA/50
ESCREVAL("A SOMA DOS NUMEROS LIDOS É",SOMA)
ESCREVAL("A MÉDIA DOS NUMEROS LIDOS É",MEDIA)
FIM
04.FAÇA UM PROGRAMA QUE CAUCULE A MEDIA ((NOTA 1 + NOTA2)/2) DE 10 ALUNOS E GUARDE EM UM VETOR. PERCORRA O VETOR E MOSTRE AS MÉDIAS. AO FINAL MORESTE A MÉDIA GERAL DA TURMA.
VAR
NOTA1: VETOR [1..10] DE REAL
NOTA2: VETOR [1..10] DE REAL
MEDIA: VETOR [1..10] DE REAL
MEDIA_TOTAL,MEDIA_GERAL:REAL
CONT:INTEIRO
INICIO
PARA CONT DE 1 ATE 10 FACA
ESCREVAL("DIGITE PRIMEIRA NOTA")
LEIA(NOTA1[CONT])
ESCREVAL("DIGITE SEGUNDA NOTA")
LEIA(NOTA2[CONT])
MEDIA[CONT]<-((NOTA1[CONT])+NOTA2[CONT])/2)
FIMPARA
PARA CONT DE 1 ATE 10 FACA
ESCREVAL(" A MEDIA DO ALUNO(A)",CONT," É",MEDIA[CONT])
MEDIA_TOTAL<-MEDIA_GERAL+MEDIA[CONT]
FIMPARA
MEDIA_GERAL<-MEDIA_TOTAL/10
ESCREVAL("A MEDIA GERAL DOS ALUNOS FOI",MEDIA_GERAL)
FIM
VAR
NOTA1: VETOR [1..10] DE REAL
NOTA2: VETOR [1..10] DE REAL
MEDIA: VETOR [1..10] DE REAL
MEDIA_TOTAL,MEDIA_GERAL:REAL
CONT:INTEIRO
INICIO
PARA CONT DE 1 ATE 10 FACA
ESCREVAL("DIGITE PRIMEIRA NOTA")
LEIA(NOTA1[CONT])
ESCREVAL("DIGITE SEGUNDA NOTA")
LEIA(NOTA2[CONT])
MEDIA[CONT]<-((NOTA1[CONT])+NOTA2[CONT])/2)
FIMPARA
PARA CONT DE 1 ATE 10 FACA
ESCREVAL(" A MEDIA DO ALUNO(A)",CONT," É",MEDIA[CONT])
MEDIA_TOTAL<-MEDIA_GERAL+MEDIA[CONT]
FIMPARA
MEDIA_GERAL<-MEDIA_TOTAL/10
ESCREVAL("A MEDIA GERAL DOS ALUNOS FOI",MEDIA_GERAL)
FIM
05. FAÇA UM PROGRAMA QUE MOSTRE O MÊS DO ANO DE ACORDO COM O NUMERO DE ( 1 A 12) INFORMADO PELO USUARIO.
VAR
MES:VETOR [1..12] DE CARACTER
VALOR:INTEIRO
INICIO
MES[1]<-("JANEIRO")
MES[2]<-("FEVEREIRO")
MES[3]<-("MARÇO")
MES[4]<-("ABRIL")
MES[5]<-("MAIO")
MES[6]<-("JUNHO")
MES[7]<-("JULHO")
MES[8]<-("AGOSTO")
MES[9]<-("SETEMBRO")
MES[10]<-("OUTUBRO")
MES[11]<-("NOVEMBRO")
MES[12]<-("DEZENBRO")
ESCREVAL("DIGITE O VALOR")
LEIA(VALOR)
ESCREVAL("O VALOR DIGITADO CORRESPONDE AO MES DE ",MES[VALOR])
FIM
VAR
MES:VETOR [1..12] DE CARACTER
VALOR:INTEIRO
INICIO
MES[1]<-("JANEIRO")
MES[2]<-("FEVEREIRO")
MES[3]<-("MARÇO")
MES[4]<-("ABRIL")
MES[5]<-("MAIO")
MES[6]<-("JUNHO")
MES[7]<-("JULHO")
MES[8]<-("AGOSTO")
MES[9]<-("SETEMBRO")
MES[10]<-("OUTUBRO")
MES[11]<-("NOVEMBRO")
MES[12]<-("DEZENBRO")
ESCREVAL("DIGITE O VALOR")
LEIA(VALOR)
ESCREVAL("O VALOR DIGITADO CORRESPONDE AO MES DE ",MES[VALOR])
FIM
Aula 16 e 17 - 08.05.2011 e 15/06/2011 - TRABALHO
Na aula foi relizado um trabalho com 3 questões valendo 10 pontos as mesmas foram corrigidas na aula 17 onde grupos apresentaram suas verções dos programas pra a sala explicando o raciocinio abaixo questoes
1) Em uma eleição presidencial existem quatro candidatos. Os votos são informados por meio de código. Os códigos utilizados são:
1, 2, 3, 4 | Votos para os respectivos candidatos |
5 | Voto nulo |
6 | Voto em branco |
Faça um programa que calcule e mostre:
- o total de votos para cada candidato;
- o total de votos nulos;
- o total de votos em branco;
- a percentagem de votos nulos sobre o total de votos;
- a percentagem de votos em branco sobre o total de votos.
Para finalizar o conjunto de votos, tem-se o valor ZERO e, para códigos inválidos, o programa deverá mostrar uma mensagem.
var
voto, cont, cont1, cont2, cont3, cont4, cont5,cont6: inteiro
perc1, perc2: real
inicio
cont := 0
cont1 := 0
cont2 := 0
cont3 := 0
cont4 := 0
cont5 := 0
cont6 := 0
escreval ("INFORME O SEU VOTO")
escreval ("DIGITE (1) PARA VOTAR NO PRIMEIRO CANDITADO")
escreval ("DIGITE (2) PARA VOTAR NO SEGUNDO CANDITADO")
escreval ("DIGITE (3) PARA VOTAR NO TERCEIRO CANDITADO")
escreval ("DIGITE (4) PARA VOTAR NO QUANRTO CANDITADO")
repita
leia (voto)
cont := cont + 1
Se (voto > 6) ou (voto < 0)entao
escreval("ERRO, VOTO INVALIDO, VOTE NOVAMENTE!")
fimse
Se (voto = 1) entao
cont1 := cont1 + 1
senao
Se (voto = 2) entao
cont2 := cont2 + 1
senao
Se (voto = 3) entao
cont3 := cont3 + 1
senao
Se (voto = 4) entao
cont4 := cont4 + 1
senao
Se (voto = 5) entao
cont5 := cont5 + 1
senao
Se (voto = 6) entao
cont6 := cont6 + 1
fimse
fimse
fimse
fimse
fimse
fimse
ate (voto = 0)
cont := cont - 1
perc1 := cont5 * 100 / cont
perc2 := cont6 * 100 / cont
Se (Cont5 = 0) entao
escreval ("NÃO HOUVE VOTOS NULOS NESSA ELEIÇÃO")
fimse
Se (cont6 = 0) entao
escreval ("NÃO HOUVE VOTOS EM BRANCO NESSA ELEIÇÃO")
fimse
escreval ("O TOTAL DE VOTOS PARA O 1º CANDITADO É = ", cont1)
escreval ("O TOTAL DE VOTOS PARA O 2º CANDITADO É = ", cont2)
escreval ("O TOTAL DE VOTOS var
prec_unit, pais, trans2, prec_total, seguro, porc_impos, imp, imp_total: real
trans, carga,meio: caracter
inicio
imp_total <- 0
escreval("INFORME O PREÇO UNITÁRIO")
ESCREVA ("R$ ")
leia(prec_unit)
ENQUANTO (prec_unit < 0) FACA
ESCREVA ("VALOR INVÁLIDO. DIGITE NOVAMENTE! ")
ESCREVA ("R$ ")
leia(prec_unit)
FIMENQUANTO
SE (prec_unit <> 0) ENTAO
REPITA
ESCREVAL("INFORME O PAÍS DE ORIGEM (1) BRASIL, (2) PORTUGAL e (3) OUTROS")
ESCREVA ("PAÍS ")
leia(pais)
SE (pais = 1) ENTAO
ESCREVAL ("PAÍS = BRAISL")
SENAO
SE (pais = 2) ENTAO
ESCREVAL ("PAÍS = PORTUGAL")
SENAO
SE (pais = 3) ENTAO
ESCREVAL ("PAÍS = OUTROS")
FIMSE
FIMSE
FIMSE
ENQUANTO (pais < 1) ou (pais > 3) FACA
ESCREVAL ("PAÍS INVÁLIDO. INFORME NOVAMENTE O PAÍS!")
ESCREVA ("PAÍS")
leia(pais)
SE (pais = 1) ENTAO
ESCREVAL ("PAÍS = BRAISL")
SENAO
SE (pais = 2) ENTAO
ESCREVAL ("PAÍS = PORTUGAL")
SENAO
SE (pais = 3) ENTAO
ESCREVAL ("PAÍS = OUTROS")
FIMSE
FIMSE
FIMSE
FIMENQUANTO
ESCREVAL("INFORME O MEIO DE TRANSPORTE (T) TERRESTRE, (F) FLUVIAL e (A) AÉREO")
leia(trans)
ENQUANTO (trans <> "T") e (trans <> "F") e (trans <> "A") FACA
ESCREVAL ("MEIO DE TRANSPORTE INFORMADO É INVÁLIDO. INFORME NOVAMENTE!")
leia(trans)
FIMENQUANTO
ESCREVAL ("SUA CARGA É PERIGOSA? (S) SIM OU (N) NAO")
leia(carga)
ENQUANTO (carga <> "S") e (carga <> "N") FACA
ESCREVAL ("VOCÊ INFORMOU UM TIPO DE CARGA INVÁLIDO. INFORME NOVAMENTE!")
leia(carga)
FIMENQUANTO
SE (trans = "T") entao
meio <- "Terestre"
SENAO
SE (trans = "F") entao
meio <- "Fluvial"
Senao
se (trans = "A") entao
meio <- "Aereo"
fimse
fimse
fimse
SE (prec_unit < 280) ou (prec_unit = 280) ENTAO
porc_impos <- (prec_unit*5) / 100
SENAO
SE (prec_unit > 280) ENTAO
porc_impos <- (prec_unit*10) / 100
FIMSE
FIMSE
SE (carga = "s") ENTAO
SE (pais = 1) ENTAO
trans2 <- 140
FIMSE
SE (pais = 2) ENTAO
trans2 <- 59
FIMSE
SE (pais = 3) ENTAO
trans2 <- 67
FIMSE
SENAO
SE (carga = "n") ENTAO
SE (pais = 1) ENTAO
trans2 <- 34
FIMSE
SE (pais = 2) ENTAO
trans2 <- 59
FIMSE
SE (trans = 3) ENTAO
trans2 <- 168
FIMSE
FIMSE
FIMSE
SE (pais = 2) ou (trans = "a") ENTAO
seguro <- (prec_unit/2)
SENAO
SE (pais <> 2) ou (trans <> "a") ENTAO
seguro <- 0
FIMSE
FIMSE
prec_total <- prec_unit+porc_impos + seguro + trans2
imp <- porc_impos
imp_total <- imp_total + imp
prec_total <- prec_unit + porc_impos + seguro + trans2
limpatela
escreval("")
escreval("O imposto unitário custa: ",porc_impos," reais")
escreval("O transporte ",meio," custa: ",trans2," reais")
escreval("O seguro custa: ",seguro," reais")
escreval("O preço final é: ",prec_total," reais")
escreval("")
escreval("INFORME O PRÓXIMO VALOR UNITÁRIO ")
ESCREVA ("R$ ")
leia(prec_unit)
ENQUANTO (prec_unit < 0) FACA
escreva("VALOR INVÁLIDO. INFORME NOVAMENTE")
leia(prec_unit)
FIMENQUANTO
ATE (prec_unit = 0)
SENAO
escreval("Você não digitou nenhum valor válido.")
FIMSE
escreval("O total dos impostos é: ",imp_total," reais")
fimalgoritmo
PARA O 3º CANDITADO É = ", cont3)
escreval ("O TOTAL DE VOTOS PARA O 4º CANDITADO É = ", cont4)
escreval ("O TOTAL DE VOTOS NULO É = ", cont5)
escreval ("O TOTAL DE VOTOS EM BRANCO É = ", cont6)
escreval ("A PERCENTAGEM DE VOTOS NULOS SOBRE O TOTAL DE VOTOS É =", perc1)
escreval ("A PERCENTAGEM DE VOTOS EM BRANCO SOBRE O TOTAL DE VOTOS É =", perc2)
fim
voto, cont, cont1, cont2, cont3, cont4, cont5,cont6: inteiro
perc1, perc2: real
inicio
cont := 0
cont1 := 0
cont2 := 0
cont3 := 0
cont4 := 0
cont5 := 0
cont6 := 0
escreval ("INFORME O SEU VOTO")
escreval ("DIGITE (1) PARA VOTAR NO PRIMEIRO CANDITADO")
escreval ("DIGITE (2) PARA VOTAR NO SEGUNDO CANDITADO")
escreval ("DIGITE (3) PARA VOTAR NO TERCEIRO CANDITADO")
escreval ("DIGITE (4) PARA VOTAR NO QUANRTO CANDITADO")
repita
leia (voto)
cont := cont + 1
Se (voto > 6) ou (voto < 0)entao
escreval("ERRO, VOTO INVALIDO, VOTE NOVAMENTE!")
fimse
Se (voto = 1) entao
cont1 := cont1 + 1
senao
Se (voto = 2) entao
cont2 := cont2 + 1
senao
Se (voto = 3) entao
cont3 := cont3 + 1
senao
Se (voto = 4) entao
cont4 := cont4 + 1
senao
Se (voto = 5) entao
cont5 := cont5 + 1
senao
Se (voto = 6) entao
cont6 := cont6 + 1
fimse
fimse
fimse
fimse
fimse
fimse
ate (voto = 0)
cont := cont - 1
perc1 := cont5 * 100 / cont
perc2 := cont6 * 100 / cont
Se (Cont5 = 0) entao
escreval ("NÃO HOUVE VOTOS NULOS NESSA ELEIÇÃO")
fimse
Se (cont6 = 0) entao
escreval ("NÃO HOUVE VOTOS EM BRANCO NESSA ELEIÇÃO")
fimse
escreval ("O TOTAL DE VOTOS PARA O 1º CANDITADO É = ", cont1)
escreval ("O TOTAL DE VOTOS PARA O 2º CANDITADO É = ", cont2)
escreval ("O TOTAL DE VOTOS var
prec_unit, pais, trans2, prec_total, seguro, porc_impos, imp, imp_total: real
trans, carga,meio: caracter
inicio
imp_total <- 0
escreval("INFORME O PREÇO UNITÁRIO")
ESCREVA ("R$ ")
leia(prec_unit)
ENQUANTO (prec_unit < 0) FACA
ESCREVA ("VALOR INVÁLIDO. DIGITE NOVAMENTE! ")
ESCREVA ("R$ ")
leia(prec_unit)
FIMENQUANTO
SE (prec_unit <> 0) ENTAO
REPITA
ESCREVAL("INFORME O PAÍS DE ORIGEM (1) BRASIL, (2) PORTUGAL e (3) OUTROS")
ESCREVA ("PAÍS ")
leia(pais)
SE (pais = 1) ENTAO
ESCREVAL ("PAÍS = BRAISL")
SENAO
SE (pais = 2) ENTAO
ESCREVAL ("PAÍS = PORTUGAL")
SENAO
SE (pais = 3) ENTAO
ESCREVAL ("PAÍS = OUTROS")
FIMSE
FIMSE
FIMSE
ENQUANTO (pais < 1) ou (pais > 3) FACA
ESCREVAL ("PAÍS INVÁLIDO. INFORME NOVAMENTE O PAÍS!")
ESCREVA ("PAÍS")
leia(pais)
SE (pais = 1) ENTAO
ESCREVAL ("PAÍS = BRAISL")
SENAO
SE (pais = 2) ENTAO
ESCREVAL ("PAÍS = PORTUGAL")
SENAO
SE (pais = 3) ENTAO
ESCREVAL ("PAÍS = OUTROS")
FIMSE
FIMSE
FIMSE
FIMENQUANTO
ESCREVAL("INFORME O MEIO DE TRANSPORTE (T) TERRESTRE, (F) FLUVIAL e (A) AÉREO")
leia(trans)
ENQUANTO (trans <> "T") e (trans <> "F") e (trans <> "A") FACA
ESCREVAL ("MEIO DE TRANSPORTE INFORMADO É INVÁLIDO. INFORME NOVAMENTE!")
leia(trans)
FIMENQUANTO
ESCREVAL ("SUA CARGA É PERIGOSA? (S) SIM OU (N) NAO")
leia(carga)
ENQUANTO (carga <> "S") e (carga <> "N") FACA
ESCREVAL ("VOCÊ INFORMOU UM TIPO DE CARGA INVÁLIDO. INFORME NOVAMENTE!")
leia(carga)
FIMENQUANTO
SE (trans = "T") entao
meio <- "Terestre"
SENAO
SE (trans = "F") entao
meio <- "Fluvial"
Senao
se (trans = "A") entao
meio <- "Aereo"
fimse
fimse
fimse
SE (prec_unit < 280) ou (prec_unit = 280) ENTAO
porc_impos <- (prec_unit*5) / 100
SENAO
SE (prec_unit > 280) ENTAO
porc_impos <- (prec_unit*10) / 100
FIMSE
FIMSE
SE (carga = "s") ENTAO
SE (pais = 1) ENTAO
trans2 <- 140
FIMSE
SE (pais = 2) ENTAO
trans2 <- 59
FIMSE
SE (pais = 3) ENTAO
trans2 <- 67
FIMSE
SENAO
SE (carga = "n") ENTAO
SE (pais = 1) ENTAO
trans2 <- 34
FIMSE
SE (pais = 2) ENTAO
trans2 <- 59
FIMSE
SE (trans = 3) ENTAO
trans2 <- 168
FIMSE
FIMSE
FIMSE
SE (pais = 2) ou (trans = "a") ENTAO
seguro <- (prec_unit/2)
SENAO
SE (pais <> 2) ou (trans <> "a") ENTAO
seguro <- 0
FIMSE
FIMSE
prec_total <- prec_unit+porc_impos + seguro + trans2
imp <- porc_impos
imp_total <- imp_total + imp
prec_total <- prec_unit + porc_impos + seguro + trans2
limpatela
escreval("")
escreval("O imposto unitário custa: ",porc_impos," reais")
escreval("O transporte ",meio," custa: ",trans2," reais")
escreval("O seguro custa: ",seguro," reais")
escreval("O preço final é: ",prec_total," reais")
escreval("")
escreval("INFORME O PRÓXIMO VALOR UNITÁRIO ")
ESCREVA ("R$ ")
leia(prec_unit)
ENQUANTO (prec_unit < 0) FACA
escreva("VALOR INVÁLIDO. INFORME NOVAMENTE")
leia(prec_unit)
FIMENQUANTO
ATE (prec_unit = 0)
SENAO
escreval("Você não digitou nenhum valor válido.")
FIMSE
escreval("O total dos impostos é: ",imp_total," reais")
fimalgoritmo
PARA O 3º CANDITADO É = ", cont3)
escreval ("O TOTAL DE VOTOS PARA O 4º CANDITADO É = ", cont4)
escreval ("O TOTAL DE VOTOS NULO É = ", cont5)
escreval ("O TOTAL DE VOTOS EM BRANCO É = ", cont6)
escreval ("A PERCENTAGEM DE VOTOS NULOS SOBRE O TOTAL DE VOTOS É =", perc1)
escreval ("A PERCENTAGEM DE VOTOS EM BRANCO SOBRE O TOTAL DE VOTOS É =", perc2)
fim
2) Faça um programa que receba um conjunto de valores inteiros e positivos, calcule e mostre o maior e o menor valor do conjunto. Considere que:
- para encerrar a entrada de dados, deve ser digitado valor zero;
- para valores negativos, deve ser enviada uma mensagem;
- os valores negativos ou iguais a zero não entram nos cálculos.
var
NRO,MAIOR,MENOR,CONT:INTEIRO
TESTE:LOGICO
inicio
REPITA
ESCREVAL ("DIGITE UM NÚMERO")
LEIA (NRO)
SE (NRO < 0) ENTAO
ESCREVAL("O VALOR INFORMADO É NEGATIVO, ELE NÃO ENTRARÁ NOS CÁLCULOS.")
FIMSE
SE (NRO > 0) ENTAO
TESTE <- VERDADEIRO
CONT <- CONT + 1
SE (NRO > 0) ENTAO
SE (CONT = 1) ENTAO
MAIOR <- NRO
MENOR <- NRO
SENAO
SE MAIOR < NRO ENTAO
MAIOR <- NRO
SENAO
SE MENOR > NRO ENTAO
MENOR <- NRO
FIMSE
FIMSE
FIMSE
FIMSE
FIMSE
ATE (NRO = 0)
SE TESTE = VERDADEIRO ENTAO
ESCREVAL ("MAIOR =",MAIOR)
ESCREVAL ("MENOR",MENOR)
SENAO
ESCREVAL ("VOCÊ ENCERROU O PROGRAMA DIGITANDO O (O).")
ESCREVAL ("PORTANTO, NÃO EXISTE MAIOR OU MENOR.")
FIMSE
fimalgoritmo
NRO,MAIOR,MENOR,CONT:INTEIRO
TESTE:LOGICO
inicio
REPITA
ESCREVAL ("DIGITE UM NÚMERO")
LEIA (NRO)
SE (NRO < 0) ENTAO
ESCREVAL("O VALOR INFORMADO É NEGATIVO, ELE NÃO ENTRARÁ NOS CÁLCULOS.")
FIMSE
SE (NRO > 0) ENTAO
TESTE <- VERDADEIRO
CONT <- CONT + 1
SE (NRO > 0) ENTAO
SE (CONT = 1) ENTAO
MAIOR <- NRO
MENOR <- NRO
SENAO
SE MAIOR < NRO ENTAO
MAIOR <- NRO
SENAO
SE MENOR > NRO ENTAO
MENOR <- NRO
FIMSE
FIMSE
FIMSE
FIMSE
FIMSE
ATE (NRO = 0)
SE TESTE = VERDADEIRO ENTAO
ESCREVAL ("MAIOR =",MAIOR)
ESCREVAL ("MENOR",MENOR)
SENAO
ESCREVAL ("VOCÊ ENCERROU O PROGRAMA DIGITANDO O (O).")
ESCREVAL ("PORTANTO, NÃO EXISTE MAIOR OU MENOR.")
FIMSE
fimalgoritmo
3) Faça um programa que receba os dados a seguir de vários produtos: preço unitário, país de origem (1- Brasil, 2- Portugal e 3 – outros), meio de transporte (T – terrestre, F – fluvial e A – aéreo), carga perigosa (S- sim, N – não), finalize a entrada de dados com um preço inválido, ou seja, menor ou igual a zero e que calcule e mostre:
- O valor do imposto, usando a tabela a seguir.
Preço unitário | Percentual de imposto sobre o preço unitário |
Até R$ 280,00 | 5.00% |
Maior que R$ 280,00 | 10.00% |
- O valor do transporte usando a tabela a seguir
Carga Perigosa | País de Origem | Valor do Transporte |
S | 1 | R$ 140,00 |
2 | R$ 59,00 | |
3 | R$ 67,00 | |
N | 1 | R$ 34,00 |
2 | R$ 59,00 | |
3 | R$ 168,00 |
- O valor do seguro, usando a regra a seguir:
Os produtos que vêm de Portugal e os produtos que utilizam transporte aéreo pagam metade do valor do seu preço unitário como seguro.
- O preço final, ou seja, preço unitário mais imposto mais valor do transporte mais valor do seguro.
- O total dos impostos (somando impostos de todos os produtos).
var
prec_unit, pais, trans2, prec_total, seguro, porc_impos, imp, imp_total: real
trans, carga,meio: caracter
inicio
imp_total <- 0
escreval("INFORME O PREÇO UNITÁRIO")
ESCREVA ("R$ ")
leia(prec_unit)
ENQUANTO (prec_unit < 0) FACA
ESCREVA ("VALOR INVÁLIDO. DIGITE NOVAMENTE! ")
ESCREVA ("R$ ")
leia(prec_unit)
FIMENQUANTO
SE (prec_unit <> 0) ENTAO
REPITA
ESCREVAL("INFORME O PAÍS DE ORIGEM (1) BRASIL, (2) PORTUGAL e (3) OUTROS")
ESCREVA ("PAÍS ")
leia(pais)
SE (pais = 1) ENTAO
ESCREVAL ("PAÍS = BRAISL")
SENAO
SE (pais = 2) ENTAO
ESCREVAL ("PAÍS = PORTUGAL")
SENAO
SE (pais = 3) ENTAO
ESCREVAL ("PAÍS = OUTROS")
FIMSE
FIMSE
FIMSE
ENQUANTO (pais < 1) ou (pais > 3) FACA
ESCREVAL ("PAÍS INVÁLIDO. INFORME NOVAMENTE O PAÍS!")
ESCREVA ("PAÍS")
leia(pais)
SE (pais = 1) ENTAO
ESCREVAL ("PAÍS = BRAISL")
SENAO
SE (pais = 2) ENTAO
ESCREVAL ("PAÍS = PORTUGAL")
SENAO
SE (pais = 3) ENTAO
ESCREVAL ("PAÍS = OUTROS")
FIMSE
FIMSE
FIMSE
FIMENQUANTO
ESCREVAL("INFORME O MEIO DE TRANSPORTE (T) TERRESTRE, (F) FLUVIAL e (A) AÉREO")
leia(trans)
ENQUANTO (trans <> "T") e (trans <> "F") e (trans <> "A") FACA
ESCREVAL ("MEIO DE TRANSPORTE INFORMADO É INVÁLIDO. INFORME NOVAMENTE!")
leia(trans)
FIMENQUANTO
ESCREVAL ("SUA CARGA É PERIGOSA? (S) SIM OU (N) NAO")
leia(carga)
ENQUANTO (carga <> "S") e (carga <> "N") FACA
ESCREVAL ("VOCÊ INFORMOU UM TIPO DE CARGA INVÁLIDO. INFORME NOVAMENTE!")
leia(carga)
FIMENQUANTO
SE (trans = "T") entao
meio <- "Terestre"
SENAO
SE (trans = "F") entao
meio <- "Fluvial"
Senao
se (trans = "A") entao
meio <- "Aereo"
fimse
fimse
fimse
SE (prec_unit < 280) ou (prec_unit = 280) ENTAO
porc_impos <- (prec_unit*5) / 100
SENAO
SE (prec_unit > 280) ENTAO
porc_impos <- (prec_unit*10) / 100
FIMSE
FIMSE
SE (carga = "s") ENTAO
SE (pais = 1) ENTAO
trans2 <- 140
FIMSE
SE (pais = 2) ENTAO
trans2 <- 59
FIMSE
SE (pais = 3) ENTAO
trans2 <- 67
FIMSE
SENAO
SE (carga = "n") ENTAO
SE (pais = 1) ENTAO
trans2 <- 34
FIMSE
SE (pais = 2) ENTAO
trans2 <- 59
FIMSE
SE (trans = 3) ENTAO
trans2 <- 168
FIMSE
FIMSE
FIMSE
SE (pais = 2) ou (trans = "a") ENTAO
seguro <- (prec_unit/2)
SENAO
SE (pais <> 2) ou (trans <> "a") ENTAO
seguro <- 0
FIMSE
FIMSE
prec_total <- prec_unit+porc_impos + seguro + trans2
imp <- porc_impos
imp_total <- imp_total + imp
prec_total <- prec_unit + porc_impos + seguro + trans2
limpatela
escreval("")
escreval("O imposto unitário custa: ",porc_impos," reais")
escreval("O transporte ",meio," custa: ",trans2," reais")
escreval("O seguro custa: ",seguro," reais")
escreval("O preço final é: ",prec_total," reais")
escreval("")
escreval("INFORME O PRÓXIMO VALOR UNITÁRIO ")
ESCREVA ("R$ ")
leia(prec_unit)
ENQUANTO (prec_unit < 0) FACA
escreva("VALOR INVÁLIDO. INFORME NOVAMENTE")
leia(prec_unit)
FIMENQUANTO
ATE (prec_unit = 0)
SENAO
escreval("Você não digitou nenhum valor válido.")
FIMSE
escreval("O total dos impostos é: ",imp_total," reais")
fimalgoritmo
prec_unit, pais, trans2, prec_total, seguro, porc_impos, imp, imp_total: real
trans, carga,meio: caracter
inicio
imp_total <- 0
escreval("INFORME O PREÇO UNITÁRIO")
ESCREVA ("R$ ")
leia(prec_unit)
ENQUANTO (prec_unit < 0) FACA
ESCREVA ("VALOR INVÁLIDO. DIGITE NOVAMENTE! ")
ESCREVA ("R$ ")
leia(prec_unit)
FIMENQUANTO
SE (prec_unit <> 0) ENTAO
REPITA
ESCREVAL("INFORME O PAÍS DE ORIGEM (1) BRASIL, (2) PORTUGAL e (3) OUTROS")
ESCREVA ("PAÍS ")
leia(pais)
SE (pais = 1) ENTAO
ESCREVAL ("PAÍS = BRAISL")
SENAO
SE (pais = 2) ENTAO
ESCREVAL ("PAÍS = PORTUGAL")
SENAO
SE (pais = 3) ENTAO
ESCREVAL ("PAÍS = OUTROS")
FIMSE
FIMSE
FIMSE
ENQUANTO (pais < 1) ou (pais > 3) FACA
ESCREVAL ("PAÍS INVÁLIDO. INFORME NOVAMENTE O PAÍS!")
ESCREVA ("PAÍS")
leia(pais)
SE (pais = 1) ENTAO
ESCREVAL ("PAÍS = BRAISL")
SENAO
SE (pais = 2) ENTAO
ESCREVAL ("PAÍS = PORTUGAL")
SENAO
SE (pais = 3) ENTAO
ESCREVAL ("PAÍS = OUTROS")
FIMSE
FIMSE
FIMSE
FIMENQUANTO
ESCREVAL("INFORME O MEIO DE TRANSPORTE (T) TERRESTRE, (F) FLUVIAL e (A) AÉREO")
leia(trans)
ENQUANTO (trans <> "T") e (trans <> "F") e (trans <> "A") FACA
ESCREVAL ("MEIO DE TRANSPORTE INFORMADO É INVÁLIDO. INFORME NOVAMENTE!")
leia(trans)
FIMENQUANTO
ESCREVAL ("SUA CARGA É PERIGOSA? (S) SIM OU (N) NAO")
leia(carga)
ENQUANTO (carga <> "S") e (carga <> "N") FACA
ESCREVAL ("VOCÊ INFORMOU UM TIPO DE CARGA INVÁLIDO. INFORME NOVAMENTE!")
leia(carga)
FIMENQUANTO
SE (trans = "T") entao
meio <- "Terestre"
SENAO
SE (trans = "F") entao
meio <- "Fluvial"
Senao
se (trans = "A") entao
meio <- "Aereo"
fimse
fimse
fimse
SE (prec_unit < 280) ou (prec_unit = 280) ENTAO
porc_impos <- (prec_unit*5) / 100
SENAO
SE (prec_unit > 280) ENTAO
porc_impos <- (prec_unit*10) / 100
FIMSE
FIMSE
SE (carga = "s") ENTAO
SE (pais = 1) ENTAO
trans2 <- 140
FIMSE
SE (pais = 2) ENTAO
trans2 <- 59
FIMSE
SE (pais = 3) ENTAO
trans2 <- 67
FIMSE
SENAO
SE (carga = "n") ENTAO
SE (pais = 1) ENTAO
trans2 <- 34
FIMSE
SE (pais = 2) ENTAO
trans2 <- 59
FIMSE
SE (trans = 3) ENTAO
trans2 <- 168
FIMSE
FIMSE
FIMSE
SE (pais = 2) ou (trans = "a") ENTAO
seguro <- (prec_unit/2)
SENAO
SE (pais <> 2) ou (trans <> "a") ENTAO
seguro <- 0
FIMSE
FIMSE
prec_total <- prec_unit+porc_impos + seguro + trans2
imp <- porc_impos
imp_total <- imp_total + imp
prec_total <- prec_unit + porc_impos + seguro + trans2
limpatela
escreval("")
escreval("O imposto unitário custa: ",porc_impos," reais")
escreval("O transporte ",meio," custa: ",trans2," reais")
escreval("O seguro custa: ",seguro," reais")
escreval("O preço final é: ",prec_total," reais")
escreval("")
escreval("INFORME O PRÓXIMO VALOR UNITÁRIO ")
ESCREVA ("R$ ")
leia(prec_unit)
ENQUANTO (prec_unit < 0) FACA
escreva("VALOR INVÁLIDO. INFORME NOVAMENTE")
leia(prec_unit)
FIMENQUANTO
ATE (prec_unit = 0)
SENAO
escreval("Você não digitou nenhum valor válido.")
FIMSE
escreval("O total dos impostos é: ",imp_total," reais")
fimalgoritmo
Aula 15 - 01/06/2011 - MAIS EXERCICIOS
No começo da aula discutimos os motivos das notas baixas nas provas.... ficou decidido que a turma tera mais empenho e o professor ira para mais exercicios antes de avançar no conteudo. Abaixo exercicios realizados
1. Um supermercado deseja reajustar os preços de seus produtos usando o seguinte critério, o produto podera ter o preço aumentado ou diminuido. Para o preço ser alterado, o produto deve preemcher pelo menos um dos requisitos a seguir
VENDA MEDIA | PREÇO ATUAL | % DE AUMENTO | % DE DIMINUIÇÃO |
<500 | <R$30,00 | 10 | - |
>=500E<1.200 | >=R$30,00 E <R$ 80,00 | 15 | - |
>=1200 | >=R$80,00 | - | 20 |
Faça um programa que receba o preço atual e a venda media mensal do produto, caucule e mostre o novo preço.
var
valor,media,resp,diferenca:real
inicio
escreval("DIGITE O VALOR DO PRODUTO")
leia(valor)
escreval("DIGITE A MEDIA MENSAL")
leia(media)
SE (media<500)e(valor<30) entao
diferenca<-valor*0.10
resp<-valor+diferenca
escreval("ESTE PRODUTO ESTA DENTRO DAS REGRAS DE REAJUSTE!")
escreval("O NOVO VALOR DEVE SER",resp)
SENAO
SE (media>=500)e(media<1200) e (valor>=30) e (valor<80) entao
diferenca<-valor*0.15
resp<-valor+diferenca
escreval("ESTE PRODUTO ESTA DENTRO DAS REGRAS DE REAJUSTE!")
escreval("O NOVO VALOR DEVE SER",resp)
SENAO
SE (media>=1200) e (valor>=80) entao
diferenca<-valor*0.20
resp<-valor-diferenca
escreval("ESTE PRODUTO ESTA DENTRO DAS REGRAS DE REAJUSTE!")
escreval("O NOVO VALOR DEVE SER",resp)
SENAO
ESCREVAL("ESTE PRODUTO CONTINUA COM O MESMO VALOR")
FIMSE
FIMSE
FIMSE
fimalgoritmo
valor,media,resp,diferenca:real
inicio
escreval("DIGITE O VALOR DO PRODUTO")
leia(valor)
escreval("DIGITE A MEDIA MENSAL")
leia(media)
SE (media<500)e(valor<30) entao
diferenca<-valor*0.10
resp<-valor+diferenca
escreval("ESTE PRODUTO ESTA DENTRO DAS REGRAS DE REAJUSTE!")
escreval("O NOVO VALOR DEVE SER",resp)
SENAO
SE (media>=500)e(media<1200) e (valor>=30) e (valor<80) entao
diferenca<-valor*0.15
resp<-valor+diferenca
escreval("ESTE PRODUTO ESTA DENTRO DAS REGRAS DE REAJUSTE!")
escreval("O NOVO VALOR DEVE SER",resp)
SENAO
SE (media>=1200) e (valor>=80) entao
diferenca<-valor*0.20
resp<-valor-diferenca
escreval("ESTE PRODUTO ESTA DENTRO DAS REGRAS DE REAJUSTE!")
escreval("O NOVO VALOR DEVE SER",resp)
SENAO
ESCREVAL("ESTE PRODUTO CONTINUA COM O MESMO VALOR")
FIMSE
FIMSE
FIMSE
fimalgoritmo
2. Faça um programa que monte os oito primeiros termos da sequencia de Fibonacci:
var resp,cont,valor1,valor2:inteiro
inicio
valor1<-0
valor2<-1
escreval(valor1)
escreval(valor2)
PARA cont de 3 ate 8 FACA
resp<-valor1+valor2
escreval(resp)
valor1<-valor2
valor2<-resp
FIMPARA
fim
Download
Jossandro aproveito aula para realizar uma revisão geral de alguns conceitos, muitos deles eu ja sabia mais sembre agrega algo. Consegui realizar exercicios sem muita dificuldade, precisei consultar o livro para fazer o segundo exercicio mais funcionou bem. Ansincioso pelo proximo conteudo. este mes não temos duas aulas por semana então os post vão diminuir de frequencia.
Jossandro aproveito aula para realizar uma revisão geral de alguns conceitos, muitos deles eu ja sabia mais sembre agrega algo. Consegui realizar exercicios sem muita dificuldade, precisei consultar o livro para fazer o segundo exercicio mais funcionou bem. Ansincioso pelo proximo conteudo. este mes não temos duas aulas por semana então os post vão diminuir de frequencia.
01 - Dados três valores x, y e z, faça um algoritmo para verificar se eles podem ser os comprimentos dos lados de um triângulo e, se forem, verifique se é um triângulo eqüilátero, isóscele ou escaleno. Se eles não formarem um triângulo escreva uma mensagem de alerta. Considere que:
* O comprimento de cada lado de um triângulo é menor do que a soma dos outros dois lados;
* Um triângulo eqüilátero tem os seus três lados iguais;
* Um triângulo isóscele tem o comprimento de dois lados iguais; e
* Um triângulo escaleno tem os três lados diferentes.
var
x, y, z:inteiro
inicio
escreval("Digite a medida dos 3 lados do triangulo")
leia(x, y, z)
se (x >= y+z) ou (y >= x+z) ou (z >= x+y) entao
escreval("As medidas informadas nao formam um triangulo")
senao
se (x=y) e (y=z) entao
escreval("Triangulo equilatero - todos os lados iguais")
senao
se (x=y) ou (x=z) ou (y=z) entao
escreval("Triangulo isoceles - 2 lados iguais")
senao
se (x<>y) e (x<>z) e (y<>z) entao
escreval("Triangulo escaleno - todos os lados diferentes")
fimse
fimse
fimse
fimse
fimalgoritmo
Download
02- Faça um programa que receba a medida de um ângulo em graus. Calcule e mostre o quadrante em que se localiza esse ângulo. Considere os quadrantes da trigonometria e, no caso de ângulos maiores que 360º ou menores que -360º, reduzi-los, mostrando também o número de voltas e o sentido da volta (horário ou anti-horário).
var
a: inteiro
voltas: real
inicio
escreval("Digite um angulo")
leia(a)
se (a>360) ou (a < -360) entao
voltas <- a / 360
a <- a mod 360
senao
voltas <- 0
fimse
se (a=0) ou (a=90) ou (a=180) ou (a=270) ou (a=360) ou (a=-90) ou (a=-180) ou (a=-270) ou (a=-360) entao
escreval("Esta sobre um dos eixos")
senao
se ((a >0) e (a < 90)) ou ((a < -270) e (a > -360)) entao
escreval("1 quadrante")
fimse
se ((a >90) e (a < 180)) ou ((a < -180) e (a > -270)) entao
escreval("2 quadrante")
fimse
se ((a >180) e (a < 270)) ou ((a < -90) e (a > -180)) entao
escreval("3 quadrante")
fimse
se ((a >270) e (a < 360)) ou ((a < 0) e (a > -90)) entao
escreval("4 quadrante")
fimse
escreva(" ", voltas," voltas no sentido ")
se (a<0) entao
escreval(" horario")
senao
escreval(" anti-horario")
fimse
fimse
fim
Download
03 - Faça um programa que receba vários números, calcule e mostre:
- a soma dos números digitados;
- a quantidade de números digitados;
- a média dos números digitados;
- o maior número digitado;
- o menor número digitado;
- a média dos números pares;
- a porcentagem de números ímpares entre todos os números digitados;
- a soma dos números primos digitados;
Finalize a entrada de dados com a digitação do número 99999. Este número não pode considerado nos cálculos.
var
num, prim, soma_prim, soma, qtd, z, maior, menor, qtd_par, soma_par, qtd_impar: inteiro
media_par, media, perc : real
inicio
qtd <- 0
qtd_par<-0
soma_par <-0
soma_prim <- 0
qtd_impar <-0
escreval("Digite um numero")
leia(num)
repita
se (qtd=0) entao
maior <- num
menor <- num
senao
se (num > maior) entao
maior <- num
fimse
se (num < menor ) entao
menor <- num
fimse
fimse
soma <- soma + num
qtd <- qtd + 1
se (num mod 2 = 0) entao
soma_par <- soma_par + num
qtd_par <- qtd_par + 1
senao
qtd_impar <- qtd_impar + 1
fimse
prim <- 0
para z de 1 ate num faca
se (num mod z = 0) entao
prim <- prim + 1
fimse
fimpara
se (prim <= 2)entao
soma_prim <- soma_prim + num
fimse
leia(num)
ate(num=99999)
se (qtd = 0) entao
escreval("Nenhum numero digitado")
senao
escreval("A soma e ",soma)
escreval("A quantidade e ",qtd)
media <- soma / qtd
escreval("A media e ", media)
escreval("O maior e ", maior)
escreval("O menor e ", menor)
se (qtd_par = 0 ) entao
escreval("Nenhum numero par foi digitado")
senao
media_par <- soma_par / qtd_par
escreval("A media dos pares e ", media_par)
fimse
perc <- qtd_impar * 100 / qtd
escreval("O percentual de impares e ", perc)
escreval("A soma dos primos e ",soma_prim)
fimse
fim
Download
Aula 13 - 25/05/2011 - PROVA!!!!
Na aula de hoje realizamos nossa primeira prova nesta materia, estava bem inseguro mais consegui entender a logica das 3 questões.... isso mesmo 3 questoes uma valendo 4 e outras duas 3... Emfim assim que o jossandro devovelas em posto aqui!
Aulas 11 e 12 - 18/05/11 e 19/05/11 - Revisão Prova
1) Faça um programa que recebe um número positivo e maior que zero, calcule e mostre:
a) o número digitado ao quadrado;
b) o número digitado ao cubo;
c) a raiz quadrada do número digitado;
d) a raiz cúbica do número digitado.
Var
nro,quadrado,cubo,r_quadrada,r_cubica:real
inicio
escreval("DIGITE UM NUMERO")
leia(nro)
quadrado<-nro*nro
escreval("ESTE NUMERO AO QUADRADO É =",quadrado)
cubo<-nro*nro*nro
escreval("ESTE NUMERO AO CUBO É=",cubo)
r_quadrada<-RaizQ(nro)
escreval("A RAIZ QUADRADA DESTE NUMERO É=",r_quadrada)
r_cubica<-nro^(1/3)
escreval("A RAIZ CUBICA DESTE NUMERO É =",r_cubica)
fim
a) o número digitado ao quadrado;
b) o número digitado ao cubo;
c) a raiz quadrada do número digitado;
d) a raiz cúbica do número digitado.
Var
nro,quadrado,cubo,r_quadrada,r_cubica:real
inicio
escreval("DIGITE UM NUMERO")
leia(nro)
quadrado<-nro*nro
escreval("ESTE NUMERO AO QUADRADO É =",quadrado)
cubo<-nro*nro*nro
escreval("ESTE NUMERO AO CUBO É=",cubo)
r_quadrada<-RaizQ(nro)
escreval("A RAIZ QUADRADA DESTE NUMERO É=",r_quadrada)
r_cubica<-nro^(1/3)
escreval("A RAIZ CUBICA DESTE NUMERO É =",r_cubica)
fim
2) Faça um programa para verificar se um inteiro positivo lido é par ou ímpar (mostre por escrito se é par ou ímpar). Se o número for ímpar, multiplique por 2 e mostre o resultado, caso contrário multiplique por ½ e mostre o resultado. (OBS: Par: x mod 2 = 0)
var
nro:inteiro
resp:real
inicio
escreval("DIGITE UM NUMERO")
leia(nro)
Se nro mod 2=0 entao
resp<-nro*1/5]
escreval("O NUMERO DIGITADO É PAR")
escreval("O RESULTADO DA MULTIPLICAÇÃO É",resp)
Senao
resp<-nro*2
escreval("O NUMERO DIGITADO É IMPAR")
escreval("O RESULTADO DA MULTIPLIAÇÃO É",resp)
fimse
fim
var
nro:inteiro
resp:real
inicio
escreval("DIGITE UM NUMERO")
leia(nro)
Se nro mod 2=0 entao
resp<-nro*1/5]
escreval("O NUMERO DIGITADO É PAR")
escreval("O RESULTADO DA MULTIPLICAÇÃO É",resp)
Senao
resp<-nro*2
escreval("O NUMERO DIGITADO É IMPAR")
escreval("O RESULTADO DA MULTIPLIAÇÃO É",resp)
fimse
fim
3) Faça um programa que receba o custo total de um espetáculo teatral e o preço do convite desse espetáculo. Esse programa deverá calcular e mostrar a quantidade de convites que devem ser vendidos para que pelo menos o custo do espetáculo seja alcançado.
Var
valor_total,valor_conv,resp:real
inicio
escreval("DIGITE O VALOR DO ESPETACULO")
leia(valor_total)
escreval("DIGITE O VALOR DO CONVITE")
leia(valor_conv)
SE valor_conv <> 0 entao
resp<-valor_total/valor_conv
escreval("VC PRICESA VENDER",resp," CONVITES")
SENAO
escreval("VOCÊ DIGITOU UM VALOR INCORETO")
FIMSE
Var
valor_total,valor_conv,resp:real
inicio
escreval("DIGITE O VALOR DO ESPETACULO")
leia(valor_total)
escreval("DIGITE O VALOR DO CONVITE")
leia(valor_conv)
SE valor_conv <> 0 entao
resp<-valor_total/valor_conv
escreval("VC PRICESA VENDER",resp," CONVITES")
SENAO
escreval("VOCÊ DIGITOU UM VALOR INCORETO")
FIMSE
fim
4) Faça um programa que receba três números e mostre-os em ordem decrescente.
Var
valor_total,valor_conv,resp:real
inicio
escreval("DIGITE O VALOR DO ESPETACULO")
leia(valor_total)
escreval("DIGITE O VALOR DO CONVITE")
leia(valor_conv)
SE valor_conv <> 0 entao
resp<-valor_total/valor_conv
escreval("VC PRICESA VENDER",resp," CONVITES")
SENAO
escreval("VOCÊ DIGITOU UM VALOR INCORETO")
FIMSE
fim
Var
valor_total,valor_conv,resp:real
inicio
escreval("DIGITE O VALOR DO ESPETACULO")
leia(valor_total)
escreval("DIGITE O VALOR DO CONVITE")
leia(valor_conv)
SE valor_conv <> 0 entao
resp<-valor_total/valor_conv
escreval("VC PRICESA VENDER",resp," CONVITES")
SENAO
escreval("VOCÊ DIGITOU UM VALOR INCORETO")
FIMSE
fim
Download
5) Faça um programa que receba a hora do início de um jogo e a hora final (cada hora é composta por duas variáveis inteiras: hora e minuto). Calcule e mostre a duração do jogo (horas e minutos), sabendo-se que o tempo máximo de duração do jogo é de 24 horas e que ele pode iniciar-se em um dia e terminar no dia seguinte.
var
horaIni, minIni, horaFim, minFim, minDif, horaDif:inteiro
inicio
escreval("Digite hora e minutos do inicio do jogo ")
leia(horaIni, minIni)
escreval("Digite hora e minutos do fim do jogo ")
leia(horaFim, minFim)
se (minIni > minFim) entao
minFim <- minFim + 60
horaFim <- horaFim - 1
fimse
se (horaIni > horaFim) entao
horaFim <- horaFim + 24
fimse
minDif <- (minFim - minIni)
horaDif <- (horaFim - horaIni)
escreval("O jogo durou", horaDif, " horas e ", minDif, " minutos")
fim
var
horaIni, minIni, horaFim, minFim, minDif, horaDif:inteiro
inicio
escreval("Digite hora e minutos do inicio do jogo ")
leia(horaIni, minIni)
escreval("Digite hora e minutos do fim do jogo ")
leia(horaFim, minFim)
se (minIni > minFim) entao
minFim <- minFim + 60
horaFim <- horaFim - 1
fimse
se (horaIni > horaFim) entao
horaFim <- horaFim + 24
fimse
minDif <- (minFim - minIni)
horaDif <- (horaFim - horaIni)
escreval("O jogo durou", horaDif, " horas e ", minDif, " minutos")
fim
Download
6) Faça um programa que receba cem números, calcule e mostre a soma dos números pares e a média dos números primos.
var
x,y,nro,primo:inteiro
cont,media,soma,parcial:real
inicio
soma<-0
PARA x de 1 ATE 100 FACA
escreval("DIGITE UM NUMERO")
leia(nro)
SE (nro mod 2=0) entao
escreval("VC DIGITOU UM NUMERO PAR!")
soma<-soma+nro
FIMSE
primo<-0
PARA y de 1 ATE nro FACA
SE (nro mod y =0) ENTAO
primo<-primo+1
FIMSE
FIMPARA
cont<-0
SE primo<=2 ENTAO
escreval("VC DIGITOU UM NUMERO PRIMO")
cont<-cont+1
parcial<-parcial+primo
FIMSE
FIMPARA
media<-parcial/cont
escreval(" A SOMA DOR NUMEROS PARES É",soma)
escreval("A MEDIA DOS NUMERO PRIMOS É",media)
fim
var
x,y,nro,primo:inteiro
cont,media,soma,parcial:real
inicio
soma<-0
PARA x de 1 ATE 100 FACA
escreval("DIGITE UM NUMERO")
leia(nro)
SE (nro mod 2=0) entao
escreval("VC DIGITOU UM NUMERO PAR!")
soma<-soma+nro
FIMSE
primo<-0
PARA y de 1 ATE nro FACA
SE (nro mod y =0) ENTAO
primo<-primo+1
FIMSE
FIMPARA
cont<-0
SE primo<=2 ENTAO
escreval("VC DIGITOU UM NUMERO PRIMO")
cont<-cont+1
parcial<-parcial+primo
FIMSE
FIMPARA
media<-parcial/cont
escreval(" A SOMA DOR NUMEROS PARES É",soma)
escreval("A MEDIA DOS NUMERO PRIMOS É",media)
fim
07)Foi feita uma estatística em cinco cidades brasileiras para coletar dados sobre acidentes de trânsito, foram obtidos os seguintes dados:
a) Código da cidade;
b) Número de veículos de passeio(em 2010);
c) Número de acidentes de trânsito com vitimas(em 2010).
Deseja-saber:
a) Qual o maior e menor índice de acidentes de trânsito e a que cidades pertencem;
b) Qual a média de veículos nas cinco cidades juntas;
c) Qual a média de acidentes de trânsito nas cidades com menos de 2.000 veículos de passeio.
a) Código da cidade;
b) Número de veículos de passeio(em 2010);
c) Número de acidentes de trânsito com vitimas(em 2010).
Deseja-saber:
a) Qual o maior e menor índice de acidentes de trânsito e a que cidades pertencem;
b) Qual a média de veículos nas cinco cidades juntas;
c) Qual a média de acidentes de trânsito nas cidades com menos de 2.000 veículos de passeio.
var
cont, cod, num_vei, num_acid, maior, cid_maior, menor, cid_menor: inteiro
media_vei, media_acid: real
soma_vei, soma_acid, cont_acid:inteiro
inicio
soma_vei <-0
soma_acid <-0
cont_acid <- 0
para cont <- 1 ate 5 faca
escreval("Digite o codigo da cidade, o numero de veiculos e o numero de acidentes" )
leia(cod, num_vei, num_acid)
se (cont=1) entao
maior <- num_acid
cid_maior <- cod
menor <- num_acid
cid_menor <- cod
senao
se (num_acid > maior) entao
maior <- num_acid
cid_maior <- cod
fimse
se (num_acid < menor) entao
menor <- num_acid
cid_menor <- cod
fimse
fimse
soma_vei <- soma_vei + num_vei
se (num_vei < 2000) entao
soma_acid <- soma_acid + num_acid
cont_acid <- cont_acid + 1
fimse
fimpara
escreval("O maior indice e ",maior," na cidade ",cid_maior)
escreval("O menor indice e ",menor," na cidade ",cid_menor)
media_vei <- soma_vei / 5
escreval("A media de veiculos e ",media_vei)
se (cont_acid = 0) entao
escreval("Nao foi digitada nenhuma cidade com menos de 2000 veiculos" )
senao
media_acid <- soma_acid / cont_acid
escreval("A media de acidentes em cidades com menos de 2.000 veiculos e ", media_acid)
fimse
fim
cont, cod, num_vei, num_acid, maior, cid_maior, menor, cid_menor: inteiro
media_vei, media_acid: real
soma_vei, soma_acid, cont_acid:inteiro
inicio
soma_vei <-0
soma_acid <-0
cont_acid <- 0
para cont <- 1 ate 5 faca
escreval("Digite o codigo da cidade, o numero de veiculos e o numero de acidentes" )
leia(cod, num_vei, num_acid)
se (cont=1) entao
maior <- num_acid
cid_maior <- cod
menor <- num_acid
cid_menor <- cod
senao
se (num_acid > maior) entao
maior <- num_acid
cid_maior <- cod
fimse
se (num_acid < menor) entao
menor <- num_acid
cid_menor <- cod
fimse
fimse
soma_vei <- soma_vei + num_vei
se (num_vei < 2000) entao
soma_acid <- soma_acid + num_acid
cont_acid <- cont_acid + 1
fimse
fimpara
escreval("O maior indice e ",maior," na cidade ",cid_maior)
escreval("O menor indice e ",menor," na cidade ",cid_menor)
media_vei <- soma_vei / 5
escreval("A media de veiculos e ",media_vei)
se (cont_acid = 0) entao
escreval("Nao foi digitada nenhuma cidade com menos de 2000 veiculos" )
senao
media_acid <- soma_acid / cont_acid
escreval("A media de acidentes em cidades com menos de 2.000 veiculos e ", media_acid)
fimse
fim
Aula 10 - 12/05/2011 - Exercícios estrutura de repetição
Na aula de hoje foi nos passado 5 exercícios de repetição para pegarmos a pratica, depois de muito torrar a cabeça consegui fazer todos. Abaixo os dois primeiros o resto postarei na próxima aula quando o professor corrigi-los.
1 - Faça um programa que leia 10 números, e no final calcula e mostre a média.
Var
x,n,soma,cont:inteiro
media:real
inicio
PARA x de 1 ate 10 faca
escreval(“Digite um numero”)
leia(n)
soma<-soma+n
cont<-cont+1
FIMPARA
media<-soma/cont
escreval(“A media dos numeros digitados é”,media,”)
fim
2 - Faça um programa em que o usuário informe a quantidade de números a serem lidos, e no final, calcule e mostre a média dos números lidos.
var
media:real
soma,cont,n,x,quant:inteiro
INICIO
soma<-0
cont<-0
escreval("Digite quantos numero deseja caucular")
leia(quant)
SE quant=0 entao
escreval(" VC DIGITOU 0 NENHUM CAUCULO FOI FEITO")
SENAO
PARA x de 1 ate quant FACA
escreval("Digite o numero")
leia(n)
soma<-soma+n
cont<-cont+1
FIMPARA
media<-soma/cont
escreval("A media dos numeros digitados é",media)
FIMSE
FIM
Esta aula foi um quebra cabeças pra mim, demorei a pegar a logica dos problemas, emfim depois de um tempo consegui resolver os primeiros . estes dois ja corrigidos pelo professor. estão acima. Agora aguardo a correção do resto que ficou para proxima aula pois aqueles sim são mais complexos. Estou no caminho certo cada vez fica mais clara pra mim a materia, resolvo o problema com mais clareza, Ja estou ancioso pela prova.
Aula 09 - 11/05/2011 - Estrutura de repetição
Na aula de hoje corrigimos a questão que não deu tempo para corrigir na ultima aula, e novamente avançamos um pouco mais chegamos até ESTRUTURAS DE REPETIÇÃO, um tanto quanto complicado de entender a principio mais depois de bastante exercícios quem sabe. Abaixo dois primeiros exercícios que serviam de exemplo.
Exercicios:
1. Faça o calculo fatorial do número digitado pelo usuario.
fatorial
var
x, n, fat : inteiro
inicio
escreval ("Digite o número para ser calculado o fatorial")
leia(n)
fat<- 1
PARA x de 1 ate n FACA
var
x, n, fat : inteiro
inicio
escreval ("Digite o número para ser calculado o fatorial")
leia(n)
fat<- 1
PARA x de 1 ate n FACA
fat<- fat*x
escreval("x= ",x,"fat= ",fat)
FIMPARA
escreval("O fatorial de ",n," é", fat)
fim
escreval("x= ",x,"fat= ",fat)
FIMPARA
escreval("O fatorial de ",n," é", fat)
fim
2 - Faça um programa que leia um valor, número inteiro e positivo, calcule e mostre o valor de E, conforme a fórmula a seguir: E=1+1/1!+1/2!+1/3!+...+1/N!
var
resultado: real
n, x, y, fat: inteiro
inicio
escreva("Digite um número para calcular a formula: ")
leia (n)
resultado<-1
PARA x <- 1 ate n FACA
fat<-1
PARA y <- 1 ate x FACA
fat<- fat * y
FIMPARA
resultado<- resultado+1/fat
FIMPARA
escreva ("O resultado é ", resultado)
fim
resultado: real
n, x, y, fat: inteiro
inicio
escreva("Digite um número para calcular a formula: ")
leia (n)
resultado<-1
PARA x <- 1 ate n FACA
fat<-1
PARA y <- 1 ate x FACA
fat<- fat * y
FIMPARA
resultado<- resultado+1/fat
FIMPARA
escreva ("O resultado é ", resultado)
fim
A primeira vista confesso que fiquei apavorado, pela primeira vez na matéria não consegui intender a logica, mesmo depois de ter a resposta. Então mãos a obra, vou fazer bastante exercícios afinal vem uma prova por ai e tenho que fica esperto. Alem de todo o conteúdo aprendemos também alguma funções do visaulG com a tecla F8 que passa linha por linha. Foi dada dicas de erros que temos que tomar cuidado com pro exemplo atribuir valores a variável que esta contando no comando PARA. Esta nova ferramenta me assustou um pouco mais acredito que com o passar das aulas eu vá me acostumar com ela.
Abaixo material passado em aula.
ESTRUTURA DE REPETIÇÃO
Estrutura de repetição são comandos que ficam repetindo o trecho especificado do código. Existem três comandos de repetição, são eles:
PARA - este comando é utilizado quando se é necessário um número finito de repetições.
Ex: PARA x=1 ate 10 FACA
escreva x=9
FIMPARA // Executando a tabuada do 9 por completo.
Obs. Dentro do comando PARA existe mais um comando que é opcional, é o PASSO que pode ser utilizado em casos que apenas alguns específicos números da lista seriam selecionados, por exemplo:
PARA x=1 ate 10 PASSO 2 FACA
escreva x=9
FIMPARA // Neste caso seriam utilizados apenas os números 1,3,5,7 e 9.
ENQUANTO - este comando é utilizado quando é infinita as vezes que o trecho do código pode ser repetida. Ex: ENQUANTO (d>31) ou (d<1)
escreva("Dia errado")
leia(d)
FIMENQUANTO // Neste caso enquanto o comando não for verdadeiro ele ficara repetindo.
REPITA - este comando é similar ao ENQUANTO, a diferença é que ele ficará repetindo até o comando ser verdadeiro, e o teste que ele fará para ver se o comando continua ou não agora é no final.
Ex: REPITA
leia(d)
ATE (d<=31) e (d>0) // Enquanto o dia digitado pelo usuário não for menor ou igual a 31 e maior que 0 ele ficara repetindo.
Aula 7 e 8 - 04/05/2011 e 05/05/2011 - Exercicios do SE
Durante Aula de Hoje professor passou 7 exercicios, para treinarmos o que aprendemos, o interessante da aula de hoje foi uma ferramenta chamada Mod que nada mais é do que uma maneira de programa escrito usar ou comparar o numero que sobra de uma divisão abaixo exercicios
Exercicios:
1. Faça um programa que receba um número inteiro e verifique se é par ou ímpar.
var
numero:inteiro
inicio
escreval("Digite o Numero ")
leia(numero)
SE numero MOD 2=0
escreva("Esse numero é Par")
SENAO
escreval("Este numero é Impar")
FIMSE
fim
numero:inteiro
inicio
escreval("Digite o Numero ")
leia(numero)
SE numero MOD 2=0
escreva("Esse numero é Par")
SENAO
escreval("Este numero é Impar")
FIMSE
fim
2. A nota final de um estudante é calculada a partir de três notas atribuídas, respectivamente , a um trabalho de laboratório, a uma avaliação semestral e a um exame final. A média das três notas mencionadas obedece aos pesos a seguir:
Nota | Peso |
Trabalho de laboratório | 2 |
Avaliação semestral | 3 |
Exame final | 5 |
Faça um programa que receba as três notas, calcule e mostre a média ponderada e o conceito que segue a tabela:
Média Ponderada | Conceito |
[8,0 – 10,0] | A |
[7,0 – 8,0[ | B |
[6,0 – 7,0[ | C |
[5,0 – 6,0[ | D |
[0,0 – 5,0[ | E |
var
nota1,nota2,nota3,p1,p2,p3,ponderada:real
inicio
Escreval ("Digite primeira nota")
leia(nota1)
escreval("Digite Segunda Nota ")
leia(nota2)
escreval("Digite Terceira nota")
leia(nota3)
p1<-(nota1*2)/10
p2<-(nota2*3)/10
p3<-(nota3*5)/10
ponderada<-(p1+p2+p3)
SE (ponderada >= 0)e(ponderada<5)ENTAO
escreval("Sua nota é = E")
SENAO
Se (ponderada>=5)e(ponderada<6)ENTAO
escreval("Sua nota é = D")
SENAO
Se (ponderada>=6)e(ponderada<7)ENTAO
escreval("Sua nota é = C")
SENAO
Se (ponderada>=7)e(ponderada<8)ENTAO
escreval("Sua nota é = B")
SENAO
Se (ponderada>=9)e(ponderada<=10)ENTAO
escreval("Sua nota é = A")
FIMSE
FIMSE
FIMSE
FIMSE
FIMSE
fim
nota1,nota2,nota3,p1,p2,p3,ponderada:real
inicio
Escreval ("Digite primeira nota")
leia(nota1)
escreval("Digite Segunda Nota ")
leia(nota2)
escreval("Digite Terceira nota")
leia(nota3)
p1<-(nota1*2)/10
p2<-(nota2*3)/10
p3<-(nota3*5)/10
ponderada<-(p1+p2+p3)
SE (ponderada >= 0)e(ponderada<5)ENTAO
escreval("Sua nota é = E")
SENAO
Se (ponderada>=5)e(ponderada<6)ENTAO
escreval("Sua nota é = D")
SENAO
Se (ponderada>=6)e(ponderada<7)ENTAO
escreval("Sua nota é = C")
SENAO
Se (ponderada>=7)e(ponderada<8)ENTAO
escreval("Sua nota é = B")
SENAO
Se (ponderada>=9)e(ponderada<=10)ENTAO
escreval("Sua nota é = A")
FIMSE
FIMSE
FIMSE
FIMSE
FIMSE
fim
3. Um funcionário de uma empresa recebe aumento salarial anualmente. Sabe-se que:
a) Esse funcionário foi contratado em 2007, com salário inicial de R$ 1.000,00.
b) Em 2008, ele recebeu aumento de 1,5% sobre seu salário inicial.
c) A partir de 2009 (inclusive), os aumentos salariais sempre corresponderam ao dobro do percentual do ano anterior.
Faça um programa que determine o salário atual desse funcionário.
var
ano1,salario,ano2,ano3,ano4:real
ano1,salario,ano2,ano3,ano4:real
inicio
salario<-(1000)
ano1<-(salario*1.5/100)+salario
ano2<-(ano1*3/100)+ano1
ano3<-(ano2*6/100)+ano2
ano4<-(ano3*12/100)+ano3
escreva(ano4)
fim
4. Faça um programa que receba três notas de um aluno, calcule e mostre a média aritmética e a mensagem constante na tabela a seguir. Aos alunos que ficaram para exame, calcule e mostra a nota que deverão tirar para serem aprovados, considerando que a média exigida é 6,0.
Média Aritmética | Mensagem |
[0,0 – 3,0[ | Reprovado |
[3,0 – 7,0[ | Exame |
[7,0 – 10,0] | Aprovado |
var
nota1,nota2,nota3,media,exame:real
inicio
escreval("Digite a Primeira Nota")
leia(nota1)
escreval("Digite a Segunda Nota")
leia(nota2)
escreval("Digite a Terceira Nota")
leia(nota3)
media<-(nota1+nota2+nota3)/3
exame<-(13-media)
escreval("Sua Nota é =",media)
SE (media>=0)e(media<3)ENTAO
escreval("Você foi Reprovado")
SENAO
SE (media>=3)e(media<7)ENTAO
escreval("Você ficou em exame, para passar deve tirar = ",exame)
SENAO
SE (media>=7)e(media<=10)ENTAO
escreval(" Parabens, você foi aprovado.")
SENAO
SE(media>10)ENTAO
escreval("ERRO")
FIMSE
FIMSE
FIMSE
FIMSE
fim
nota1,nota2,nota3,media,exame:real
inicio
escreval("Digite a Primeira Nota")
leia(nota1)
escreval("Digite a Segunda Nota")
leia(nota2)
escreval("Digite a Terceira Nota")
leia(nota3)
media<-(nota1+nota2+nota3)/3
exame<-(13-media)
escreval("Sua Nota é =",media)
SE (media>=0)e(media<3)ENTAO
escreval("Você foi Reprovado")
SENAO
SE (media>=3)e(media<7)ENTAO
escreval("Você ficou em exame, para passar deve tirar = ",exame)
SENAO
SE (media>=7)e(media<=10)ENTAO
escreval(" Parabens, você foi aprovado.")
SENAO
SE(media>10)ENTAO
escreval("ERRO")
FIMSE
FIMSE
FIMSE
FIMSE
fim
n1,n2:inteiro
inicio
escreval("Digite o primeiro Numero")
leia(n1)
escreval("Digite o segundo Numero")
leia(n2)
SE(n1=n2)e(n2=n1)ENTAO
escreval("Os dois numeros são iguais")
SENAO
Se(n1>n2) ENTAO
escreval (" O primeiro numero é maior")
SENAO
escreval(" O segundo numero é o maior")
fimse
fimse
fim
6. Faça um programa que receba três números e mostre-os em ordem crescente. Suponha que o usuários digitará três números diferentes.
var
n1,n2,n3:real
inicio
escreval("Digite o primeiro numero")
leia(n1)
escreval("Digite o segundo numero")
leia(n2)
escreval("Digite o terceiro numero")
leia(n3)
SE (n1>n2)e(n2>n3)ENTAO
escreval(n3,n2,n1)
SENAO
SE (n1>n2)e(n2<n3)ENTAO
escreval(n2,n1,n3)
SENAO
SE (n2>n3)e(n1<n3)ENTAO
escreval(n1,n3,n2)
SENAO
SE (n2>n1)e(n1>n3)ENTAO
escreval(n3,n1,n2)
SENAO
SE (n3>n2)e(n1<n2)ENTAO
escreval(n1,n2,n3)
SENAO
SE(n1=n2)ou(n2=n3)ENTAO
escreval("Este Software não trabalha com numeros iguais")
FIMSE
FIMSE
FIMSE
FIMSE
FIMSE
FIMSE
fim
n1,n2,n3:real
inicio
escreval("Digite o primeiro numero")
leia(n1)
escreval("Digite o segundo numero")
leia(n2)
escreval("Digite o terceiro numero")
leia(n3)
SE (n1>n2)e(n2>n3)ENTAO
escreval(n3,n2,n1)
SENAO
SE (n1>n2)e(n2<n3)ENTAO
escreval(n2,n1,n3)
SENAO
SE (n2>n3)e(n1<n3)ENTAO
escreval(n1,n3,n2)
SENAO
SE (n2>n1)e(n1>n3)ENTAO
escreval(n3,n1,n2)
SENAO
SE (n3>n2)e(n1<n2)ENTAO
escreval(n1,n2,n3)
SENAO
SE(n1=n2)ou(n2=n3)ENTAO
escreval("Este Software não trabalha com numeros iguais")
FIMSE
FIMSE
FIMSE
FIMSE
FIMSE
FIMSE
fim
7. Faça um programa que determine a data cronologicamente maior entre duas datas fornecidas pelo usuário. Cada data deve ser composta por três valores inteiros, em que o primeiro representa o dia, o segundo, o mês e o terceiro, o ano.
var
dia1,mes1,ano1,dia2,mes2,ano2:inteiro
inicio
escreval("Digite a primeira data")
escreva("Dia = ")
leia(dia1)
escreva("Mês = ")
leia(mes1)
escreva("Ano = ")
leia (ano1)
escreval("Pronto. Agora digite a segunda data:")
escreva("Dia = ")
leia(dia2)
escreva("Mês = ")
leia(mes2)
escreva("Ano = ")
leia (ano2)
SE(dia1>31)ENTAO
escreval("Você digitou um dia que não existe!Dia",dia1,"???")
SENAO
SE(dia2>31)ENTAO
escreval("Você digitou um dia que não existe!Dia",dia2,"???")
SENAO
SE(mes1>12)ENTAO
escreval("Você Digitou um mês que não existe!Mês",mes1,"???")
SENAO
SE(mes2>12)ENTAO
escreval("Você Digitou um mês que não existe!Mês",mes2,"???")
SENAO
SE(ano1>ano2)ENTAO
escreva("Primeira data é a maior")
SENAO
SE (ano1<ano2)ENTAO
escreva("Segunda data é a maior")
SENAO
SE(ano1=ano2)ENTAO
SE(mes1>mes2)ENTAO
escreva("Primeira data é a maior")
SENAO
SE(mes1<mes2)ENTAO
escreva("Segunda data é a maior")
SENAO
SE(mes1=mes2)ENTAO
Se(dia1>dia2)ENTAO
escreva("Primeira data é a maior")
SENAO
SE(dia1<dia2)ENTAO
escreva("Segunda data é a maior")
SENAO
SE(dia1=dia2)ENTAO
escreva("As Datas são Iguais")
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fim
dia1,mes1,ano1,dia2,mes2,ano2:inteiro
inicio
escreval("Digite a primeira data")
escreva("Dia = ")
leia(dia1)
escreva("Mês = ")
leia(mes1)
escreva("Ano = ")
leia (ano1)
escreval("Pronto. Agora digite a segunda data:")
escreva("Dia = ")
leia(dia2)
escreva("Mês = ")
leia(mes2)
escreva("Ano = ")
leia (ano2)
SE(dia1>31)ENTAO
escreval("Você digitou um dia que não existe!Dia",dia1,"???")
SENAO
SE(dia2>31)ENTAO
escreval("Você digitou um dia que não existe!Dia",dia2,"???")
SENAO
SE(mes1>12)ENTAO
escreval("Você Digitou um mês que não existe!Mês",mes1,"???")
SENAO
SE(mes2>12)ENTAO
escreval("Você Digitou um mês que não existe!Mês",mes2,"???")
SENAO
SE(ano1>ano2)ENTAO
escreva("Primeira data é a maior")
SENAO
SE (ano1<ano2)ENTAO
escreva("Segunda data é a maior")
SENAO
SE(ano1=ano2)ENTAO
SE(mes1>mes2)ENTAO
escreva("Primeira data é a maior")
SENAO
SE(mes1<mes2)ENTAO
escreva("Segunda data é a maior")
SENAO
SE(mes1=mes2)ENTAO
Se(dia1>dia2)ENTAO
escreva("Primeira data é a maior")
SENAO
SE(dia1<dia2)ENTAO
escreva("Segunda data é a maior")
SENAO
SE(dia1=dia2)ENTAO
escreva("As Datas são Iguais")
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fimse
fim
Download
Aula de hoje foi tranquila,queimamos um pouco de massa cinzenta mais tranquilo, o professor frizou o cuidado que temos que ter ao usar o VisualG pois pra não cair na tentativa e erro e tambem porque na prova não teremos esta ferramenta! consegui fazer uma boa base. Agora bola pra frente!
Aula 6 - 27.04.2011 - Estrutura Condicional
Durante a aula de hoje corrigimos exercicios realizados na aula passado no visualG, Jossandro frisou alguns conceitos de mercado como por exemplo ' Não adianta fazer que nós achamos certo, devemos fazer o que o cliente tem em mente.".
Ficou decido em aula que iremos fazer mais exercicios antes de avançar para proximo conteudo. Abaixo exercicos realizados em aula:
1. Sabendo que 1 KW = 1/5 do salario minimo. faça um programa que receba o valor do salario minimo e a quantidade de kw consumido, caucule e mostre:
- O valor de cada Kw
- O valor a ser pago
- O valor com 15% de desconto.
var
valor_salar, kw_cons, valor_kw, pagar, desc : real
inicio
escreval("Digite o valor do salário minimo")
leia (valor_salar)
escreval("Digite o número de quilowatts consumidos")
leia (kw_cons)
valor_kw <- (valor_salar/5)
pagar <- (valor_kw*kw_cons)
desc <- (pagar-(pagar*15/100))
escreval("O valor do quilowatt é: ", valor_kw, " reais")
escreval("O valor da conta é: ", pagar, " reais")
escreval("O valor da conta com 15% de desconto é: ", desc, " reais")
fimalgoritmo
valor_salar, kw_cons, valor_kw, pagar, desc : real
inicio
escreval("Digite o valor do salário minimo")
leia (valor_salar)
escreval("Digite o número de quilowatts consumidos")
leia (kw_cons)
valor_kw <- (valor_salar/5)
pagar <- (valor_kw*kw_cons)
desc <- (pagar-(pagar*15/100))
escreval("O valor do quilowatt é: ", valor_kw, " reais")
escreval("O valor da conta é: ", pagar, " reais")
escreval("O valor da conta com 15% de desconto é: ", desc, " reais")
fimalgoritmo
Teste mesa
sala=800
kw=100kws
800/5=160
100*160=16000
16000-2400=13600
Material Utilizado em aula
ESTRUTURA CONDICIONAL EM ALGORITIMOS
Estrutura condicional simples
SE condição
ENTÃO comando
O comando só sera executado se a condição for verdadeira. Uma condição é uma comparação que possui dois valores possíveis: verdadeiro ou falso
SE condição
ENTÃO INÍCIO
comando1
comando2
comando3
FIM
Os comandos 1,2 e 3 só serão executados se a condição for verdadeira. As palavras INÍCIO e FIM serão necessárias apenas quando dois ou mais comandos forem executados.
Estrutura condicional composta
SE condição
ENTÃO comando1
SENÃO comando2
Se a condição for verdadeira, será executado o camando1; caso contrário, será executado comando2.
SE condição
ENTÃO INÍCIO
comando1
comando2
FIM
SENÃO INÍCIO
comando3
comando4
FIM
FIM
Se a condição for verdadeira, o comando1 e o comando2 serão executados; caso contrário, o comando3 e o comando4 serão executados.
ESTRUTURA CONDICIONAL EM PASCAL
Estrutura condicional simples
IF condição
THEN comando
O comando só será executado se a condição for verdadeira. Uma condição é uma comparação que possui dois valores possíveis: verdadeiro e falso
IF condição
THEN BEGIN
comando1;
comando2;
comando3;
END
Os comandos 1, 2 e 3 só serão executados se a condição for verdadeira.
Estrutura condicional composta
IF condição
THEN comando1
ELSE comando2
Se a condição for verdadeira, será executado o comando1; caso contrário, será executado o comando2
IF condição
THEN BEGIN
comando1
comando2
END
ELSE BEGIN
comando3
comando4
END
Se a condição for verdadeira, o comando1 e o comando2 serão executados; se for falsa, o comando3 e o comando4 serão executados.
Observações: Antes do comando ELSE não existe ponto-e-virgula.
Estrutura Case
Em alguns programas, existem situações mutuamente exclusivas, isto é, se uma situação for executada, as demais não serão. Quando for este o caso, um comando seletivo será indicado, e esse comando, em PASCAL. Tem seguinte sintaxe:
CASE seletor OF
lista de alvos1: comando1;
lista de alvos2: comando2;
alvo3: comando3;
alvo4: BEGIN
comando4;
comando5;
END;
END;
Se o seletor atingir a lista de alvos1. O comando1 será executado; se atingir a lista de alvos2; o comando2 será executado; se atingir o alvo3,o comando3 serpa executado; se atingir o alvo4,então o comando4 e o comando5 serão executados. Se nenhum alvo for atingido, nada será executado.
CASE seletor OF
lista de alvos1: BEGIN
comando1;
comando2;
END;
lista de alvos2: comando3;
ELSE comando4;
END;
Se o seletor atingir a lista de alvos1, o comando1 e o comando2 serão executados; se atingir a lista de alvos2, o comando3 será executado. Se nenhum for atingido, será executado o comando4.
Os alvos podem ser valores únicos, listas de valores (separados por virgulas) ou faixas de valores, como no exemplo que se segue.
Exemplo:
program teste;
uses crt;
var i: integer;
begin
clrscr;
writeln(‘Digite um número’);
readln(i);
case i of
1: writeln(‘Número 1’);
2,5,6:writeln(‘Número 2 ou número 5 ou número 6’);
7..10:writeln(‘Número entre 7 e 10’);
end;
readln;
end.
A restrição da estrutura case é que o seletor só pode ser uma variável do tipo char, integer ou boolean.
OPERADORES LÓGICOS
Os principais operadores lógicos são: AND, OR e NOT, que significam e, ou, não e são usados para conjunção, disjunção e negação, respectivamente.
TABELA E | TABELA OU | TABELA NÃO |
V e V = V | V ou V = V | Não V = F |
V e F = F | V ou F = V | Não F = V |
F e V = F | F ou V = V | |
F e F = F | F ou F = F |
Observação: Na linguagem PASCAL, quando existe mais de uma condição, elas devem estar entre parênteses.
Exemplos:
IF x = 3
THEN WRITELN(‘Número igual a 3’);
No exemplo, existe apenas uma condição, logo, os parênteses são opcionais.
IF (X > 5) AND (X < 10)
THEN WRITELN(‘Número entre 5 e 10’);
No exemplo anterior, existe mais de uma condição, logo, os parênteses são obrigatórios, ou seja, cada condição deve estar entre parênteses.
IF ((X = 5) AND (Y = 2)) OR (Y = 3)
THEN WRITELN(‘X é igual a 5 e Y é igual a 2, ou Y é igual a 3’);
No exemplo acima, existe mais de uma condição e mais de um tipo de operador lógico, logo, além dos parênteses de cada condição, devem existir ainda parênteses que indiquem a prioridade de execução das condições. Nesse exemplo, as condições com o operador AND, ou seja, ((X = 5) AND (Y = 3)), serão testadas, e seu resultado será testado com a condição OR (Y = 3).
IF ((X = 5) AND (Y = 2)) OR (Y = 3)
THEN WRITELN(‘X é igual a 5, e Y é igual a 2 ou Y é igual a 3’);
Neste exemplo, existe mais de uma condição e mais de um tipo de operador lógico, logo, além dos parênteses de cada condição, devem existir ainda parênteses que indiquem a prioridade de execução das condições. Aqui, as condições com o operador OR, ou seja, ((Y = 2) OR (Y = 3)), serão testadas, e seu resultado será testado com a condição AND (X = 5).
ESTRUTURA CONDICIONAL EM C/C++
ESTRUTURA CONDICIONAL SIMPLES
if (condição)
comando;
O comando só será executado se a condição for verdadeira. Uma condição é uma comparação que possui dois valores possíveis: verdadeiro ou falso.
if (condição)
{
comando1;
comando2;
comando3;
}
Em C/C++, torna-se obrigatória a utilização de chaves quando existe mais de um comando a executar. Os comandos entre chaves { } só serão executados se a condição for verdadeira.
ESTRUTURA CONDICIONAL COMPOSTA
if (condição)
comando1;
else
comando2;
Se a condição for verdadeira, será executado o comando1; se for falsa, será executado o comando2.
if condição
{
comando1;
comando2;
}
else
{
comando3;
comando4;
}
Exercicios:
Faça um programa que receba 3 notas e mostre a média e se o aluno foi aprovado ou reprovado.
var
nota1,nota2,nota3=real
inicio
escreval("Digite a primeira nota")
leia(nota1)
escreval("Digite a segunda nota")
leia(nota2)
escreval("Digite a terceita nota")
leia(nota3)
media<-(nota1*nota2*nota3/3)
escreva (" A média é ",media)
se media>=7 ENTAO
escreva ("Aprovado")
SENAO
escreva (" Reprovado")
fim-se
fim
Na aula de hoje avançamos um pouco e vimos " estrutura condicional". O que dá pra perceber, é que com certeza isso não para por ai, cada vez mais ferramentas serão apresentadas, novos recursos, eu particularmente estou gostando muito, é a primeira vez em toda minha vida acadêmica que tenho sede de conhecimento não vejo a hora de avançarmos mais... Segundo professor " Fazer algorítimos é como andar de bicicleta, não adianta eu falar pra vocês como é, vocês devem andar para saber" se depender disso. estou bem. na aula de hoje vimos mais a parte teórica,duvidas iram surgir na medica e que mais exercícios forem feitos mais a principio não vejo nenhuma dificuldade. Essa nova estrutura abre mais um leque de possibilidade e isso eh muito bom.
Na aula de hoje avançamos um pouco e vimos " estrutura condicional". O que dá pra perceber, é que com certeza isso não para por ai, cada vez mais ferramentas serão apresentadas, novos recursos, eu particularmente estou gostando muito, é a primeira vez em toda minha vida acadêmica que tenho sede de conhecimento não vejo a hora de avançarmos mais... Segundo professor " Fazer algorítimos é como andar de bicicleta, não adianta eu falar pra vocês como é, vocês devem andar para saber" se depender disso. estou bem. na aula de hoje vimos mais a parte teórica,duvidas iram surgir na medica e que mais exercícios forem feitos mais a principio não vejo nenhuma dificuldade. Essa nova estrutura abre mais um leque de possibilidade e isso eh muito bom.
Aula 5 - 20.04.2011 - Utilizando o VirtualG
Na aula de hoje conhecemos e aprendemos a utilizar este software muito bem bolado chamado VirtualG, a magia de ter seu algoritmo entendido pelo computador e fantástica. consegui sem grandes problemas fazer as operações e estou ansioso pra saber o que vem por ae.
Abaixo exercícios...
Abaixo exercícios...
1 pé = 12 polegadas
1 jarda = 3 pés
1 milha = 1.760 jardas
Faça um programa que receba uma medida em pés, faça as conversões a seguir e mostre os resultados em:
a) polegadas b) jardas c) milhas
var
pes,polegadas, jardas,milha: real
inicio
escrevald("digite o valor")
leia(pes)
polegadas<-(pes*12)
jardas<-(pes/3)
milha<-(jardas/1760)
escreval(" ")
escreval("Polegadas",polegadas)
escreval("Jardas",jardas)
escreval("Milhas",milha)
escreval(" ")
escreval ("Obrigado por usar este software.")
fim
a) a idade dessa pessoa;
b) quantos anos essa pessoa terá em 2010
var
ano_nac,ano_atual,idade,idade2:real
inicio
escreval("Digite ano de nascimento")
leia(ano_nac)
escreval("Digite o ano Atual")
leia(ano_atual)
idade<-(ano_atual-ano_nac)
idade2<-(2010-ano_nac)
escreval("Sua Idade é: ",idade)
escreval("Em 2010 você terá: ",idade2)
fimalgoritmo
3) O custo ao consumidor de um carro novo é a soma do preço de fábrica com o percentual de lucro do distribuidor e dos impostos aplicados ao preço de fábrica. Faça um programa que receba o preço de fábrica de um veículo, o percentual de lucro do distribuidor e o percentual de impostos. Calcule e mostre:
a) o valor corespondente ao lucro do distribuidor;
b) o valor correspondente aos impostos;
c) o preço final do veículo.
algoritmo "exercicio3"
var
preco,percentual,imposto,resp1,resp2,resp3:real
inicio
escreval("Digeite o Preço de Fabrica")
leia(preco)
escreval("Digite o percentual de lucro do distribuidor")
leia(percentual)
escreval("Digite o Percentual de Impostos")
leia(imposto)
resp1<-(preco*percentual/100)
resp2<-(preco*imposto/100)
resp3<-(preco+resp1+resp2)
escreval("O valor de lucro do distribuidor é: ",resp1)
escreval("O valor de impostos é: ",resp2)
escreval("O preço final é: ",resp3)
fimalgoritmo
var
preco,percentual,imposto,resp1,resp2,resp3:real
inicio
escreval("Digeite o Preço de Fabrica")
leia(preco)
escreval("Digite o percentual de lucro do distribuidor")
leia(percentual)
escreval("Digite o Percentual de Impostos")
leia(imposto)
resp1<-(preco*percentual/100)
resp2<-(preco*imposto/100)
resp3<-(preco+resp1+resp2)
escreval("O valor de lucro do distribuidor é: ",resp1)
escreval("O valor de impostos é: ",resp2)
escreval("O preço final é: ",resp3)
fimalgoritmo
4) Pedro comprou um saco de ração com peso em quilos. Pedro possui dois gatos para os quais fornece a quantidade de ração em gramas. Faça um programa que receba o peso do saco de ração e a quantidade de ração fornecida para cada gato. Calcule e mostre quanto restará de ração no saco após cinco dias.
algoritmo "exercicios4"
var
kg,dada,dada2,conversao,gatos,resp1,gatos2,resp3:real
inicio
escreval("Qual o peso do saco de ração")
leia(kg)
escreval("Qual a quantidade de ração dada primeiro gato?")
leia(dada)
escreval("Qual a quantidade de ração dada segundo gato?")
leia(dada2)
conversao<-(kg*1000)
gatos<-(dada+dada2)
gatos2<-(gatos*5)
resp1<-(conversao-gatos2)
resp3<-(resp1/1000)
escreval("Despois 5 dias você tera ",resp3)
fimalgoritmo
var
kg,dada,dada2,conversao,gatos,resp1,gatos2,resp3:real
inicio
escreval("Qual o peso do saco de ração")
leia(kg)
escreval("Qual a quantidade de ração dada primeiro gato?")
leia(dada)
escreval("Qual a quantidade de ração dada segundo gato?")
leia(dada2)
conversao<-(kg*1000)
gatos<-(dada+dada2)
gatos2<-(gatos*5)
resp1<-(conversao-gatos2)
resp3<-(resp1/1000)
escreval("Despois 5 dias você tera ",resp3)
fimalgoritmo
5) Cada degrau de uma escada tem X de altura. Faça um programa que receba essa altura e a altura que o usuário deseja alcançar subindo a escada. Calcule e mostre quantos degraus o usuário deverá subir para atingir seu objetivo, sem se preocupar com a altura do usuário.
algoritmo "exercicios5"
var
dgrau,objetivo,resp1,conversao:real
inicio
escreval(" Digite a altura do degrau em centimetros? ")
leia(dgrau)
escreval(" Digite a altura que dezeja chegar? ")
leia(objetivo)
conversao<-(dgrau/100)
resp1<-(objetivo/conversao)
escreval(" Você devera subir ",resp1," dgraus ")
fimalgoritmo
var
dgrau,objetivo,resp1,conversao:real
inicio
escreval(" Digite a altura do degrau em centimetros? ")
leia(dgrau)
escreval(" Digite a altura que dezeja chegar? ")
leia(objetivo)
conversao<-(dgrau/100)
resp1<-(objetivo/conversao)
escreval(" Você devera subir ",resp1," dgraus ")
fimalgoritmo
Sabe-se que A = (diagonal maior * diagonal menor)/2
algoritmo "exercicios6"
var
diagonal_maior,diagonal_menor,resp1:real
inicio
escreval ("Digite a diagonal maior")
leia(diagonal_maior)
escreval("Digite a diagonal menor")
leia(diagonal_menor)
resp1<-(diagonal_maior*diagonal_menor/2)
escreval("area do losango é",resp1)
fimalgoritmo
var
diagonal_maior,diagonal_menor,resp1:real
inicio
escreval ("Digite a diagonal maior")
leia(diagonal_maior)
escreval("Digite a diagonal menor")
leia(diagonal_menor)
resp1<-(diagonal_maior*diagonal_menor/2)
escreval("area do losango é",resp1)
fimalgoritmo
a) a idade dessa pessoa em anos;
b) a idade dessa pessoa em meses;
c) a idade dessa pessoa em dias;
d) a idade dessa pessoa em semanas.
algoritmo "exercicios7"
var
ano_nascimento,ano_atual,idade_anos,idade_meses,idade_dias,idade_semanas:real
inicio
escreval("Qual seu ano de nascimento?")
leia(ano_nascimento)
escreval("qual seu ano atual?")
leia(ano_atual)
idade_anos<-(ano_atual-ano_nascimento)
idade_meses<-(idade_anos*12)
idade_dias<-(idade_meses*365)
idade_semanas<-(idade_dias/7)
escreval("Sua idade em anos é ",idade_anos)
escreval("Sua idade em meses é ",idade_meses)
escreval("Sua idade em dias é ",idade_dias)
escreval("Sua idade em semanas é ",idade_semanas)
fimalgoritmo
var
ano_nascimento,ano_atual,idade_anos,idade_meses,idade_dias,idade_semanas:real
inicio
escreval("Qual seu ano de nascimento?")
leia(ano_nascimento)
escreval("qual seu ano atual?")
leia(ano_atual)
idade_anos<-(ano_atual-ano_nascimento)
idade_meses<-(idade_anos*12)
idade_dias<-(idade_meses*365)
idade_semanas<-(idade_dias/7)
escreval("Sua idade em anos é ",idade_anos)
escreval("Sua idade em meses é ",idade_meses)
escreval("Sua idade em dias é ",idade_dias)
escreval("Sua idade em semanas é ",idade_semanas)
fimalgoritmo
8) Faça um programa que receba a quantidade de dinheiro em reais e converta esse valor em dólar, marco alemão e libras esterlinas. Sabe-se que a cotação do dólar é de R$ 1,66, do marco alemão é de R$ 2,00 e da libra esterlina é de R$ 1,57. O programa deve fazer a conversão e mostrá-las.
algoritmo "exercicios8"
var
reais,dolar,libra,marco :real
inicio
escreval("Digite o Valor em reais")
leia (reais)
dolar<-(reais/1.66)
marco<-(reais/2)
libra<-(reais/1.57)
escreval("Dolar=",dolar)
escreval("Marco Alemão=",marco)
escreval("Libras esterlinas=",libra)
fimalgoritmo
var
reais,dolar,libra,marco :real
inicio
escreval("Digite o Valor em reais")
leia (reais)
dolar<-(reais/1.66)
marco<-(reais/2)
libra<-(reais/1.57)
escreval("Dolar=",dolar)
escreval("Marco Alemão=",marco)
escreval("Libras esterlinas=",libra)
fimalgoritmo
Aula 4 - 13/04/2011 - Exercicios sobre criação de algoritimos
Durante a aula de hoje, continuamos realizando os exercicios propostos nos slides da ultima aula.
01. FAÇA UM PROGRAMA QUE RECEBA TRÊS NOTAS, CAUCULE E MOSTRE A MEDIA ARITIMÉTICA ENTRE ELAS:
algoritimo_media
var: n1,n2,n3,ma:real
inicio
leia (n1,n2,n3)
ma<- [(n1+n2+n3)/3]
escreva (ma)
fim
-------------------------------------------
## Teste de Mesa ##
n1 =15
n2 = 20
n3= 30
ma = 15+20+30/3 = 45
===================================================================
02. FAÇA UM PROGRAMA QUE RECEBA TRÊS NOTAS E SEUS RESPECTIVOS PESOS, CALCULE E MOSTRE A MÉDIA PONDERADA DESSAS NOTAS.
algoritimo_mediap
var: n1, n2, n3, p1, p2, p3, soma_media, np1,np2 ,np3, media_geral:real
inicio
leia (n1, n2, n3, p1, p2, p3 );
soma_media <- (p1+p2+p3);
np1 <- [(n1*p1)/soma_media];
np2 <- [(n2*p2)/soma_media];
np3 <- [(n3*p3)/soma_media];
media_geral <- [np1+np2+np3);
escreva ("media_geral);
fim
--------------------------------------------------
## Teste de mesa ##
n1=60 p1=4
n2=70 p2=3
n3=75 p3=4
soma_media = 10
60*4/10=24
70*3/10=21
75*4/10= 30
media podenrada = 24+21+30= 75
======================================================================
03. FAÇA UM PROGRAMA QUE RECEBA O SALÁRIO DE UM FUNCIONARIO, CAUCULE E MOSTRE O NOVO SALÁRIO SABENDO-SE QUE ESTE SOFREU UM AUMENTO DE 20%.
algoritimo_salario
var: salario_antigo, salario_reajustado = real
incio
leia (salario_antigo)
salario_reajustado <- [(salario_antigo*0,20)+salario_antigo]
escreva (salario_reajustado)
fim
-----------------------------------
## Teste de mesa ##
salario_antigo = 650
salario reajustado = [(650*0,20)+650]
salario reajustado = 780
=======================================================================
04. FAÇA UM PROGRAMA QUE RECEBA O SALARIO DE UM FUNCIONARIO E O PERCENTUAL DE AUMENTO, CALCULE E MOSTRE O VALOR DO AUMENTO E O NOVO SALARIO.
algoritimo_salario2
var: salario_antigo, percentual, salario_novo, valor_aumento:real
incio
leia (salario_antigo,percentual)
valor_aumento <-[(salario_antigo*percentual)/100]
salario_novo <- [salario_antigo+valor_aumento)
escreva ( salario_novo,valor_aumento)
fim
---------------------------------------------
## Teste Mesa ##
salario_antigo=600
percentual=20
valor_aumento = [(600*20)/100] = 120
salario_novo = [600+1200 = 720
=======================================================================
05. FAÇA UM PROGRAMA QUE RECEBA O SALARIO BASE DE UM FUNCIONARIO, CAUCULE E MOSTRE O VALOR A RECEBER, SABENDO-SE QUE ESTE FUNCIONARIO TEM UM GRATIFICAÇÃO DE 5% SOBRE O SALARIO BASE E PAGA DE IMPOSTO 7% SOBRE O SALARIO BASE.
algoritimo_salario3
var: salario_base, desconto_imposto, gratificacao, salario_final = real
incio
leia(salario_base)
desconto_imposto <- [(salario_base*7)/100]
gratificacao <- [(salario_base*5)/100]
salario_final <- [(salario_base-desconto_imposto)+gratificacao]
escreva (salario_final)
fim
------------------------------------
## Teste Mesa ##
salario base = 600
desconto imposto = [(600*7)/100] = 42
gratificacao = [(600*5)/100] = 30
salario_final = [(600-42)+30] = 588.
algoritimo_anos
01. FAÇA UM POGRAMA QUE CAUCULE A MOSTRE A AREA DE UM LOSANGO. SABENDO-SE A = DIAGONAL MAIOR*DIAGONAL MENOR / 2
algoritimo_losango
var: area, diagonal_maior, diagonal_menor
inicio
leia ( diagonal_maior, diagonal_menor);
area <- [(diagonal_maior*diagonal_menor)/2];
escreva (area);
fim
-------------------------------------------------------------
## Teste de Mesa##
diagonal_maior = 5
diagonal_menor = 4
area = [(5*4)/2] = 1
=====================================================================
02. FAÇA UM PROGRAMA QUE RECEBA O ANO DE NACSIMENTO DE UMA PESSOA E O ANO ATUAL E MOsTRE.
A IDADE DA PESSOA EM ANOS.
A IDADE DESSA PESSOA EM MESES
A IDADE DESSA PESSOA EM DIAS
A IDADE DESSA PESSOA EM SAMANAS
algoritimo_anos
var: ano_nascimento, ano_atual, idade_anos, idade_meses, idade_dias, idade_semanas:real
inicio
leia (ano_nascimento,ano_atual);
idade_anos <- (ano_atual - ano_nascimento);
idade_meses <- (idade_anos*12);
idade_dias <- (idade_meses*365);
idade_semanas <- (idade_dias/7)
escreva ( "Idade Anos" idade_anos);
escreva ( "Idade Meses" idade_meses)
escreva ( "Idade Dias" idade_dias);
escreva ( " Idade Semanas" idae_semanas);
fim
------------------------------------------
## Teste de Mesa##
ano_nascimento = 1989
ano_atual = 2011
idade_anos <- (2011-1989)=22 anos
idade_meses <- (22*12)=264 meses
idade_dias <- (264*365)=96360 dias
idade_semanas <- (96360/7) = 13765,71semanas
======================================================================
03. FAÇA UM PROGRAMA QUE RECEBA A QUANTIDADE DE DINHEIRO EM REIAS E CONVERTA ESSE VALOR EM DOLAR, MARCO ALEMÃO E LIBRAS ESTERLINAS, SABE-SE QUE A CONTAÇÃO DO DOLAR É 1,80, DO MARCO ALEMÃO É 2 E DA LIBRA ESTERLINA É 1,57 O PROGRAMA DEVE FAZER A CONVERSAR E MOSTRALA.
algoritimo_cambio
var: valor_reais
incio
ler (valor-reais)
valor_dolar <- ( valor_reais*1,8)
valor_marco <- (valor_reais*2)
valor_libra <- (valor_reais*1,57)
escreva ("valor em Dolar"valor_dolar);
escreva ("Valor em Marco Alemão"valor_marco)
escreva ("Valor em Libras Esterlinas" valor_libra)
fim
---------------------------------------
##Teste Mesa##
valor reias = 50
valor_dolar = (50*1,8) = 90
valor_marco =(50*2) = 100
valor_libra = (50*1,57) = 78,5
==================================================
Na aula de hoje, consegui na pratica intender a maneira de montar e de pensar na hora de criar um algoritmo. depois de muitos exercícios que alem de exercitar a lógica ajudou a decorar os passos da criação. Em fim a partir desta aula não preciso me preocupar mais em criar o algoritmo pois isso já sei, basta me focar em resolver o problema.
Na aula de hoje, consegui na pratica intender a maneira de montar e de pensar na hora de criar um algoritmo. depois de muitos exercícios que alem de exercitar a lógica ajudou a decorar os passos da criação. Em fim a partir desta aula não preciso me preocupar mais em criar o algoritmo pois isso já sei, basta me focar em resolver o problema.
Aula 3 - 06/4/2011 - Métodos de construção de algoritimos
Através de slides aprendemos os métodos de construção para algoritmos, regras e conceitos.
Alguns exercícios foram feitos em sala e corrigidos a seguir, nesta aula também foi nos passado o nosso mais novo 'tema de casa' fazer um webfólio das aulas.
Abaixo segue slides passados em aula:
Abaixo dois exercícios realizados em aula:
1. Especificar um algoritmo para calcular e exibir na tela a área de um triângulo de base b e altura h, em que os valores de b e de h são fornecidos pelo usuário via teclado.
Narrativa
1º Digitar valores de b e h
2º Resolver [(b*h)/2]
3º Exibir resultado
Ver
b,h,S = Real
Inico
ler (b,h)
S <= [(b*h)/2]
escrever (S)
Fim
Fluxograma |
1º Digitar valores de b e h
2º Resolver [(b*h)/2]
3º Exibir resultado
Ver
b,h,S = Real
Inico
ler (b,h)
S <= [(b*h)/2]
escrever (S)
Fim
2. Compraram-se 30 canetas iguais, que foram pagas com uma nota de R$ 100,00, obtendo-se R$ 67,00 de troco. Quanto custou cada caneta?
Fluxograma |
Narativa
Pegar CAN,PAG, TROC
Resolver RES=[(PAG-TROC)/CAN)
Exibir resultado
Ver
CAN, PAG, TROC, RES = Real
Pegar CAN,PAG, TROC
Resolver RES=[(PAG-TROC)/CAN)
Exibir resultado
Ver
CAN, PAG, TROC, RES = Real
Inico
CAN <=30
PAG <=100
TROC <=67
RES <= [(PAG-TROC)/CAN]
Escrever (RES)
Fim
Acredito que na aula de hoje eu tenha dado o primeiro passo dentro deste novo mundo que e lógica e algoritimo, a primeira vista muito complicado e complexo, mais depois de quebrar a cabeça se torna mais simples, hoje aprendi a montar um algoritmo completo, partindo da descrição narrativa, pseudocódigo, fazer um fluxograma e ainda a fazer o teste para ver se o mesmo esta correto, outra questão bastante frisada foi deixar as variáveis com nomes reais para ser mais fácil para organizar e também para outra pessoa intender.