Projeto e Desenvolvimento de Algoritmos

Slides:



Advertisements
Apresentações semelhantes
Programação de Computadores
Advertisements

Estruturas de Repetição
Construção de Algoritmos AULA 07
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Nivelamento de C: Vetores e Strings
Programação II Estruturas de Dados
Algoritmos BUSCA E INSERÇÃO
Trabalho Prático Teste de Software
Algoritmos e Estrutura de Dados I
Listas lineares Listas Lineares Fila Dupla Pilha Fila Saída restrita
FACENS – Engenharia da Computação Lógica Computacional II
Programação II Estruturas, uniões e enumerações
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Linguagem C Strings.
Vetores, Matrizes e Funções
Linguagem C Estruturas de Seleção.
Linguagem C Strings.
Revisão da Linguagem C.
Algoritmo linear Identificar que o pneu furou
Algoritmos.
Variáveis, Tipos de Dados e Constantes
Lógica e Técnicas de Programação
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
Aula prática 8 Ponteiros Monitoria de Introdução à Programação.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
IAED Tagus, 2009/2010 Introdução à Programação em C (I)
PROGRAMAÇÃO ESTRUTURADA II
Soluções Laboratório III
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 05 Aquiles Burlamaqui UERN
Construção de Algoritmos AULA 03
Argumentos por valor Passagem de valor da variável indicada Não permite alteração de variável indicada Exemplo: int quadrado_de(int ); //protótipo int.
PROGRAMAÇÃO ESTRUTURADA (MODULARIZAÇÃO/SUBPROGRAMAÇÃO)
Operadores Relacionais, Lógicos e comandos de condição
Lógica de Programação/ Algoritmos Engenharia Produção 2014
Ambiente de Execução - Rotinas
Algoritmos e Estruturas de Dados I – Recursão
Algoritmos e Estruturas de Dados I – Recursão
Laços com Número Indeterminado de Repetições
Aula P.02 – BCC202 Revisão sobre Ponteiros Túlio Toffolo
PCI- Estrutura de Repetição
Aula prática 7 Strings Monitoria de Introdução à Programação
Vetores Unidimensionais Sistemas de Informação Desenvolvimento de Sistemas para Web Prof. Gale.
Projeto e Desenvolvimento de Algoritmos
Algoritmos e estrutura de dados Prof. Luiz Gonzaga da Silveira Jr
Vetores Unidimensionais Prof. Gale. A Variável A  Ilustrando: O que aconteceria no algoritmo... A  3 Escreva A A  5 Escreva A 3 5.
Algoritmos e Programação
Aula Prática 3 Funções Monitoria Introdução à Programação.
Algoritmos.
Exercícios - monitoria
Fundamentos de Programação
Construção de Algoritmos AULA 05
Programação Computacional Aula 9: Meu primeiro programa em C
Algoritmo Triângulo Problema: Precisa-se de um programa capaz de ler três valores para os lados de um triângulo e verificar se os lados fornecidos formam.
Ponteiros em C Prof. Kariston Pereira
Trechos de código que permitem reutilização de uma mesma tarefa. Qualquer código PHP pode estar contido no interior de uma função. Não se pode definir.
Linguagem de Programação I Parte IV
Estrutura de Dados Revisão Professor Luiz José Hoffmann Filho
Andréa Iabrudi 1 Universidade Federal de Ouro Preto - UFOP Departamento de Computação - DECOM Programação de Computadores I.
PCI- Funções e Procedimentos Profa. Mercedes Gonzales Márquez.
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 15 Funções.
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Programação em C Aula 9.
Arrays Outline 7.1 Introdução 7.2 Arrays 7.3 Declarando e Criando Arrays 7.4 Exemplos usando arrays 7.5 Ordenando arrays 7.6 Procurando em.
Módulo I Capítulo 7: Funções e Procedimentos William Ivanski Curso de Programação C#
Aula Prática 3 Exercícios Funções Monitoria
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
ab LÓGICA DE PROGRAMAÇÃO ab
Transcrição da apresentação:

Projeto e Desenvolvimento de Algoritmos Funções Renato Campioni

Funções Funções são blocos de programas que retornam um valor. Sintaxe: função nome ( entradas: nono, nonono[], nono, ... saídas: nono, nonono, nono[], ...) inicio { comandos } nome  ... fim

Funções: Retorno função nome ( ... inicio fim O bloco de comandos deve conter pelo menos uma instrução que atribui um valor ao identificador da função. função nome ( ... inicio { comandos } nome  ... fim

Funções – Exemplo função Patas (entradas: N1,N2) início Patas  4*(N1 + N2) fim   programa teste inicio caes  4 gatos  3 pes  Patas(caes, gatos); imprima 'Total de patas: ', pes fim

Outro exemplo: A função Converte função Converte(entradas: Fer) início Converte  ((Fer - 32) * 5) / 9 fim   programa teste imprima 'Temperatura em Fahrenheit: ' leia Far Cel  Converte(Far) imprima 'Celsius: ', Cel fim

A função Converte Saída: Temperatura em Fahrenheit: 212 Celsius: 100.00   Alocação de memória:   Tcel:Converte 100 Fer:Converte 212 Cel 100 Far 212

Outro exemplo função CalculaArea(entradas l, c) início CalculaArea  l * c fim   Programa area imprima 'Largura do jardim? ‘ leia larg imprima 'Comprimento do jardim? ‘ leia comp imprima 'Area:',CalculaArea(larg,comp) fim

A função area   Saída:   Largura do jardim? 100 Comprimento do jardim? 50 Area: 5000

Vetores e funções Um vetor pode ser passado como parâmetro usando-se apenas o nome do mesmo na chamada à função

Vetores e funções (passagem valor) Constante Dim = 3 função AchaMaior( entradas: tab[] saídas: pos) início { Assume temporariamente que o primeiro elemento da tabela e' o maior } AchaMaior  tab[1] pos  1 { Percorre a tabela procurando um elemento maior do que maior } para i  2 até DIM faça se tab[i]>maior então AchaMaior  tab[i] pos  i fim se próximo i fim

Vetores e funções(continuação) Programa maior início { O usuario inicializa a tabela } para i  1 até DIM faça leia tabela[i]); próximo i { chama a funcao para determinar o maior } maior  AchaMaior(tabela, pos); { imprime o resultado } imprima maior, pos fim

Passagem por valor: Alocação em memória Uma cópia de cada um dos elementos do vetor é criada na pilha. 3.0 2.0 1.0 ? 3 tabela[3] tabela[1] tabela[2] i pos maior pos:AchaMaior tab[1]:AchaMaior i:AchaMaior tab[2]:AchaMaior tab[3]:AchaMaior

Vetores e funções (passagem referência) Constante Dim = 3 função AchaMaior(saídas : tab[], pos) início { Assume temporariamente que o primeiro elemento da tabela e' o maior } AchaMaior  tab[1] pos  1 { Percorre a tabela procurando um elemento maior do que maior } para i  2 até DIM faça se tab[i]>maior então AchaMaior  tab[i] pos  i fim se próximo i fim Agora é saída

Passagem por referência (continuação) Alocação em memória 3.0 2.0 1.0 ? 3 tabela[3] tabela[1] tabela[2] i pos maior pos:AchaMaior tab[1]:AchaMaior i:AchaMaior tab[2]:AchaMaior tab[3]:AchaMaior

Passagem por referência (continuação) A passagem de vetores por referência pode ser vantajosa, se os vetores forem grandes, e se o tempo de processamento for um dado crítico no programa. Evita-se com isso a cópia dos valores dos vetores na pilha.