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

Programacao Visual G

O documento aborda a programação em VisualG, incluindo conceitos de algoritmos, operadores aritméticos, relacionais e lógicos, além de sintaxe para variáveis, comandos de entrada e saída, estruturas de controle e repetição. Exemplos práticos são fornecidos para ilustrar a utilização de funções, procedimentos, vetores e matrizes. O conteúdo é estruturado para facilitar o aprendizado de programação em um ambiente de pseudocódigo.

Enviado por

chongomariaa
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 PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
8 visualizações48 páginas

Programacao Visual G

O documento aborda a programação em VisualG, incluindo conceitos de algoritmos, operadores aritméticos, relacionais e lógicos, além de sintaxe para variáveis, comandos de entrada e saída, estruturas de controle e repetição. Exemplos práticos são fornecidos para ilustrar a utilização de funções, procedimentos, vetores e matrizes. O conteúdo é estruturado para facilitar o aprendizado de programação em um ambiente de pseudocódigo.

Enviado por

chongomariaa
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 PDF, TXT ou leia on-line no Scribd

PROGRAMACAO

ALGORITMOS

1
PSEUDOCÓDIGOS
Sintaxe do VisualG

2
Operadores Aritmeticos

5/2=2.5
5\2=2
5^2=25 ou Exp(5,2)=25
5%2=1 21%6=3
3
Operadores Relacionais
Os operadores relacionais realizam a comparação entre dois operandos ou duas
expressões e resultam em valores lógicos (VERDADEIRO ou FALSO)

Exemplos:
2+5>4 resulta VERDADEIRO
3<>3 resulta FALSO
4
Operadores Lógicos
Os operadores lógicos actuam sobre expressões e tambem resultam em
valores lógicos VERDADEIRO ou FALSO.

Tabela de Verdade

EXEMPLO:
(2+5>4) e (3<>3)
resulta FALSO, pois
VERDADEIRO e FALSO
resulta FALSO. 5
Operador de Atribuição
Para "colocar" um valor em uma variavel dentro de um algoritmo,
utilizamos o operador de atribuição. O operador de atribuição e
representado por uma seta (<-) apontando para a esquerda.

Exemplos:
Peso <- 78.7 // Este comando atribui à variavel Peso o valor 78.7.
Nome <- "João da Silva" // Este comando atribui à variavel Nome o
valor "João da Silva".
Achei <- FALSO // Este comando atribui à variavel Achei o valor
FALSO. 6
Prioridades dos Operadores
Aritmeticos

EXEMPLOS:
(2 + 2)/2 resulta 2
2 + 2/2 resulta 3

7
Prioridades dos Operadores

EXEMPLOS (Lógicos):
(2>3) ou (3<2) e (2<3) //resultado seria Falso
(2>3) e (3<2) ou (2<3) //resultado seria Verdadeiro 8
Prioridades dos Operadores

NOTA:
O software VisuAlg não possui relacionamento de categorias.
2*5>3 ou 5+1<2 e 2<7-2 // resulta em erro.
(2*5>3) ou (5+1<2) e (2<7-2) // certo seria assim.

9
SINTAX
Algoritmo "<nome do algoritmo>"
var
< declaração de variaveis>
inicio
< lista de comandos>
fimalgoritmo

10
SINTAX
VARIaVEIS
VAR
<identificador 1>, <identificador 2>, ..., <identificador n>:
<tipo de dado>

11
SINTAX
VARIaVEIS- ALGUMAS REGRAS

a. Nomes de variaveis não podem ser iguais a palavras reservadas;


b. Nomes de variaveis devem possuir como primeiro caractere uma
letra ou sublinhado '_' (os outros caracteres podem ser letras,
números e sublinhado);
c. Nomes de variaveis devem ter no maximo 127 caracteres;
d. Nomes de variaveis não podem conter espaços em branco;
e. Na sintaxe do Português Estruturado, não ha diferença entre letras
maiúsculas de minúsculas (NOME e o mesmo que noMe). 12
SINTAX
VARIaVEIS- ALGUMAS REGRAS

