0% acharam este documento útil (0 voto)
57 visualizações22 páginas

Tema: Progamação em Visualg: Curso de Engenharia Informática Disciplina de Informática

O documento apresenta 8 algoritmos em VisualG para resolução de problemas comuns de programação, incluindo impressão de dados, cálculo de soma, média e solução de equações lineares.

Enviado por

Fenias Cossa
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
57 visualizações22 páginas

Tema: Progamação em Visualg: Curso de Engenharia Informática Disciplina de Informática

O documento apresenta 8 algoritmos em VisualG para resolução de problemas comuns de programação, incluindo impressão de dados, cálculo de soma, média e solução de equações lineares.

Enviado por

Fenias Cossa
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOCX, PDF, TXT ou leia on-line no Scribd

UNIVERSIDADE EDUARDO MONDLANE

FACULDADE DE ENGENHARIA

DEPARTAMENTO DE CADEIRAS GERAIS

Curso de Engenharia Informática

Disciplina de Informática

Tema: Progamação em VisualG

Discente: Docente:

Guirruta, Fauzia Henrique Lic. Marcelo Munguanaze

Maputo, Maio de 2024


1. Impressão de Dados de um estudante
Algoritmo "Impressao de dados de um estudante" Inicio

"Introduza o seu
Var nome"

nome, morada, curso: caracter


nome
Inicio
Escreva("Introduza o seu nome ") "Introduza sua
morada"
Leia(nome)
Escreva("Introduza sua morada ") morada

Leia(morada)
"Introduza sua
Escreva("Introduza o curso ") morada"

Leia(curso)
morada
Escreva(nome,",",morada,",",curso)
Fimalgoritmo
"Introduza seu
curso"

morada

nome, morada,
curso

fim
2. Impressão da Soma de dois números A e B.
Algoritmo "Soma de 2 numeros"
Var Inicio

a,b,s: real
"Insira a"
Inicio
Escreva("Insira a ") a

Leia(a)
Escreva("Insira b ") "Insira b"

Leia(b)
b
s<-a+b
Escreva("A Soma e ", s) s<-a+b

Fimalgoritmo
"A soma e", s

Fim

3. Impressão da Media de dois números A e B.


Algoritmo "Media de 2 numeros" Inicio

"Insira a"
Var
a,b,m: real a

Inicio
Escreva("Insira a ") "Insira b"

Leia(a)
b
Escreva("Insira b ")
Leia(b) m<-(a+b)/2

m<-(a+b)/2
Escreva("A Media e ", m) "A Media ", m

Fimalgoritmo
Fim
4. Impressão da solução duma equação linear.
Algoritmo "Solucao de uma equacao linear" Inicio

Var
"Insira a"
a,b,k: real
Inicio
a

Escreva("Insira a ")
Leia(a) "Insira b"

Escreva("Insira b ")
b
Leia(b)
K<--b/a k <- -b/a

Escreva("A solucao da equaacao linear e ", k)


Fimalgoritmo "A solucao da
equacao e ", k

Fim

5. Ler a base e a altura de um triângulo. Em seguida, escreva a área do mesmo.


Algoritmo "Solucao de uma equacao linear" Inicio

Var
"Insira b"
a,b,k: real
Inicio
b
Escreva("Insira a ")
Leia(a) "Insira h"

Escreva("Insira b ")
Leia(b) h

K<--b/a a<-b*h/2

Escreva("A solucao da equaacao linear e ", k)


Fimalgoritmo "A area do
triangulo e ", a

