Algoritmo e Lógica Programação Modularização: Funções e Subalgoritmos

Slides:



Advertisements
Apresentações semelhantes
Se, senao e entao var A,B,C:inteiro inicio // Seção de Comandos
Advertisements

Visualg. Definição É um programa que executa algorítmos em forma de cálculos e a linguagem utilizada por ele é o Portugal, que é uma adaptação da linguagem.
Algoritmo e Estrutura de Dados
Exercícios (Algoritmo Narrativo, Fluxograma e Pseudocódigo) RESOLVIDO
Visualg.
ALGORITMOS E LÓGICA DE PROGRAMAÇÃO
Adriano A. Ribeiro. Variáveis Compostas Homogêneas Variáveis indexadas. A declaração de uma variável indexada corresponde, na verdade, à declaração de.
Adriano A. Ribeiro. Escolha...Caso Em algumas situações é necessário termos várias soluções ligadas a respostas diferentes. Temos então o comando de alternativa.
Universidade Federal de Campina Grande – UFCG Centro de Ciências e Tecnologias – CCT Unidade Acadêmica de Engenharia Química - UAEQ Universidade Federal.
Lógica de Programação Aula 25 Prof. Auler Gomes. Introdução - subrotina Muitos problemas grandes ou nem tão grandes, mas de solução mais complexa podem.
Lógica de Programação Subalgoritmos
Linguagem de Programação – Aula 03 Prof. Me. Ronnison Reges Vidal.
Algoritmos e Programação utilizando Visualg
Lógica de Programação Aula 26 Prof. Auler Gomes.
Estruturas de Repetição
Introdução à Computação para Engenharia MAC2166
Tópicos Preliminares Algorítmos I.
RODOLFO SOARES TEIXEIRA OBMEP NA ESCOLA
Algoritmo e Lógica Programação Vetores e Matrizes
Estruturas de Dados Tópicos Vetores Matrizes Registros
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I
Lógica de Programação I
Introdução a Algoritmos
Estrutura Condicional
Tópicos Preliminares (Tipos, Constante e Variável)
Estruturas de Repetição
Introdução ao VisuALG Prof. Andrew Rodrigues
Algoritmos e Estruturas de Dados I
Linguagem C Para programadores Python
Prof. Wellington Franco Sub-Rotinas:Funções e Procedimentos
Algoritmos e Estruturas de Dados I
Algoritmos e Estruturas de Dados I
Estruturas de Repetição
Algoritmos e Estruturas de Dados I
Prof. Wellington Franco Estrutura de um Programa Usando o VisuAlg
Prof. Wellington Franco
Introdução à Programação BCC 201 Aula
Prof. Wellington Franco
Algoritmos e Lógica de Programação
Estrutura Condicional
Estruturas de Dados Vetores.
Algoritmos e Fluxogramas
Lógica de Programação e Algoritmos - LPA Professora: Ecila Alves de Oliveira UNIP – 2.Sem/2015 Décima Primeira Aula - Função.
Lógica de Programação e Algoritmos - LPA Professora: Ecila Alves de Oliveira UNIP – 2.Sem/2015 Décima Primeira Aula - Função.
Projeto e Análise de Algoritmos
LÓGICA DE PROGRAMAÇÃO Prof. Andrew Rodrigues.
FUNDAMENTO DE PROGRAMAÇÃO
Estruturas de Repetição
Subalgoritmo É um trecho de algoritmo construído para resolver parte de um problema maior. Também chamado de módulo. A técnica que consiste dividir o.
Cadastro de Funcionário
Agenda Tipos de Informação Tipos de Dados Variáveis Constantes
Algoritmos e Programação I
Parte 2 - Exemplos Prof. José Marcos Lopes
Estrutura de Repetição
Programação.
Algoritmos Prof.: Carlos Alberto _1:
Aula 22 Modularização 22/10/08.
LÓGICA DE PROGRAMAÇÃO Estruturas de Decisão
Linguagem PASCAL Tipos Estruturados
Profa. Mercedes Gonzales Márquez
EDA - Prof. Paulemir Campos
Prof.: Carlos Alberto Algoritmos Prof.: Carlos Alberto
Algoritmos Prof.: Carlos Alberto
Algoritmos Prof.: Carlos Alberto
Computação Eletrônica Funções e Escopo de Variáveis
ALGORITMOS.
Representação de Algoritmos
Vetores.
Transcrição da apresentação:

Algoritmo e Lógica Programação Modularização: Funções e Subalgoritmos Prof. Esp. Douglas Mariano dos Santos

Problema Como resolver um problema bem “cabeludo”? Como as pirâmides do Egito foram construídas?

Solução Dividir para conquistar. Modularização

Subalgoritmos São trechos de algoritmos que efetuam determinada tarefa. Ao invés de escrever um algoritmo grande, escrevem-se vários algoritmos menores, os quais, em conjunto, resolvem o problema proposto. É especialmente indicado usá-los quando uma determinada tarefa é efetuada em diversos lugares no mesmo algoritmo. São declarados no início do algoritmo e podem ser chamados em qualquer ponto após sua declaração. Podem ser de dois tipos: Funções - retornam algum valor. Procedimento (Subrotina) - não retorna nada.

