Algoritmos e Programação de Computadores I Prof. Eduardo 1 1. FUNÇÕES

Tamanho: px
Começar a partir da página:

Download "Algoritmos e Programação de Computadores I Prof. Eduardo 1 1. FUNÇÕES"

Transcrição

1 Algoritmos e Programação de Computadores I Prof. Eduardo 1 1. FUNÇÕES A identificação de problemas mais complexos resultará no desenvolvimento de algoritmos também mais complexos para resolve-os. Segundo (Ascencio e Campos, 2007), uma abordagem eficiente para este tipo de problema é a divisão do problema mais complexo em problemas mais simples de serem resolvidos. Este método é conhecido como modularização, onde um grande problema é divido em problemas menores e a solução destes problemas menores resultará na solução do problema maior (mais complexo). Estes programas menores são denominados sub-rotinas, subprogramas ou subalgoritmos. Em qualquer tipo de linguagem, um bloco de instruções previamente identificado e que tenha o objetivo de executar uma tarefa específica dentro de um programa é denominado rotina. Se o programa é um sistema mais amplo e desenvolvido para executar vários módulos específicos, então normalmente esse programa possui uma rotina principal. Desse modo, um conjunto de subrotinas comandadas por uma rotina principal forma um programa; assim estamos falando de sistemas desenvolvidos sob a lógica da Programação Estruturada. Nesta programação a ênfase é dada sobre a estruturação do programa a partir do método top-down (de cima para baixo) com os objetivos de obter uma visão geral do problema, escolher a rotina principal do programa, definir as rotinas secundárias (sub-rotinas) e detalhar as instruções de cada sub-rotina, nesta ordem. Um subprograma é um trecho de um algoritmo (futuro programa) maior (mais complexo) que realiza qualquer operação computacional estudada até agora (entrada, processamento, saída). Ele efetua parte de uma tarefa que um algoritmo maior deverá executar. O algoritmo que aciona um subprograma é chamado de algoritmo principal daquele subprograma. O funcionamento de um subprograma corresponde a implementação de uma função, no sentido matemático da expressão, pois um subprograma também retorna um único valor, de um ou mais valores manipulados em uma ou mais operações realizadas. A expressão "função" também é usada na elaboração de um subprograma, onde ela identifica a disponibilização de um ou mais subprogramas para um algoritmo principal, sendo esta expressão (função) uma palavra reservada. Desenvolver um programa estruturado/modular é antes de tudo uma atitude sábia, pois existem muitas razões para isso: (LEITE, 2013) Permitir o reaproveitamento de código já construído; o trabalho é apenas o de encaixá-lo no programa. Evitar que um bloco de código seja repetido várias vezes dentro de um mesmo programa. Permitir alterações no programa de forma mais rápida, pois localizado o erro ele sempre será pontual e isolado de outros blocos. Limitar o tamanho dos blocos de instruções, melhorando consideravelmente a legibilidade e, por conseguinte a manutenção do sistema. Permitir separar o programa em partes que possam ser logicamente compreendidos de forma isolada. Portanto, sub-rotinas, também chamadas subprogramas, são blocos de instruções que realizam tarefas específicas. O código de uma sub-rotina é carregado 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. (ASCENCIO E CAMPOS, 2007) Em algumas linguagens uma sub-rotina pode ser um desses dois tipos: (1) Procedimento; (2) Função. Conforme (Leite, 2013), ambas cumprem o papel de executar um subconjunto específico (módulo) do programa: executar um bloco de instruções quando solicitadas. Entretanto, existe uma diferença entre elas: enquanto a função executa o bloco de instruções e retorna um valor específico para a rotina principal, o procedimento não retorna nada. Portanto, se for invocada uma função e o

2 Algoritmos e Programação de Computadores I Prof. Eduardo 2 valor desse retorno tiver que ser publicado, isto pode ser feito a partir da rotina principal; mas se for invocado um procedimento esse valor só será conhecido lá, no próprio procedimento, pois a rotina principal não terá acesso a esse valor. No caso da linguagem C a figura específica do procedimento não existe; todas as sub-rotinas num programa C são funções, embora possam ser criadas funções que não retornam nada especificamente. Nesses casos particulares o retorno é definido como void. Até agora foi considerada apenas uma função: main(), que na verdade é a função principal de um programa em C. Todos os programas em C têm que ter, pelo menos, essa função. E é a partir dela que as outras são invocadas. Ao executar um programa em C, primeiro o fluxo do programa executa o bloco de instruções da função main(); se dentro desse bloco existir alguma instrução que invoque outra função isto será feito, e depois de executar a função chamada o fluxo retornará para a linha de instrução imediatamente após o ponto de chamada dessa função. Veja: (LEITE, 2013) Ao carregar o programa o fluxo procura a rotina principal e executa sua primeira linha de instrução dentro de seus limites, no caso invoca a função CalFat5() para calcular o fatorial de 5. Então o fluxo do programa é desviado para a função CalFat5() que calcula o fatorial de 5. Depois de calcular o fatorial de 5 o fluxo retorna imediatamente para a rotina principal. A rotina principal pega o retorno da função CalFat5() e coloca-o na variável F. Depois o fluxo segue imediatamente para a instrução abaixo que mostra a frase Fatorial de 5: 120. Pronto, está concluída a chamada da função CalcFat5(). Em C:

3 Algoritmos e Programação de Computadores I Prof. Eduardo 3 Os programas em geral são executados linearmente, uma linha após a outra, até o fim. Entretanto, quando são utilizadas sub-rotinas, é possível a realização de desvios na execução dos programas. Veja a representação de um subprograma, em fluxograma, apresentado a seguir. Estes desvios são efetuados quando uma função é chamada pelo programa principal. Observe o exemplo a seguir: (a numeração das linhas à esquerda está apenas para facilitar a explicação) 1 algoritmo exemplo 2 declaração de variáveis 3 início 4 real sal; 5 escreva( Digite o salário: ); 6 leia(sal); 7 aum calculo(sal); 8 novo_sal sal + aum; 9 escreva( Novo salário:,novo_sal); 10 fim_algoritmo sub-rotina calculo (real sal) 13 início 14 real perc,valor; 15 escreva( Digite o percentual de aumento: ); 16 leia(perc); 17 valor sal * perc/100; 18 retorne valor; 19 fim_sub-rotina calculo O algoritmo apresentado tem como objetivo receber o salário de um funcionário e calcular o novo salário. Para resolver este problema, utilizou-se o programa principal (representado pelo bloco de instruções entre as linhas 1 e 10) e sub-rotina (representada pelo bloco de instruções entre as linhas 12 e 19). O programa principal é executado linearmente até a linha 7. Neste ponto, existe uma chamada à sub-rotina calculo (que recebe como parâmetro o valor do salário inicial) e o programa principal fica temporariamente suspenso. A ordem de execução das instruções é, então, desviada para a linha 12, onde começa a sub-rotina calculo. A execução só volta ao programa principal quando o comando retorne é executado (linha 18). Esse comando é responsável também por devolver ao programa principal um valor calculado dentro da sub-rotina (nesse exemplo, foi devolvido o conteúdo da variável valor). A execução do programa principal é retornada exatamente no ponto em que foi interrompida; dessa maneira, o valor devolvido pela sub-rotina é atribuído à variável aum (linha 7). A partir daí, o programa volta a ser executado linearmente até o fim (linha 10).

