Buscar

Slide Unidade 2 de Lógica de Programação

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 25 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Curso de Redes de Computadores
Lógica de Programação
Unidade 2 : VISUALG 2.0
Profª Esp. Kércia Maria Clementino Santos 
VisuAlg é um programa que interpreta e executa algoritmos como um "programa" normal de computador. Baseado em uma linguagem parecida com o "Portugol" ensinado em cursos em todo o Brasil, possui recursos como : simulação da "tela" do computador, visualização de variáveis, "breakpoints", ajuda on-line, impressão dos fontes e outras características que auxiliam o aprendizado das técnicas de programação. 
 Existem vários sites na Internet para baixar o VisuAlg 2.0 , como por exemplo: http://www.baixaki.com.br/download/visualg.htm
A tela do VisuAlg compõe-se da barra de tarefas, do editor de textos (que toma toda a sua metade superior), do quadro de variáveis (no lado esquerdo da metade inferior), do simulador de saída (no correspondente lado direito) e da barra de status. Quando o programa é carregado, já apresenta no editor um "esqueleto" de pseudocódigo, com a intenção de poupar trabalho ao usuário e de mostrar o formato básico que deve ser seguido. Explicaremos a seguir cada componente da interface do VisuAlg.
Editor de Textos 
Quadro de variáveis 
Simulador de saída 
Barra de Status 
Editor de Textos 
Quadro de variáveis 
Simulador de saída 
Barra de Status 
TELA DO VISUALG
Menu do VISUALG 2.0
Arquivo:  Possui os comandos para se abrir, salvar e imprimir algoritmos:
Novo: Cria um novo "esqueleto" de pseudocódigo, substituindo o texto existente no editor. Se este texto anterior tiver sido modificado, o VisuAlg pedirá sua confirmação para salvá-lo antes que seja sobreposto.
Abrir: Abre o texto de um pseudocódigo anteriormente gravado, substituindo o texto existente no editor. Se este tiver sido modificado, o VisuAlg pedirá sua confirmação para salvá-lo antes que seja sobreposto.
Salvar: Salva imediatamente o texto presente no editor. Caso seja a primeira vez que um novo texto é gravado, o VisuAlg pedirá o nome do arquivo e sua localização.
Salvar como: Permite salvar o texto presente no editor exibindo antes uma janela na qual se pode escolher o nome do arquivo e sua localização.
Enviar por email: Permite o envio por email do texto presente no editor.
Imprimir: Permite a impressão do algoritmo corrente, mostrando antes a janela de configuração de impressão (o correspondente botão da barra de tarefas imprime imediatamente o texto do pseudocódigo na impressora padrão).
Sair: Abandona o VisuAlg.
Editar: Além dos conhecidos comandos de um editor de texto (copiar, cortar, colar, desfazer, refazer, selecionar tudo, localizar, localizar de novo, substituir), há também as seguintes opções:
Corrigir indentação: Corrige automaticamente a indentação do pseudocódigo, tabulando cada comando interno com espaços à esquerda.
Gravar bloco de texto: Permite a gravação em arquivo de um texto selecionado no editor. A extensão sugerida para o nome do arquivo é .inc.
Inserir bloco de texto: Permite a inserção do conteúdo de um arquivo. A extensão sugerida para o nome do arquivo é .inc
Exibir: Possui os comandos para ativar/desativar as seguintes características:
Número de linhas: Ativa/desativa a exibição da numeração das linhas na área à esquerda do editor. A numeração corrente da posição do cursor também é mostrada na primeira parte da barra de status, situada na parte inferior da tela. Por motivos técnicas, a numeração é desativada durante a execução do pseudocódigo, voltando à situação anterior logo em seguida. 
Variáveis modificadas: Ativa/desativa a exibição da variável que está sendo modificada. Como o número de variáveis pode ser grande, muitas podem estar fora da janela de visualização; quando esta característica está ativada, o VisuAlg rola a grade de exibição de modo que cada variável fique visível no momento em está sendo modificada. Este recurso é especialmente útil quando se executa um pseudocódigo passo a passo. Por questões de desempenho, a configuração padrão desta característica é desativada, quando o pseudocódigo está sendo executado automaticamente. No entanto, basta clicar este botão para executá-lo automaticamente com a exibição . No final da execução, a configuração volta a ser desativada.
Algoritmo: Contém os comandos relativos à execução do algoritmo:
Executar: Inicia (ou continua) a execução automática do pseudocódigo.
Passo a passo: Inicia (ou continua) a execução linha por linha do pseudocódigo, dando ao usuário a oportunidade de acompanhar o fluxo de execução, os valores das variáveis e a pilha de ativação dos subprogramas.
Executar com timer: Insere um atraso (que pode ser especificado) antes da execução de cada linha. Também realça em fundo azul o comando que está sendo executado, da mesma forma que na execução passo a passo.
Parar: Termina imediatamente a execução do pseudocódigo. Evidentemente, este item fica desabilitado quando o pseudocódigo não está sendo executado.
Liga/desliga breakpoint: Insere/remove um ponto de parada na linha em que esteja o cursor. Estes pontos de parada são úteis para a depuração e acompanhamento da execução dos pseudocódigos, pois permitem a verificação dos valores das variáveis e da pilha de ativação de subprogramas.
Desmarcar todos os breakpoints: Desativa todos os breakpoints que estejam ativados naquele momento.
Executar em modo DOS: Com esta opção ativada, tanto a entrada como a saída-padrão passa a ser uma janela que imita o DOS, simulando a execução de um programa neste ambiente.
Gerar valores aleatórios: Ativa a geração de valores aleatórios que substituem a digitação de dados. A faixa padrão de valores gerados é de 0 a 100 inclusive, mas pode ser modificada. Para a geração de dados do tipo caractere, não há uma faixa pré-estabelecida: os dados gerados serão sempre strings de 5 letras maiúsculas.
Perfil: Após a execução de um pseudocódigo, exibe o número de vezes que cada umas das suas linhas foi executada. É útil para a análise de eficiência (por exemplo, nos métodos de ordenação)
Pilha de ativação: Exibe a pilha de subprogramas ativados num dado momento. Convém utilizar este comando em conjunto com breakpoints ou com a execução passo a passo.
Código: Permite a tradução automática do pseudocódigo presente no editor para outras linguagens de programação. Atualmente, apenas a tradução para Pascal está implementada, mas ainda em fase de testes.
Ferramentas: Neste menu, é possível configurar algumas opções do VisuAlg: cores e tipos de letras na exibição do pseudocódigo, número de espaços para indentação automática, etc.
Ajuda: Entre outras coisas, possibilita acesso às páginas de ajuda e às informações sobre o VisuAlg.
A Linguagem 
A linguagem que o VisuAlg interpreta é bem simples: é uma versão portuguesa dos pseudocódigos largamente utilizados nos livros de introdução à programação, conhecida como "Portugol".
Importante: para facilitar a digitação e evitar confusões, todas as palavras-chave do VisuAlg foram implementadas sem acentos, cedilha, etc. Portanto, o tipo de dados lógico é definido como logico, o comando se..então..senão é definido como se..entao..senao, e assim por diante. O VisuAlg também não distingue maiúsculas e minúsculas no reconhecimento de palavras-chave e nomes de variáveis.
Criando um Algoritmo
Os passos necessários para a construção de um algoritmo:
ler atentamente o enunciado do problema, compreendendo-o e destacando os pontos mais importantes;
definir os dados de entrada, ou seja, quais dados serão fornecidos;
definir os dados de saída, ou seja, quais dados serão gerados depois do processamento;
definir o processamento, ou seja, quais cálculos serão efetuados e quais as restrições para esses cálculos. O processamento é responsável pela obtenção dos dados de saída com base nos dados de entrada;
definir as variáveis necessárias para armazenar as entradas e efetuar do processamento;
elaborar o algoritmo.
Estrutura de um Algoritmo no VisuAlg
NOME DO ALGORITMO
	VAR
	declaração de variáveis
				..
				.
