Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Algoritmos – Lógica para Desenvolvimento de Programação de Computadores, Notas de estudo de Algoritmos

Algoritmos – Lógica para Desenvolvimento de Programação de Computadores

Tipologia: Notas de estudo

2017
Em oferta
30 Pontos
Discount

Oferta por tempo limitado


Compartilhado em 31/01/2017

ramiro-lopes-andrade-2
ramiro-lopes-andrade-2 🇧🇷

4.6

(662)

414 documentos

1 / 224

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64
Discount

Em oferta

Pré-visualização parcial do texto

Baixe Algoritmos – Lógica para Desenvolvimento de Programação de Computadores e outras Notas de estudo em PDF para Algoritmos, somente na Docsity!

NLBORITMOS Lógica para Desenvolvimento de Programação de Computadores Aprenda 4 prográmio imdependentemente da linguagem de programação. Algoritmos Lógica para Desenvolvimento de Programação de Computadores Associação Brasleira pera. a Proteção dos Direitos Editoriais e Autorais RespEITEO AUTOR NAO FAÇA Coria José Augusto N. G. Manzano Jayr Figueiredo de Oliveira Algoritmos Lógica para Desenvolvimento de Programação de Computadores Editora Érica Ltda. 2005 - 17º Edição Conselho Editorial: Diretor Editorial: Diretor Comercial: Diretor de Publicidade: Finalização de Capa: Editoração: Desenhos: Revisão Interna: Revisão Gramatical: Coordenação: Antonio Marco Vicari Cipelli Paulo Roberto Alves Waldir João Sandrini Edson Antonio dos Santos Rosana Ap. A. dos Santos Flávio Eugênio de Lima Graziela M. L. Gonçalves Marlene Teresa Santin Alves Rosana Arruda da Silva Agradecimentos Agradeço ao amigo e editor Antonio Marco, que desde o nosso primeiro contato confiou no meu trabalho, principalmente neste que ora se concretiza. Agradeço também aos amigos professores Nélio e Wilson, pela constante troca de idéias. Augusto Manzano Agradeço aos meus alunos que, por meio das exigências e anseios, cobra- ram um aprofundamento maior do meu universo de conhecimentos. Obrigado também aos colegas professores Fernando Almeida, Marcos Masetto, Onésimo de Oliveira, Newton Mattei, principalmente à Maria Cristina Sanches Amorim e Sérgio Sonnino pelas orientações e conselhos profissionais. Jayr Figueiredo Índice Analítico Parte | - Introdução .. Capítulo 1 - Abordagem Contextual 1.1 -Definições Básicas .. 1.2 -Necessidades do Uso y da lógica 1.3 -Aplicabilidade da tógica no Auxílio do Desenvolvimento de Programas... 1.4 -Diferenciação de "Nomencilaturas 1.5 -Formas de Representação Gráfica IPO ES imbologiasABásicas season IRA SimbologiasfEspecia is Pa 09 Capítulo 2 - Introdução à Lógica ................ ici rerreersereerserserseaeareaerseaseanoa n 2.1 -Princípios de Resolução de Problemas .....................s ie essere a) 2.2 -Particularidades entre Lógicas 2.21 - Linear. coesoonono co DA, o ESEC coomoocnscocecencercanenconcosoocosonsesosacocomocoemocoemocosmocoemoonacona 2.2.3 - Modular... 2.2.4 - Diagrama de Chapin 2.2.5 - Português Estruturado Parte Il - Técnicas Básicas de Programação .. Capítulo 3 - Tipos de Dados e Instruções Primitivas 3.1 -Tipos de Informação e 32 «Tipos cla Decos comoonconconoesoenecncaoosocananooraoenranomosarareacoeeneamosenecaceneroaoo 3.2.1 - Tipos Inteiros 3.2.2 - Tipos Reais 3.2.3 - Tipos Caracteres IA) = TOS [LÁgICOS concononconosconcomooomaneenorcenaraenoreonornonoreenoeranaceenemeco 3.3-O0 Uso de Variáveis... 3.4-O Uso de Constantes. 3.5 -Os Operadores Aritméticos .................. ese ereremensarsenseneorsartaneererrnas 26 3.6 -As Expressões Aritméticas ou Fórmulas Matemáticas 3.7 -Instruções Básicas 3.7.1 - Algumas Regras antes de Começar..............esereseereateeme 3.7.2 - Entrada, Processamento e Saída 3.8 -Exercício de Aprendizagem 3.9 -Exercício de Fixação Capítulo 4 - Estruturas de Controle - A Tomada de Decisões 4.1 -Desvio Condicional Simples . 4.2 “Operadores Relacionais 4.3 -Desvio Condicional Composto ................cereemeeesereneeremmaremecrerecrereos 4.4 -Desvios Condicionais Encadeados . 4.5 -Operadores Lógicos 4.5.1 - Operador Lógico! 4.5.2 - Operador Lógico: .OU. .......... eeermeeeeeareerereateearererseereerareets 4.5.3 - Operador Lógico: .não. 4.6 -Exercício de Aprendizagem .. FAN Exerce lciofdenRixa ção Dra gana sra nnça Capítulo 5 - Estruturas de Controle - Laços ou Malhas de Repetição 5.1 -Repetição do Tipo: Teste Lógico no Início do Looping 5.2 -Repetição do Tipo: Teste Lógico no Fim do Looping.................... 5.3 “Repetição do Tipo: Variável de Controle ................ 5.4 -Consideração entre os Tipos de Estruturas de Looping 5.5 - Estruturas de Controle Encadeadas 5.5.1 - Encadeamento de Estrutura Enquanto com Enquanto ............ 73 5.5.2 - Encadeamento de Estrutura Enquanto com Repita . 5.5.3 - Encadeamento de Estrutura Enquanto com Para . 5.5.4 - Encadeamento de Estrutura Repita com Repita 5.5.5 - Encadeamento de Estrutura Repita com Enquanto ................. 77 5.5.6 - Encadeamento de Estrutura Repita com Para 5.5.7 - Encadeamento de Estrutura Para com Para... 5.5.8 - Encadeamento de Estrutura Para com Enquanto 5.5.9 - Encadeamento de Estrutura Para com Repita..... 5.6 -Exercício de Aprendizagem. 5.7 - Exercício de Fixação 9.2.3 - Escrita de Registro de' Conjuntos. 156 157 9.3.1 - Atribuição de Conjunto de Registros us ss.o.................... 157 9.3.2 - Leitura de Conjunto de Registros: 158 9.3 - Estrutura de um Conjunto de Registros 9.3.3 - Escrita de Conjunto de Registros”: 159 9.4 -Exercício de Aprendizagem .............. essi meneame eererreneerereo 161 9.5 -Exercício de Fixação ........... rece errrcoocitievo a... 167 Parte IV - Programação Estruturada ou Modular . 169 Capítulo 10 - Utilização de Sub-Rotinas 171 10,9 = ÀS SARTRE cocococecovenenovoocnooreoovangocomoscocoeçame= rs "E" rey rorenosocoomoncoo (1Z/ 10.2 - O Método Top-Down............. ir erereererrenearenenreneemensenearencerenrerease 172 Capítulo 11 - Aplicação Prática do Uso de Sub-Rotinas -Procedimentos... 175 11.1 - Exercício de Aprendizagem ... 11.2 - Estrutura de Controle com Múltipla E Escolha RR 181 11.3 - Variáveis Globais e Locais... 11.3.1 - Escopo de Variáveis 11.3.2 - Refinamento Sucessivo NBA Exerciciofde fila ção PD Capítulo 12 - Utilização de Parâmetros 12.1 - Parâmetros Formais e Reais. 12.2 - Passagem de Parâmetros .. 12.2.1 - Por Valor 12.2.2 - Por Referência 12.3 - Exercício de Aprendizagem 12.4 - Exercício de Fixação... eeeeeerecereerereneseenenecereceeranes Capítulo 13 - Aplicação Prática do Uso de Sub-rotinas - Funções 13.1 - Aplicação de Funções em um Programa 13.2 - Considerações a Respeito de Funções ... 13.3 - Exercício de Aprendizagem 13.4 - Exercício de Fixação ............. e eeresererereearesasesasereseseseneas Parte V - Apêndices A - Resoluções de Alguns Exercícios de Fixação . B - Exemplos de Codificação ... PARTE O 1.2 - Necessidade do Uso da Lógica Usar a lógica é um fator a ser considerado por todos, principalmente pelos profis- sionais da área da Tecnologia de Informação (programadores, analistas de sistemas e suporte), pois seu dia-a-dia dentro das organizações é solucionar problemas e atingir os objetivos apresentados por seus usuários com eficiência e eficácia, utilizando recursos computacionais e/ou automatizados mecatronicamente. Saber lidar com problemas de ordem administrativa, de controle, de planejamento e de estratégia requer atenção e boa performance de conhecimento de nosso raciocínio. Porém, é necessário considerar que ninguém ensina ninguém a pensar, pois todas as pessoas normais possuem esse “dom”. O objetivo desta obra é mostrar como desenvolver e aperfeiçoar melhor essa técnica, lembrando que para isso você deve ser persistente e praticá-la constantemente, chegando à exaustão sempre que julgar necessário. 1.3 - Aplicabilidade da Lógica no Auxílio do Desenvolvimento de Programas Muitos programadores (principalmente os mais antigos profissionais desta área) preferem preparar um programa iniciando com um diagrama de blocos para demonstrar sua linha de raciocínio lógico. Esse diagrama, também denominado por alguns de fluxograma, estabelece a sequência de operações a se efetuar em um programa. Essa técnica permite uma posterior codificação em qualquer linguagem de progra- mação de computadores, pois na elaboração do diagrama de blocos não se atinge um detalhamento de instruções ou comandos específicos, os quais caracterizam uma linguagem. A técnica mais importante no projeto da lógica de programas é chamada progra- mação estruturada, a qual consiste em uma metodologia de projeto, objetivando: “+ agilizar a codificação da escrita da programação; + facilitar a depuração da sua leitura; + permitir a verificação de possíveis falhas apresentadas pelos programas; + facilitar as alterações e atualizações dos programas. E deve ser composta por quatro passos fundamentais: + Escrever as instruções em sequências ligadas entre si apenas por estruturas sequenciais, repetitivas ou de selecionamento. + Escrever instruções em grupos pequenos e combiná-las. + Distribuir módulos do programa entre os diferentes programadores que traba- lharão sob a supervisão de um programador sênior, ou chefe de programação. + Revisar o trabalho executado em reuniões regulares e previamente progra- madas, em que compareçam apenas programadores de um mesmo nível. ++ + + Algoritmos - Lógica para Desenvolvimento de Programação de Computadores 1.4 - Diferenciação de Nomenclaturas É comum ouvir os profissionais da área de Tecnologia da Informação denominarem os símbolos que representam as linhas do raciocínio lógico de fluxograma, diagramas de blocos ou algoritmos, como se tivessem o mesmo significado. Cabe ressaltar que estas palavras têm significados diferenciados, as quais executam processos (tarefas) opostos e diferentes. Mencionam-se em seguida os seus verda- deiros significados corretos em suas aplicações, mas lembre-se que para muitos elas terão a mesma finalidade, já que raros profissionais possuem uma formação adequada e capacitadora na área deTecnologia da Informação, principalmente no que tange ao desenvolvimento de software. Fluxograma é uma ferramenta usada e desenvolvida pelos profissionais da área de análise de sistemas (atualmente denominada como área de sistemas de informação), bem como, por alguns profissionais de Organização, Sistemas e Métodos. Tem como finalidade descrever o fluxo de ação de um determinado trabalho lógico, seja manual ou mecânico, especificando os suportes usados para os dados e para as informações. Usa símbolos convencionais norma ISO 5807:1985), permitindo poucas variações. Representado por alguns desenhos geométricos básicos, os quais indicarão os símbolos de entrada de dados, do processamento de dados e da saída de dados, acompanhados dos procedimentos requeridos pelo analista de sistemas analista de sistemas de informação) e a serem realizados pelo programador por meio do desenvolvimento do raciocínio lógico (diagrama de blocos e codificação), o qual deverá solucionar o problema de um determinado usuário por meio de um programa a ser processado pelo com- Figura 1.1 - Exemplo de um fluxograma. putador. Afigura 1.1 enfatiza este conceito. Diagrama de Bloco (também poderia ser denominado diagrama de fluxo e não fluxograma) é uma ferramenta usada e desenvolvida pelo profissional que está envolvido diretamente com a programação, tendo como objetivo descrever o método e a segiência do processo dos planos num computador. Pode ser desenvolvido em qualquer nível de detalhe que seja necessário. Quando se desenvolve um diagrama para o programa principal, por exemplo, seu nível de detalhamento pode chegar até as instruções. Essa ferramenta usa diversos símbolos geométricos, os quais estabelecerão as segtências de operações a serem efetuadas em um processamento computacional. Esses símbolos são internacionalmente aceitos e estão configurados, segundo as normas ANSI X3.5:1970 e ISO 1028:1973 a qual foi reeditada como ISO 5807:1985). Após a elaboração do diagrama de blocos, será realizada a codificação do programa. A figura 1.2 mostra o exemplo de um diagrama de blocos. Abordagem Contextual +. cccccccacctasccrercrersas área contábil, seja na área financeira, seja em uma folha de pagamento, bem como em qualquer situação que exija em resultado final “correto” e/ou-“coerente”. A figura 1.3 apresenta o exemplo de um algoritmo (forma gráfica) para'calcular uma média escolar. 9 g g E ENIM 8 ) Ea Z Elos s z s -—»| 8 [O md ó 5 4 a < 8 2 g E s E Z) So E E É] se 5 2 o E õ E o) Eõ £ 54 8 Zz EE E é 2 s g me É 2 8 Ts 3 o) = 8 ra g &s t E E 8 ZE dl x g 3 5ES 3 E ê ERA ês É pm s o ç EB SÊ E s 8 5 ã Ss 8 e SÊ 5 E t 22 t 5 E E 5" Is E < E 3 E g s 2 5 a y Ê Ê ê Ê E É q q E g 2 y — It E ç El o =) 58 SE 5 $ Eb 8 fe z|5g Ss É a u > E) 3 É 5 Z 8: 8 [EE = Figura 1.3 - Exemplo de um algoritmo. 1.5 - Formas de Representação Gráfica As formas de representação gráfica (segundo norma ISO 5807:1985) são nada mais do que uma maneira mais simples e concisa de representar os dados sobre uma superfície plana, por meio de diferentes formas geométricas preestabelecidas, de modo a facilitar a visualização completa e imediata da linha de raciocínio lógico de um programador, quando da representação dos dados e do fluxo de ação de um programa de computador. Abordagem Contextual «tcc co000090 o000c0coa Sabe-se que existe uma grande variedade: de símbolos usados nas mais diversas áreas administrativas, bem como dentro das áreas-técnicas da Tecnologia da Informação, tais como: programação, teleprocessamento, análise de sistemas, etc. A seguir, são mostrados os mais diversos símbolos, porém com o número excessivo de símbolos existentes e, quando combinados entre si, criam-se novos tipos de representações, aumentando consideravelmente esses símbolos. Entretanto, os profissionais, bem como as organizações, acabam criando suas próprias nomen- claturas. No decorrer dos exercícios apresentados nesta obra, serão utilizados os mais simples e convencionais, adotando dessa forma um padrão a ser seguido para facilitar sua compreensão e aprendizado. 1.6 - Simbologias Básicas Estes são alguns dos símbolos mais conhecidos e utilizados ao longo do anos pelos profissionais de desenvolvimento de software da área de Tecnologia da Informação (TD. COD Terminal - símbolo utilizado como ponto para indicar o início e/ou fim do fluxo-de um programa Seta de fluxo de dados - permite indicar o sentido ————» |do fluxo de dados. Serve exclusivamente para conectar os símbolos ou blocos existentes. Processamento - símbolo ou bloco que se utiliza para indicar cálculos (algoritmos) a efetuar, atribuições de valores ou qualquer manipulação de dados que tenha um bloco específico para sua descrição. Entrada de dados ou operação manual - utilizado para ler os dados necessários ao programa fora de linha sem intervenção de dispositivos mecânicos. Entrada e saída de dados - símbolo em função de um dispositivo qualquer de entrada ou saída de dados, como fornecedor de informações para processamento, gravação e outros. CL) Saída de dados em vídeo - utiliza-se este símbolo quando se quer mostrar dados na tela do vídeo. Saída de dados em impressora - é utilizado quando se deseja que os dados sejam impressos. Decisão - indica a decisão que deve ser tomada, indicando a possibilidade de desvios para diversos outros pontos do fluxo, dependendo do resultado de comparação e de acordo com situações variáveis. Algoritmos - Lógica para Desenvolvimento de Programação de Computadores id Fita magnética - memória.de massa para armazenamento Tambor magnético - memória de massa para armazena- mento de dados. OR de dados (streamer). Disquete - memória de armazenamento de dados. Linha de comunicação - permite a transmissão automáti- —S— ca de informação em locais diferentes, por meio de linhas de comunicação. Outros sinais conhecidos pelos profissionais da área. Intercalação Multiplexador pm tithado d ransmissão Tod Teste de Transmissão Telefone ferminal io Mede > pecepiados Do = de Linha EES Controlador Vídeo E Fita de Papel RE 6 (1) Disquete o ai Impressora Espera d Módulo de ! Sub-Rotina Figura 1.4 - Outros símbolos especiais. Algoritmos - Lógica para Desenvolvimento de Programação de Computadores (enpíru.o E) Introdução à Lógica 2.1 - Princípios de Resolução de Problemas Primeiramente, é importante entender e compreender a palavra “problema”. Pode-se dizer que problema é uma proposta duvidosa, que pode ter numerosas soluções, ou questão não solvida e que é objeto de discussão, segundo definição encontrada no dicionário Aurélio. Do ponto de vista desta obra, problema é uma questão que foge a uma determinada regra, ou melhor, é o desvio de um percurso, o qual impede de atingir um determi- nado objetivo com eficiência e eficácia. Diferentes das diagramações clássicas, que não fornecem grandes subsídios para análise, os diagramas de blocos são realmente o melhor instrumento para avaliação do problema do fluxo de informações de um dado sistema. Por esse motivo deve- -se resolver um problema de lógica (principalmente se for da área de processamento eletrônico de dados) usando um procedimento de desenvolvimento. Para desenvolver um diagrama correto, deve-se considerar como procedimentos prioritários os itens seguintes: = Os diagramas devem ser feitos e quebrados em vários níveis. Os primeiros devem conter apenas as idéias gerais, deixando para as etapas posteriores os detalhamentos necessários; : = Parao desenvolvimento correto de um fluxograma, sempre que possível, deve ser desenvolvido de cima para baixo e da esquerda para direita; = É incorreto e “proibido” ocorrer cruzamento das linhas de fluxo de dados. Tome como exemplo uma escola qualquer, cujo cálculo da média é realizado com as quatro notas bimestrais que determinam a aprovação ou reprovação dos seus alunos. Considere ainda que o valor da média deve ser maior ou igual a 7 para que haja aprovação. A primeira etapa deste problema via diagrama de blocos está na figura 2.1. Introdução à Lógica + cc cc cccccc o. cocaoss0oo000000 520000