Fim
6. . 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 Inicio
(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. "Insira o nome do
automovel"
Algoritmo "Area de um triangulo"
Var nome

pf, pa:: real


"Insira o preco de
nome: caracter fabrica"

Inicio
pf
Escreva("Insira o Nome do automovel ")
Leia(nome) pa<- pf+0.45*pf+0.28*pf

Escreva("Insira preco de fabrica ")


Leia(pf) nome, pa

pa<-pf+0.45*pf+0.28*pf
Fim
Escreval("Nome: ", nome)
Escreval("preco: ", pa)
Fimalgoritmo
7. Leia salário do funcionário. Se Salario é inferior ou igual a 1.850MT, dê um aumento
salarial de 50% e imprima a mensagem “Colaborador da classe C, seu Salario é: ”. De
contrário avalie se o Salario está entre 1.850 e 4.500MT (inclusive) para dar um aumento
de 25% e imprima a mensagem “Colaborador da classe B, seu Salario é: ”. De contrário,
dê um aumento de 15% e imprima a mensagem “Colaborador da classe A, seu Salario é:

Inicio
Algoritmo "Impressao do salario do colaborador"
"Introduza o
Var salario"

s,k: real
s
Inicio

Escreva("Introduza o salario") Yes No


s<=1850
Leia(s)
k<-s+s*0.5 Yes No
Se (s<=1850) entao s<=4500

k<-s+s*0.5 "Colaborador de
k<-s+s*0.25 k<-s+s*0.15
classe C, seu
salario e ", k
Escreva("Colaborador de classe C, seu salario e ", k)
"Colaborador de "Colaborador de
classe B, seu classe B, seu
Senao salario e ", k salario e ", k

Se (s<=4500) entao

k<-s+s*0.25

Fim
Escreva("Colaborador de classe B, seu salario e ", k)

Senao

k<-s+s*0.15

Escreva("Colaborador de classe A, seu salario e ", k)

Fimse

Fimse

Fimalgoritmo

8. Verifica se um dado número é par ou impar. Inicio

Algoritmo "Paridade"
"Introduza o dado"
Var
d: inteiro
d
Inicio
Escreva("Introduza o dado ")
No
d%2=0
Leia(d)
Se (d%2 = 0) Entao
"PAR" "IMPAR"
Escreval(d, " e Par")
Senao
Escreval(d, " e Impar")
Fim
Fimse
Fimalgoritmo

Inicio

9. Receba 2 números e mostre o maior deles.


"Insira a"

Algoritmo "Maior entre 2 numeros"


Var a

a,b: real
"Insira b"

Inicio
Escreva("Introduza a") b

Leia(a)
Yes No
a>b
Escreva("Imtroduza b")
Leia(b)
"Insira b" "Insira b"
Se (a>b) entao

Fim
Escreva("O maior numero sera", a)
Senao
Escreva("O maior numero sera", b)
Fimse
Fimalgoritmo

10. 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:
Algoritmo "Media de Frequencia" Inicio

Var
"Introduza a, b, c"
a, b, c, mf: real
Inicio
a, b, c
Escreva("Introduza a")
Leia(a) mf<-(a+b+c)/3

Escreva("Introduza b")
"A media e ", mf
Leia(b)
Yes No
Escreva("Introduza c") mf<10

Leia(c)
Yes No
mf<-(a+b+c)/3 mf<14
"EXCLUIDO"
Escreval("A media e", mf)
"ADMITIDO"
Se (mf<10) entao
"DISPENSADO"
Escreva("EXCLUIDO")
Senao
Se (mf<14) entao
Fim
Escreva("ADMITIDO")
Senao
Escreva("DISPENSADO")
Fimse
Fimse
Fimalgoritmo
11. . Dada a Equação AX2 + BX + C=0, imprimir a solução (Observar todas as condições)
Algoritmo "Equacao quadratica" Inicio

Var
"Introduza a, b, c"
a,b,c,d,x1,x2,x: real

Inicio a, b, c

Escreva("Introduza A")
Yes No
a=0 D<-b^2-4*a*c
Leia(a)

Escreva("Introduza B") Yes No


D>=0
"Nao e equacao
Leia(b) quadratica"

Yes
Escreva("Introduza C") D=0
No "Nao tem solucao"

Leia(c)
x<--b/a x1<-(-b-D^0.5)/(2*a)
x2<-(-b+D^0.5)/(2*a)
Se (a=0) entao

Escreval("Nao e equacao quadratica") "A equacao tem "As solucoes da


uma solucao. x=", x equacao sao: ", x1,
", ", x2
Senao

d<-b^2-4*a*c

Se (d>=0) entao
Fim

Se (d=0) entao

x<- -b/(2*a)

Escreva("A equacao tem uma solucao x=", x)

Senao

x1<-(-b-d^0.5)/(2*a)

x2<-(-b+d^0.5)/(2*a)

Escreva("A solucoes da equacao sao: ", x1, ",", x2)

Fimse

Senao

Escreva("Nao tem solucao")

Fimse

Fimse

Fimalgoritmo
12. Leia 3 números inteiros e imprima o menor deles.
Algoritmo "Menor" Inicio

Var
"Insira a"
a, menor: real
i: inteiro a

Inicio
menor<-a
Escreva("Insira a")
i de 2 ate 3
Leia(a)
menor<-a "Insira a" "O menor numero
e ", menor
Para i de 2 ate 3 faca
a Fim
Escreva("Insira a")
Leia(a) Yes No
a>menor
Se (a > menor) entao
menor<-menor menor<-a
menor<-menor
Senao
menor<-a
fimse
Fimpara
Escreva("O menor numero e", menor)
Fimalgoritmo
13. Receba 3 números e imprime-nos em ordem Inicio

crescente
Algoritmo "Ex.13" "Introduza o
primeiro numero"
Var
n1, n2, n3, menor, maior, medio: real
n1
Inicio
menor<-n1
Escreva("Introduza o primeiro número: ") maior<-n1
Leia(n1)
maior<-n1 "Introduza o
segundo numero"

menor<-n1
Escreva("Introduza o segundo número: ") n2

Leia(n2)
Se (n2<=menor) entao Yes
n2<=menor
No

menor<-n2
menor<-n2 maior<-n2
Senao
maior<-n2
Fimse "Introduza o
terceiro numero"
Escreva("Introduza o último número: ")
Leia(n3)
n3
Se (n3<=menor) entao
medio<-menor
Yes No
n3<=menor
menor<-n3
medio<-maior medio<-n3
Senao maior<-n3
Se (n3>=maior) entao
medio<-maior
maior<-n3 menor, ",", medio,
",", maior
Senao
medio<-n3
Fim

Fimse
Fimse
Escreval(menor, medio, maior)
Fimalgoritmo
14. Receba um número inteiro positivo do usuário e mostre a Inicio

tabuada desse número. Para mostrar a tabuada do 2, por


"Introduza o valor
exemplo, deverá ser apresentado da seguinte forma: de n"

Algoritmo "Tabuada"
n

Var
i de 1 ate 10
i,n,p: inteiro
Fim p<-n*i
inicio

Escreva ("o valor de n:")


n, "x", i, "=", p

leia(n)

para i de 1 ate 10 faca

p <- n*i

Escreva(n,"*",i,"=", p)

fimpara

fimalgoritmo

15. Imprime os primeiros 100 números naturais.

Algoritmo "numerosNaturais" Inicio

var
"Introduza a QTD"

i,qtd: inteiro

inicio qtd

Escreva ("introduza a qtd:") i de 1 ate qtd

leia(qtd) Fim "i:", i

para i de 1 ate qtd faca

Escreva("i:",i)
fimpara

fimalgoritmo

16. Imprime a soma dos primeiros 20 números naturais.

Algoritmo "soma" Inicio

var s<-0

n,s: inteiro
n de 1 ate 20
inicio
"A soma e:
", s
s <- 0 s<-s+n

Fim
para n de 1 ate 20 faca

s <- s+n

fimpara

Escreva (" a soma e:", s)

fimalgoritmo

17. Ler dois números inteiros M e N e, a seguir, imprimir os Inicio

números pares existentes no intervalo [M, N]. Lembre-se


"Introduza o valor
que nem sempre M é um número par. m"

Algoritmo "Numeros paresno intervalo" m

var
"Introduza o valor
n"
M, N, i,r: inteiro
n
inicio

Escreva ("insira o valor de M:") "Os numeros


Fim pares sao"

leia(M)
i de m ate n
Escreva("insira o valor de N:")
Yes
n%i = 0

i No
leia(N)

Escreva("os numeros pares sao:")

para i de M ate N faca

r <- i%2

se r=0 entao

Escreva (i)

senao

fimse

fimpara

fimalgoritmo

18. Determinar o fatorial de n (lido via teclado) Inicio

Algoritmo ("Factorial ")


"Introduza o n"

var

n, i, fact :inteiro n

Inicio fact<-1

Escreva ("introduza o número ") i de 1 ate n

leia (n)
fact<-fact*i

fact<-1

para i de 1 ate n faca "fact:", fact

fact<- fact*i

fimpara Fim

Escreva (“fact:” , fact)

Fimalgoritmo
19. Leia um número inteiro qualquer e determine se esse número é perfeito ou não. Um
número é perfeito quando a soma de seus divisores, excetuando- se o próprio número, for
igual ao número.

Algoritmo "Numeros perfeitos" Inicio

var
"Introduza o n"

s,n,i: inteiro

inicio n

Escreva(" introduza o valor de n:") i de 1 ate n

leia(n)
n%i=0
para i de 1 ate n-1 faca Yes
No

se n%i=0 entao s<-s+i

s<- s+i Yes No


s=n

fimse
"O numero e "O numero nao e
fimpara perfeito" perfeito"

se s=n entao

Escreva (" o numero e perfeito") Fim

senao

Escreva ("o numero nao e perfeito")

fimse

fimalgoritmo
20. Determinar todos os números perfeitos existentes Inicio

entre 2 e 100.
Fim n de 1 ate 200
Algoritmo "Números perfeitos num certo intervalo "
s<-0

var
i de 1 ate n-1
n, i, s : inteiro

inicio Yes
n%i=0

para n de 2 ate 200 faca No

s<-s+i
s<-0

para i de 1 ate n-1 faca s=n


No

se n%i=0 então Yes

n
s<-s+i

fimse

fimpara

se s=n então

escreva (n)

fimse

fimpara

fimalgoritmo

21. Determinar se um numero n (lido via teclado) é primo

Algoritmo "Números primos "

var

n, i, cont : inteiro

inicio
Escreva (" introduza o valor de n:")

leia(n)

cont<-0 Inicio

para i de 1 ate n faca "Introduza o valor


de n: "

se n%i=0 entao
n

cont<- cont+1
cont<-0

fimse
i de 1 ate n

fimpara No
n Mod i = 0

se (cont=2) entao Yes

s<-s+1

Escreva ( "o numero e primo")


No
senao cont= 2

Yes

Escreva (" o numero nao e primo") "Introduza o valor


"O numero Primo"
de n: "

fimse

fimalgoritmo Fim

22. Imprime os primeiros 20 números primos.

23. Imprime os primeiros 100 termos duma Progressão Aritmética Inicio

cujo primeiro termo a1=3 e a razão d=2.


a1<-3
d<-2
algoritmo "progressaoartimetica"
i de 1 ate 100
var

an<-a1+(n-1)*d
a1,d, an ,n :inteiro

inicio an

a1<-3 Fim
d<-2

para n de 1 ate 100 faca

an<- a1+ (n-1)*d

Escreva (an)

fimpara

fimalgoritmo

24. Imprime os primeiros 100 termos da série de Fibonacci (1,1,2,3,5, … an-1 + an-2).

Algoritmo "Fibonacci " Inicio

var t1<-1
t2<-1

t1,t2,tn, cont : inteiro "T1", t1

inicio "T2", t2

t1<-1 i de 1 ate 100

t2<-1 tn<-t1+t2

Escreva ("t1:", t1) "Tn: ", tn

t1<-t2
Escreva("t2:", t2) t2<-tn

Para cont de 1 ate 100 faca


Inicio

tn<- t1+t2

Escreva ("tn:", tn)

t1<-t2

t2<-tn

fimpara

fimalgoritmo

25. Ler um numero n e determinar se é termo de Fibonacci


Algoritmo "seriedefibonacci

Var

N,f1,f2,fn:inteiro

Inicio

escreval("Digite um numero") Inicio

leia(N)
"Digite o numero"

f1<-1

f2<-1 N

enquanto (fn<N) faca f1<-1


f2<-1

Fn<- f1+f2
fn<N
F1<-f2 No
Yes

F2<-Fn fn<-f1+f2
f1<-f2
f2<-fn
fimenquanto

se (Fn=n) entao Yes No


fn=N

escreval ("O numero faz parte da serie")


"O numero faz "Nao faz parte da
parte da serie" serie"
senao

escreval ( "Nao faz parte da serie")


Inicio
fimse

Fimalgoritmo
Inicio
26. Leia N valores reais quaisquer e determine
o segundo menor dentre os valores "Introoduz a QTD"

Algoritmo "Segundo menor"

Var qtd

n, menor,smenor: real
"Introduza um numero"
i, qtd: inteiro

Inicio

Escreval("Introduza QTD") n

Leia(qtd)
menor<-n
Escreva("Introduza um numero ")

Leia(n)

menor<-n "Introduza outro numero"

Escreva("Introduza outro numero")

Leia(n)
n
Se (n<=menor) entao

smenor<-menor Yes No
n<=nemor

menor<-n
smenor<-menor
smenor<-n
Senao menor<-n

smenor<-n

Fimse

i<-3 i<-3

Enquanto (i <= qtd) faca

Escreva("Introduza outro numero ") Fim i<=qtd

Yes
Leia(n)

Se (n<=menor) entao
"Introduza outro numero"
smenor<-menor

menor<-n
n
Senao

Se (n<=smenor) entao

smenor<-n
Yes No
n<=nemor
Fimse

Fimse smenor<-menor Yes


menor<-n n<=smenor

i<-i+1 No
smenor<-n
Fimenquanto

Escreval("O segundo menor e", smenor)

Fimalgoritmo
i<-i+1
27. Ler dez grupos de valores para A, B e C (variáveis do tipo REAL). Para cada grupo de
valores o programa deve imprimir a equação no formato Ax2 + Bx + C = 0 e a respectiva
solução
Algoritmo “Ex. 27”
Inicio
Var
a, b, c, disc, x1, x2 : real Fim i de 1 ate 10

qtd, i, j: inteiro
Inicio "Equacao ", i

Para i de 1 ate 10 faca


"Introduza o valor
Escreval() de a: "

Escreval ("Equação", i)
a
Escreva("Introduza o valor de a: ")
"O valor de a
deve ser <> 0. Yes
Leia(a) a=0
Reintroduza"
No
Enquanto (a=0) faca
Escreva("O valor de a deve ser diferente de [Link]: ") a

Leia(a)
Fimenquanto
Escreva("Introduza o valor de b: ") "Introduza o valor
de b: "
Leia(b)
Escreva("Introduza o valor de c: ") b

Leia(c)
"Introduza o valor
disc<-b^2-4*a*c de c: "

Se (disc<0) entao
c
Escreval("A equação não admite raízes reais")
Senao disc<-b^2-4*a*c

Se (disc=0) entao Yes


disc<0
Escreva("A solução da equação") No

escreva("(", a, ")x2 + (", b, ")x + (", c, ") = 0", " é: ") "A equacao nao Yes No
disc=0
admite raizes
Escreval("X =", -b/(2*a)) reais"

Senao "A solucao da equacao x1<-(-b-disc^0.5)/(2*a)


(", a, ")x^2+(", b, ")x+(", x2<-(-b+disc^0.5)/(2*a)
x1<- (-b-disc^(0.5))/(2*a) c, ")=0, e: x=", -b/(2*a)

x2<- (-b+disc^(0.5))/(2*a)
"As solucoes da
Escreva("As soluções da equação ") equacao (", a, ")x^2+(",
b, ")x+(", c, ")=0, sao:
escreva("(", a, ")x2 + (", b, ")x + (", c, ") = 0", " são: ") x1=", x1, " e x2=", x2

Escreval("X1 =", x1, " e X2 =", x2)


Fimse
Fimse
Fimpara
Fimalgoritmo
28. Ler seguidamente valores inteiros até que seja lido um valor negativo. Para cada valor
lido, exceto o último, o programa deve determinar seu fatorial no formato “fact(n)=”

Algoritmo "Factorial"
Inicio

Var
"Introduza
o numero"
n, i, fact: real
n

Inicio
No
Fim n>=0
Escreva("Introduza o numero ")
Yes

Leia(n) fact<-1
i<-1

Enquanto (n>=0) faca


n>=0
No

fact<-1 Yes

fact<-fact*i
i<-i+1
i<-1

Enquanto (i <= n) faca


"fact(", n, ")=", fact

fact<-fact*i
"Introduza
i<-i+1 o numero"

Fimenquanto n

EscrevaL("Fact(",n, " )", fact)

Escreva("Introduza o numero ")

Leia(n)

Fimenquanto

Fimalgoritmo
29. Ler um número desconhecido de valores reais e imprimir todos os valores lidos, a soma
dos valores lidos e a média aritmética dos valores. O processamento encerra quando um
mesmo valor for lido duas vezes consecutivas, sem considerar uma destas leituras no
processamento.
Algoritmo "Ex.29"

Var

n, m, soma, media: real

i: inteiro

Inicio Inicio

Escreva("Introduza um número: ") "Introduza um


numero"
Leia(n)

soma<-n n

media<-n soma<-n
media<-n
Escreva("Introduza outro número: ")
"Introduza outro
Leia(m) numero"

i<-2 m

Se (n=m) entao i<-2

Escreva("A soma e", soma, " e a media vale", media) Yes No


m=n
Senao
Yes
Enquanto (m<>n) faca m<>n
No
soma<-soma+n
soma<-soma+m media<-soma/i
i<-i+1
media<-soma/i n<-m

i<-i+1 "Introduza outro


numero"
n<-m
m
Escreva("Introduza outro número: ")

Leia(m)

Fimenquanto
"A soma vale ", "A soma vale ",
Escreva("A soma vale ", soma, " e a média vale ", media) soma, " e a media soma, " e a media
vale ", media vale ", media

Fimse

Fimalgoritmo
Fim

Você também pode gostar