INICIO DO ALGORITMO
		bloco de comandos
				.
				.
				.
FIM DO ALGORITMO
algoritmo "soma dois numeros"
 var
 n1, n2, s: inteiro
inicio
 escreval("Digite dois numeros:")
 leia(n1)
 leia(n2)
 s<-n1+n2
 escreva("A soma eh igual a :", s)
fimalgoritmo
Comandos Do VisuAlg
 Declaração de variáveis.
			Var
				n1, n2: inteiro
				d: real
				k: caractere
				sinal: logico
			
Comando de atribuição é o <-
				n1 <- 3
				n2 <- n1+ 4
				k <- “teste de atribuição”
				sinal <- verdadeiro
Comandos Do VisuAlg
Entrada de dados.
 Sintaxe  leia (<lista de variáveis>)
Exemplos: 
	leia (n1) - O valor digitado será armazenado na variável n1.
 leia (k) - Um ou vários caracteres digitados serão armazenados na variável k (definida como caractere).
No caso de utilizar leia (<lista de variáveis>), será respeitada a ordem da lista de variáveis, da esquerda para direita.
Exemplo: leia (n1, k, n2)
Comandos Do VisuAlg
Saída de dados.
Sintaxe  escreva (<lista-de-variáveis>) OU escreval (<lista-de-variáveis>)
Obs: escreval  imprime a variável na tela e o cursor vai para uma nova linha.
Exemplos:
	escreva (n1) - Será mostrado na tela o conteúdo da variável n1.
	escreva (“O texto digitado foi ”, k) - Será mostrado o texto entre “” e depois o conteúdo da variável k.