4 Algoritmos e Programação de Computadores I Prof. Eduardo 4 O exemplo apresentado mostra a utilização de uma sub-rotina que recebe um parâmetro (o valor atual do salário) e que, ao final, retorna um valor (aumento que será dado ao salário) para quem a chamou. Porém, as sub-rotinas podem não receber parâmetros nem retornar valor. Outro ponto que precisa ser destacado é que, dentro das sub-rotinas, pode ocorrer declaração de variáveis, chamadas variáveis locais. Elas recebem este nome porque podem ser utilizadas apenas dentro da sub-rotina. Quando a execução desta chega ao fim, essas variáveis são destruídas e seus conteúdos são perdidos. Variáveis declaradas fora de qualquer sub-rotina são chamadas de globais. Elas recebem este nome porque qualquer ponto do programa, incluindo as sub-rotinas, pode utilizá-las. São destruídas quando a execução do programa chega ao fim. Observação: Não se aconselha a utilização excessiva de variáveis globais, por tornar difícil a manutenção e a busca por erros nos programas. 2. FUNÇÕES EM C Um importante recurso apresentado nas linguagens de programação é a modularização, onde um programa pode ser particionado em sub-rotinas bastante específicas. A linguagem C/C++ possibilita a modularização por meio das funções. Um programa escrito na linguagem C/C ++ tem, no mínimo, uma função chamada main, por onde a execução começa. Existem também muitas outras funções predefinidas na linguagem C/C++, por exemplo: clrscr(), gets(), strcmp(), strcpy() etc. Estas funções são adicionadas aos programas pela diretiva #include, no momento da "linkedição". Além disso, o usuário também pode criar quantas funções quiser, dependendo do problema que estiver sendo resolvido pelo programa. As funções às vezes precisam receber valores externos, chamados parâmetros, e também podem devolver algum valor produzido para o ambiente externo, denominado retomo. Os parâmetros são representados por uma lista de variáveis colocadas dentro de parênteses, logo após o nome da função. Caso haja retomo, a última linha da função deverá incluir o comando return, seguido do valor ou variável que será devolvido a quem chamou a função. O tipo do valor retornado deverá ser exatamente igual ao tipo informado antes do nome da função. Caso não haja retorno, deverá ser digitada a palavra void Funções sem passagem de parâmetros e sem retorno O tipo mais simples de função é aquele que não recebe nenhuma informação no momento de sua chamada e que também não repassa nenhum valor para quem a chamou. A seguir é apresentado um exemplo (a numeração das linhas não faz parte do programa, servindo apenas para facilitar a explicação). 1 #include <stdio.h> 2 void soma() 3 int a, b, s; 4 printf("\ndigite o primeiro numero: "); 5 scanf( %d,&a); 6 printf("\ndigite o primeiro numero: "); 7 scanf( %d,&b); 8 s=a+b; 9 printf("\nsoma %d",s); main() soma(); 14

5 Algoritmos e Programação de Computadores I Prof. Eduardo 5 Como já comentado na seção 2, a execução de programa escrito em C/C++ sempre começa pela função main. No exemplo, a execução se inicia na linha 11. Na linha 13, existe uma chamada à função soma. Neste ponto, o fluxo da execução é desviado para a linha 2. Depois são executadas as linhas 3 até 10. Quando a execução atinge a linha 10, a marca de final da função é encontrada. Neste momento, o fluxo da execução retorna para a linha 14, exatamente abaixo de onde ocorreu o desvio para a função soma. Na linha 14 está a marca de finalização da função main. Assim, a execução do programa é concluída. Devemos destacar que, no momento em que a função soma foi chamada, na linha 13, nenhum valor ou variável foi colocado entre parênteses, indicando que não houve passagem de parâmetros. Além disso, dentro da função soma não foi utilizado o comando return, sinalizando que ela não retornou valor para quem a chamou. Por esta razão, seu tipo é void Funções com passagem de parâmetros e sem retorno O segundo tipo de função é representado por aquelas que recebem valores no momento em que são chamadas (Parâmetros), mas que, no final, não devolvem valor para quem as chamou (retorno). A seguir é mostrado um exemplo (a numeração das linhas não faz parte do programa, servindo apenas para facilitar a explicação). 1 #include <stdio.h> 2 void calcula_mediaint numerol, int numero2) 3 float media; 4 media = (numerol + numero2) / 2 ; 5 printf("\nmédia: %f",media); 6 7 main () 8 int nl, n2; 9 printf("\ndigite o primeiro numero: )"; 10 scanf( %d,&n1); 11 printf("\ndigite o primeiro numero: "); 12 scanf( %d,&n2); 13 calcula_media (nl, n2); 14 No exemplo, a execução iniciou-se na linha 7. A partir daí, são executadas sequencialmente as linhas 8 até 13. Nas linhas 9 e 11, dois valores são recebidos e armazenados nas variáveis n1 e n2. Chegando à linha 13, o fluxo da execução é desviado para a função calcula_media, levando para lá os valores das variáveis n1 e n2. Serão então executadas as linhas 2 a 6, onde está a marca de encerramento da função. O fluxo de execução retorna à função main, na linha 14, imediatamente abaixo do ponto de chamada da função calcula _media. Deste modo, a execução do programa é concluída. Devemos destacar que, no momento em que a função calcula_media foi chamada, na linha 13, duas variáveis foram colocadas entre parênteses, indicando que houve passagem de parâmetros. Os valores delas, são copiados para as variáveis numero1 e numero2, descritas no cabeçalho da função, na linha 2. Além disso, dentro da função calcula_media não foi utilizado o comando return, indicando que ela não retornou valor para quem a chamou. Por esta razão, seu tipo foi definido como void Funções sem passagem de parâmetros e com retorno O terceiro tipo de função é representado por aquelas que não recebem valores no momento em que são chamadas (parâmetros), mas que, no final, devolvem um valor para quem as chamou (retorno). A seguir é apresentado um exemplo (a numeração das linhas não faz parte do programa, servindo apenas para facilitar a explicação).

