Apostila Visualg

download Apostila Visualg

of 28

Transcript of Apostila Visualg

10/04/12Material de Estudo Comunidade Acadmica

Apostila VisualgBuscar arquivos, pessoas, cursos

Login

Cadastro

Apostila VisualgEnviado por: Aline SS | 1 comentrios Arquivado no curso de Tecnologia em Eletromecnica na Fac. Comunitria de So Jos dos Campos

Dow nload

Curtir

Cy rela.com.br/AdorabileTijuca

Anncios Google

www.blinks.com.br

Anncios Google

ESTATSTICAS

5754 visitas 484 downloads algoritmosalgoritmosalgoritmosalgoritmos Introduo aos Introduo aos Introduo aos Introduo aos Bruno Tonet Cristian KoliverTAGS visualg apostila

1 comentrios

DESCRIO

Apostila com informaes para quem quem aprender linguagem de programao utilizando o programa visualg.

ARQUIVOS SEMELHANTES

Linguagem Visualg20Algoritmos e Lgica de Programao apostila VisualG

form ped modulo 08apostilar

AlgoritmosEcelente apostila de algoritmo, timo para iniciantes.

Apostila de Introduo aos Algoritmos INTRODUO AOS ALGORITMOS 1 - ALGORITMOS NO COMPUTACIONAIS 2 - ALGORITMOS COMPUTACIONAIS 3 - LINEARIZAO DE EXPRESSES 4 - FORMA GERAL DE UM ALGORITMO 5 - VARIVEIS 1 3 4 5 7 8 form ped modulo 11apostilar Apostila para facilitar o aprendizado de algoritmos na programao de computadores.

www.ebah.com.br/content/ABAAAANtAAK/apostila-visualg

1/28

10/04/127 - LINHAS DE COMENTRIO 8 - COMANDOS DE E/S (ENTRADA/SADA) 10 - ESTRUTURA CONDICIONAL 1 - TESTANDO O ALGORITMO 12 - ESTRUTURA DE REPETIO 13 - COMANDO REPITA...ATE 14 - COMANDO ENQUANTO..FACA 15 - COMANDO PARA..FACA 16 - VARIVEIS COMPOSTAS HOMOGNEAS 16.A VARIVEIS INDEXADAS UNIDIMENSIONAIS (VETORES) 16.B VARIVEIS INDEXADAS BIDIMENSIONAIS (MATRIZES) 17 - SUBALGORITMOS 17.A FUNES Funes Predefinidas do Visualg Criando Funes 17.B PROCEDIMENTO (SUB_ROTINAS) 18 - FUNES DEFINIDAS RECURSIVAMENTE 19 - REFERNCIAS CAPITULO 1 8 EXERCCIOS CAPITULO 9 EXERCCIOS CAPITULO 10 E 1 EXERCCIOS CAPITULO 12 E 15 EXERCCIOS CAPITULO 16 VETOR EXERCCIOS CAPITULO 16 MATRIZ EXERCCIOS CAPITULO 17 SUBALGORITMO EXERCCIOS

Apostila Visualg10 10 15 19 20 21 24 25 27 27 28 30 30 30 32 3 34 37 38 40 42 43 4 45 46 form ped modulo 06apostilar

form ped modulo 09apostilar

9 - CONSTRUINDO OS PRIMEIROS ALGORITMOS: ESTRUTURAS SEQENCIAIS13

Como estudar para ser aprovado em provas, exames e concursosapostila

Curso de Leitura Dinmica, Tcnica de Estudo, Concetrao e...apostila

Matematica FinanceiraApostila