Vantagens Reduzem o tamanho do algoritmo. Melhoram a legibilidade do algoritmo. Evitam a repetição de código. Reaproveitamento no mesmo programa ou em outros Facilitam a manutenção Facilitam a divisão de trabalho Possibilitam a utilização de componentes prontos.

Funções Retornam um valor ou uma informação. A chamada de uma função é feita através da citação do seu nome seguido de seus argumentos entre parênteses. As funções podem ser: predefinidas pela linguagem; criadas pelo programador de acordo com o seu interesse.

Funções Predefinidas do Visualg

Funções Predefinidas do Visualg

Dica!!! Pressionando CTRL+J o VisualG mostra uma lista de funções predefinidas, a sua utilização é muito simples. Basta selecionar a função desejar e dar ENTER, depois, é só passar os parâmetros desejados.

Exemplo 1 algoritmo "exemplo" var nome, sobrenome : caracter qtd_caracter, local_espaço : inteiro inicio nome <- “Douglas Mariano” qtd_caracter <- compr(nome) local_espaço <- pos(“ “, nome) sobrenome <- copia(nome, local_espaço + 1, qtd_caracter) escreval(“Seu sobrenome é: “, sobrenome) fimalgoritmo

Exemplo 2 algoritmo "exemplo" var valorReal : real valorInteiro : inteiro inicio valorReal <- 7.1321234354568987123613 valorInteiro <- int(valorReal) escreval(“O valor inteiro é: “, valorInteiro) fimalgoritmo

Exemplo 3 algoritmo "exemplo" var numero : real nome : caracter inicio escreva("Digite um número: ") leia(numero) escreval("Raiz quad. de ", numero, " é ", raizq(numero)) escreva("Digite um nome: ") leia(nome) escreval("Normal: ", nome) escreval("Maiúsculas: ", maiusc(nome)) escreval("Minúsculas: ", minusc(nome)) escreval("3 primeiras letras: ", copia(nome,1,3)) escreval("tamanho: ", compr(nome)) escreval(maiusc(copia(nome,compr(nome)-2,3))) fimalgoritmo

Criação de Funções Algoritmo "<nome do algoritmo>" var <declaração de variáveis globais> funcao <identificador> ([var]<parâmetros>) <tipo de retorno> <declaração de variáveis locais> inicio <lista de comandos> retorne <variável de retorno> fimfuncao < lista de comandos> fimalgoritmo

Criação de Funções As variáveis globais ficam antes das funções. A função sempre fica dentro do escopo Algoritmo e FimAlgoritmo. Evite declarar variáveis globais com o mesmo nome das variáveis da função.

Exemplo algoritmo "soma" var n1, n2 : real funcao soma(a, b : real) : real retorne a + b fimfuncao inicio escreva("Digite um número: ") leia(n1) escreva("Digite outro número: ") leia(n2) escreva("Soma: ", soma(n1, n2)) fimalgoritmo

Exemplo algoritmo "par_impar" var numero : inteiro funcao par_ou_impar(num : inteiro) : caracter inicio se (num % 2 = 0) entao retorne "par" senao retorne "impar" fimse fimfuncao escreva("Digite um número: ") leia(numero) escreva(par_ou_impar(numero)) fimalgoritmo

Procedimento Algoritmo "<nome do algoritmo>" var <declaração de variáveis globais> procedimento <identificador> ([var]<parâmetros>) <declaração de variáveis locais> inicio <lista de comandos> fimprocedimento < lista de comandos> fimalgoritmo

Exemplo algoritmo "repeticao" var palavra : caracter procedimento repete(texto : caracter; n : inteiro) var i : inteiro inicio para i de 1 ate n faca escreval(texto) fimpara fimprocedimento escreva("Digite uma palavra: ") leia(palavra) repete(palavra, 10) fimalgoritmo

Passagem de Parâmetros Por valor Por referência Vantagens do uso da passagem de parâmetros por valor: Privacidade dos dados A possibilidade de passar constantes como argumentos de funções x  raizq(25)

Exemplo – Passagem por Referência algoritmo "permuta_valor" var n1, n2, aux : inteiro procedimento troca(var x, y : inteiro) var aux : inteiro inicio aux <- x x <- y y <- aux fimprocedimento Escreva("Digite n1: ") leia(n1) Escreva("Digite n2: ") leia(n2) troca(n1,n2) Escreval("n1 é: ", n1) Escreval("n2 é: ", n2) fimalgoritmo

Exercicios Faça um algoritmo que solicite a idade do usuário e diga se este é de maior ou menor. Escreva uma programa que lê o sexo de uma pessoa. O sexo deverá ser com o tipo de dado caractere o programa deverá aceitar apenas os valores “M” ou “F”. Em uma turma há 10 alunos. Cada aluno tem 2 notas. Um professor precisa calcular a média das duas notas de cada aluno. Crie um programa que resolva este problema.