6 Algoritmos e Programação de Computadores I Prof. Eduardo 6 1 #include <stdio.h> 2 float multiplicacao () 3 float multiplicando, multiplicador, produto; 4 printf( \ndigite o valor do multiplicando: ); 5 scanf( %f,&multiplicando); 6 printf( \ndigite o valor do multiplicador: ); 7 scanf( %f,&multiplicador); 8 produto = multiplicando * multiplicador; 9 return produto; main( ) 12 float resposta; 13 resposta = multiplicacao( ); 14 printf("\no produto é: %f ", resposta); 15 No exemplo, a execução tem início na linha 11. A partir daí, a linha 12 é executada e, ao chegar à linha 13, o fluxo de execução é desviado para a função multiplicacao, na linha 2. Assim, as linhas 2 a 9 são executadas. Ao chegar à linha 9, o comando return é encontrado. Isto indica que a execução da função chegou ao fim e que o conteúdo da variável produto será devolvido para quem a chamou. O fluxo de execução, então, retoma à função main, na linha 11, e o valor retornado é atribuído à variável resposta. Devemos destacar que, no momento em que a função multiplicacao foi chamada, na linha 13, nenhum valor ou variável foi colocado entre parênteses, o que indica que não houve passagem de parâmetros. Além disso, dentro da função multiplicacao foi utilizado o comando return produto, significando que o valor da variável produto foi devolvido a quem a chamou. Por esta razão, o tipo da função é float, exatamente igual ao tipo do valor retornado Funções com passagem de parâmetros e com retorno O quarto tipo de função é representado por aquelas que recebem valores no momento em que são chamadas (parâmetros) e que, no final, devolvem um valor para quem as chamou (retorno). A seguir é apresentado um exemplo (a numeração das linhas não faz parte do programa, servindo apenas para facilitar a explicação). 1 #include <stdio.h> 2 float divisao(int dividendo, int divisor) 3 float q; 4 q = dividendo / divisor; 5 return q; main() 9 int nl, n2; 10 float resposta; 11 printf("\ndigite o valor do dividendo: "); 12 scanf( %d,&nl); 13 printf("\ndigite o valor do divisor: "); 14 scanf( %d,&n2); 15 resposta = divisao(nl, n2); 16 printf("\no resultado da divisão é: %f ",resposta); 17 No exemplo, a execução iniciou na linha 8. Nas linhas 11 e 13, dois valores são recebidos e armazenados nas variáveis n1 e n2. Chegando à linha 15, o fluxo de execução é desviado para a função divisao, levando para lá os valores das variáveis n1 e n2. Serão então executadas as linhas 2, 3 e 4. Ao chegar à linha 5, o comando return é encontrado. Isto indica que a execução da função chegou ao fim e que o conteúdo da variável q será devolvido para quem a chamou. O fluxo de execução retoma à função main, na linha 15, e o valor retornado é atribuído à variável resposta.

7 Algoritmos e Programação de Computadores I Prof. Eduardo 7 Devemos destacar que, no momento em que a função divisao foi chamada, na linha 15, duas variáveis foram colocadas entre parênteses, indicando que houve passagem de parâmetros. Assim, os valores destas variáveis são copiados, respectivamente, para as variáveis dividendo e divisor, descritas no cabeçalho da função, na linha 2. Além disso, dentro da função divisao foi utilizado o comando return q, sinalizando que o valor da variável q será devolvido a quem a chamou. Por esta razão, o tipo da função é exatamente igual ao tipo do valor retornado. Observação: Em qualquer programa, podemos escrever funções antes ou depois da função main. Se optarmos por escrevê-las antes, nenhum cuidado especial será necessário. Porém, se optarmos por escrevê-las abaixo da função main, deveremos fazer uso dos protótipos de função. Protótipo de uma função é uma linha exatamente igual ao cabeçalho da função (terminando com um ponto-e-vírgula) que sempre deverá ser escrita antes da função main. Esta linha é responsável por informar ao compilador quais outras funções serão encontradas ao término da main. Observe o exemplo a seguir. #include <stdio.h> float divisao(int dividendo, int divisor); // esta linha descreve o protótipo main() int nl, n2; float r; printf( \ndigite o primeiro número: ); scanf( %d,&nl); do printf("\ndigite o segundo número: "); scanf( %d,&n2); while (n2 == 0); r = divisaonl, n2); printf( \na divisão resultou em: %f,r); float divisaoint dividendo, int divisor) float q; q = dividendo / divisor; return q; 3. Passagem de vetor e matriz como parâmetros para uma função A linguagem C não permite que vetores e matrizes sejam passados na integra como parâmetro para uma função. Para resolver esse problema, deve-se passar apenas o endereço da posição inicial do vetor ou da matriz. Esse endereço é obtido utilizando-se o nome do vetor (ou da matriz) sem o índice entre colchetes. Isto quer dizer que é possível passar um vetor para uma função somente se essa passagem for por referência. Vetor Ex: passar um vetor de 3 posições para uma função calcular a média. float media(vetor[ ]); //protótipo da função float vetor[3]; //declaração do vetor nomeado vetor m=media(vetor); //chamando a função media

8 Algoritmos e Programação de Computadores I Prof. Eduardo 8 endereço da posição inicial Matriz A chamada (dentro do programa principal) utiliza apenas o nome da matriz, como acontece com os vetores. O cabeçalho da função exige que seja informado o tipo da matriz, o seu nome e o número de colunas. As linhas não são informadas. Exemplos com vetor e matriz: 1. Faça uma função que receba um vetor A de dez elementos inteiros como parâmetro. Ao final dessa função, deverá ter sido gerado um vetor B contendo o fatorial de cada elemento de A. O vetor B deverá ser mostrado no programa principal. #include <stdio.h> void fatoriais(int a[], int b[]) int i, j; for (i=0;i<4;i++) if ((a[i] == 0) (a[i] == 1)) b[i] = 1; else b[i]=1; for (j=1;j<=a[i];j++) b[i] = b[i] * j; main() int x,vet1[4], vet2[4]; for (x=0;x<4;x++) printf("digite o elemento %d de A: ",x+1); scanf("%d",&vet1[x]); fatoriais(vet1,vet2); for (x=0;x<4;x++) printf("\no fatorial de %d --> %d",vet1[x],vet2[x]);

