·

Cursos Gerais ·

Linguagens de Programação

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta

Texto de pré-visualização

Técnicas de Desenvolvimento de Algoritmos Material Teórico Responsável pelo Conteúdo Profª Me Ana Fernanda Gomes Ascencio Revisão Textual Jaquelina Kutsunugi Revisão Técnica Profª Esp Margarete Eliane da Silva Almendro Subrotinas Subrotina Desenvolver algoritmos em fl uxograma e em pseudocódigo com subrotinas com e sem parâmetros e com e sem retorno OBJETIVO DE APRENDIZADO Subrotinas Orientações de estudo Para que o conteúdo desta Disciplina seja bem aproveitado e haja maior aplicabilidade na sua formação acadêmica e atuação profissional siga algumas recomendações básicas Assim Organize seus estudos de maneira que passem a fazer parte da sua rotina Por exemplo você poderá determinar um dia e horário fixos como seu momento do estudo Procure se alimentar e se hidratar quando for estudar lembrese de que uma alimentação saudável pode proporcionar melhor aproveitamento do estudo No material de cada Unidade há leituras indicadas e entre elas artigos científicos livros vídeos e sites para aprofundar os conhecimentos adquiridos ao longo da Unidade Além disso você tam bém encontrará sugestões de conteúdo extra no item Material Complementar que ampliarão sua interpretação e auxiliarão no pleno entendimento dos temas abordados Após o contato com o conteúdo proposto participe dos debates mediados em fóruns de discus são pois irão auxiliar a verificar o quanto você absorveu de conhecimento além de propiciar o contato com seus colegas e tutores o que se apresenta como rico espaço de troca de ideias e de aprendizagem Organize seus estudos de maneira que passem a fazer parte Mantenha o foco Evite se distrair com as redes sociais Mantenha o foco Evite se distrair com as redes sociais Determine um horário fixo para estudar Aproveite as indicações de Material Complementar Procure se alimentar e se hidratar quando for estudar lembrese de que uma Não se esqueça de se alimentar e de se manter hidratado Aproveite as Conserve seu material e local de estudos sempre organizados Procure manter contato com seus colegas e tutores para trocar ideias Isso amplia a aprendizagem Seja original Nunca plagie trabalhos UNIDADE Subrotinas Subrotina Nesta unidade V continuaremos a conhecer um pouco mais sobre as estruturas que compõem os algoritmos Salientamos que a implementação dos algoritmos uti lizando qualquer Linguagem de Programação permite o teste efetivo destes Neste curso os testes serão realizados na ferramenta VisualG Na Unidade I abordamos as definições de algoritmos e as três técnicas mais utilizadas para o desenvolvimento dos mesmos Na Unidade II foram abordados alguns algoritmos que utilizam apenas estrutura sequencial ou seja entrada dos dados processamento e saída Na Unidade III abordamos alguns algoritmos que utilizam estruturas condicionais também conhecidas como desvios Na unidade IV por fim abordamos alguns algoritmos que utilizam estruturas de repetição em que um ou vários comandos podem ser repetidos várias vezes A partir desta unidade abordaremos a modularização dos algoritmos ou seja entenderemos como as instruções que compõem os algoritmos podem ser divididas em blocos menores e com objetivos bem definidos A nomenclatura adotada para a modularização depende do paradigma de progra mação que está sendo adotado assim na programação estruturada a modulariza ção é composta por procedimentos e funções também chamados de subrotinas e na programação orientada a objetos a modularização é conhecida como métodos As subrotinas também chamadas de subprogramas são blocos de instru ções que realizam tarefas específicas O código de uma subrotina é car regado uma vez e pode ser executado quantas vezes forem necessárias Como o problema pode ser subdividido em pequenas tarefas os programas tendem a ficar menores e mais organizados Os programas em geral são executados linearmente uma linha após a outra até o fim Entretanto quando são utilizadas subrotinas é possível a realização de desvios na exe cução dos programas Estes desvios são efetuados quando uma função é chamada pelo programa principal ASCENCIO CAMPOS 2012 p 252 Em uma linguagem que dá suporte ao paradigma orientado a objeto todos os programas devem fazer uso de classes Uma classe pode ser en tendida como um tipo de dado capaz de armazenar diversas informações e também várias funções para manipular adequadamente essas informa ções Seguindo o paradigma orientado a objetos essas informações são chamadas de atributos e as funções de métodos ASCENCIO CAM POS 2012 p 271 Neste material adotaremos a nomenclatura subrotinas e independente dessa nomenclatura as subrotinas aqui abordadas se dividem em quatro tipos a subrotinas sem parâmetros b subrotinas com parâmetros 8 9 c subrotinas sem retorno d subrotinas com retorno Antes de nos aprofundar nos tipos de subrotinas é necessário compreender duas definições muito importantes variáveis globais e variáveis locais ou internas As VARIÁVEIS GLOBAIS são declaradas logo após as palavras algoritmo nome e são acessíveis por qualquer parte do algoritmo ou seja são acessíveis pelas instruções do algoritmo principal e pelas instruções das subrotinas As VARIÁVEIS LOCAIS ou INTERNAS são declaradas dentro de cada sub rotina e são acessíveis apenas pelas instruções das subrotinas O uso de variáveis globais deve ser feito com moderação pois isso difi culta a manutenção e a busca por erros nos algoritmos tendo em vista que as variáveis globais podem ser alteradas por qualquer parte do código Explor O primeiro tipo de subrotina a ser explorada tratase das subrotinas sem parâ metros e sem retorno também conhecidas como procedimentos são consideradas apenas um desvio para a execução de um conjunto de instruções bem definidas As subrotinas são representadas em fluxograma e em pseudocódigos confor me Quadro 1 Quadro 1 Subrotinas em fl uxograma e em pseudocódigo Fluxograma Pseudocódigo algoritmo nome declaração de variáveis globais procedimento nomedasubrotina declaração de variáveis locais início comandosdasubrotina fimprocedimento início comandosdocorpoprincipaldoalgoritmo desvio para execução da subrotina nomedasubrotina fimalgoritmo 9 UNIDADE Subrotinas Exemplo 1 Faça um algoritmo para calcular as quatro operações básicas entre dois números em que cada operação deve ser realizada em um subrotina apropriada Figura 1 Fluxograma do algoritmo do Exemplo 1 A seguir o Exemplo 1 em pseudocódigo Algoritmo Exemplo1 Função calcular as quatro operações entre dois números Autor Ana Fernanda revisão Margarete E S Almendro Data 24122018 07022020 seção de declarações de variáveis globais var n1 n2 real a seguir a subrotina para somar dois números procedimento somar sb n1 n2 10 11 declaração de variáveis locais do procedimento somar var s real inicio s n1 n2 escreval soma s fimprocedimento a seguir a subrotina para subtrair dois números procedimento subtrair declaração de variáveis locais do procedimento sub trair var sb real inicio sb n1 n2 escreval subtração sb fimprocedimento a seguir a subrotina para multiplicar dois números procedimento multiplicar declaração de variáveis locais do procedimento mul tiplicar var m real inicio m n1 n2 escrevalmultiplicação m fimprocedimento a seguir a subrotina para dividir dois números procedimento dividir 11 UNIDADE Subrotinas declaração de variáveis locais do procedimento di vidir var d real inicio se n2 0 entao escrevalimpossível dividir por zero senao inicio d n1 n2 escrevaldivisão d fimse fimprocedimento início do programa principal inicio escreval digite o primeiro número leia n1 escreval digite o segundo número leia n2 somar subtrair multiplicar dividir fimalgoritmo O uso de subrotina torna os códigos mais organizados e consequentemente de mais fácil entendimento e manutenção Sempre que possível faça o uso de subrotinas pois nem sem pre quem desenvolveu o algoritmo será quem dará a sua manutenção Explor O segundo tipo de subrotina a ser explorada tratase das subrotinas com parâ metros e sem retorno também conhecidas como procedimentos são consideradas um desvio para a execução de um conjunto de instruções bem definidas e neste desvio são fornecidos valores para a subrotina 12 13 Exemplo 2 Faça um algoritmo para calcular o valor do imposto e o valor do desconto de um salário Sabese que o imposto de é 7 e o desconto é de 5 em que cada operação deve ser realizada em um subrotina apropriada Figura 2 Fluxograma do algoritmo do Exemplo 2 Não é possível ter mais de uma subrotina com o mesmo nome mas é possível chamar uma subrotina para execução quantas vezes forem necessárias Explor A seguir o Exemplo 2 em pseudocódigo algoritmo exemplo2 Função calcular desconto e imposto Autor Ana Fernanda revisão Margarete E S Almendro Data 24122018 07022020 seção de declarações de variáveis globais var sal real 13 UNIDADE Subrotinas a seguir a subrotina para calcular o imposto procedimento imposto sreal declaração de variáveis locais do procedimento imposto var i real inicio i s 7100 escreval imposto i fimprocedimento a seguir a subrotina para calcular o desconto procedimento desconto sreal declaração de variáveis locais do procedimento desconto var d real inicio d s 5100 escreval desconto d fimprocedimento início do programa principal inicio escreval digite o salário leia sal imposto sal desconto sal fimalgoritmo O terceiro tipo de subrotina a ser explorada tratase das subrotinas sem parâ metros e com retorno também conhecidas como funções são consideradas um 14 15 desvio para a execução de um conjunto de instruções bem definidas e como as funções SEMPRE retornam um valor devem ser atribuídas a uma variável Exemplo 3 Faça um algoritmo para calcular a área de um quadrado O cálculo deve ser feito em uma função Figura 3 Fluxograma do algoritmo do Exemplo 3 A seguir o Exemplo 3 em pseudocódigo algoritmo exemplo3 Função calcular área do quadrado Autor Ana Fernanda revisão Margarete E S Almendro Data 24122018 07022020 seção de declarações de variáveis globais var lado a real a seguir a subrotina para calcular a área como tem retorno será uma função 15 UNIDADE Subrotinas funcao areaRetorno realreal var respreal inicio resp lado lado retorne resp fimfunção início do programa principal inicio escreval digite o lado leia lado a arealado escreval área a fimalgoritmo As linguagens de programação tem várias subrotinas já implementadas e que podem ser utilizadas nos programas desenvolvidos pelo usuário Um exemplo dessas subrotinas são as que manipulam cadeias de caracteres Explor O quarto tipo de subrotina a ser explorada tratase das subrotinas com parâ metros e com retorno também conhecidas como funções são consideradas um desvio para a execução de um conjunto de instruções bem definidas e como as funções SEMPRE retornam um valor devem ser atribuídas à uma variável Neste caso além do desvio são fornecidos valores para a subrotina Exemplo 4 Faça um algoritmo para calcular o novo salário sabendo que este tem aumento de 10 e imposto é de 6 já sobre o salário reajustado Os cálculos devem ser feitos em funções 16 17 Figura 4 Fluxograma do algoritmo do Exemplo 4 A seguir o Exemplo 4 em pseudocódigo algoritmo exemplo4 Função calcular o novo salário Autor Ana Fernanda revisão Margarete E S Almendro Data 24122018 07022020 seção de declarações de variáveis globais var s sal ns real a seguir a subrotina para calcular o aumento como tem retorno será uma função funcao aumento sal real real 17 UNIDADE Subrotinas var aumreal inicio aum sal 01 retorne aum fimfunção função imposto sal real real var impreal inicio imp sal 006 retorne imp fimfunção início do programa principal inicio escreval digite o salário leia sal s sal aumentosal escreval Aumeto s ns s impostos escreval Novo salário ns fimalgoritmo O infográfico a seguir ilustra os quatro tipos de subrotinas tipos estes aborda dos nessa unidade Subrotina SEM parâmetro e SEM retorno procedimento Subrotina COM parâmetro e SEM retorno procedimento Subrotina COM parâmetro e COM retorno função Subrotina SEM parâmetro e COM retorno função 01 02 03 04 Figura 5 Tipos de Subrotinas Nesta unidade exploramos as subrotinas e pudemos perceber como os algorit mos modularizados facilitam a manutenção e a correção de erros 18 19 Material Complementar Indicações para saber mais sobre os assuntos abordados nesta Unidade Livros Lógica de Programação com Pascal O livro Lógica de Programação com Pascal no Capítulo 8 mostra a teoria sobre sub rotinas e vários exemplos Ao final desse capítulo há uma lista de exercícios a resolver ASCENCIO A F G CAMPOS E A V Fundamentos da Programação de Computadores 3 ed São Paulo Pearson 2012 Fundamentos da Programação de Computadores O livro Fundamentos da Programação de Computadores no Capítulo 8 mostra a teoria sobre subrotinas e vários exemplos Ao final desse capítulo existem duas listas de exercícios uma resolvida e a outra a resolver ASCENCIO A F G CAMPOS E A V Fundamentos da Programação de Computadores 3 ed São Paulo Pearson 2012 Algoritmos Teoria e Prática O livro Algoritmos Teoria e Prática do autor Thomas Cormen é um clássico na área de Computação e aborda o desenvolvimento de algoritmos na teoria e na prática CORMEN T H Algoritmos Teoria e Prática Rio de Janeiro Campus 2012 Algoritmos O livro Algoritmos de José Augusto Manzano é muito indicado para quem está começando a desenvolver algoritmos tendo em vista que possível sequência didática de aprendizagem e uma linguagem apropriada para iniciantes MANZANO J A N G Algoritmos 28 ed São Paulo Pearson 2016 19 UNIDADE Subrotinas Referência ASCENCIO A F G CAMPOS E A V Fundamentos da Programação de Computadores 3 ed São Paulo Pearson 2012 20 Cruzeiro do Sul Educacional