ELABORADO POR BRUNO TONET & CRISTIAN KOLIVER 3 1 - Algoritmos No Computacionais Um algoritmo uma seqncia de instrues finita e ordenada de forma lgica para a resoluo de uma determinada tarefa ou problema. So exemplos de algoritmos instrues de montagem, receitas, manuais de uso, etc. Um algoritmo no a soluo do problema, pois, se assim fosse, cada problema teria um nico algoritmo; um algoritmo um caminho para a soluo de um problema. Em geral, existem muitos (seno infinitos) caminhos que levam a uma soluo satisfatria. Um algoritmo no computacional um algoritmo cuja seqncia de passos, a princpio, no pode ser executada por um computador. Abaixo apresentado um algoritmo no computacional cujo objetivo usar um telefone pblico. Provavelmente voc executou o algoritmo deste exemplo diversas vezes. O termo algoritmo est muito ligado Cincia da Computao, mas, na realidade, ele pode ser aplicado a qualquer problema cuja soluo possa ser decomposta em um grupo de instrues. Exemplo 1.1 Um outro exemplo tpico de algoritmo uma receita culinria, 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 verso mais aceitvel 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 contedo do ovo na frigideira 7. Esperar um minuto 8. Retirar o ovo da frigideira 9. Apagar o fogo Essa segunda verso mais completa e detalhada que a anterior. Nela, vrias aes que estavam subentendidas foram explicitadas. No entanto, para que o algoritmo possa ser til, necessrio ainda que quem faz uso dele conhea os termos utilizados nas instrues. O algoritmo do exemplo s ser til para algum que seja fluente na lngua portuguesa e conhea 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 culinria. 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 mquina importante que as instrues sejam corretas e sem ambigidades. Portanto, a forma especial de linguagem que utilizaremos bem mais restrita que o Portugus e com significados bem definidos para todos os termos utilizados nas instrues. Essa linguagem conhecida como Portugus Estruturado (s vezes tambm chamada de Portugol). O portugus estruturado , na verdade, uma simplificao extrema do Portugus, limitada a umas poucas palavras e estruturas que tm um significado muito bem definido. Ao conjunto de palavras e regras que definem o formato das sentenas vlidas chamamos sintaxe da linguagem. Durante este texto, a sintaxe do Portugus Estruturado ser apresentada progressivamente e a utilizaremos em muitos exerccios de resoluo de problemas. Aprender as palavras e regras que fazem parte dessa sintaxe fundamental; no entanto, no o maior objetivo deste curso. O que realmente exigir um grande esforo 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 exerccio e dedicao. Embora o Portugus Estruturado seja uma linguagem bastante simplificada, ela possui todos os elementos bsicos e uma estrutura semelhante de uma linguagem tpica para programao de computadores. Alm disso, resolver problemas com portugus estruturado, pode ser uma tarefa to complexa quanto a de escrever um programa em uma linguagem de programao qualquer. Portanto, neste curso, estaremos na verdade procurando desenvolver as habilidades bsicas que sero necessrias para adquirir-se competncia na programao de computadores. Para praticar nossa sintaxe e testar nossos problemas, utilizaremos o software Visualg desenvolvida por Cludio Morgado de Souza. E-mail: [email protected]. 2 - Algoritmos Computacionais O computador, a princpio, no executa nada. Para que ele faa uma determinada tarefa - calcular uma folha de pagamento, por exemplo -, necessrio que ele execute um programa. Um programa um conjunto de milhares de instrues 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 programao. Uma linguagem de programao contm os comandos que fazem o computador escrever algo na tela, realizar clculos

ELABORADO POR BRUNO TONET & CRISTIAN KOLIVER 5 aritmticos, receber uma entrada de dados via teclado, e milhares de outras coisas, mas estes comandos precisam estar em uma ordem lgica. 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 bsicos de um algoritmo computacional (de agora em diante, esta palavra sempre utilizada no contexto de algoritmos computacionais): dados e cdigo. Dados so os valores (nmeros, nomes, etc.) de que precisamos para resolver o problema, e cdigo so os comandos ou instrues que usaremos para manipular e "processar" os dados. 3 - Linearizao de Expresses Para a construo de algoritmos que realizam clculo matemticos, todas as expresses aritmticas devem ser linearizadas, ou seja, colocadas em linhas, devendo tambm ser feito o mapeamento dos operadores da aritmtica tradicional para os do Portugus Estruturado. Exemplo 3.1 Tradicional Computacional As tabelas seguintes mostram os operadores aritmticos disponveis no Portugus Estruturado. Adio + Subtrao Multiplicao * Diviso / Diviso Inteira \ Exponenciao ou Exp (,) Mdulo (resto da diviso) % Os operadores relacionais realizam a comparao entre dois operandos ou duas expresses e resultam em valores lgicos (VERDADEIRO ou FALSO).

www.ebah.com.br/content/ABAAAANtAAK/apostila-visualg

3/28

10/04/12Maior > Menor < Maior ou igual >= Menor ou igual 4 resulta VERDADEIRO 33 resulta FALSO

Apostila Visualg

Os operadores lgicos atuam sobre expresses e tambm resultam em valores lgicos VERDADEIRO ou FALSO. Multiplicao lgica E Resulta VERDADEIRO se ambas as partes forem verdadeiras. Adio lgica Ou Resulta VERDADEIRO se uma das partes verdadeira. Negao Nao Nega uma afirmao, invertendo o seu valor lgico: se for VERDADEIRO torna-se FALSO, se for FALSO torna-se VERDADEIRO. A tabela abaixo chamada tabela-verdade mostra os resultados das aplicaes dos operadores lgicos conforme os valores dos operadores envolvidos. De acordo com a necessidade, as expresses podem ser unidas pelos operadores lgicos. Exemplo 3.3 (2+5>4) e (33) resulta FALSO, pois VERDADEIRO e FALSO resulta FALSO. A modularizao a diviso de uma expresso em partes, proporcionando maior compreenso e definindo prioridades para a resoluo da mesma. Como pde ser observado no exemplo anterior, em expresses computacionais utilizamos somente parnteses "()" para modularizao. Na sintaxe do Portugus Estruturado podemos ter parnteses dentro de parnteses, como seriam os colchetes e as chaves na matemtica. Os parnteses indicam quais sub-expresses, dentro de uma expresso, sero executados primeiro. A princpio, a execuo da esquerda para direita, mas alm dos parnteses, existem prioridades entre os operadores envolvidos na expresso. Tais prioridades so mostradas nas tabelas seguintes. Exponenciao 3 (maior) Multiplicao 2 Diviso 2 Adio 1 Subtrao 1 (menor)