9 Algoritmos e Programação de Computadores I Prof. Eduardo 9 2. Faça uma função que receba uma matriz A5x5 e retorne a soma de seus elementos. #include <stdio.h> int soma_matriz(int m[][3]) int i, j, soma; soma=0; for (i=0;i<3;i++) for (j=0;j<3;j++) soma = soma + m[i][j]; return soma; main() int x, y, s, matriz[3][3]; for (x=0;x<3;x++) for (y=0;y<3;y++) printf("digite o elemento matriz[%d][%d]: ",x+1,y+1); scanf("%d",&matriz[x][y]); s=soma_matriz(matriz); printf("\na soma dos elementos da matriz: %d",s); 3. Crie um programa que carregue uma matriz 2x3 com números inteiros. Utilize uma função para copiar todos os valores da matriz para um vetor de seis posições. Este vetor deverá ser mostrado no programa principal. #include <stdio.h> void gera_vetor(int m[][3], int v[]); //protótipo main() int mat[2][3], vet[6], i, j; for (i=0; i<2; i++) for (j=0;j<3;j++) printf("digite o numero da posicao [%d][%d]: ",i+1,j+1); scanf("%d",&mat[i][j]); gera_vetor(mat, vet); printf("\nvetor gerado\n"); for (i=0; i<6; i++) printf("\nposicao vet[%d]: %d",vet[i]); void gera_vetor(int m[][3], int v[]) int i, j, k; k = 0; for (i=0; i<2; i++) for (j=0;j<3;j++) v[k] = m[i][j]; k = k + 1;

10 Algoritmos e Programação de Computadores I Prof. Eduardo 10 Exercícios: 1 Criar um algoritmo que mostre um menu com as seguintes opções: 1 Área do retângulo 2 Área do triângulo 3 Área da circunferência 4 Sair Se opção = 1, deve-se ler a base e a altura e executar a função retângulo. Se for escolhida a opção 2, deve-se ler a base e a altura e chamar a função triângulo. Se for escolhido a opção 3, devese ler o raio e chamar a função circunferência. O algoritmo só termina quando for digitada a opção 4. 2 Faça um algoritmo contendo uma função que retorne 1 se o número for positivo ou 0 se for negativo. 3 Faça uma função que receba dois números positivos por parâmetro e retorne a soma dos N números inteiros existentes entre eles. 4 Crie uma função que receba três números inteiros a, b e c, sendo a maior que 1. A função deverá somar todos os inteiros entre b e c que sejam divisíveis por a (inclusive b e c) e retorne o resultado para a função principal. 5 Elabore um algoritmo contendo uma função que receba as três notas de um aluno como parâmetros e uma letra. Se a letra for A, a função deverá calcular a média aritmética das notas do aluno; se for P, deverá calcular a média ponderada, com pesos 5, 3 e 2. A média calculada deverá ser devolvida ao programa principal para, então, ser mostrada. 6 - Faça um algoritmo que leia 3 notas no programa principal (usar vetor). Passar o vetor para uma função calcular a média. Referências bibliográficas ASCENCIO, Ana F. Gomes. CAMPOS, Edilene A.V. Campos. Fundamentos da Programação de Computadores: Algoritmos, Pascal, C/C++ e Java. São Paulo: Pearson Prentice Hall, LEITE, Mário. Curso Básico de C: Prático e Fácil. Rio de Janeiro: Editora Ciência Moderna Ltda., 2013.

Algoritmos e Estruturas de Dados I Prof. Eduardo 1 1 MODULARIZAÇÃO

Algoritmos e Estruturas de Dados I Prof. Eduardo 1 1 MODULARIZAÇÃO Algoritmos e Estruturas de Dados I Prof. Eduardo 1 1 MODULARIZAÇÃO A identificação de problemas mais complexos resultará no desenvolvimento de algoritmos também mais complexos para resolve-os. Uma abordagem

Leia mais

2ª Licenciatura AED1 e PC1 Prof. Eduardo 1 1 MODULARIZAÇÃO

2ª Licenciatura AED1 e PC1 Prof. Eduardo 1 1 MODULARIZAÇÃO 2ª Licenciatura AED1 e PC1 Prof. Eduardo 1 1 MODULARIZAÇÃO A identificação de problemas mais complexos resultará no desenvolvimento de algoritmos também mais complexos para resolve-os. Uma abordagem eficiente

Leia mais

Explicação do programa:

Explicação do programa: Disciplina: Introdução à Programação. IPRJ/UERJ Professora: Sílvia Mara da Costa Campos Victer Índice: Aula10 Sub-rotina: Em algoritmos Em C Sub-rotinas subprograma - programação modularizada Definição:

Leia mais

Linguagem C (Funções)

Linguagem C (Funções) 1. Sub-Rotinas em Linguagem C/C++ Um importante recurso apresentado nas linguagens de programação é a modularização, onde um programa pode ser particionado em sub-rotinas bastante específicas. A linguagem

Leia mais

Modularidade - Funções e Procedimentos

Modularidade - Funções e Procedimentos Modularidade - Funções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situações, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de entrada

Leia mais

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação Algoritmos e Introdução à Programação Lógica e Linguagem de Programação Prof. José Honorato Ferreira Nunes honoratonunes@softwarelivre.org http://softwarelivre.org/zenorato Funções e Procedimentos (sub-rotinas)

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Prof. Alceu Britto Slides cedidos pelo Prof. Dr. Edson J. R. Justino Aula 15 até 18 UEPG Rotinas rotinas, também chamadas de subprogramas, são blocos de instruções que realizam

Leia mais

Sub Rotinas. Estrutura de Dados. Prof. Kleber Rezende

Sub Rotinas. Estrutura de Dados. Prof. Kleber Rezende Sub Rotinas Estrutura de Dados Prof. Kleber Rezende Considerações Iniciais Uma dos métodos mais comuns e amplamente utilizados em programação de computadores é o Top-Down. Nesta abordagem um problema é