Exemplos:
Identificadores validos: NOME, TELEFONE, IDADE_FILHO,
IdadeFilho, NOTA1, Est_Civil
Identificadores invalidos: 3Endereco, Estado Civil, PARA,
algoritmo, numero/complemento

13
SINTAX
PALAVRAS RESERVADAS

14
SINTAX
TIPOS DE DADOS

15
SINTAX
COMANDO DE ENTRADA E SAÍDA

SAÍDA:
Escreva (<expressão ou identificador ou constante>,
<expressão ou identificador ou constante>, ..., <expressão
ou identificador ou constante>)

ENTRADA:
Leia (<identificador>)

16
SINTAX
COMANDO DE ENTRADA E SAÍDA

EXEMPLO:
Escreva ("Digite seu nome: ")
Leia (nome)
Escreval ("Digite sua agencia ")
Leia (NumeroAgencia)
Escreva ("Digite sua conta: ")
Leia (NumeroConta)

17
SINTAX
EXEMPLO
Algoritmo "Calculo de Media Aritmetica"
VAR A,B,Media : REAL
Inicio
Escreva ("Programa que calcula a media aritmetica de dois valores.")
Escreva ("Digite um valor : ")
Leia (A)
Escreva ("Digite outro valor : ")
Leia (B)
Media <- (A+B)/2
Escreva ("A media dos dois valores e : ", Media)
FimAlgoritmo
18
PROGRAMACAO
VISUALG

19
VISUALG

20
ESTRUTURAS
DE
CONTROLE
21
SINTAX
COMANDO SE
se <condição> entao
<ações (uma ou mais) a serem realizadas se a condição for
verdadeira>
senao
<ações (uma ou mais) a serem realizadas se a condição for falsa>
Fimse

24
SINTAX
EXEMPLO
Algoritmo "Calcula Area do Circulo"
VAR
Area, Raio: Real
inicio
Escreva("Entre com raio do circulo")
Leia (Raio)
Se Raio > 0 entao
Area <- PI*(Raio^2)
Escreva ("A area do circulo de raio ", Raio, " e ", Area)
senao
Escreva ("Raio nao pode ser nulo ou negativo!")
Fimse
fimalgoritmo 25
SINTAX
ESCOLHA...CASO
escolha < expressão-de-seleção >
caso < exp 1 > , < exp 2 >, ... , < exp n >
< lista-de-comandos-1 >
caso < exp 1a > , < exp 2a >, ... , < exp na >
< lista-de-comandos-2 >
outrocaso
< lista-de-comandos-3 >
Fimescolha

