10/04/12
Apostila Visualg
Material de
Comunidade
Estudo
Acadêmica
Login
Buscar arquivos, pessoas, cursos…
Cadastro
Apostila Visualg Enviado por: Aline por: Aline SS | 1 comentários Arquivado Arquiv ado no no curso de Tecnologia em Eletromecânica na Fac. Comunitária de São José dos Campos
Download
Curtir
C y re rel a. a. co com .b .br /A /A do dor ab ab il eT eTi juc a
www. blink s . c om . br
A nú nún ci ci os os G oo oo gl gl e
Anúnc ios Google
ESTATÍSTICAS 5754 visitas 484 downloads
algoritmosalgoritmosalgoritmosalgo algoritmosalgoritmosalg oritmosalgoritmos ritmos Introdução aos Introdução aos Introdução aos Introdução aos
1 comentários
TAGS
Bruno Tonet Cristian Koliver
visualg apostila
DESCRIÇÃO
Apostila com informações informações para quem quem quem quem aprender linguagem de programação utilizando o programa visualg. ARQUIVOS ARQUIV OS SEMELHANTES SEMELHANTES Linguagem Visu Visualg20 alg20 Algoritmos e Lógica de Programação Algoritmos apostila VisualG
form ped modulo 08 apostilar
Algoritmos Ecelente apostila de algoritmo, ótimo para iniciantes.
Apostila de Introdução aos Algoritmos
INTRODUÇÃO AOS ALGORITMOS 1 - ALGORITMOS NÃO COMPUTACIONAIS 2 - ALGORITMOS COMPUTACIONAIS 3 - LINEARIZAÇÃO DE EXPRESSÕES 4 - FORMA GERAL DE UM ALGORITMO 5 - VARIÁVEIS www.ebah.com.br/content/ABAAAANtAAK/apostila-visualg
1 3 4 5 7 8
Apostila para facilitar tar o aprendizado de de algoritmos na programação de computadores. form ped modulo 11 apostilar
1/28
10/04/12
Apostila Visualg
7 -- C LIO NH DO ESCD OEME 1100 8 MAASND EN /STÁ (ERNIO TRADA/ SAÍDA) 9 - CONSTRUINDO OS PRIMEIROS ALGORITMOS: ESTRUTURAS SEQÜENCIAIS13 10 - ESTRUTURA CONDICIONAL 15 1 - TESTANDO O ALGORITMO 19 12 - ESTRUTURA DE REPETIÇÃO 20 13 - COMANDO REP ITA. . .ATE 21 14 - COMANDO ENQUANTO.. FACA 24 15 - COMANDO PARA.. FACA 25 16 - VARIÁVEIS COMPOSTAS HOMOGÊNEA S 27 16. A VARIÁVEIS INDEXADAS UNIDIMENSIONAIS (VETORES) 27 16. B VARIÁVEIS INDEXADAS BIDIMENSIONAIS (MATRIZES) 28 17 - SUBALGORITMOS 30 17. A FUNÇÕES 30 Funções Predefinidas do Visualg 30 Criando Funç ões 32 17. B PROCEDIMENTO (SUB_ROTINAS) 3 18 - FUNÇÕES DEFINIDAS RECURSIVAMENTE 19 - REFERÊNCIAS CAPITULO 1 – 8 EXERCÍCIOS CAPITULO 9 EXERCÍCIOS CAPITULO 10 E 1 EXERCÍCIOS CAPITULO 12 E 15 EXERCÍCIOS CAPITULO 16 VETOR EXERCÍCIOS CAPITULO 16 MATRIZ EXERCÍCIOS CAPITULO 17 SUBALGORITMO EXERCÍCIOS
34 37 38 40 42 43 4 45 46
form ped modulo 09 apostilar
Como estudar para ser aprovado em provas, exames e concursos apostila
Curso de Leitura Dinâmica, Técnica de Estudo, Concetração e... apostila Matematica Financeira Apostila
form ped modulo 06 apostilar
ELABORADO POR BRUNO TONET & CRISTIAN KOLIVER 3 1 - Algoritmos Não Computacionais Um algoritmo é uma seqüência de instruções finita e ordenada de forma lógica para a resolução de uma determinada tarefa ou problema. São exemplos de algoritmos instruções de montagem, receitas, manuais de uso, etc. Um algoritmo não é a solução do problema, pois, se assim fosse, cada problema teria um único algoritmo; um algoritmo é um caminho para a solução de um problema. Em geral, existem muitos (senão infinitos) caminhos que levam a uma solução satisfatória. Um algoritmo não computacional é um algoritmo cuja seqüência de passos, a princípio, não pode ser executada por um computador. Abaixo é apresentado um algoritmo não computacional cujo objetivo é usar um telefone público. Provavelmente você “executou” o algoritmo deste exemplo diversas vezes. O termo algoritmo está muito ligado à Ciência da Computação, mas, na realidade, ele pode ser aplicado a qualquer problema cuja solução possa ser decomposta em um grupo de instruções. Exemplo 1.1 Um outro exemplo típico de algoritmo é uma receita culinária, como no exemplo abaixo. Exemplo 1.2 Algoritmo para fritar um ovo 1. Colocar um ovo na frigideira 2. Esperar o ovo ficar frito 3. Remover o ovo da frigideira O algoritmo acima, no entanto, poderia ser mais detalhado e completo. Uma versão mais aceitável seria: ELABORADO POR BRUNO TONET & CRISTIAN KOLIVER 4 Exemplo 1.3 Algoritmo para fritar um ovo 1. Retirar um ovo da geladeira 2. Colocar a frigideira no fogo 3. Colocar óleo 4. Esperar até o óleo ficar quente 5. Quebrar o ovo separando a casca 6. Colocar o conteúdo do ovo na frigideira 7. Esperar um minuto 8. Retirar o ovo da frigideira 9. Apagar o fogo Essa segunda versão é mais completa e detalhada que a anterior. Nela, várias ações que estavam subentendidas foram explicitadas. No entanto, para que o algoritmo possa ser útil, é necessário ainda que quem faz uso dele conheça os termos utilizados nas instruções. O algoritmo do exemplo só será útil para alguém que seja fluente na língua portuguesa e conheça o www.ebah.com.br/content/ABAAAANtAAK/apostila-visualg
2/28
10/04/12
Apostila Visualg
significado dos verbos Retirar, Colocar, Esperar assim como dos substantivos utilizados no contexto de uma receita culinária. Em outras palavras, é preciso que a linguagem utilizada no algoritmo seja conhecida tanto por quem o escreveu quanto por quem vai executá-lo. Para que o algoritmo possa ser executado por uma máquina é importante que as instruções sejam corretas e sem ambigüidades. Portanto, a forma especial de linguagem que utilizaremos é bem mais restrita que o Português e com significados bem definidos para todos os termos utilizados nas instruções. Essa linguagem é conhecida como Português Estruturado (às vezes também chamada de Portugol). O português estruturado é, na verdade, uma simplificação extrema do Português, limitada a umas poucas palavras e estruturas que têm um significado muito bem definido. Ao conjunto de palavras e regras que definem o formato das sentenças válidas chamamos sintaxe da linguagem. Durante este texto, a sintaxe do Português Estruturado será apresentada progressivamente e a utilizaremos em muitos exercícios de resolução de problemas. Aprender as palavras e regras que fazem parte dessa sintaxe é fundamental; no entanto, não é o maior objetivo deste curso. 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. Embora o Português Estruturado seja uma linguagem bastante simplificada, ela possui todos os elementos básicos e uma estrutura semelhante à de uma linguagem típica para programação de computadores. Além disso, resolver problemas com português estruturado, pode ser uma tarefa tão complexa quanto a de escrever um programa em uma linguagem de programação qualquer. Portanto, neste curso, estaremos na verdade procurando desenvolver as habilidades básicas que serão necessárias para adquirir-se competência na programação de computadores. Para praticar nossa sintaxe e testar nossos problemas, utilizaremos o software Visualg desenvolvida por Cláudio Morgado de Souza. E-mail:
[email protected]. 2 - Algoritmos Computacionais O computador, a princípio, não executa nada. Para que ele faça uma determinada tarefa - calcular uma folha de pagamento, por exemplo -, é necessário que ele execute um programa. Um programa é um conjunto de milhares de instruções que indicam ao computador, passo a passo, o que ele tem que fazer. Logo, um programa nada mais é do que um algoritmo computacional descrito em uma linguagem de programação. Uma linguagem de programação contém os comandos que fazem o computador escrever algo na tela, realizar cálculos
ELABORADO POR BRUNO TONET & CRISTIAN KOLIVER 5 aritméticos, receber uma entrada de dados via teclado, e milhares de outras coisas, mas estes comandos precisam estar em uma ordem lógica. O termo processamento de dados é muitas vezes utilizado em conjunto com computadores, pois, em geral, é isto o que eles fazem: processar dados. Daí podem extrair os dois componentes básicos de um algoritmo computacional (de agora em diante, esta palavra sempre utilizada no contexto de algoritmos computacionais): dados e código. Dados são os valores (números, nomes, etc.) de que precisamos para resolver o problema, e código são os comandos ou instruções que usaremos para manipular e "processar" os dados. 3 - Linearização de Expressões Para a construção de algoritmos que realizam cálculo matemáticos, todas as expressões aritméticas devem ser linearizadas, ou seja, colocadas em linhas, devendo também ser feito o mapeamento dos operadores da aritmética tradicional para os do Português Estruturado. Exemplo 3.1 Tradicional Computacional As tabelas seguintes mostram os operadores aritméticos disponíveis no Português Estruturado. Adição + Subtração Multiplicação * Divisão / Divisão Inteira \ Exponenciação ou Exp (,) Módulo (resto da divisão) % Os operadores relacionais realizam a comparação entre dois operandos ou duas expressões e resultam em valores lógicos (VERDADEIRO ou FALSO). www.ebah.com.br/content/ABAAAANtAAK/apostila-visualg
3/28
10/04/12
Apostila Visualg
Maior > Menor < Maior ou igual >= Menor ou igual 4 resulta VERDADEIRO 33 resulta FALSO Os operadores lógicos atuam sobre expressões e também resultam em valores lógicos VERDADEIRO ou FALSO. Multiplicação lógica E Resulta VERDADEIRO se ambas as partes forem verdadeiras. Adição lógica Ou Resulta VERDADEIRO se uma das partes é verdadeira. Negação Nao Nega uma afirmação, invertendo o seu valor lógico: se for VERDADEIRO torna-se FALSO, se for FALSO torna-se VERDADEIRO. A tabela abaixo – chamada tabela-verdade – mostra os resultados das aplicações dos operadores lógicos conforme os valores dos operadores envolvidos. De acordo com a necessidade, as expressões podem ser unidas pelos operadores lógicos. Exemplo 3.3 (2+5>4) e (33) resulta FALSO, pois VERDADEIRO e FALSO resulta FALSO. A modularização é a divisão de uma expressão em partes, proporcionando maior compreensão e definindo prioridades para a resolução da mesma. Como pôde ser observado no exemplo anterior, em expressões computacionais utilizamos somente parênteses "()" para modularização. Na sintaxe do Português Estruturado podemos ter parênteses dentro de parênteses, como seriam os colchetes e as chaves na matemática. Os parênteses indicam quais sub-expressões, dentro de uma expressão, serão executados primeiro. A princípio, a execução é da esquerda para direita, mas além dos parênteses, existem prioridades entre os operadores envolvidos na expressão. Tais prioridades são mostradas nas tabelas seguintes. Exponenciação 3 (maior) Multiplicação 2 Divisão 2 Adição 1 Subtração 1 (menor)
ELABORADO POR BRUNO TONET & CRISTIAN KOLIVER 7 OPERADOR LÓGICO PRIORIDADE e 3 ou 2 nao 1 Exemplo 3.5 Entre as categorias de operadores também há prioridades, conforme mostrado na tabela abaixo. Operadores aritméticos 3 Operadores relacionais 2 Operadores lógicos 1 Lembrete: O software VisuAlg não possui relacionamento de categorias. 2*5>3 ou 5+1 fimalgoritmo onde as palavras algoritmo e fimalgoritmo fazem parte da sintaxe da linguagem e sempre delimitam o inicio e fim de um algoritmo; a < declaração de variáveis> é a seção ou parte do algoritmo onde descrevemos os tipos de dados que serão usados na lista de comandos. Por exemplo, poderíamos definir que fruta é um tipo de dado que pode assumir apenas os valores maçã, pêra, banana, abacaxi e outras frutas, sobre os quais podemos
ELABORADO POR BRUNO TONET & CRISTIAN KOLIVER 8 efetuar as operações comparar, comprar, comer e servir; inicio indica o fim das declarações e o início da seção de comandos; < lista de comandos > é apenas uma indicação de que entre as palavras inicio e fimalgoritmo podemos escrever uma lista com uma ou mais instruções ou comandos. É importante salientar que, quando um algoritmo é “executado”, as instruções ou comandos de um algoritmo são sempre executados na ordem em que aparecem no mesmo. As palavras que fazem parte da sintaxe da linguagem são palavras reservadas, ou seja, não podem ser usadas para outro propósito em um algoritmo que não seja aquele previsto nas regras de sintaxe. A palavra algoritmo, por exemplo, é uma palavra reservada. Neste texto, as palavras reservadas sempre aparecerão em negrito. 5 - Variáveis Uma variável pode ser vista como uma caixa com um rótulo ou nome colado a ela, que num dado instante guarda um determinado objeto. O conteúdo desta caixa não é algo fixo, permanente. Na verdade, essa caixa pode ter seu conteúdo alterado diversas vezes. Contudo, o conteúdo deve ser sempre do mesmo tipo. Na figura abaixo, a caixa (variável) rotulada com FATOR contém o valor 5. Como seu tipo é numérico, em um determinado instante essa caixa poderá conter qualquer valor numérico (inteiro ou fracionário; positivo, negativo ou zero). Entretanto, em um determinado instante, ela conterá um, e somente um, valor. Variáveis são palavras que tem um significado bem específico em um algoritmo. Para que o computador possa executar comandos que envolvem variáveis da maneira correta, ele deve conhecer os detalhes das variáveis que pretendemos usar. Esses detalhes são: o identificador desta variável e o tipo de valores que essa variável irá conter. Precisamos assim, de uma maneira de especificar esses detalhes e comunicá-los ao computador. Para isso devemos declarar nossas variáveis logo abaixo da expressão “VAR” que tem a seguinte forma: , ,, : onde é o nome (identificador) de uma variável e determina que tipo de valor as variáveis poderão receber. Os identificadores das variáveis são usados para referenciá-las dentro do algoritmo. Tais identificadores devem ser claros e precisos, dando uma idéia do “papel” da variável no algoritmo. ELABORADO POR BRUNO TONET & CRISTIAN KOLIVER 9 A identificação ou nomeação de variáveis segue algumas regras: a. nomes de variáveis não podem ser iguais a palavras reservadas; b. nomes de variáveis devem possuir como primeiro caractere uma letra ou sublinhado '_' (os outros caracteres podem ser letras, números e sublinhado); c. nomes de variáveis devem ter no máximo 127 caracteres; d. Nomes de variáveis não podem conter espaços em branco; e. na sintaxe do Português Estruturado, não há diferença entre letras maiúsculas de minúsculas (NOME é o mesmo que noMe). Exemplo 5.1 Identificadores válidos: NOME, TELEFONE, IDADE_FILHO, IdadeFilho, NOTA1, Est_Civil Identificadores inválidos: 3Endereco, Estado Civil, PARA, algoritmo, numero/complemento Você deve estar se perguntando por que a palavra “PARA e algoritmo” são identificadores inválidos. Eles são inválidos, pois são palavras reservadas da linguagem, veja outras palavras que você não deve utilizar como identificadores de variáveis. aleatorio e grauprad passo abs eco inicio pausa algoritmo enquanto int pi arccos entao interrompa pos arcsen escolha leia procedimento arctan escreva literal quad arquivo exp log radpgrau asc faca logico raizq ate falso logn rand caracter www.ebah.com.br/content/ABAAAANtAAK/apostila-visualg
5/28
10/04/12
Apostila Visualg
fimalgoritmo maiusc randi caso fimenquanto mensagem repita compr fimescolha minusc se copia fimfuncao nao sen cos fimpara numerico senao cotan fimprocedimento numpcarac timer cronometro fimrepita ou tan debug fimse outrocaso verdadeiro declare função para xou Em Português Estruturado, só existem três tipos de dados, conforme a tabela abaixo. INTEIRO Representa valores inteiros. Exemplos: 10, 5, -5, -10 REAL ou NUMERICO Representa valores reais (com ponto separador da parte decimal). Exemplos: 10, 15.5, -14.67 LITERAL ou CARACTERE Representa texto (seqüência ou cadeia de caracteres) entre aspas duplas. Exemplo "Esta é uma cadeia de caracteres", “B”, “1234” ELABORADO POR BRUNO TONET & CRISTIAN KOLIVER 10 LOGICO Representa valores lógicos (VERDADEIRO ou FALSO). 6 - Operador de Atribuição Para “colocar” um valor em uma variável dentro de um algoritmo, utilizamos o operador de atribuição. O operador de atribuição é representado por uma seta (