Leia mais

Índice. Índice... 0 Passagem de parâmetros... 3 Procedures... 5 Funções... 5

Índice. Índice... 0 Passagem de parâmetros... 3 Procedures... 5 Funções... 5 Índice Índice... 0 Passagem de parâmetros... 3 Procedures... 5 Funções... 5 Definição Podemos definir sub-rotinas como sendo blocos de instruções que realizam tarefas específicas. O código de uma sub-rotina

Leia mais

Modularidade - Fun ções e Procedimentos

Modularidade - Fun ções e Procedimentos Modularidade - Fun ções e Procedimentos José Gustavo de Souza Paiva Problema Em diversas situa ções, é preciso executar uma tarefa específica diversas vezes em um programa, variando apenas os dados de

Leia mais

Parte I. Introdução à Ciência da Computação I Modularização de Programas. SSC ICC1 Teórica

Parte I. Introdução à Ciência da Computação I Modularização de Programas. SSC ICC1 Teórica SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Modularização de Programas Parte I Prof. Vanderlei Bonato: vbonato@icmc.usp.br Prof. Claudio Fabiano Motta Toledo: claudio@icmc.usp.br Sumário

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.7. Funções 3.7.1. Introdução 3.7.2. Uso de

Leia mais

ALGORITMOS I. Procedimentos e Funções

