ebook img

introdução a algoritmos e programação - Cristian Cechinel PDF

84 Pages·2009·0.51 MB·Portuguese
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview introdução a algoritmos e programação - Cristian Cechinel

UNIVERSIDADE FEDERAL DO PAMPA CAMPUS BAGÉ I A NTRODUÇÃO A LGORITMOS E P ROGRAMAÇÃO FABRICIO FERRARI [email protected] CRISTIAN CECHINEL [email protected] BAGÉ, NOVEMBRO DE 2008, VERSÃO 2.2 Sumário I Conceitos Preliminares 10 1 OComputador 11 1.1 HistóricodosComputadores . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.2 ArquiteturaBásica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.2.1 UnidadeCentraldeProcessamento(UCP). . . . . . . . . . . . . . 13 1.2.2 Memória . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.2.3 DispositivosdeEntradaedeSaída . . . . . . . . . . . . . . . . . . 14 2 Algoritmos 15 2.1 ConceitodeAlgortimo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2 PartesdeUmAlgoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3 RepresentaçõesdeumAlgoritmo . . . . . . . . . . . . . . . . . . . . . . . 18 2.3.1 Fluxograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.4 ProgramasdeComputador . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.5 Linguagens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.5.1 LinguagemNatural . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.5.2 LinguagemdeMáquinaeAssembler . . . . . . . . . . . . . . . . 20 2.5.3 LinguagensdeProgramação . . . . . . . . . . . . . . . . . . . . . 21 2.5.4 Pseudocódigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 II Dados 25 3 RepresentaçãodeDados 26 3.1 RepresentaçãoInterna . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2 TiposPrimitivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.3 ConstanteseVariáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.4 ManipulaçãodeDados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2 SUMÁRIO 3 3.4.1 Identificação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.4.2 Definição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.4.3 Atribuição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4 Expressões 34 4.1 ExpressõesAritméticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.1.1 PrecedênciaGeraldosOperadoresAritméticos . . . . . . . . . . . 34 4.1.2 EscritadeOperaçõesAritméticas . . . . . . . . . . . . . . . . . . . 36 4.1.3 ExceçõesemExpressõesAritméticas . . . . . . . . . . . . . . . . . 36 4.1.4 SimplificaçãodeExpressõesAritméticas . . . . . . . . . . . . . . 37 4.2 ExpressõesLógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.2.1 OperadoresRelacionais . . . . . . . . . . . . . . . . . . . . . . . . 37 4.2.2 OperadoresLógicos . . . . . . . . . . . . . . . . . . . . . . . . . . 38 5 ComandosdeEntradaeSaída 41 5.1 Saída . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 5.2 Entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 III Estruturas de Controle 44 6 EstruturasdeCondição 45 6.1 EstruturadeCondiçãoSimples: se-entªo. . . . . . . . . . . . . . . . . . . 46 6.2 EstruturadeCondiçãoComposta: se-entªo-senªo . . . . . . . . . . . . . . 47 6.3 EstruturasdeCondiçãoEncadeadas . . . . . . . . . . . . . . . . . . . . . 49 6.4 EstruturadeCondiçãocasoseja . . . . . . . . . . . . . . . . . . . . . . . 50 7 EstruturasdeRepetição 53 7.1 TestenoInício: enquanto-fa(cid:231)a. . . . . . . . . . . . . . . . . . . . . . . . . . 54 7.2 TestenoFim: fa(cid:231)a-enquanto . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 7.3 RepetiçãocomControle: fa(cid:231)a-para . . . . . . . . . . . . . . . . . . . . . . 55 7.4 ContadoreseAcumuladores . . . . . . . . . . . . . . . . . . . . . . . . . . 55 7.4.1 Contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 7.4.2 Acumuladores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 SUMÁRIO 4 IV Estrutura de Dados e Modularização 59 8 VariáveisCompostasHomogêneas 60 8.1 VetoresUnidimensionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 8.2 VetoresBidimensionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 8.3 VetoresMultidimensionais . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 9 Módulos 63 9.1 Modularização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 9.2 RetornodeValores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 9.3 EscopodeVariáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 9.4 PassagemdeParâmetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 9.4.1 PorValor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 9.4.2 PorReferência . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 V Apêndice 65 A Exercícios 66 A.1 Algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 A.1.1 Paraosproblemasaseguir,defina: . . . . . . . . . . . . . . . . . . 66 A.2 RepresentaçãodeDados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 A.3 Expressões . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 A.4 EntradaeSaída . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 A.5 EstruturasdeCondição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 A.5.1 Estruturase-entªo-senªo . . . . . . . . . . . . . . . . . . . . . . . . 72 A.5.2 Estruturase-entªo-senªoaninhada . . . . . . . . . . . . . . . . . . 74 A.5.3 Estruturacasoseja . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 A.6 EstruturasdeRepetição . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 A.6.1 Utilizandosomenteaestruturaderepetiçãopara-fa(cid:231)a . . . . . . . 78 A.6.2 Utilizando a estrutura de condição se-entªo-senªo dentro da es- truturaderepetiçãopara-fa(cid:231)a . . . . . . . . . . . . . . . . . . . . . 78 A.6.3 Calculando quantidades de ocorrências, somatórios e produtos comaestruturapara-fa(cid:231)a . . . . . . . . . . . . . . . . . . . . . . . . 78 A.6.4 Localizandovaloresdentrodeumconjuntocomaestruturapara- fa(cid:231)a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 A.6.5 Usandoestruturaderepetiçãopara-fa(cid:231)aaninhada . . . . . . . . . 80 SUMÁRIO 5 A.6.6 Estruturasderepetição(enquanto-fa(cid:231)aefa(cid:231)a-enquanto) . . . . . . . 80 A.6.7 Séries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 A.7 Vetores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 A.8 Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 A.9 Modularização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Lista de Figuras 1.1 Arquiteturabásica(VonNeumann) . . . . . . . . . . . . . . . . . . . . . . 12 2.1 Partesbásicasdeumalgoritmo. . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2 Algoritmorepresentadoemformadeumfluxograma. . . . . . . . . . . . 19 2.3 Compilação: o programa em linguagem de programação é transfor- madoeminstruçõesemlinguagemdemáquina(queoprocessadorpode executar). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 6.1 Estuturadeumcomandose-entªo. . . . . . . . . . . . . . . . . . . . . . . 47 8.1 Vetoridade[8]comseusvaloreseíndices. . . . . . . . . . . . . . . . . . . 61 6 Lista de Tabelas 3.1 Equivalência entre sistemas numéricos de representação. O subscrito identificaemquebaseonúmeroestáescrito . . . . . . . . . . . . . . . . 27 4.1 Operadoresaritméticosbásicos. . . . . . . . . . . . . . . . . . . . . . . . . 34 4.2 PrecedênciaGeraldeOperadoresAritméticos . . . . . . . . . . . . . . . . 35 4.3 OperadoresRelacionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 4.4 Tabela verdade dos operadores lógicos. P e Q são sentenças lógicas quaisquer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 6.1 Tabela de decisão para a estrutura de condição composta mostrada no algoritmo11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 7 Lista de Algoritmos 1 Trocadepneudocarro. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2 Pegarumonibus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3 CalculaÁreadeumaCircunferência. . . . . . . . . . . . . . . . . . . . . . 18 4 ExemplodePseudocódigo. . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5 Atribuiçõesdevaloresaumavariável. . . . . . . . . . . . . . . . . . . . . 32 6 Locadora: exemplodeentradadedados. . . . . . . . . . . . . . . . . . . 43 7 Locadora2: exemplodeavisoparaentradadedados. . . . . . . . . . . . 43 8 Condição: maioroumenordeidade. . . . . . . . . . . . . . . . . . . . . . 47 9 Condição: maioroumenordeidadecomse-entªo-senªo. . . . . . . . . . . 48 10 Expressãológicacomposta. . . . . . . . . . . . . . . . . . . . . . . . . . . 49 11 Estruturadecondiçãocomposta. . . . . . . . . . . . . . . . . . . . . . . . 49 12 Verificaaprovaçãodealunos. . . . . . . . . . . . . . . . . . . . . . . . . . 51 13 Estruturacaso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 14 Exemplodecaso: mostraonumero. . . . . . . . . . . . . . . . . . . . . . . 52 15 Estruturaderepetiçãoenquanto-fa(cid:231)a. . . . . . . . . . . . . . . . . . . . . . 54 16 Estruturaderepetiçãofa(cid:231)a-enquanto. . . . . . . . . . . . . . . . . . . . . . 55 17 Estruturaderepetiçãopara-fa(cid:231)a. . . . . . . . . . . . . . . . . . . . . . . . . 55 18 Exemplodeestruturaderepetição. . . . . . . . . . . . . . . . . . . . . . . 55 19 Contadores1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 20 Contadores2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 21 Acumuladores1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 22 Acumuladores2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 23 Acumuladores3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 24 Acumuladores4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 25 Definindoosvaloresdavariávelidade. . . . . . . . . . . . . . . . . . 61 26 Imprimindotodososvaloresdavariávelidade[]. . . . . . . . . . . . 62 27 Antecessor-sucessor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 8 LISTADEALGORITMOS 9 28 Conversor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 29 Numero-de-salarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 30 Novo-peso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 31 Problema20 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 32 Adivinhacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 33 Calculodopi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 Parte I Conceitos Preliminares 10

Description:
2.3 Compilação: o programa em linguagem de programação é transfor- .. linguagens de alto-nível são: Pascal, C, Fortran, Java, Perl, Python, Lisp, PHP, entre.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.