ELABORADO POR BRUNO TONET & CRISTIAN KOLIVER 7 OPERADOR LGICO PRIORIDADE e 3 ou 2 nao 1 Exemplo 3.5 Entre as categorias de operadores tambm h prioridades, conforme mostrado na tabela abaixo. Operadores aritmticos 3 Operadores relacionais 2 Operadores lgicos 1 Lembrete: O software VisuAlg no 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 < declarao de variveis> a seo ou parte do algoritmo onde descrevemos os tipos de dados que sero usados na lista de comandos. Por exemplo, poderamos definir que fruta um tipo de dado que pode assumir apenas os valores ma, pra, banana, abacaxi e outras frutas, sobre os quais podemos

ELABORADO POR BRUNO TONET & CRISTIAN KOLIVER 8 efetuar as operaes comparar, comprar, comer e servir; inicio indica o fim das declaraes e o incio da seo de comandos; < lista de comandos > apenas uma indicao de que entre as palavras inicio e fimalgoritmo podemos escrever uma lista com uma ou mais instrues ou comandos. importante salientar que, quando um algoritmo executado, as instrues ou comandos de um algoritmo so sempre executados na ordem em que aparecem no mesmo. As palavras que fazem parte da sintaxe da linguagem so palavras reservadas, ou seja, no podem ser usadas para outro propsito em um algoritmo que no seja aquele previsto nas regras de sintaxe. A palavra algoritmo, por exemplo, uma palavra reservada. Neste texto, as palavras reservadas sempre aparecero em negrito. 5 - Variveis Uma varivel pode ser vista como uma caixa com um rtulo ou nome colado a ela, que num dado instante guarda um determinado objeto. O contedo desta caixa no algo fixo, permanente. Na verdade, essa caixa pode ter seu contedo alterado diversas vezes. Contudo, o contedo deve ser sempre do mesmo tipo. Na figura abaixo, a caixa (varivel) rotulada com FATOR contm o valor 5. Como seu tipo numrico, em um determinado instante essa caixa poder conter qualquer valor numrico (inteiro ou fracionrio; positivo, negativo ou zero). Entretanto, em um determinado instante, ela conter um, e somente um, valor. Variveis so palavras que tem um significado bem especfico em um algoritmo. Para que o computador possa executar comandos que envolvem variveis da maneira correta, ele deve conhecer os detalhes das variveis que pretendemos usar. Esses detalhes so: o identificador desta varivel e o tipo de valores que essa varivel ir conter. Precisamos assim, de uma maneira de especificar esses detalhes e comunic-los ao computador. Para isso devemos declarar nossas variveis logo abaixo da expresso VAR que tem a seguinte forma: , ,, : onde o nome (identificador) de uma varivel e determina que tipo de valor as variveis podero receber. Os identificadores das variveis so usados para referenci-las dentro do algoritmo. Tais identificadores devem ser claros e precisos, dando uma idia do papel da varivel no algoritmo. ELABORADO POR BRUNO TONET & CRISTIAN KOLIVER 9 A identificao ou nomeao de variveis segue algumas regras: a. nomes de variveis no podem ser iguais a palavras reservadas; b. nomes de variveis devem possuir como primeiro caractere uma letra ou sublinhado '_' (os outros caracteres podem ser letras, nmeros e sublinhado); c. nomes de variveis devem ter no mximo 127 caracteres; d. Nomes de variveis no podem conter espaos em branco; e. na sintaxe do Portugus Estruturado, no h diferena entre letras maisculas de minsculas (NOME o mesmo que noMe). Exemplo 5.1 Identificadores vlidos: NOME, TELEFONE, IDADE_FILHO, IdadeFilho, NOTA1, Est_Civil Identificadores invlidos: 3Endereco, Estado Civil, PARA, algoritmo, numero/complemento Voc deve estar se perguntando por que a palavra PARA e algoritmo so identificadores invlidos. Eles so invlidos, pois so palavras reservadas da linguagem, veja outras palavras que voc no deve utilizar como identificadores de variveis. 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 funo para xou Em Portugus Estruturado, s existem trs 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 (seqncia 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 lgicos (VERDADEIRO ou FALSO). 6 - Operador de Atribuio Para colocar um valor em uma varivel dentro de um algoritmo, utilizamos o operador de atribuio. O operador de atribuio representado por uma seta (