ALGORITMOS I. Procedimentos e Funções Procedimentos e Funções Jaime Evaristo (http://professor.ic.ufal.br/jaime/) Slide 1 MÓDULOS São blocos de instruções que realizam tarefas específicas. Carregado uma vez e pode ser executado quantas vezes

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções

Leia mais

Introdução à Programação Aula 09. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 09. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 09 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação A linguagem C, como qualquer outra linguagem de programação, permite

Leia mais

Estruturas de Repetição

Estruturas de Repetição Prof.: Edwar Saliba Júnior Fevereiro 2012 1 Nomenclaturas: Loopings, Laços ou Malhas de Repetição; Possibilidades de Parada: Quantidade de repetições previamente definida (melhoria na legibilidade e qualidade

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 9 Subalgoritmos, funções e passagem de parâmetros Profa. Marina Gomes marinagomes@unipampa.edu.br 22/06/2017 Engenharia de Computação - Unipampa 1 Modularização Facilita a

Leia mais

Permite modularidade (dividir programa em partes): Facilita a depuração (debug) e portabilidade.

Permite modularidade (dividir programa em partes): Facilita a depuração (debug) e portabilidade. 222222222222222222222222222 8 - FUNÇÕES 81 - Características básicas É um trecho independente de código, com objetivos bem definidos Programas em C, geralmente consistem em várias pequenas funções, ao

Leia mais

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação Algoritmos e Introdução à Programação Lógica e Linguagem de Programação Prof. José Honorato Ferreira Nunes honoratonunes@softwarelivre.org http://softwarelivre.org/zenorato/honoratonunes Linguagem C Seleção

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina.

Leia mais

Aula 15 - Aula sobre Funções e Procedimentos

Aula 15 - Aula sobre Funções e Procedimentos MC-102 Algoritmos e Programação de Computadores IC-UNICAMP Aula 15 - Aula sobre Funções e Procedimentos 1 Objetivos Apresentar os conceitos de procedimentos e funções, suas vantagens e sua notação em C.

Leia mais

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa? Funções Suponha um conjunto habitacional, com várias famílias...... imagina se todas elas morassem em uma única casa? Funções Programação de Computadores 1 de 28 Funções Na Programação, funções são conjuntos

Leia mais

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa? Funções Suponha um conjunto habitacional, com várias famílias...... imagina se todas elas morassem em uma única casa? Funções Introdução à Computação 1 de 28 Funções Na Programação, funções são conjuntos

Leia mais

LINGUAGEM E TECNICAS DE PROGRAMAÇÃO

LINGUAGEM E TECNICAS DE PROGRAMAÇÃO LINGUAGEM E TECNICAS DE PROGRAMAÇÃO Aula 03 Lógica Entrada de dados Lógica Lógica, no seu sentido mais amplo, está presente em todos os passos de nossas vidas, servindo de base para resolução de nossos

Leia mais

Subprogramas. Prof. Carlos Lopes

Subprogramas. Prof. Carlos Lopes Subprogramas Prof. Carlos Lopes Motivação Escreva um programa C capaz de calcular a combinação de n valores tomados p a p. Para realizar este cálculo, você deverá utilizar a seguinte fórmula: C n n! p

Leia mais

Linguagem C Funções. André Tavares da Silva.

Linguagem C Funções. André Tavares da Silva. Linguagem C Funções André Tavares da Silva andre.silva@udesc.br Funções É uma coleção de comandos identificados por um nome (identificador); As funções executam ações e podem retornar valores; main, printf

Leia mais

Aula 13 Oficina de Programação Modularização. Profa. Elaine Faria UFU

Aula 13 Oficina de Programação Modularização. Profa. Elaine Faria UFU Aula 13 Oficina de Programação Modularização Profa. Elaine Faria UFU - 2017 O que é modularização? No século XIX, Henry Ford, para baratear e massificar a montagem de carros, criou uma base modular. Esta

Leia mais

Funções em C. Funções em C. Funções em C. Prof. Yandre Maldonado e Gomes da Costa

Funções em C. Funções em C. Funções em C. Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 Subprogramas são estabelecidos em linguagem C através da construção de funções; A sub-programação é uma ferramenta

Leia mais

MC-102 Aula 13. Instituto de Computação Unicamp. 29 de Setembro de 2016

MC-102 Aula 13. Instituto de Computação Unicamp. 29 de Setembro de 2016 MC-102 Aula 13 Funções I Instituto de Computação Unicamp 29 de Setembro de 2016 Roteiro 1 Funções Definindo uma função Invocando uma função 2 O tipo void 3 A função main 4 Protótipo de funções 5 Funções

Leia mais

Encapsulamento de Código: Funções e Procedimentos

Encapsulamento de Código: Funções e Procedimentos Luciano Moraes Da Luz Brum Universidade Federal do Pampa Unipampa Campus Bagé email: lucianobrum18@gmail.com Encapsulamento de Código: Funções e Procedimentos Sumário Introdução à Funções e Procedimentos

Leia mais

MESMO QUE ESTAS VARIÁVEIS TENHAM NOME IDÊNTICOS

MESMO QUE ESTAS VARIÁVEIS TENHAM NOME IDÊNTICOS Funções As funções são blocos de instruções que facilitam o entendimento do código. Porque usar funções? Para permitir o reaproveitamento de código já construído (por você ou por outros programadores);

Leia mais

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Funções Gil Eduardo de Andrade Definição É conjunto de comandos (linhas de código) agrupado num bloco devidamente nomeado, que ao ser invocado executa todas as instruções nele

Leia mais

Sub-rotinas em C. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto

Sub-rotinas em C. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Sub-rotinas em C Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto Agenda Sub-rotinas: Função e Procedimentos A função main Variáveis globais e locais Escopo de variáveis Passagem

Leia mais

Função. Unidade autônoma do programa desenvolvida para executar alguma atividade. A estrutura de uma função C é semelhante à da função main( )

Função. Unidade autônoma do programa desenvolvida para executar alguma atividade. A estrutura de uma função C é semelhante à da função main( ) Função Unidade autônoma do programa desenvolvida para executar alguma atividade Evita que se escreva o mesmo código inúmeras vezes em um mesmo programa A estrutura de uma função C é semelhante à da função

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

Aula 05. Modularização Função Subrotina Recursividade

Aula 05. Modularização Função Subrotina Recursividade Logo Aula 05 Modularização Função Subrotina Recursividade 2 Modularização A modularização é um processo que aborda os aspectos da decomposição de algoritmos em módulos. Módulo é um grupo de comandos, constituindo

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 02 Algoritmos e Ciclo de Desenvolvimento Edirlei Soares de Lima Modelo de um Computador Linguagem de Máquina Um processador executa instruções de máquina

Leia mais

Linguagem C: Introdução

Linguagem C: Introdução Linguagem C: Introdução Linguagem C É uma Linguagem de programação genérica que é utilizada para a criação de programas diversos como: Processadores de texto Planilhas eletrônicas Sistemas operacionais

Leia mais

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. LINGUAGEM C: FUNÇÕES Prof. André Backes FUNÇÃO Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa. printf(): função que escreve na tela scanf(): função que lê o teclado

Leia mais

ALGORITMOS E ESTRUTURAS DE DADOS II (Parte 1)

ALGORITMOS E ESTRUTURAS DE DADOS II (Parte 1) Algoritmos e Estruturas de Dados I1 Prof. Eduardo 1 ALGORITMOS E ESTRUTURAS DE DADOS II (Parte 1) Prof. Eduardo Machado Real Conteúdos: Funções Ponteiros Se A é o sucesso, então A é igual a X mais Y mais

Leia mais

Vetores. e o programa deverá ler os valores separadamente:

Vetores. e o programa deverá ler os valores separadamente: Vetores Vetor é um tipo de dado usado para representar uma certa quantidade de variáveis de valores homogêneos (do mesmo tipo). Imagine o seguinte problema: calcular a média das notas da prova de 5 alunos.

Leia mais

Dividir para Conquistar. Material da Prof. Ana Eliza

Dividir para Conquistar. Material da Prof. Ana Eliza Dividir para Conquistar Material da Prof. Ana Eliza Modularização Situação: Necessidade de resolução de problemas cada vez maiores e/ou mais complexos. Solução: Dividir o problema grande e/ou complexo

Leia mais

... Subprogramas Após fazer as tarefas previstas o nosso programa devolve o comando ao sistema operativo. Isto está numa hierarquia onde o nosso progr

... Subprogramas Após fazer as tarefas previstas o nosso programa devolve o comando ao sistema operativo. Isto está numa hierarquia onde o nosso progr 26 - Subprogramas Executar um programa é pedir ao sistema operativo (que é o programa principal de um computador) que passe o comando do computador para o nosso programa. ... Subprogramas Após fazer as

Leia mais

ESTRUTURA CONDICIONAL E SELEÇÃO

ESTRUTURA CONDICIONAL E SELEÇÃO Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ESTRUTURA CONDICIONAL E SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE OU DECISÃO) Até o momento da disciplina vimos algoritmos e programas

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

Aula 7: Sub-rotinas e Funções

Aula 7: Sub-rotinas e Funções Aula 7: Sub-rotinas e Funções Introdução Sequência de passos que recebe um nome e pode ser invocada uma ou mais vezes durante a execução do programa. Trechos de código independentes, com estrutura semelhante

Leia mais

Aula 07 Introdução à Programação Subprogramas

Aula 07 Introdução à Programação Subprogramas Aula 07 Introdução à Programação Subprogramas Prof. Gustavo Callou gustavo.callou@ufrpe.br gcallou@gmail.com Roteiro SubProgramas Procedimentos Funções Exercícios Gustavo Callou DEINFO/UFRPE 2 Sistema

Leia mais

Modulo 4: while do while (limites de variáveis)

Modulo 4: while do while (limites de variáveis) PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 4: while do while (limites de variáveis) Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Até aqui apreendemos as estruturas: If e If...else Switch

Leia mais

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO. Profa. Dra. Milena Guessi Margarido

SSC INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO. Profa. Dra. Milena Guessi Margarido SSC 301 - INTRODUÇÃO À COMPUTAÇÃO PARA ENGENHARIA AMBIENTAL MODULARIZAÇÃO Profa. Dra. Milena Guessi Margarido (milena@icmc.usp.br) MODULARIZAÇÃO Um problema complexo é melhor abordado se for dividido primeiramente

Leia mais

Programação I Funções. Prof. Carlos Alberto

Programação I Funções. Prof. Carlos Alberto Programação I Funções Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Funções Funções são blocos de códigos que podem ser nomeados e chamados de dentro de um programa; Funções

Leia mais

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação

Algoritmos e Introdução à Programação. Lógica e Linguagem de Programação Algoritmos e Introdução à Programação Lógica e Linguagem de Programação Prof. José Honorato Ferreira Nunes honoratonunes@softwarelivre.org http://softwarelivre.org/zenorato/honoratonunes Linguagem C Prof.

Leia mais

Subprogramas. (ou Sub-rotinas) em C: Procedimentos e Funções. 2015/1 Programação Básica de Computadores (INF 09325)

Subprogramas. (ou Sub-rotinas) em C: Procedimentos e Funções. 2015/1 Programação Básica de Computadores (INF 09325) Subprogramas (ou Sub-rotinas) em C: Procedimentos e Funções 2015/1 Programação Básica de Computadores (INF 09325) Archimedes Detoni www.inf.ufes.br/~archimedesdetoni archimedesdetoni@inf.ufes.br Programa

Leia mais

Aula 4 Introdução ao C

Aula 4 Introdução ao C Considere o nosso MSC. O Processador Central, entende o conjunto de instruções, leia, imprima, atribuição e condicional e com ela resolvemos vários problemas, construindo vários algoritmos. As instruções

Leia mais

Linguagem C. Funções. Prof. Maurício Dias

Linguagem C. Funções. Prof. Maurício Dias Linguagem C Funções Prof. Maurício Dias 1 O que são Funções? (ou subprogramas ou subrotinas) São trechos de código fonte agrupados sob um nome, que podem ser chamados sempre que for necessário executar

Leia mais

Computação 2. Diego Addan Aula 3. Funções

Computação 2. Diego Addan Aula 3. Funções Computação 2 Aula 3 Funções Diego Addan diegoaddan@gmail.com Funções Função é um subprograma que auxilia o programa principal através da realização de uma determinada subtarefa. As funções são chamados

Leia mais

Lógica de Programação e Algoritmos com exemplos na linguagem JAVA

Lógica de Programação e Algoritmos com exemplos na linguagem JAVA Lógica de Programação e Algoritmos com exemplos na linguagem JAVA Cap. 5 Programação Estruturada: Funções Conteúdo: 5.1 Programação estruturada ou modular... 66 5.2 Funções... 67 5.3 Passagem de parâmetros...

Leia mais

MC102 - Algoritmos e programação de computadores. Aula 14: Funções e Procedimentos

MC102 - Algoritmos e programação de computadores. Aula 14: Funções e Procedimentos MC102 - Algoritmos e programação de computadores Aula 14: Funções e Procedimentos Procedimentos Procedimentos são estruturas que agrupam um conjunto de comandos, que são executados quando o procedimento

Leia mais

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Comando WHILE O comando while executa um bloco de comandos enquanto a condição testada for verdadeira (diferente

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 07 Estruturas de Repetição Edirlei Soares de Lima Estruturas de Repetição Diversos problemas somente podem ser resolvidos numericamente por um computador

Leia mais

PROGRAMAÇÃO DE COMPUTADORES V - TCC Modulo 6 : Funções Escopo de Variáveis: Globais x Locais Aura - Erick

PROGRAMAÇÃO DE COMPUTADORES V - TCC Modulo 6 : Funções Escopo de Variáveis: Globais x Locais Aura - Erick PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 6 : Funções Escopo de Variáveis: Globais x Locais Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Funções Escopo de Variáveis Variáveis Globais

Leia mais

SUB-ROTINAS (PROCEDIMENTOS E FUNÇÕES)

SUB-ROTINAS (PROCEDIMENTOS E FUNÇÕES) SUB-TAS (EDMETS E FUÇÕES) Uma sub-rotina é qualquer bloco de código agrupado com fins de reutilização (no mesmo programa ou em outro programa) e organização Também chamadas de subprogramas, as sub-rotinas

Leia mais

Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF029 Laboratório de Programação Aula 02: Modularização

Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF029 Laboratório de Programação Aula 02: Modularização Instituto Federal da Bahia Análise e Desenvolvimento de Sistemas INF029 Laboratório de Programação Aula 02: Modularização Prof. Dr. Renato L. Novais renato@ifba.edu.br Agenda Modularização Funções em C

Leia mais

Exercícios Repetição

Exercícios Repetição Curso de Engenharia de Controle e Automação Disciplina: Informática para a Automação Professor: Marcelo Cendron Exercícios Repetição 1.1 8.3 Exercícios 1. Faça um programa utilizando o comando while, que

Leia mais

ECT1203 Linguagem de Programação

ECT1203 Linguagem de Programação Universidade Federal do Rio Grande do Norte Escola de Ciências e Tecnologia ECT1203 Linguagem de Programação Prof. Aquiles Burlamaqui Profa. Caroline Rocha Prof. Luiz Eduardo Leite Prof. Luciano Ferreira

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Computação Informática

Computação Informática Computação Informática Linguagem C Matrizes em C Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO 1 Estrutura de Dados Homogênea matrizes Uma matriz computacional é um váriável composta capaz de armazenar uma

Leia mais

Universidade Estadual do Maranhão Curso de Engenharia da Computação Mestrado em Engenharia da Computação e Sistemas

Universidade Estadual do Maranhão Curso de Engenharia da Computação Mestrado em Engenharia da Computação e Sistemas Notas de Aulas Sub-rotinas Prof. Dr. Luís Carlos Costa Fonseca São Luís 2013 Geralmente, problemas complexos exigem algoritmos complexos, mas sempre é possível dividir um problema grande em problemas menores.

Leia mais

CCO 016 Fundamentos de Programação

CCO 016 Fundamentos de Programação CCO 016 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá AULA 09 Agregados Homogêneos Variáveis Indexadas Vetores EXEMPLO 1 Um programa deve calcular quem

Leia mais

Programação Básica. Estrutura de um algoritmo

Programação Básica. Estrutura de um algoritmo Programação Básica Estrutura de um algoritmo Código-fonte Como vimos na aula anterior um algoritmo pode ser representado usando um fluxograma Um algoritmo pode também ser representado usando texto Esse

Leia mais

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Até o momento da disciplina vimos comandos de entrada, processamento e saída

Leia mais

GFM015 Introdução à Computação Algoritmos e Programação / Controle de Fluxo / Estutura Condicional

GFM015 Introdução à Computação Algoritmos e Programação / Controle de Fluxo / Estutura Condicional GFM015 Introdução à Computação Algoritmos e Programação / Controle de Fluxo / Estutura Condicional Ilmério Reis da Silva ilmerio@facom.ufu.br www.facom.ufu.br/~ilmerio/ic UFU/FACOM Programa 1. Noções básicas

Leia mais

Sub-rotinas David Déharbe

Sub-rotinas David Déharbe Sub-rotinas David Déharbe 1 1 Objetivos da aula Os conceitos de sub-rotina, funções e procedimentos; Como usar sub-rotinas em C: parâmetros de sub-rotinas: parâmetros formais e parâmetros efetivos. passagem

Leia mais

Fig. 1: Ilustração de um exemplo de Modularização de um guindaste em suas partes Fonte: Internet

Fig. 1: Ilustração de um exemplo de Modularização de um guindaste em suas partes Fonte: Internet 7. Modularização de Algoritmos No momento do desenvolvimento de um programa de computador, o programador terá de planejar a modularização de seu programa para que este fique mais transparente em suas estrutura

Leia mais

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Sub-rotina Sub-rotina (CAPÍTULO 8): Funções e procedimentos Blocos de instruções que realizam

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: funções Universidade Federal de Uberlândia Faculdade de Computação Linguagem C: funções Prof. Renato Pimentel 1 Subprogramas Subprograma: programa que auxilia o programa principal na realização de uma determinada

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Linguagem C Estruturas de Repetição

Linguagem C Estruturas de Repetição Linguagem C Estruturas de Repetição José Gustavo de Souza Paiva Introdução Como fazer um programa que mostre na tela os 4 primeiros números ímpares? Primeira solução printf( 1 ); printf( 3 ); printf( 5

Leia mais

Introdução à Programação Estruturada Parte 2. Material da Prof. Ana Eliza

Introdução à Programação Estruturada Parte 2. Material da Prof. Ana Eliza Introdução à Programação Estruturada Parte 2 Material da Prof. Ana Eliza programa Passo 1: Definir o problema O que fazer? Passo 2: Especificar a solução Como fazer? Passo 3: Codificar a solução Passo

Leia mais

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO E DO DESPORTO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CEFET-MG UNIDADE DE ENSINO

SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO E DO DESPORTO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CEFET-MG UNIDADE DE ENSINO SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO E DO DESPORTO CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DE MINAS GERAIS CEFET-MG UNIDADE DE ENSINO DESCENTRALIZADA DE VARGINHA CAMPUS VIII 1 Algoritmo, Contexto

Leia mais

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE)

ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Algoritmos e Estruturas de Dados 1 Prof. Eduardo 1 ALGORITMOS COM SELEÇÃO 1 - ESTRUTURA CONDICIONAL (ESTRUTURAS DE CONTROLE) Já vimos entrada, processamento e saída, que compõem os algoritmos puramente

Leia mais

5 Funções. Site: BAC004 at Source page: 5 Funções at

5 Funções. Site: BAC004 at   Source page: 5 Funções at 5 Funções Site: BAC004 at http://bac004.wikidot.com Source page: 5 Funções at http://bac004.wikidot.com/funcoes Fold Table of Contents 5.1 Funções Sem Passagem de Parâmetros e Sem Retorno Exemplo 1 Chamada

Leia mais

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes

Aula 12: Funções. CI208 - Programação de Computadores. Prof. MSc. Diego Roberto Antunes CI208 - Programação de Computadores Aula 12: Funções Prof. MSc. Diego Roberto Antunes diegor@inf.ufpr.br www.inf.ufpr.br/diegor Universidade Federal do Paraná Setor de Ciências Exatas Departamento de Informática

Leia mais

Aula 16: Laços aninhados e desvios

Aula 16: Laços aninhados e desvios Aula 16: Laços aninhados e desvios Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Comandos de Repetição (Parte

Leia mais

Conhecendo a Linguagem de Programação C

Conhecendo a Linguagem de Programação C Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Conhecendo a Linguagem de Programação C DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Como

Leia mais

Programação : Engenharia Informática 6619 : Tecnologias e Sistemas de Informação. Cap. 6 Subprogramas I Subprogramas I

Programação : Engenharia Informática 6619 : Tecnologias e Sistemas de Informação. Cap. 6 Subprogramas I Subprogramas I Programação 11543 : Engenharia Informática 6619 : Tecnologias e Sistemas de Informação Cap. 6 Subprogramas I Subprogramas I Sumário: Modelo de programação imperativa revisitado Relação hierárquica entre

Leia mais

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU Aula 5 Oficina de Programação Introdução ao C Profa. Elaine Faria UFU - 2017 Linguagem de Programação Para que o computador consiga ler um programa e entender o que fazer, este programa deve ser escrito

Leia mais

Algoritmos II Aula 11 Funções e Procedimentos

Algoritmos II Aula 11 Funções e Procedimentos Algoritmos II Aula 11 Funções e Procedimentos Professor: Max Pereira max.pereira@unisul.br Ciência da Computação Programação Estruturada ou Programação Modular 1960 crise do software; Programas grandes

Leia mais

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 05 Subprogramas I

Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre. T. 05 Subprogramas I Programação Mestrado Integrado em Engenharia Aeronáutica 1º ano, 1º semestre T. 05 Subprogramas I Sumário: Modelo de programação imperativa revisitado Relação hierárquica entre funções Diagrama de sintaxe

Leia mais

LISTA DE EXERCÍCIOS: 1ª Unidade

LISTA DE EXERCÍCIOS: 1ª Unidade LISTA DE EXERCÍCIOS: 1ª Unidade 1) Dado o trecho de código a seguir, qual será a saída se as entradas forem, respectivamente: A) 0 e 1 B) 2 e 3 C) 1 e 1 #include int main(){ float num1, num2;