26
SINTAX
EXEMPLO
Algoritmo "CLASSIFICAÇÃO DE ATLETAS
var caso 11,12,13,14,15
nome, categoria : caractere categoria <- "Juvenil"
idade : inteiro caso 16,17,18,19,20
Inicio categoria <- "Junior"
Escreva("Nome do Atleta = ") caso 21,22,23,24,25
Leia (nome) categoria <- "Profissional"
Escreva("Idade do Atleta = ") outrocaso
Leia (idade) categoria <- "INVALIDO"
Escolha idade Fimescolha
caso 5,6,7,8,9,10 Escreva (Nome," e da Categoria
categoria <- "Infantil" ",categoria)
fimalgoritmo
27
ESTRUTURAS
DE
REPETIÇÃO
28
SINTAX
Comando REPITA...ATE
repita
<lista de comandos>
ate <expressão lógica ou relacional>

29
SINTAX
EXEMPLO
Algoritmo que escreve os números de 1 a 10.
algoritmo "DemonstraRepeticao"
VAR
i: INTEIRO i
SAÍDA
inicio 1
1 2 3 4 5 6 7 8 9 10
2
i<- 1
3
repita 4
escreva (i) 5
i<- i + 1 6
ate i > 10 10
11
fimalgoritmo
30
SINTAX
EXEMPLO
Algoritmo que escreve os números pares de 10 a 2.
Algoritmo "DecrementoNumerosPares"
var
i: inteiro
inicio
i <- 10
Repita
escreva (i)
i <- i - 2
ate i < 2
Fimalgoritmo
31
SINTAX
Comando ENQUANTO..FACA
enquanto <expressão lógica ou relacional> faca
<lista de comandos>
Fimenquanto

32
SINTAX
EXEMPLO
Algoritmo que lê diversos números positivos e escreve para cada um a sua raiz
quadrada e pâra quando o número não for positivo.
algoritmo “ComEnquanto"
var
i,r: Real
Inicio
Escreval ("Introduza um numero:")
leia (i)
Enquanto i >0 faca
r<- i^0.5 // ou RaizQ(i)
escreva (r)
Escreval ("Introduza outro numero:")
leia (i)
fimenquanto
33
fimalgoritmo
SINTAX
Comando PARA..FACA
para <variavel de controle> de <valor inicial> ate <valor final>
[passo<incremento>] faca
<lista de comandos>
fimpara

34
SINTAX
EXEMPLO
Algoritmo que lê 5 números e escreve todos os que forem positivos.
Algoritmo "Positivos"
var
i, numero: inteiro
inicio Note: Quando o passo e +1 não e
para i de 1 ate 5 passo 1 faca necessario a sua indicação no ciclo
escreval ("Digite um numero") porque e definido como padrão.
leia (numero)
se numero>0 entao
escreval (“Positivo=”,numero)
fimse
fimpara
fimalgoritmo
35
VARIAVEIS INDEXADAS
(VECTORES E MATRIZES)

36
SINTAX
VECTORES

<identificador> : vetor [<tamanho>] de < tipo >

Tamanho [VI..VF]=> Vi= Valor inicial do índice e VF valor Final do


índice. Atribuição:
nome[1] <- "João da Silva"
Idade[1] <- 35
Exemplos nome[3] <- "Maria Aparecida"
1) IDADE: VETOR [1..5] DE INTEIRO idade[3] <- idade[1]
2) NOME: VETOR [1..5] DE CARACTERE i <- 5
i=5 idade[i] <- 45

1 2 3 4 5
Idade 35 35 45
37
Nome
SINTAX
VECTORES
ALGORITMO "vetores" Exemplo2: Algoritmo que
VAR recebe 6 números inteiros
NUMERO: VETOR [1..6] DE INTEIRO num vetor e escreve os
i, conta_neg: INTEIRO números recebidos e a
inicio
quantidade de negativos.
conta_neg <- 0
para i de 1 ate 6 faca
para i de 1 ate 6 faca
escreva (NUMERO[i])
Escreval("Introduza o numero ", i)
se NUMERO[i] < 0 entao
leia (NUMERO[i])
conta_neg <- conta_neg + 1
Fimpara
fimse
fimpara
escreva ("Total de números
negativos: ", conta_neg)
38
FIMALGORITMO
SINTAX
MATRIZES

<identificador> : vetor [<tamanho1>,<tamanho2>] de < tipo >

Tamanho [VI..VF]=> Vi= Valor inicial do índice e VF valor Final do


índice.
Atribuição:
Exemplos pessoa[1,1] <- "João da Silva"
1) pessoa: vetor [1..2,1..3] de CARACTERE Pessoa[1,2]<-"Andre"
j Pessoa[1,3]<-"Jo"
1 2 3 Pessoa[2,1]<-"Ze"
1 JS Andre Jo Pessoa[2,2]<-"Fu"
i
2 Ze Fu To Pessoa[2,3]<-"To"
39
SINTAX
MATRIZES

<identificador> : vetor [<tamanho1>,<tamanho2>] de < tipo >

Tamanho [VI..VF]=> Vi= Valor inicial do índice e VF valor Final do


índice.