Estruturas de Controle de Fluxo
SEQUENCIAL
Algoritmo que lê o nome de um aluno, as notas de suas três provas e calcula e exibe a média aritmética das notas
Algoritmo "MediaAritmetica"
VAR
 N1,N2,N3,M: REAL
 nome: CARACTER
Inicio
 escreva ("Entre com o nome do aluno: ")
 leia (nome)
 escreval ("Entre com as notas das três provas")
 escreva ("Digite a primeira nota: ")
 leia (N1)
 escreva ("Digite a segunda nota: ")
 leia (N2)
 escreva ("Digite a terceira nota: ")
 leia (N3)
 M <- (N1+N2+N3)/3
 escreval ("A média aritmética do aluno: ", nome, " é ", M)
FimAlgoritmo
CONDICIONAL
Considere um problema que exija uma decisão. 
Tomemos como exemplo uma divisão, onde haja a necessidade de que o algoritmo verifique se o divisor é igual ou diferente de zero. Se for igual não é possível dividir. Se for diferente é possível dividir.
Sintaxe:
		se (<expressão-lógica>) entao
				<sequência de comandos>
			senao
				<seqüência de comandos>
		fimse
Exemplo:
	Algoritmo "Divisão " // efetua e mostra a divisão de dois números inteiros 
	var
		n1, n2: inteiro
		resultado: real
	inicio
		escreva ("Digite o dividendo : ")
		leia (n1)
		escreva ("Digite o divisor: ")
		leia (n2)
		se (n2 = 0) entao
			escreva ("impossível dividir por 0")
		 senao
			resultado <- n1/n2
			escreva ("O resultado é: ", resultado)
		fimse
	fimalgoritmo
Comando de Seleção Múltipla
Sintaxe:
		escolha (<variável>)
			caso <valor11>, <valor12>, ..., <valor1n>
			 <seqüência-de-comandos-1>
			caso <valor21>, <valor22>, ..., <valor2m>
			 <seqüência-de-comandos-2>
			...
			outrocaso
			 <seqüência-de-comandos-extra>
		fimescolha
Algoritmo " Exemplo Seleção Múltipla"
var
		time: caractere
inicio
		escreva ("Entre com o nome de um time de futebol: ")
		leia (time)
		escolha (time)
			caso "Sport", "Santa Cruz", "Nautico", "Petrolina"
				escreval ("É um time pernambucano.")
			caso "Vitoria da Conquista", "Bahia de Feira“, "Camaçari","Feirense"
				escreval ("É um time baiano.")
			outrocaso
				escreval ("É de outro estado.")
		fimescolha
fimalgoritmo
Estruturas de Repetição
Existem três tipos de estruturas de repetição : 
Estrutura de repetição para um número indefinido de repetições e teste no início: estrutura enquanto
O comando enquanto caracteriza-se por uma verificação de encerramento de atividades antes de se iniciar (ou reiniciar) a execução de seu bloco de instruções.
Estrutura de repetição para um número indefinido de repetições e teste no final: estrutura repita
O comando repita funciona de forma similar ao comando enquanto, exceto pelo fato de que a condição de controle só é testada após a execução do bloco de comandos e não antes, como é o caso do comando enquanto. Outra diferença é que os comandos serão repetidos pelo menos uma vez, já que a condição de parada se encontra no final 
Estrutura de repetição para um número definido de repetições: estrutura com o comando para
Estruturas de Repetição
Algoritmo(pseudocódigo) que efetua e mostra a soma dos números compreendidos no intervalo de 1 até 10
algoritmo "exemplo_enquanto"
var
 soma, num : inteiro
inicio
 soma <- 0
	num <- 1
		enquanto num <= 10 faca
 soma <- soma + num
		 num <- num + 1		
	 fimenquanto
escreval ("A soma dos números compreendidos no intervalo de 1 a 10 é:" , soma )
fimalgoritmo
algoritmo "exemplo repita"
var
 soma, num : inteiro
inicio
 soma <- 0
	num <- 1
		repita
 soma <- soma + num
		 num <- num + 1		
	 ate num>10
escreval ("A soma dos números compreendidos no intervalo de 1 a 10 é:", soma )
fimalgoritmo
algoritmo "exemplo para"
var
 soma, num : inteiro
inicio
 soma <- 0
	 para num de 1 ate 10 faca
 soma <- soma + num
	 fimpara	
escreval ("A soma dos números compreendidos no intervalo de 1 a 10 é:", soma )
fimalgoritmo
Aprender as palavras e regras que fazem parte da sintaxe do VisuAlg é fundamental, no entanto, não é o maior objetivo da nossa disciplina. O que realmente exigirá um grande esforço por parte do estudante é aprender a resolver problemas utilizando a linguagem. Para isso, há somente um caminho: resolver muitos problemas. 
O processo é semelhante ao de tornar-se competente em um jogo qualquer: aprender as regras do jogo (a sintaxe) é só o primeiro passo, tornar-se um bom jogador (programador) exige tempo, muito exercício e dedicação.

Continue navegando