Escolar Documentos
Profissional Documentos
Cultura Documentos
Faculdade de Engenharia
Departamento De Engenharia Mecânica
VisualG
Algoritmo "Dados_Estudante"
//1. Impressão de Dados de um estudante
Var
Nome, curso: caracter
idade, nivel: Inteiro
Inicio
Escreva("Nome do Estudante: ")
leia(nome)
Escreva("Idade do estudante: ")
leia(idade)
Escreva("Nivel academico: ")
leia(nivel)
Escreva("Curso: ")
leia(curso)
Escreval("")
Escreval("============================")
Escreval("Nome: ", nome)
Escreval("Idade: ", idade, " Anos")
Escreval("Nivel Academico: ", nivel, "o Ano")
Escreval("Curso: Engenharia ", curso)
Fimalgoritmo
2. Impressão da Soma de dois números
VisualG
Algoritmo "Soma_Numeros"
//2. Impressão da Soma de dois números A e B;
Var
a, b, c: real
Inicio
Escreva("Valor de a: ")
leia(a)
Escreva("Valor de b: ")
leia(b)
c <- a+b
Escreval("===============")
Escreval(a," + ", b, " = ", c)
Fimalgoritmo
Inicio
Escreva("Valor de a: ")
leia(a)
Escreva("Valor de b: ")
leia(b)
Escreva("Valor de c: ")
leia(c)
Escreval("")
Escreval("===========================================")
Escreval(" Equacao ")
Escreval("")
//Representacao da Equacao
Escreval(" ",a,"x^2 + ",b,"x + ",c," = ",0)
Escreval("")
//Calculo do delta
del <- b^2 - 4*a*c
x1 <- (-b + (del)^(1/2))/(2*a)
x2 <- (-b - (del)^(1/2))/(2*a)
//Estrutura de decisao
Se del<0 entao
Escreval("A Equacao nao tem solucao em IR")
Senao
Escreval("===========================================")
Escreval(" Delta ")
Escreval("")
Escreval(" Delta = ",b,"^2 - 4.",a,".",c)
Escreval(" Delta = ", del)
Escreval("")
Escreval("===========================================")
Escreval(" Raizes ")
Escreval("")
Se del>0 entao
Escreval(" X' = ", x1)
Escreval(" X'' = ", x2)
Senao
Escreval(" X' = X'' = ", x1)
FimSe
FimSe
Fimalgoritmo
7. Receba 2 números e mostre o maior deles.
Algoritmo "Comparacao"
//3. Receba 2 números e mostre o maior deles.
Var
n1, n2: Real
Inicio
Escreva("Introduz o primeiro Numero: ")
leia(n1)
Escreva("Introduz o segundo Numero: ")
leia(n2)
Escreval("")
Escreval("=========================================")
Se n1>n2 entao
Escreval("O numero ", n1, "e maior que ", n2)
Senao
Se n1<n2 entao
Escreval("O numero ", n2, " e maior que ", n1)
Senao
Escreval("Os Numeros Sao iguais.")
FimSe
FimSe
Fimalgoritmo
9. O preço de um automóvel é calculado pela soma do preço de fábrica com o preço dos
impostos (45% do preço de fábrica) e a percentagem do revendedor (28% do preço de
fábrica). Leia o nome do automóvel e o preço de fábrica e imprima o nome do automóvel
e o preço final.
Algoritmo "Venda_Automovel"
//5. O preço de um automóvel é calculado pela soma do preço de fábrica com o preço dos
//impostos (45% do preço de fábrica) e a percentagem do revendedor (28% do preço de
//fábrica). Leia o nome do automóvel e o preço de fábrica e imprima o nome do automóvel
//e o preço final
Var
pf, pt: real
nome: caracter
Inicio
Escreva("Nome do Automovel: ")
leia(nome)
Escreva("Preco da Fabrica: ")
leia(pf)
pt <- pf + 0.45*pf + 0.28*pf
Escreval("")
Escreval("==========================")
Escreval("")
Escreval("Nome do Automovel: ", nome)
Escreval("Preco final: ", pt, "MT")
Fimalgoritmo
Inicio
c<-1000
Para i de 1 ate 3 faca
Escreva(i,"o Numero: ")
leia(n)
Se n<c entao
c<-n
FimSe
FimPara
Escreval("O menor numero digitado e: ", c)
Fimalgoritmo
------------------------------------------------------------------------------------------------
11. Receba três notas de um aluno, calcule e mostre a média aritmética de Frequência
(MF) e o resultado (Excluido, Admitido, Dispensado), conforme os critérios:
(a) MF< 10: Excluido
(b) 10<=MF<14 : Admitido
(c) MF>=14: Dispensado
Algoritmo "Media"
//7. Receba três notas de um aluno, calcule e mostre a média aritmética de Frequência (MF)
e
//o resultado (Excluido, Admitido, Dispensado), conforme os critérios:
//(a) MF< 10: Excluido
//(b) 10<=MF<14 : Admitido
Var
i: inteiro
n, MF, c: real
Inicio
Para i de 1 ate 3 faca
Escreva("Nota ",i,": ")
leia(n)
c<-c+n
FimPara
Escreval("")
Escreval("=================")
MF<-(c)/3
Escreval("Media: ", MF)
Se MF<10 entao
Escreval("REPROVADO")
Senao
Se (MF>=14) e (MF<=20) entao
Escreval("DISPENSADO")
Senao
Escreval("ADMITIDO PARA O EXAME")
FimSe
FimSe
Fimalgoritmo
16. Imprime os primeiros 100 termos duma Progressão Aritmética cujo primeiro termo
a1=3 e a razão d=2.
Algoritmo "Primeiros_PA"
//12. Imprime os primeiros 100 termos duma Progressão Aritmética
// cujo primeiro termo a1=3
//e a razão d=2.
Var
i, n: inteiro
Inicio
n<-3
Para i de 1 ate 100 faca
Escreva(n," ")
n<-n+2
FimPara
Fimalgoritmo
17. Imprime os primeiros 100 termos da série de Fibonacci (1,1,2,3,5, … an-1 + an-2)
Algoritmo "Fibonacci"
//13. Imprime os primeiros 100 termos da série de
//Fibonacci (1,1,2,3,5, … an-1 + an-2)
Var
F1, F2,Fn, i: inteiro
Inicio
F1<-1
Escreva(F1," ")
F2<-1
Escreva(F2," ")
Para i de 1 ate 88 faca
Fn<-F1+F2
Escreva(Fn," ")
F1<-F2
F2<-Fn
FimPara
Fimalgoritmo
Parte 2
Variáveis compostas unidimensionais(Vectores) & Variáveis compostas
bidimensionais (Matrizes) & Subprogramas(Rotinas)
1. EXERCICIO 1;
Algoritmo "posicao_10"
//EXERCICIO 1;
Var
A: vetor [1..10] de inteiro
i: inteiro
Inicio
Para i de 1 ate 10 faca
Escreva("A[",i,"]: ")
leia(A[i])
FimPara
Escreval("")
Para i de 1 ate 10 faca
Se A[i]=10 Entao
Escreval (i,"o -Posicao")
FimSe
FimPara
Fimalgoritmo
2. EXERCICIO 2
algoritmo "SUBSTITUICAO_1"
//EXERCICIO 2
var
X: vetor [1..10] de inteiro
i: inteiro
inicio
Para i de 1 ate 10 faca
Escreva("X[",i,"]: ")
leia(X[i])
FimPara
Escreval("")
Para i de 1 ate 10 faca
Se X[i]=0 entao
X[i]<-1
FimSe
FimPara
Para i de 1 ate 10 faca
Escreva(X[i]," ")
FimPara
fimalgoritmo
3. ORDEM CONTRARIA
algoritmo "Ordem_contraria"
//ORDEM CONTRARIA
var
A: vetor [1..10] de inteiro
i: inteiro
inicio
Para i de 1 ate 10 faca
Escreva("A[",i,"]: ")
leia(A[i])
FimPara
Escreval("")
//Opcional
i<-10
// Enquanto i>=1 faca
// Escreva(A[i]," ")
//i<-i-1
// FimEnquanto
Para i de 10 ate 1 passo -1 faca
Escreva(A[i]," ")
FimPara
Fimalgoritmo
4. MENOR NUMERO
algoritmo "menor_numero"
//MENOR NUMERO
var
N: vetor [1..20] de inteiro
i,c, k: inteiro
inicio
c<-10
Para i de 1 ate 20 Faca
Escreva("N[",i,"]: ")
leia(N[i])
Se N[i]<c Entao
c<-N[i]
k<-i
FimSe
FimPara
Escreval("O menor elemento de N e: ", c," E a sua posica e: ", k)
Fimalgoritmo
5. Escrever um algoritmo que lê um vetor N(20) e o escreve. Troque, a seguir, o 1*
elemento com o último, o 2* com o penúltimo, etc até o 10* com o 11* e escreva o
vetor N assim modificado.
algoritmo "TROCA_NUMEROS"
//5. Escrever um algoritmo que lê um vetor N(20) e o escreve. Troque, a seguir,
// o 1* elemento
//com o último, o 2* com o penúltimo, etc até o 10* com o 11* e escreva
// o vetor N assim
//modificado.
var
N: vetor [1..20] de inteiro
i: inteiro
inicio
Para i de 1 ate 20 Faca
Escreva("N[",i,"]: ")
leia(N[i])
FimPara
Para i de 1 ate 20 faca
Escreva(N[i]," ")
FimPara
Escreval("")
EScreval("")
Para i de 20 ate 11 passo -1 faca
N[21-i]<-N[i]
Escreva(N[21-i]," ")
FimPara
Fimalgoritmo
6. Escreva um algoritmo que gera os 10 primeiros números primos acima de 100 e os
armazena em um vetor X(10) escrevendo, no final, o vetor X.
algoritmo "Dez_primos"
//6. Escreva um algoritmo que gera os 10 primeiros números primos acima
//de 100 e os armazena em um vetor X(10) escrevendo, no final, o vetor X.
Var
X: vetor [1..10] de inteiro
i, c, j, n: inteiro
inicio
c<-0
i<-100
n<-10
Enquanto (n<=10) Faca
c<-0
Para j de 1 ate i faca
Se i%j=0 entao
c<-c+1
FimSe
FimPara
Se c=2 entao
X[n]<-i
Escreva(X[n]," ")
n<-n-1
Se n=0 entao
Interrompa
FimSe
FimSe
i<-i+1
FimEnquanto
Fimalgoritmo
7.
8. . Escrever um algoritmo para armazenar valores inteiros em uma matriz (5,6). A
seguir, calcular a média dos valores pares contidos na matriz e escrever seu
conteúdo.
algoritmo "Soma_Pares"
//8. Escrever um algoritmo para armazenar valores inteiros em uma matriz (5,6). A seguir,
//calcular a média dos valores pares contidos na matriz e escrever seu conteúdo.
var
M: vetor[1..5, 1..6] de inteiro
i,j,k,c: inteiro
me: real
inicio
k<-0
c<-0
Para i de 1 ate 5 faca
Para j de 1 ate 6 faca
Escreva("M[",i,",",j,"]: ")
leia(M[i,j])
FimPara
FimPara
Escreval("")
Para i de 1 ate 5 faca
Para j de 1 ate 6 faca
Se M[i,j]%2=0 entao
//NAo necessario
Escreva(M[i,j])
//---------------
c<-c+M[i,j]
k<-k+1
FimSe
FimPara
Escreval("")
FimPara
me<-c/k
Escreval("Media dos Numero pares: ", me)
Escreval("")
Para i de 1 ate 5 faca
Para j de 1 ate 6 faca
Escreva(M[i,j])
FimPara
Escreval("")
FimPara
fimalgoritmo
9. Escrever um algoritmo para ler uma matriz (7,4) contendo valores inteiros (supor
que os valores são distintos). Escrever o menor valor da matriz e sua posição.
algoritmo "Menor_Numero"
//9. Escrever um algoritmo para ler uma matriz (7,4) contendo valores inteiros (supor que os
//valores são distintos). Escrever o menor valor da matriz e sua posição.
var
M: vetor [1..7, 1..4] de inteiro
i,j,ii,jj,c: inteiro
inicio
c<-0
para i de 1 ate 7 faca
Para j de 1 ate 4 faca
Escreva("M[",i,",",j,"]: ")
leia(M[i,j])
Se M[i,j]>c entao
c<-M[i,j]
FimSe
FimPara
FimPara
Escreval("")
para i de 1 ate 7 faca
Para j de 1 ate 4 faca
Se M[i,j]<c entao
c<-M[i,j]
ii<-i
jj<-j
FimSe
FimPara
FimPara
Escreva("O menor numero e: ", c, " e esta na posicao M[",ii,",",jj,"]")
Fimalgoritmo
LimpaTela
//Aline a)
Se i=5 entao
sl<-sl+M[i,j]
FimSe
//Aline b)
Se j=2 entao
sc<-sc+M[i,j]
FimSe
//Alinea c)
Se i=j entao
sdp<-sdp+M[i,j]
FimSe
//Alinea d)
//Facam......
//Alinea e)
sm<-sm+M[i,j]
FimPara
FimPara
//Alinea f)
Para i de 1 ate 5 faca
Para j de 1 ate 5 faca
Escreva(M[i,j])
FimPara
Escreval("")
FimPara
Escreval("")
Escreval("Soma da Linha: ", sl)
Escreval("Soma da coluna: ", sc)
Escreval("Soma da diagonal principal: ", sdp)
Escreval("Soma da Matriz: ", sm)
Fimalgoritmo
11. Escrever um algoritmo que lê uma matriz M(5,5) e cria 2 vetores SL(5), SC(5) que
contenham respectivamente as somas dos valores nas linhas e nas colunas de M.
Escrever a matriz e os vetores criados.
algoritmo "Soma_LInhas_Colunas"
//11. Escrever um algoritmo que lê uma matriz M(5,5) e cria 2 vetores SL(5),
// SC(5) que
//contenham respectivamente as somas dos valores nas linhas
//e nas colunas de M. Escrever
//a matriz e os vetores criados.
var
M: vetor [1..5, 1..5] de inteiro
Vl: vetor [1..5] de inteiro
Vc: vetor [1..5] de inteiro
i, j, Sl, Sc: inteiro
inicio
Para i de 1 ate 5 faca
Para j de 1 ate 5 faca
Escreva("M[",i,",",j,"]: ")
leia(M[i,j])
FimPara
FimPara
LimpaTela
EScreval("")
Para i de 1 ate 5 faca
Para j de 1 ate 5 faca
Escreva(M[i,j])
FimPara
Escreval("")
FimPara
EScreval("")
Para i de 1 ate 5 faca
Sl<-0
Para j de 1 ate 5 faca
Sl<-Sl+M[i,j]
Vc[j]<-Vc[j]+M[i,j]
FimPara
Vl[i]<-Sl
FimPara
Escreva("SL[i]=[")
Para i de 1 ate 5 faca
Escreva(Vl[i]," ")
FimPara
Escreva("]")
Escreval("")
Escreva("SC[j]=[")
Para j de 1 ate 5 faca
Escreva(Vc[j]," ")
FimPara
Escreva("]")
Fimalgoritmo
LimpaTela
Para i de 1 ate 4 faca
Para j de 1 ate 6 faca
Escreva("N2[",i,",",j,"]: ")
leia(N2[i,j])
FimPara
FimPara
LimpaTela
//Alinea a)
Para i de 1 ate 4 faca
Para j de 1 ate 6 faca
M1[i,j]<-N1[i,j]+N2[i,j]
FimPara
FimPara
//Alinea b)
Para i de 1 ate 4 faca
Para j de 1 ate 6 faca
M2[i,j]<-N1[i,j]-N2[i,j]
FimPara
FimPara
Escreval("Matriz N1")
Para i de 1 ate 4 faca
Para j de 1 ate 6 faca
Escreva(N1[i,j])
FimPara
Escreval("")
FimPara
Escreval("")
Escreval("Matriz N2")
Para i de 1 ate 4 faca
Para j de 1 ate 6 faca
Escreva(N2[i,j])
FimPara
Escreval("")
FimPara
Escreval("")
Escreval("Matriz M1")
Para i de 1 ate 4 faca
Para j de 1 ate 6 faca
Escreva(M1[i,j])
FimPara
Escreval("")
FimPara
Escreval("")
Escreval("Matriz M2")
Para i de 1 ate 4 faca
Para j de 1 ate 6 faca
Escreva(M2[i,j])
FimPara
Escreval("")
FimPara
Fimalgoritmo
13. Escrever um algoritmo que lê uma matriz M(6,6) e calcula as somas das partes
sombreadas. Escrever a matriz M e as somas calculadas.
algoritmo "Partes_Sombreadas"
//13. Escrever um algoritmo que lê uma matriz M(6,6) e calcula as somas das
// partes sombreadas.
//Escrever a matriz M e as somas calculadas.
var
M: vetor [1..6, 1..6] de inteiro
i,j, Sa, Sb, Sc, Sd, See, Sf, Sh, Sg: inteiro
inicio
Escreval("")
Escreval("")
//Alinea b)
// Para i de 1 ate 6 faca
//Para j de 1 ate 6 faca
//Se ((i<j ) ou (i>j) ou (i=j)) e (i+j<7)entao
//Escreva(M[i,j])
//Sb<-Sb+M[i,j]
//FimSe
//FimPara
// Escreval("")
//FimPara
Para i de 1 ate 6 faca
Para j de 1 ate 6 faca
Se i>j entao
Escreva(M[i,j])
Sb<-Sb+M[i,j]
FimSe
FimPara
Escreval("")
FimPara
Escreval("Soma B: ", Sb)
Escreval("")
Escreval("")
//Alinea c)
Para i de 1 ate 6 faca
Para j de 1 ate 6 faca
Se (i<j) e (i+j<7) entao
Escreva(M[i,j])
Sc<-Sc+M[i,j]
FimSe
FimPara
Escreval("")
FimPara
Escreval("Soma C: ", Sc)
Escreval("")
Escreval("")
//Alinea d)
Para i de 1 ate 6 faca
Para j de 1 ate 6 faca
Se (i>j) e (i+j<7) entao
Escreva(M[i,j])
Sd<-Sd+M[i,j]
FimSe
FimPara
Escreval("")
FimPara
Escreval("Soma D: ", Sd)
Escreval("")
Escreval("")
//Alinea e)
Para i de 1 ate 6 faca
Para j de 1 ate 6 faca
Se ((i>j) e (i+j<7)) ou ((i<j) e (i+j>7)) entao
Escreva(M[i,j])
See<-See+M[i,j]
FimSe
FimPara
Escreval("")
FimPara
Escreval("Soma E: ", See)
Escreval("")
Escreval("")
//Alinea f)
Para i de 1 ate 6 faca
Para j de 1 ate 6 faca
Se ((i<j) e (i+j<7)) ou ((i>j) e (i+j>7)) entao
Escreva(M[i,j])
Sf<-Sf+M[i,j]
FimSe
FimPara
Escreval("")
FimPara
Escreval("Soma F: ", Sf)
Escreval("")
Escreval("")
//Alinea g)
Para i de 1 ate 6 faca
Para j de 1 ate 6 faca
Se ((i<j ) e (i+j<7)) ou ((i>j) e (i+j<7)) entao
Escreva(M[i,j])
Sg<-Sg+M[i,j]
FimSe
FimPara
Escreval("")
FimPara
Escreval("Soma G: ", Sg)
Escreval("")
Escreval("")
//Alinea h)
Para i de 1 ate 6 faca
Para j de 1 ate 6 faca
Se (i>j) e (i+j<>7) entao
Escreva(M[i,j])
Sh<-Sh+M[i,j]
FimSe
FimPara
Escreval("")
FimPara
Escreval("Soma H: ", Sh)
fimalgoritmo
14. Escrever um algoritmo que recebe um numero inteiro do utilizador e de seguida
imprime a mensagem “É par” se o numero introduzido for par ou “É impar” caso
contrário. Utilizar uma função que retorna um valor lógico para indicar se o valor recebido
é par ou não.
algoritmo "Funcao_Par_Impar"
//14. Escrever um algoritmo que recebe um numero inteiro do utilizador e de
//seguida imprime a
//mensagem “É par” se o numero introduzido for par ou “É impar” caso
//contrário.
//- Utilizar uma função que retorna um valor lógico para indicar se o
//valor recebido é par ou
//não.
var
n: inteiro
s: logico
Funcao parImpar(a: inteiro): logico
var
k: logico
Inicio
k<-(a%2=0)
retorne k
FimFuncao
inicio
Escreva("Introduz um numero: ")
leia(n)
Se n%2=0 entao
Escreval("E PAR")
Senao
Escreval("E IMPAR")
FimSe
s<-parImpar(n)
Escreval("")
Escreval("Valor logico: ",s)
fimalgoritmo
algoritmo "Funcao_Fat_Divisores"
//15. Escreva um algoritmo que lê um número não determinado de valores m,
//todos inteiros e
//positivos, um valor de cada vez, e, se m<10 utiliza um subalgoritmo do tipo
//função que
//calcula o fatorial de m, e caso contrário, utiliza um subalgoritmo do tipo
//função para obter
//o número de divisores de m (quantos divisores o m possui). Escrever cada m
//lido e seu
//fatorial ou seu número de divisores com uma mensagem adequada". Neste caso,
//temos um
//programa principal e dois subalgoritmos.
var
m, Re: inteiro
Res: Caracter
//PROGRAMA PRINCIPAL
inicio
Res<-"S"
Enquanto (Res<>"N") faca
LimpaTela
Escreva("Digite um Numero: ")
leia(m)
Se m<10 entao
Re<-calcFatorial(m)
Escreval(m,"! = ",Re)
Senao
Re<-calcDivisores(m)
Escreval("Divisores de ",m, " sao: ",Re)
FimSe
Escreval("Deseja continuar?[S/N]")
leia(Res)
FimEnquanto
fimalgoritmo