Mapa mental
Visualg
Conteúdo do mapa
Visualg
Display
- Tela de código
- Onde se digita o algoritmo
- Representação da Memória do computador, suas variáveis e o escopo
- Tela de terminal
- Onde vai mostrar todas as saídas de dados
- Tela de código
Estrutura do algoritmo
- algoritmo "nome"
- var
- área de variáveis
- Nessa área etiqueta-se os espaços na memória
- ex.: msg: caractere
- Nessa área etiqueta-se os espaços na memória
- área de variáveis
- inicio
- Inicio do algoritmo
- Nessa área atribui-se os caracteres, números e lógico ao espaço vazio dentro da memória
- ex.: msg <- "Ola, mundo!"
- Aqui esta sendo atribuído o caractere "Ola, mundo!" ao espaço dentro da memória identificado como msg.
- ex.: msg <- "Ola, mundo!"
- Nessa área é tb inserido os comandos
- Nessa área atribui-se os caracteres, números e lógico ao espaço vazio dentro da memória
- Inicio do algoritmo
- fimalgoritmo
- Final do algoritmo
- Endentação
- Organização com comandos utilizando o TAB, dando um TAB nos comandos dentro de cada condição
- Ctrl + g e a endentação é feita automaticamente
- Para aparecer a estrutura básica de um algoritmo: ! Ctrl+espaço
Estruturas condicionais
- É uma condição delimitada
- Condicional Simples
- Estrutura básica
- Se (expressão) entao
- Bloco
- FimSe
- Exemplos
- Se (dinheiro >= 10000) entao
- Escreva ("Partiu Disney")
- FimSe
- Estrutura básica
- Condicional Composta
- Estrutura básica
- Se (expressão) entao
- Bloco A
- Senao
- Bloco B
- FimSe
- Exemplos
- Se (dinheiro >= 10000) entao
- Escreva ("Partiu Disney")
- Senao
- Escreva ("Chateado")
- FimSe
- Estrutura básica
- Condicional Aninhada
- Duas estruturas, ou mais, condicionais, uma dentro da outra
- Estrutura básica
- Se (situação 1) entao
- Bloco A
- senao
- Estrutura condicional composta
- Se (situação 2) entao
- Bloco B
- senao
- Bloco C
- FimSe
- FimSe
- Exemplo
- Se (dinheiro >= 10000) entao
- Escreva ("Partiu Disney")
- Senao
- Se (dinheiro >= 5000) e (dinheiro < 10000) entao
- Escreva ("Visitar família")
- senao
- Escreva ("#chateado")
- FimSe
- FimSe
- Escolha caso
- Usado quando se tem muitos testes com valores numéricos SIMPLES
- Estrutura básica
- Escolha (variável)
- Caso valor
- Bloco A
- Caso valor
- Bloco B
- Caso valor
- Bloco C
- OutroCaso
- Caso opcional, usada quando nenhum dos valores acima sejam executados esse bloco será executado
- Bloco D
- FimEscolha
- Muito mais simples que ficar aninhando várias condicionais. Porém essa estrutura não serve para testar faixas de valores (<, >, >= ou <=) e tb só serve para valores inteiros, em algumas linguagens aceita o tipo caractere.
Estruturas de repetição
- Enquanto
- Exemplo
- Enquanto (não arrumar o quarto) faca
- castigo
- FimEnquanto
- Enquanto não arrumar o quarto vai ficar de castigo. Qd chegar no fimenquanto vai entrar repetir (looping) e verificar se arrumou o quarto, enquanto não arrumar continua de castigo. Qd o quarto for arrumado e verificado o looping acaba e os próximos comandos são executados.
- Estrutura básica
- Enquanto (expressão) faca
- bloco
- FimEnquanto
- Não precisa necessariamente ter um limite expecificado
- Exemplo
- var
- inicio
- contador: inteiro
- contador <- 0
- Enquanto (contador <= 5) faca
- Escreval (contador)
- contador <- contador +1
- FimEnquanto
- Exemplo
- Repita
- Estrutura básica
- Repita
- Bloco
- Até (expressão)
- Nessa estrutura a "expressão" esta no final, ou seja, "repita" é logicamente inversa comparada a "enquanto". Pois no teste lógico do "repita" é feito no final, já o teste lógico do "enquanto" é feito no final. E ainda, observando a expressão no "enquanto" e no "repita" é possível ver que em um tem a expressão lógica "não" invertendo a lógica.
- Exemplo
- Repita
- Castigo
- Ate arrumar o quarto
- Ele esta de castigo, no "ate" é feito o teste lógico, caso ele tenha arrumado o quarto esta liberado, caso não ele volta para castigo.
- Exemplo
- var
- contador: inteiro
- contador <- 0
- repita
- escreval (contador)
- contador <- contador + 1
- ate (contador > 5)
- É possível colocar uma estrutura repita dentro da outra.
- Estrutura básica
- Para
- Estrutura básica
- Para variavel <- inicio ate fim passo [salto] faca
- Bloco
- fimpara
- já vem com a atribuição e o incremento incluso
- Exemplo
- var
- contador: inteiro
- Para contador <- 1 ate 10 faca
- Escreval (contador)
- Fimpara
- Se não colocar nada no "passo" um ele vai considerar 1
- Na primeira passagem o "C" tá valendo 1, então vai escrever 1 na tela. Qd chegar no "fimpara" ele vai voltar para o "para" repetindo o processo. Na segunda passagem ele vai somar o "passo" que é 1, então "C" vale 1+1=2, sendo assim será escrito 2 na tela... até 10.
- Para casos em que o usuário decide se quer continuar a repetição ou não, a estrutura "para" não é indicada pois ela delimita o final da repetição
- Estrutura básica
- Enquanto
Rotina
- Procedimentos
- Qd há passos repetidos (rotina) dentro de um algoritmo, coloca-se isso dentro de um procedimento e chama ele qd necessário
- Exemplo
- Dentro de "var"
- Procedimento Nome ( )
- Inicio
- Bloco de rotina
- Fimprocedimento
- Inicio
- Desenvolvimento do algoritmo
- Nome ( )
- Chamada do procedimento
- Fimalgoritmo
- Passagem de parâmetros
- Por valor
- Exemplo
- algoritmo "Soma"
- var
- x, y: inteiro
- Procedimento Soma (A, B: inteiro)
- inicio
- Escreval ("Recebi o valor ", A)
- Escreval ("Recebi o valor ", B)
- Escreval ("A soma entre os dois é ", A+B)
- Fimprocedimento
- inicio
- X <- 5
- Y <- 3
- Soma (X, Y)
- Chamou o procedimento e passou os parâmetros x, y
- fimalgoritmo
- Exemplo
- Por referência
- A diferença na escrita do algoritmo esta no acréscimo do "var" na linha do procedimento: Procedimento Soma (var A, B: inteiro)
- Na passagem por valor apenas o valor é copiado para dentro do parâmetro. Na passagem por referência o parâmetro tem uma referência automática ao valor da variável original, qualquer alteração no parâmetro vai afetar na variável original.
- Por valor
- Exemplo
- Qd há passos repetidos (rotina) dentro de um algoritmo, coloca-se isso dentro de um procedimento e chama ele qd necessário
- Funções
- Principal diferença é que a "funcao" retorna um valor para o algoritmo. Nos "procedimentos" vc não pode retornar um valor, já na "funcao" tem um valor de retorno.
- Exemplo
- Algoritmo "Soma"
- var
- n1, n2: inteiro
- funcao Soma (a, b: inteiro) : inteiro
- esta segunda indicação de inteiro indica o valor de retorno que a função dará
- var
- inicio
- s: inteiro
- s <- a+b
- retorne s
- Aqui retorna o valor para "res"
- fimfuncao
- inicio
- n1 <- 5
- n2 <- 4
- res <- soma (n1, n2)
- Aqui "res" recebe o resultado de retorno da soma de n1 e n2
- escreval ("a soma é ", res)
- fimalgoritmo
- Funções internas prontas do Visualg
- Para tratamento de valores caractere
- Exemplo
- Com a variável string (cadeia de caractere). site: caractere / site <- "Cursoemvideo"
- Compr(site)
- Aqui ele vai dizer o comprimento da variável, logo ele vai retornar 12.
- Copia(site, 6, 2)
- Aqui o "6" indica a posição que vai começar a contar, e o "2" indica quantas casas irá mostrar. logo ele vai retornar : em
- Maiusc(site)
- CURSOEMVIDEO
- Minusc(site)
- cursoemvideo
- Pos("video", site)
- 8
- Mostra a posição da palavra "video" dentro da variável site
- 8
- Asc("c")
- 67
- Código de cada letra, na hora de digitar é enviado um código para o computador
- 67
- Carac(67)
- c
- Inverso da "Asc"
- c
- O valor esta entre aspas para mostrar que é um string ou cadeia de caracteres
- Compr(site)
- Com a variável string (cadeia de caractere). site: caractere / site <- "Cursoemvideo"
- Exemplo
- Essas funções já estão definidas dentro da biblioteca do Visualg
- Para tratamento de valores caractere
- Exemplo
- Principal diferença é que a "funcao" retorna um valor para o algoritmo. Nos "procedimentos" vc não pode retornar um valor, já na "funcao" tem um valor de retorno.
- Procedimentos
Operadores
- Operadores Aritméticos
- + Adição
- 5+2 = 7
- - Subtração
- 5-2 = 3
- * Multiplicação
- 5*2 = 10
- / Divisão
- 5/2 = 2.5
- \ Divisão Inteira
- 5\2 = 2
- Não é o arredondamento e sim a parte inteira da divisão
- 5\2 = 2
- ^ Exponenciação
- 5^2 = 25
- % Módulo
- 5%2 = 1
- É o resto da divisão de 5 por 2
- 5%2 = 1
- Funções Aritméticas
- Abs - Valor absoluto
- Abs(-10) = 10
- Exp - Exponenciação
- Exp (3,2) = 9
- Int - Valor inteiro
- Int(3.8) = 3
- RaizQ - Raiz quadrada
- RaizQ(25) = 5
- Pi - Retorna Pi
- Pi = 3,1416...
- Sen - Seno (Rad)
- Sen (0.523) = 0.5
- Cos - Cosseno (Rad)
- Cos (0.523) = 0.86
- Tan - Tangente (Rad)
- Tan (0.523) = 0.57
- GraupRad - Graus para Rad
- GrauRad(30) = 0.52
- Abs - Valor absoluto
- Para arredondar o valor de saída, basta colocar o "identificador:4:1" dessa forma ele irá exibir 4 casas e 1 após a vírgula
- + Adição
- Operadores relacionais
- Criam relações entre variáveis, valores ou expressões, através da comparação entre elas, gerando sempre resultados lógicos como verdadeiro ou falso.
- (Maior que) >
- (Menor que) <
- (Maior ou igual a) >=
- (Menor ou igual a) <=
- (Igual a) =
- (Diferente de) <>
- Operadores lógicos
- Criam relações entre outros resultados lógicos, através da comparação entre eles, gerando sempre resultados lógicos como verdadeiro ou falso. Não comparam variáveis, valores ou expressões.
- E
- p
- q
- p E q
- V
- F
- F
- F
- F
- F
- V
- V
- F
- V
- F
- V
- F
- p E q
- V
- V
- F
- F
- F
- V
- q
- p
- OU
- p
- V
- V
- F
- F
- F
- V
- q
- V
- F
- V
- F
- V
- F
- p OU q
- V
- V
- V
- F
- V
- V
- V
- V
- V
- p
- NÂO
- p
- NÃO p
- F
- V
- F
- V
- F
- NÃO p
- p
- Ordem de precedência Geral (entre operadores aritméticos, lógicos e relacionais)
- 1º Aritméticos
- 1º ()
- 2º ^
- 3º * /
- 4º + -
- Ex.: 3 + 2 / 2 = 4 (3 + 2) / 2 = 2.5
- 2º Relacionais
- Todos
- Mesma ordem de precedência e serão executados sempre da esquerda para a direita
- Todos
- 3º Lógicos
- 1º E
- 2º OU
- 3º NÃO
- 1º Aritméticos
- Operadores Aritméticos
Comandos
- Comandos de saída
- Escreva
- Escreve na tela o que esta entre aspas
- Tudo que esta entre as aspas é considerado uma mensagem ou uma cadeia de caracteres
- Porém não pula linha
- Escreva ("msg")
- Aqui ele vai escrever na tela msg.
- Escreva (msg)
- Aqui ele vai escrever o conteúdo da variável msg
- Escreva ("mensagem", msg)
- Aqui ele vai escrever na tela mensagem, e tb vai escrever o conteúdo da variável msg
- Escreva ("msg")
- Escreve na tela o que esta entre aspas
- Escreval
- Escreve na tela o que esta entre aspas e pula uma linha
- Escreva
- Comandos de entrada
- Leia
- Espera a escrita do que foi solicita e armazena na memória conforme o indicador entre parênteses
- Leia
- Outros comandos
- Limpatela
- Comandos de saída
Variável
- Variáveis são espaços dentro da memória do computador, esses espaços são preenchidos e etiquetados.
- identificador: tipo
- identificador identifica a variável
- Regras:
- Deve começar com uma letra
- Exemplos: Bola, Nota1, Inicio_Algoritmo,
- Os próximos podem ser letras ou números
- Não pode utilizar nenhum símbolo, exceto _
- Não pode conter espaços em branco
- Não pode conter letras com acentos
- Não pode ser uma palavra reservada: palavras sublinhadas e em azul: algoritmo, var, inicio...
- Regras:
- Tipos primitivos
- Inteiro
- 1 3 -5 198 0
- Real
- 0.5 5.0 9.8 -77.3 3.1415
- Caractere
- "Gustavo" "Algoritmo" "123"
- Lógico
- Verdadeiro e falso
- Inteiro
- identificador identifica a variável
- identificador: tipo
- Escopo
- É o local onde uma determinada variável vai funcionar
- Local
- A variável funciona dentro de uma rotina/ atuação limitada
- Global
- A variável funciona dentro de uma algoritmo/ atuação ilimitada
- Chamar uma variável local dentro do algoritmo não vai funcionar
- Local
- É o local onde uma determinada variável vai funcionar
- Tipos
- Simples
- n1, n2, n3, n4: inteiro
- Os espaços são escolhidos aleatoriamente
- n1, n2, n3, n4: inteiro
- Composta
- Homogêneo
- Unidimensionais
- Vetor
- n: vetor [1 .. 4] de inteiro
- "n" é um vetor de 1 a 4 de inteiro, são colocados apenas dois pontos
- Foram armazenados 4 espaços um ao lado do outro, dentro da memória do computador referente a variável "n"
- Na variável simples eram 4 espaços para 4 valores, já aqui é uma variável (espaço) para 4 valores
- Atribuições
- n[1] <- 3
- variável "n" na posição 1 recebe 3
- [1] é o índice que indica a posição/ endereço dentro da variável
- n[1] <- 3
- Unidimensional, pois é usada uma dimensão, sendo assim para identificar cada um dos espaços precisa apenas de 1 endereço
- Vantagem de armazenamento de vários valores dentro de uma variável
- n: vetor [1 .. 4] de inteiro
- Vetor
- Multidimensionais
- Matriz
- m: vetor [1..3, 1..2] de inteiro
- Multidimensional, pois são usadas mais de uma dimensão, sendo assim para identificar cada um dos espaços precisa de 2 ou mais endereços
- Atribuições
- m [1, 2] <- 4
- a variável "m" tem duas dimensões: [1, 2] é o índice que indica a posição/ endereço dentro da variável
- variável "m" na dimensão linha posição 1 e na dimensão coluna 2 recebe 4
- m [1, 2] <- 4
- Foram armazenados 6 espaços formando um retângulo de 3x2, dentro da memória do computador referente a variável "m"
- m: vetor [1..3, 1..2] de inteiro
- Matriz
- Composta pq a variável é composta de vários espaços e homogênea pq o tipo é o mesmo (inteiro ou real...)
- Unidimensionais
- Homogêneo
- Simples
- Variáveis são espaços dentro da memória do computador, esses espaços são preenchidos e etiquetados.
Informações
- Descrição
- Mapa Mental sobre Visualg, criado por Paulo Tarsis Vitoriano da Silva em 04-08-2019.
- Criado por
- Paulo Tarsis Vitoriano da Silva
- Visualizações
- 23
- Avaliação