Leia mais

LP II Estrutura de Dados

LP II Estrutura de Dados LP II Estrutura de Dados Linguagem C Seleção e Repetição Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Estruturas de Seleção Simples Composta Aninhada Estruturas de

Leia mais

As funções são blocos de instruções que facilitam o entendimento do código. Sua sintaxe é:

As funções são blocos de instruções que facilitam o entendimento do código. Sua sintaxe é: Linguagem C-Funções Objetivos No primeiro capítulo foi dito que um programa em C pode ser composto de uma ou mais funções, sendo que a única obrigatória é main (). Agora, estudaremos como utilizar outras

Leia mais

Apontadores/ponteiros

Apontadores/ponteiros Apontadores/ponteiros 1 Apontadores/ponteiros 1. Um ponteiro pode ser manipulado como sendo um vetor. #include int v[5] = { 10, 20, 30, 40, 50 ; int p, i; p = v; for (i = 1; i < 5; i++) printf

Leia mais

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Programação em C Variáveis e Expressões DCA0800 Algoritmos e Lógica de Programação Heitor Medeiros Florencio

Leia mais

Variáveis, Tipos de Dados e Operadores

Variáveis, Tipos de Dados e Operadores ! Variáveis, Tipos de Dados e Operadores Engenharias Informática Aplicada 2.o sem/2013 Profa Suely (e-mail: smaoki@yahoo.com) VARIÁVEL VARIÁVEL É um local lógico, ligado a um endereço físico da memória

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição

Leia mais