Exemplos
2) Algoritmo que pede e insere valores reais numa matriz de 3x3 e calcula as
somas:
a) da linha 3 de Valores;
b) da coluna 2 de Valores;
e) de todos os elementos da matriz.
40
SINTAX MATRIZES
ALGORITMO "Matriz" se j=2 entao
VAR somaColuna2 <- VALORES[i,j]+ somaColuna2
VALORES : VETOR [1..3,1..3] DE REAL Fimse
somaLinha3, somaColuna2, somaTudo: REAL Fimpara
i, j: INTEIRO //os índice sempre inteiro Fimpara
Inicio Para i de 1 ate 3 faca
somaLinha3 <- 0 para j de 1 ate 3 faca
somaColuna2 <- 0 escreva (VALORES[i,j], “ ”)
somaTudo <- 0 Fimpara
Para i de 1 ate 3 faca Escreval()
Para j de 1 ate 3 faca fimpara
Escreva("Digite um valor para a matriz") escreval ("Soma de todos os elementos e ",
Leia (VALORES[i,j]) somaTudo)
somaTudo <- VALORES[i,j] + somaTudo escreval ("Soma dos elementos da linha 3 e ",
se i=3 entao somaLinha3)
somaLinha3 <- VALORES[i,j]+ somaLinha3 escreval ("Soma dos elementos da coluna 2 e ",
fimse somaColuna2)
FIMALGORITMO 41
SUBPROGRAMA

42
SINTAX
FUNÇÕES E PROCEDIMENTOS

- Eles reduzem o tamanho do algoritmo.


- Facilitam a compreensão e visualização do algoritmo.
- São declarados no início do algoritmo e podem ser chamados
em qualquer ponto da secção de comandos após sua
declaração.
n
- C p = n!/((n-p)!*p!)

43
SINTAX FUNÇÕES FUNÇÕES DO PORTUGUÊS ESTRUTURADO

44
SINTAX FUNÇÕES FUNÇÕES DO PORTUGUÊS ESTRUTURADO

EXEMPLO:
Algoritmo "RETORNA UM VALOR INTEIRO"
var
valorReal : REAL
valorInteiro : INTEIRO
inicio
valorReal <- 5.8791
valorInteiro <- INT(valorReal)
Escreva("Valor inteiro ", valorInteiro)
Fimalgoritmo

45
SINTAX FUNÇÕES CRIADAS POR NÓS
ESTRUTURA DA FUNÇÃO
ESTRUTURA DE ALGORITMO
funcao <identificador>
Algoritmo "<nome do algoritmo>" ([var]<parâmetros>) <tipo de
var retorno>
<declaração de variaveis globais> var
<definição de subprogramas> <declaração de variaveis locais>
inicio
inicio
<lista de comandos>
< lista de comandos> retorne <variavel de retorno>
Fimalgoritmo fimfuncao
Identificador: Nome da função

Passagem de parâmetros por referência: utiliza-se a construção


VAR antes dos identificadores para indicar a passagem por
referência. Os identificadores são separados por vírgula.
46
SINTAX FUNÇÕES FUNÇÕES CRIADAS POR NÓS

EXEMPLO:
Algoritmo "ExemploSoma" inicio
var Escreva("Valor1:")
valor1, valor2, soma:REAL Leia(valor1)
Funcao Fsoma(A,B:Real):Real Escreva("Valor2:")
var Leia(valor2)
total:Real soma<-Fsoma(valor1,valor2)
inicio Escreva(valor1,"+",valor2,"=",soma)
total<-A+B Fimalgoritmo
retorne total
Fimfuncao

47
SINTAX SUB-ROUTINA

procedimento <identificador> ([var]<parâmetros>)


var
<declaração de variaveis locais>
inicio
<lista de comandos>
Fimprocedimento

48
SINTAX SUB-ROUTINA

EXEMPLO:
inicio
Algoritmo "ExemploProcedimento" Escreva("X:")
var Leia(x)
x, y:REAL Escreva("Y:")
Procedimento troca(var A,B:Real) Leia(y)
var troca(x,y)
aux:Real Escreva("X=",x,"; Y=",y)
inicio Fimalgoritmo
aux<-A
A<-B
B<-aux
// Escreva("X=",A,"; Y=",B)
FimProcedimento
49
FIM

50

Você também pode gostar