Me todos Computacionais em Fı sica

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

Download "Me todos Computacionais em Fı sica"

Transcrição

1 Me todos omputacionais em Fı sica Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Segundo Semestre de 2012

2 Me todos omputacionais em Fı sica 1 Regras de 2 Func o es e Macros 3 de Varia vel 4 Trabalhando com Va rios

3 Estrutura de um Programa Estrutura dos programas feitos ate agora Entrada de Dados Soluc a o do Problema Impressa o do Resultado Algoritmo de Leitura Algoritmo p/ o Problema Algoritmo de Saı da

4 Estrutura de um Programa Estrutura dos programas feitos ate agora Entrada de Dados Soluc a o do Problema Impressa o do Resultado Algoritmo de Leitura Algoritmos p/ o Problema Algoritmo de Saı da Quando os programas se tornam mais complexos e necessa rio dividir o algoritmo em partes, que sera o tratadas separadamente Estrutura modular

5 Modulac a o do Programa omo modular? 1- Dividir um problema complexo em va rios problemas simples, dividindo o programa em partes que realizem tarefas especı ficas 2- Identificar e usar ferramentas ja existentes 3- Identificar tarefas especı ficas que sera o usadas frequentemente ao longo do programa e desenvolver uma ferramenta (func o es ou macros) para executa -la 4- lembrando que o co digo deve ser: 8 legı vel identado 8 documentado comenta rios 8 claro

6 Vantagens desse procedimento 8 simplifica a elaborac a o e manutenc a o do co digo (erros) 8 permite escrever func o es gene ricas (uso diversificado) 8 facilita o trabalho em equipe, com diferentes grupos trabalhando em cada mo dulo independentemente 8 Os erros sa o mais facilmente detetados

7 Func o es Ü Ja utilizamos va rias func o es da biblioteca padra o de entrada e saı da ou matema tica: scanf, printf, cos, sqrt

8 Func o es Ü Ja utilizamos va rias func o es da biblioteca padra o de entrada e saı da ou matema tica: scanf, printf, cos, sqrt Ü Tambe m construı mos uma func a o: main

9 Func o es Ü Ja utilizamos va rias func o es da biblioteca padra o de entrada e saı da ou matema tica: scanf, printf, cos, sqrt Ü Tambe m construı mos uma func a o: main Ü Podemos criar outras func o es A Sintaxe e :

10 Func o es Ü Ja utilizamos va rias func o es da biblioteca padra o de entrada e saı da ou matema tica: scanf, printf, cos, sqrt Ü Tambe m construı mos uma func a o: main Ü Podemos criar outras func o es A Sintaxe e : tipo nome (tipo1 var1, tipo2 var2,){ linhas de co digo return valor; } Exemplo: float energiainetica ( float m, float v ) { float resultado = 1/2 * m * v * v ; return resultado; }

11 Func o es Ü Ja utilizamos va rias func o es da biblioteca padra o de entrada e saı da ou matema tica: scanf, printf, cos, sqrt Ü Tambe m construı mos uma func a o: main Ü Podemos criar outras func o es A Sintaxe e : tipo nome (tipo1 var1, tipo2 var2,){ linhas de co digo return valor; } Exemplo: float energiainetica ( float m, float v ) { float resultado = 1/2 * m * v * v ; return resultado; } Ü Abra o programa /home/sandra/metomp/2012 2/Aula7/fatc

12 Usando Func o es 8 Ao chegar na chamada da func a o, a execuc a o de main e interrompida

13 Usando Func o es 8 Ao chegar na chamada da func a o, a execuc a o de main e interrompida 8 O valor do argumento, quando existe, e passado para a func a o, que executa suas linhas de comando ate encontrar um return

14 Usando Func o es 8 Ao chegar na chamada da func a o, a execuc a o de main e interrompida 8 O valor do argumento, quando existe, e passado para a func a o, que executa suas linhas de comando ate encontrar um return 8 A execuc a o da func a o e interrompida e o valor calculado, quando for o caso, e retornado e atribuı do a uma varia vel

15 Usando Func o es 8 Ao chegar na chamada da func a o, a execuc a o de main e interrompida 8 O valor do argumento, quando existe, e passado para a func a o, que executa suas linhas de comando ate encontrar um return 8 A execuc a o da func a o e interrompida e o valor calculado, quando for o caso, e retornado e atribuı do a uma varia vel 8 Observe que pode haver mais de um return

16 Usando Func o es 8 Ao chegar na chamada da func a o, a execuc a o de main e interrompida 8 O valor do argumento, quando existe, e passado para a func a o, que executa suas linhas de comando ate encontrar um return 8 A execuc a o da func a o e interrompida e o valor calculado, quando for o caso, e retornado e atribuı do a uma varia vel 8 Observe que pode haver mais de um return 8 A func a o pode aparecer em qualquer ordem dentro de um arquivo, mesmo antes de main, ou em arquivo separado, mas na o pode ser definida dentro de outra func a o

17 Proto tipo de uma Func a o Ü Uma func a o, como qualquer identificador, so pode ser utilizada depois de ser declarada

18 Proto tipo de uma Func a o Ü Uma func a o, como qualquer identificador, so pode ser utilizada depois de ser declarada Ü A declarac a o e feita atrave s da apresentac a o do proto tipo da func a o: tipo nome (tipo1 var1, tipo2 var2,);

19 Proto tipo de uma Func a o Ü Uma func a o, como qualquer identificador, so pode ser utilizada depois de ser declarada Ü A declarac a o e feita atrave s da apresentac a o do proto tipo da func a o: tipo nome (tipo1 var1, tipo2 var2,); Ü Normalmente as declarac o es ficam no comec o do arquivo, antes de main()

20 Proto tipo de uma Func a o Ü Uma func a o, como qualquer identificador, so pode ser utilizada depois de ser declarada Ü A declarac a o e feita atrave s da apresentac a o do proto tipo da func a o: tipo nome (tipo1 var1, tipo2 var2,); Ü Normalmente as declarac o es ficam no comec o do arquivo, antes de main() Ü omo para as demais declarac o es, os proto tipos sa o necessa rios para o compilador conferir se o uso da func a o esta correto Ex: double sin( double x ); // prototipo double x, y; y = sin(x);

21 Tipos de Func o es Ü podem retornar qualquer tipo de varia vel (int, float, double), menos arrays ou func o es

22 Tipos de Func o es Ü podem retornar qualquer tipo de varia vel (int, float, double), menos arrays ou func o es Ü A expressa o que aparece em return valor deve ser do tipo da func a o

23 Tipos de Func o es Ü podem retornar qualquer tipo de varia vel (int, float, double), menos arrays ou func o es Ü A expressa o que aparece em return valor deve ser do tipo da func a o Ü Podem tambe m na o retornar nada Neste caso o tipo e void void saida(int n, double fat){ printf( %d! = %0f\n,n,fat); }

24 Tipos de Func o es Ü podem retornar qualquer tipo de varia vel (int, float, double), menos arrays ou func o es Ü A expressa o que aparece em return valor deve ser do tipo da func a o Ü Podem tambe m na o retornar nada Neste caso o tipo e void void saida(int n, double fat){ printf( %d! = %0f\n,n,fat); } Ü Os nomes das varia veis na definic a o (proto tipo), na chamada e no corpo da func a o sa o so refere ncias void saida(int m, double fato); proto tipo saida(n, nfatorial); chamada da func a o void saida(int n, double fat){ } a func a o

25 Passagem por Valor Em na o e a varia vel que e passada a func a o, mas sim o seu valor #include <stdioh> double fatorial (int n); int main{ double fatorial; int n=5; nfatorial = fatorial(n); printf ("O fatorial de %d eh %lf\n",n, nfatorial) return 0; } double fatorial (int n){ double fat = 10; for ( ; n > 1; n--) fat = fat * n; return fat; } O valor de n foi alterado na func a o fatorial, mas na o em main

26 Passagem de Array Para um array, o que e passado e o enderec o do inı cio do vetor

27 Passagem de Array Para um array, o que e passado e o enderec o do inı cio do vetor Neste caso, ao alterar o array na func a o, o valor em main tambe m e alterado void inicializa (double a[], int m); main { inicializa(r, n); } void inicializa (double v[], int d){ int i; for (i = 0; i < d; i++) v[i] = i; }

28 Passagem de Array Para um array, o que e passado e o enderec o do inı cio do vetor Neste caso, ao alterar o array na func a o, o valor em main tambe m e alterado void inicializa (double a[], int m); main { inicializa(r, n); } void inicializa (double v[], int d){ int i; for (i = 0; i < d; i++) v[i] = i; } Analise o programa farrayc

29 Macros Se a func a o puder ser escrita em uma so linha podemos usar MAROS sa o mais eficientes #define F(x) (5*(cos((x)*(x)-1)-1/2)) x pode ser um nu mero, uma varia vel ou uma expressa o mais complexa Sempre que F(x) for encontrado, ele sera substituı do por (5*(cos((x)*(x)-1)-1/2)) pelo pre -processador

30 Exemplos de Macros #include <stdioh> #define SQR(x) #define UBE(a) #define MAXIMO(x,y) #define MINIMO(x,y) #define SOMA(x,y) ((x)*(x)) ((a)*(a)*(a)) (((x) > (y))? (x) : (y)) (((x) < (y))? (x) : (y)) x+y // Definicao errada

31 Exemplos de Macros #include <stdioh> #define SQR(x) #define UBE(a) #define MAXIMO(x,y) #define MINIMO(x,y) #define SOMA(x,y) ((x)*(x)) ((a)*(a)*(a)) (((x) > (y))? (x) : (y)) (((x) < (y))? (x) : (y)) x+y // Definicao errada main(){ double x = -50, y = 100; printf("sqr(x) = %f\n", SQR(x)); printf("ube(x) = %f\n", UBE(x)); printf("maximo(x,y) = %f\n", MAXIMO(x,y)); printf("minimo(x,y) = %f\n", MINIMO(x,y)); printf("dobro de x+y = %f\n", 2*SOMA(x,y));//Errado }

32 Exemplos de Macros #include <stdioh> #define SQR(x) #define UBE(a) #define MAXIMO(x,y) #define MINIMO(x,y) #define SOMA(x,y) ((x)*(x)) ((a)*(a)*(a)) (((x) > (y))? (x) : (y)) (((x) < (y))? (x) : (y)) x+y // Definicao errada main(){ double x = -50, y = 100; printf("sqr(x) = %f\n", SQR(x)); printf("ube(x) = %f\n", UBE(x)); printf("maximo(x,y) = %f\n", MAXIMO(x,y)); printf("minimo(x,y) = %f\n", MINIMO(x,y)); printf("dobro de x+y = %f\n", 2*SOMA(x,y));//Errado } SQR(x) = 250 UBE(x) = MAXIMO(x,y) = 100 MINIMO(x,y) = -50 2*SOMA(x,y) = 00 (e na o 100!)

33 Func a o como Argumento Ü Uma func a o pode ter como argumento uma outra func a o

34 Func a o como Argumento ÜUma func a o pode ter como argumento uma outra func a o Ü Exemplo de proto tipo void tabela( double xi, double xf, double dx, double (*f)( double x ) );

35 Func a o como Argumento ÜUma func a o pode ter como argumento uma outra func a o Ü Exemplo de proto tipo void tabela( double xi, double xf, double dx, double (*f)( double x ) ); Ü o asterisco indica que estamos fornecendo o enderec o (ponteiro) da func a o Ü na o se esquec a dos pare nteses

36 Func a o como Argumento ÜUma func a o pode ter como argumento uma outra func a o Ü Exemplo de proto tipo void tabela( double xi, double xf, double dx, double (*f)( double x ) ); Ü o asterisco indica que estamos fornecendo o enderec o (ponteiro) da func a o Ü na o se esquec a dos pare nteses Ü no programa, f pode ser substituı do por qualquer func a o double, de bibliotecas ou definida pelo usua rio, que tenha um argumento do tipo double

37 Func a o como Argumento ÜUma func a o pode ter como argumento uma outra func a o Ü Exemplo de proto tipo void tabela( double xi, double xf, double dx, double (*f)( double x ) ); Ü o asterisco indica que estamos fornecendo o enderec o (ponteiro) da func a o Ü na o se esquec a dos pare nteses Ü no programa, f pode ser substituı do por qualquer func a o double, de bibliotecas ou definida pelo usua rio, que tenha um argumento do tipo double tabela(10,160,10,sqrt);

38 Func a o como Argumento ÜUma func a o pode ter como argumento uma outra func a o Ü Exemplo de proto tipo void tabela( double xi, double xf, double dx, double (*f)( double x ) ); Ü o asterisco indica que estamos fornecendo o enderec o (ponteiro) da func a o Ü na o se esquec a dos pare nteses Ü no programa, f pode ser substituı do por qualquer func a o double, de bibliotecas ou definida pelo usua rio, que tenha um argumento do tipo double tabela(10,160,10,sqrt); tabela(10,160,10,minhafuncao);

39 Func a o como Argumento - um Exemplo void tabela( double xi, double xf, double dx, double (*f)( double x ) ); main { tabela(10,160,10,sqrt); } void tabela( double xi, double xf, double dx, double (*f)(double x )){ double x; for(x=xi; x<=xf; x = x + dx) printf("%5f %5f\n",x,f(x)); return; } Analise o programa tabelac

40 Func a o como Argumento - um Exemplo void tabela( double xi, double xf, double dx, double (*f)( double x ) ); main { tabela(10,160,10,sqrt); } void tabela( double xi, double xf, double dx, double (*f)(double x )){ double x; for(x=xi; x<=xf; x = x + dx) printf("%5f %5f\n",x,f(x)); return; } Analise o programa tabelac

41 de Varia veis de uma varia vel: a regia o do co digo em que uma varia vel e acessı vel 8 Varia veis locais - criadas dentro de uma func a o e so sa o vistas dentro dela 8 Varia veis globais - criadas fora das func o es

42 de Varia veis Locais Quando uma varia vel e criada dentro de uma func a o ela so e vista em seu interior, e uma varia vel local Existem dois tipos de varia veis locais: 8 automa ticas: elas deixam de existir quando a execuc a o da func a o e interrompida 8 esta ticas: o seu valor e preservado, mas tambe m so sa o acessı veis a func a o onde foram definidas Sintaxe: static int n; Veja o programa contarc 8 A criac a o de varia veis esta ticas e feita em tempo de compilac a o e deve-se inicializa -la na hora da declarac a o

43 de Varia veis Globais E possı vel definir varia veis que sejam acessı veis por va rias func o es, as varia veis globais 7 Sa o definidas fora (antes ou entre) das func o es 7 Sa o varia veis esta ticas permanecem na memo ria durante toda a execuc a o do programa 7 Sa o acessı veis do ponto da declarac a o ate o fim do arquivo Sa o vistas por todas as func o es definidas fisicamente abaixo delas 7 E uma maneira pra tica de fazer com que func o es diferentes compartilhem a mesma varia vel 7 uidado com o uso! Uma func a o pode alterar o valor de uma varia vel global por engano 7 Analise o programa var globalc

44 #include <stdioh> int soma (int i); int j = 5; main(){ int i = 1; printf ("j = %d\n", j); printf ("k = %d\n", k); // Erro: k ainda nao declarada printf ("l = %d\n", l); // Erro: l e local em soma() printf ("i+j+k+l = %d\n", soma(i)); } int k = 10; int soma(int i){ int l = 4; return i+j+k+l; }

45 onstantes Simbo licas 8 Frequentemente usamos o mesmo valor em diversas partes do programa E conveniente usarmos as constantes simbo licas Ex: #define VSOM 3400

46 onstantes Simbo licas 8 Frequentemente usamos o mesmo valor em diversas partes do programa E conveniente usarmos as constantes simbo licas Ex: #define VSOM Sempre que VSOM for encontrado, ele sera substituı do por 3400 pelo pre -processador

47 onstantes Simbo licas 8 Frequentemente usamos o mesmo valor em diversas partes do programa E conveniente usarmos as constantes simbo licas Ex: #define VSOM Sempre que VSOM for encontrado, ele sera substituı do por 3400 pelo pre -processador 8 Exemplo #define NDIM 3 int main(){ double r[ndim];

48 Exercı cio 8 Altere os programas que voce escreveu para encontrar raı zes de equac o es de forma a usar func o es 8 Para o programa da bissec a o crie duas func o es, uma para a equac a o, outra para o me todo da bissec a o Os argumentos da func a o bissec a o devem ser os limites entre os quais se esta buscando a raiz, a equac a o, a precisa o e o nu mero ma ximo de tentativas Um exemplo de proto tipo seria: double bissecao( double limit inf, double limit sup, double (*funcao)(double), double eps, int maxloop) 8 Para o programa que utiliza o me todo de Newton-Raphson, crie tre s func o es, uma para a equac a o, uma para a derivada e uma para o me todo Os argumentos da func a o devem ser o ponto inicial, a equac a o, a derivada, a precisa o e o n max de tentativas

49 Bissec a o #include <stdioh> #include <mathh> double f1( double x ); double bissect( double limit_inf, double limit_sup, double (*f)(double), double precisao); int npassos=0; main() { double x_min,x_max; /* limites do intervalo */ double raiz,precisao=1e-7; int maxloop = 100; /* numero maximo de tentativas */ printf ("----> eˆ(-x) - sin(pi*x/2) \n"); /* 0 e 1, 0 */ printf ("Entre com os valores inferior e superior do intervalo:\n "); printf (" (para o metodo da bissecao ) \n "); scanf ("%lf %lf", &x_min, &x_max); //Metodo da bissecao raiz = bissect( x_min, x_max, f1, precisao, maxloop ); printf (" A raiz encontrada pelo metodo da bissecao foi: %108f\n", raiz ); printf (" com %d tentativas \n",npassos); } double bissect( double limit_inf, double limit_sup, double (*f)(double), double precisao){ }

50 Bissec a o e NR #include <stdioh> #include <mathh> double f1( double x ); double bissect( double limit_inf, double limit_sup, double (*f)(double), double precisao); double NewtonRaphson( double xini, double (*f)(double), double (*df)(double), double precisao); int npassos=0; main() { double x_min,x_max; /* limites do intervalo */ double raizb,raizn,precisao=1e-7; int maxloop = 100; /* numero maximo de tentativas */ int npb, npn; printf ("----> eˆ(-x) - sin(pi*x/2) \n"); /* 0 e 1, 0 */ printf ("Entre com os valores inferior e superior do intervalo:\n "); printf (" (para o metodo da bissecao ) \n "); scanf ("%lf %lf", &x_min, &x_max); //Metodo da bissecao raizb = bissect( x_min, x_max, f1, precisao, maxloop ); printf (" A raiz encontrada pelo metodo da bissecao foi: %108f\n", raizb ); npb = npassos; printf (" com %d tentativas \n",npb); // Metodo de Newton-Paphson xini = x_min; raizn = NewtonRaphson ( xini, f1, df1, precisao, maxloop ); npn = npassos; printf (" A raiz encontrada pelo metodo de NR foi: %108f\n", raizn ); printf (" com %d tentativas \n",npn); }

51 Altere o programa para que o resultado seja apresentado como na seguinte tabela: Bissecao Newton-Raphson precisao tentativas xraiz tentativas xraiz

52 Divisa o do Programa em Va rios 8 Ja vimos como estruturar a lo gica de um programa atrave s de func o es e macros 8 Um programa grande, com va rios includes, proto tipos de func o es, macros e constantes simbo licas, torna-se rapidamente sujo, de difı cil leitura Regra de ouro da boa programac a o Um programa deve caber na tela do computador 8 Um programa deve ser dividido em va rios arquivos 8 Na o precisamos ter uma co pia da func a o em todos os programas principais 8 Podemos compilar apenas o arquivo modificado 8 func o es gene ricas (pex raiz de uma func a o) podem ser usadas em outros co digos 8 evitamos que sejam modificadas por engano

53 Divisa o do Programa em Va rios Tipos de arquivos: Ü de cabec alho (headers): conte m declarac o es de func o es e de varia veis globais, constantes simbo licas, macros, A extensa o do arquivo deve ser h

54 Divisa o do Programa em Va rios Tipos de arquivos: Ü de cabec alho (headers): conte m declarac o es de func o es e de varia veis globais, constantes simbo licas, macros, A extensa o do arquivo deve ser h Ü de implementac a o: onte m a implementac a o de func o es Podem ser adicionados na hora da compilac a o (arquivo fonte c)

55 Divisa o do Programa em Va rios Tipos de arquivos: Ü de cabec alho (headers): conte m declarac o es de func o es e de varia veis globais, constantes simbo licas, macros, A extensa o do arquivo deve ser h Ü de implementac a o: onte m a implementac a o de func o es Podem ser adicionados na hora da compilac a o (arquivo fonte c) ou podem ser compilados separadamente (o, a ou sl) e anexados aos outros na hora da montagem do programa (linker)

56 Divisa o do Programa em Va rios Tipos de arquivos: Ü de cabec alho (headers): conte m declarac o es de func o es e de varia veis globais, constantes simbo licas, macros, A extensa o do arquivo deve ser h Ü de implementac a o: onte m a implementac a o de func o es Podem ser adicionados na hora da compilac a o (arquivo fonte c) ou podem ser compilados separadamente (o, a ou sl) e anexados aos outros na hora da montagem do programa (linker) Ü O programa principal, com a func a o main (c)

57 Headers 8 Os headers sa o arquivos com a terminac a o h, como os ja conhecidos stdioh e mathh, que permitem a organizac a o dessas declarac o es e evitam que o programa se transforme em uma tripa 8 E para utiliza -los, no programa c usa-se o comando: #include "nome do headerh"

58 de Implementac a o e ompilac a o Ü os h devem ser incluı dos em cada arquivo em que as definic o es contidas no h sejam usadas

59 de Implementac a o e ompilac a o Ü os h devem ser incluı dos em cada arquivo em que as definic o es contidas no h sejam usadas Ü ompilando em um passo: gcc -o executavel principalc implementacao1c implementacao2c

60 de Implementac a o e ompilac a o Ü os h devem ser incluı dos em cada arquivo em que as definic o es contidas no h sejam usadas Ü ompilando em um passo: gcc -o executavel principalc implementacao1c implementacao2c Ü ompilando em va rios passos: Para compilar um arquivo de implementac a o isoladamente (u til para achar erros): gcc -c implementacao1c sera criado um arquivo chamado implementacao1o

61 de Implementac a o e ompilac a o Ü os h devem ser incluı dos em cada arquivo em que as definic o es contidas no h sejam usadas Ü ompilando em um passo: gcc -o executavel principalc implementacao1c implementacao2c Ü ompilando em va rios passos: Para compilar um arquivo de implementac a o isoladamente (u til para achar erros): gcc -c implementacao1c sera criado um arquivo chamado implementacao1o Ü Para compilar o programa main e criar o executa vel: gcc -o executavel principalc implementacao1o implementacao2c

62 Preparac a o de um Programa - Aula 2 8 Resolver o problema: Preparar algoritmos

63 Preparac a o de um Programa - Aula 2 Editor: programa *c 8 Resolver o problema: Preparar algoritmos 8 Escrever o programa: vi, gedit

64 Preparac a o de um Programa - Aula 2 Editor: programa *c Pre -processador: includes *i 8 Resolver o problema: Preparar algoritmos 8 Escrever o programa: vi, gedit 8 Pre -compilac a o: instruc o es com #

65 Preparac a o de um Programa - Aula 2 Editor: programa *c Pre -processador: includes *i ompilador: arquivo *o 8 Resolver o problema: Preparar algoritmos 8 Escrever o programa: vi, gedit 8 Pre -compilac a o: instruc o es com # 8 gcc -c funcao1c

66 Preparac a o de um Programa - Aula 2 Editor: programa *c Pre -processador: includes *i ompilador: arquivo *o Linker: bibliotecas executa vel 8 Resolver o problema: Preparar algoritmos 8 Escrever o programa: vi, gedit 8 Pre -compilac a o: instruc o es com # 8 gcc -c funcao1c 8 gcc -o programa programac funcao1c funcao2c -lm

67 Exemplo 8 ompare os programas contidos nos arquivos fatorial2c (sem func o es) e fatorial1c (com func o es) 8 Analise os arquivos usafatorialc, usafatorialh, entradac, cfatorialc e saidac 8 ompile as func o es separadamente: gcc -c cfatorialc gcc -c entradac gcc -c saidac gcc -o usafatorial usafatorialc entradao saidao cfatorialo -lm

68 Exercı cio 8 Separe as func o es do programa que determina as raı zes em diferentes arquivos 8 A saı da deve ser apresentada na forma da seguinte tabela: Bissecao Newton-Raphson precisao tentativas xraiz tentativas xraiz O programa principal devera estar no arquivo raizesc, o que escreve a tabela, tabelac, o com o me todo da bissec a o, bissecaoc e o com o me todo de Newton-Raphson, newtonraphsonc As func o es necessa rias devera o estar em um arquivo chamado funcao7c e devera o ser passadas por argumento Ao rodar o programa, o usua rio devera fornecer apenas 2 valores pelo teclado: os limites do intervalo no qual se encontra a raiz para o me todo da bissec a o O me todo de Newton-Raphson devera usar um desses valores como chute inicial para o valor da raiz 8 Use um arquivo header chamado raizesh para as definic o es globais

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica Me todos Computacionais em Fı sica Jose Helder Lopes Instituto de Fı sica Universidade Federal do Rio de Janeiro Segundo Semestre de 2016 Estrutura de um Programa Estrutura dos programas feitos ate agora

Leia mais

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica Me todos Computacionais em Fı sica Jose Helder Lopes e Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Primeiro Semestre de 2017 Estrutura de um Programa Estrutura dos programas

Leia mais

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica Me todos Computacionais em Fı sica Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Segundo Semestre de 2017 Estrutura de um Programa Estrutura dos programas feitos ate agora Entrada

Leia mais

facilita o trabalho em equipe, com diferentes grupos trabalhando em cada módulo independente.

facilita o trabalho em equipe, com diferentes grupos trabalhando em cada módulo independente. Estruturação do Programa Queremos organizar um programa de forma a: dividi-lo em partes que realizem tarefas específicas, resumindo um problema complexo a vários problemas mais simples simplifica a elaboração

Leia mais

Métodos Computacionais em Física

Métodos Computacionais em Física Métodos Computacionais em Física Tatiana G. Rappoport tgrappoport@if.ufrj.br 2014-2 Determinação das raizes de uma função Em muitos problemas é necessáŕio encontrar a solução da equação f(x) = 0 e frequentemente

Leia mais

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica Me todos Computacionais em Fı sica : Revisa o do Jose Helder Lopes Instituto de Fı sica Universidade Federal do Rio de Janeiro Segundo Semestre de 2016 : Revisa o do Ü Conhecemos: y 0 (x) = f (x, y) e

Leia mais

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica Me todos omputacionais em Fı sica s Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Segundo Semestre de 2017 Estruturas de Decisa o e lac os () Ü Nos algoritmos que vimos ate agora,

Leia mais

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica Me todos omputacionais em Fı sica Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Primeiro Semestre de 2012 Me todos omputacionais em Fı sica 1 A Linguagem Estruturas de Decisa

Leia mais

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica Me todos omputacionais em Fı sica s Jose Helder Lopes e Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Primeiro Semestre de 2017 Estruturas de Decisa o e lac os () s Ü Nos algoritmos

Leia mais

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica Me todos omputacionais em Fı sica Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Primeiro Semestre de 2011 Me todos omputacionais em Fı sica 1 da 2 A Linguagem Programa que escolhe

Leia mais

Me todos Computacionais em Fı sica Lac os: for X while I/O Entrada e Saı da Escrevendo em Arquivos Lendo de Arquivos

Me todos Computacionais em Fı sica Lac os: for X while I/O Entrada e Saı da Escrevendo em Arquivos Lendo de Arquivos Me todos omputacionais em Fı sica Lendo de Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Segundo Semestre de 2017 Lendo de int, long int: Inteiros: ontadores, indices,... float,

Leia mais

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica Me todos Computacionais em Fı sica Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Segundo Semestre de 2017 Os sistemas Fı sicos podem ser: Os sistemas Fı sicos podem ser: Ü determinı

Leia mais

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica Me todos Computacionais em Fı sica Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Segundo Semestre de 2017 Determinac a o de por Me todos Nume ricos Em muitos problemas e necessa

Leia mais

CURSO BÁSICO DE PROGRAMAÇÃO AULA 14. Funções e procedimentos

CURSO BÁSICO DE PROGRAMAÇÃO AULA 14. Funções e procedimentos CURSO BÁSICO DE PROGRAMAÇÃO AULA 14 Funções e procedimentos Introdução Problemas complexos exigem algoritmos complexos; Quanto mais complexo o algoritmo, mais difícil é escrevê-lo; Solução: uso de funções

Leia mais

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica Me todos omputacionais em Fı sica : Literais : Varia veis Jose Helder Lopes e Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Primeiro Semestre de 017 O que e um Programa : Literais

Leia mais

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica Me t omp Me todos omputacionais em Fı sica Jose Helder Lopes Instituto de Fı sica Universidade Federal do Rio de Janeiro Segundo Semestre de 2016 Programa que escolhe o maior - Sem lac o Me t omp #include

Leia mais

Linguagem C: diretivas, compilação separada. Prof. Críston Algoritmos e Programação

Linguagem C: diretivas, compilação separada. Prof. Críston Algoritmos e Programação Linguagem C: diretivas, compilação separada Prof. Críston Algoritmos e Programação Diretivas do pré processador Permite que o programador modifique a compilação O pré processador é um programa que examina

Leia mais

ponteiros INF Programação I Prof. Roberto Azevedo

ponteiros INF Programação I Prof. Roberto Azevedo ponteiros INF1005 -- Programação I -- 2016.1 Prof. Roberto Azevedo razevedo@inf.puc-rio.br ponteiros tópicos o que são ponteiros operadores usados com ponteiros passagem de ponteiros para funções referência

Leia mais

Linguagem C. André Tavares da Silva.

Linguagem C. André Tavares da Silva. Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Variáveis Posição nomeada de memória que é usada para guardar um valor que pode ser modificado pelo programa. Todas as variáveis devem ser

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

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

Me todos Computacionais em Fı sica gnuplot

Me todos Computacionais em Fı sica gnuplot Me todos omputacionais em Fı sica Jose Helder Lopes e Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Primeiro Semestre de 2017 : Motivac a o Determinar o mo dulo ~x do vetor de

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

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

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica Me todos Computacionais em Fı sica Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Segundo Semestre de 017 Ca lculo de I = lim N N X Z f (xi ) xi = xi = f (x)dx a i=1 onde b a

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

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal ALGORITMOS AULA 01 Baseado nas aulas do Prof. Jorgiano Vidal LINGUAGEM C Uma das grandes vantagens do C é que ele possui tanto caracterìsticas de "alto nìvel" quanto de "baixo nìvel". Linguagem de propósito

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

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

Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C.

Estruturas de repetição. Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C. capa Estruturas de repetição Objetivos: - Compreender diversos tipos de comandos de repetições disponíveis na linguagem C. - Aprender a implementar algoritmos em C com laços de repetições. Estruturas de

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

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

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa 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

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

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

3.1 - Funções para manipular dados de entrada e saída padrão

3.1 - Funções para manipular dados de entrada e saída padrão 1616161616161616161616161616161616161616161616161616 3- ENTRADA E SAÍDA EM C Os principais meios para executar operações de entrada e saída (E/S) são: Entrada e saída pelo console (ou padrão): teclado

Leia mais

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Introdução Copyright 2014 IFRN Agenda Conceitos básicos ANSI C Hello World Funções em C Exercícios 2 /26 A linguagem

Leia mais

Segundo programa: media.c

Segundo programa: media.c Segundo programa: media.c Vamos analisar um programa que calcula a média ponderada entre dois números: media.c Linhas de comentário: Num arquivo com o código de um programa C (código fonte), um comentário

Leia mais

Lista de exercícios estrutura de repetição FOR e While. 3. Criar um algoritmo que imprima a soma dos nu meros pares de 230 a 520..

Lista de exercícios estrutura de repetição FOR e While. 3. Criar um algoritmo que imprima a soma dos nu meros pares de 230 a 520.. Lista de exercícios estrutura de repetição FOR e While 1. Fac a um algoritmo que escreva os nu meros inteiros de 100 a 1. 2. Crie um algoritmo que leia N nu meros e para cada nu mero digitado imprima,

Leia mais

Aula 10: Funções (Parte III)

Aula 10: Funções (Parte III) Aula 10: Funções (Parte III) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Baseado nos slides do Prof. Guillermo Cámara-Chávez Aulas anteriores Funções Ponteiros

Leia mais

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica Me todos omputacionais em Fı sica Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Segundo Semestre de 2012 Me todos omputacionais em Fı sica 1 A Linguagem Varia veis Indexadas

Leia mais

Computadores Digitais 2. Prof. Rodrigo de Souza Couto

Computadores Digitais 2. Prof. Rodrigo de Souza Couto Computadores Digitais 2 Linguagens de Programação DEL-Poli/UFRJ Prof. Miguel Campista Aula de Hoje Funções padrão do C Definição de funções Pilha de execução Ponteiros de variáveis Variáveis globais Variáveis

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

Métodos Computacionais. Funções, Escopo de Variáveis e Ponteiros

Métodos Computacionais. Funções, Escopo de Variáveis e Ponteiros Métodos Computacionais Funções, Escopo de Variáveis e Ponteiros Tópicos da Aula Hoje vamos detalhar funções em C Escrevendo funções Comando return Passagem de argumentos por valor Execução de uma função

Leia mais

Introdução à Programação. Funções e Escopo de Variáveis

Introdução à Programação. Funções e Escopo de Variáveis Introdução à Programação Funções e Escopo de Variáveis Funções em C Funções constituem programas em C 2 Tópicos da Aula Hoje vamos detalhar funções em C Importância Escrevendo funções Comando return Passagem

Leia mais

Laboratório de Introdução à Ciência da Computação I

Laboratório de Introdução à Ciência da Computação I Laboratório de Introdução à Ciência da Computação I Aula 1 - Estrutura Sequencial Professores: Vanderlei Bonato (responsável) - vbonato@icmc.usp.br Roberto de M. F. Filho (aluno PAE) - rmdff@icmc.usp.br>

Leia mais

Laboratório de Introdução à Ciência da Computação I

Laboratório de Introdução à Ciência da Computação I Laboratório de Introdução à Ciência da Computação I Aula 1 - Estrutura Sequencial Professores: Vanderlei Bonato (responsável) - vbonato@icmc.usp.br Luiz Henrique Kiehn (aluno PAE) - lhkiehn@icmc.usp.br

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

#include <stdio.h> main() { int i; // Cabeçalho for (i = 1; i <=20; i++) putchar( * ); putchar( \n ); puts( Numeros entre 1 e 5 );

#include <stdio.h> main() { int i; // Cabeçalho for (i = 1; i <=20; i++) putchar( * ); putchar( \n ); puts( Numeros entre 1 e 5 ); O todo é igual à soma das partes. Euclides. FUNÇÕES E PROCEDIMENTOS Embora sem saber, ao longo dos outros laboratórios, já foram utilizadas funções tais como printf, scanf, getchar, putchar, dentre outras

Leia mais

#include <stdio.h> void Swap (int *a,int *b) { int temp; temp=*a; *a=*b; *b=temp; } main () {

#include <stdio.h> void Swap (int *a,int *b) { int temp; temp=*a; *a=*b; *b=temp; } main () { 422 #include void Swap (int *a,int *b) int temp; temp=*a; *a=*b; *b=temp; main () int num1,num2; printf("\nentre com o primeiro valor: "); scanf ("%d",&num1); printf("\nentre com o segundo valor:

Leia mais

Departamento de Engenharia Informática. Sistemas Operativos 1. Utilitário Make

Departamento de Engenharia Informática. Sistemas Operativos 1. Utilitário Make Departamento de Engenharia Informática Sistemas Operativos 1 Utilitário Make Março 2003 1. Modelo de Compilação da Linguagem C Compilar um programa muito simples em C requer, pelo menos, o ficheiro de

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5

Leia mais

INF 1620 P1-04/10/03 Questão 1 Nome:

INF 1620 P1-04/10/03 Questão 1 Nome: INF 1620 P1-04/10/03 Questão 1 a) Implemente uma função para calcular as raízes de uma equação do segundo grau do tipo ax 2 +bx+c=0. O protótipo dessa função deve ser: void raizes (float a, float b, float

Leia mais

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná

Linguagem C. IF61A/IF71A - Computação 1 Prof. Leonelo Almeida. Universidade Tecnológica Federal do Paraná Linguagem C IF61A/IF71A - Computação 1 Prof. Leonelo Almeida Universidade Tecnológica Federal do Paraná Até agora... Sabemos construir algoritmos que tenham: Variáveis Comandos sequenciais Entrada e saída

Leia mais

Métodos Computacionais

Métodos Computacionais Métodos Computacionais Objetivos da Disciplina e Introdução a Linguagem C Construções Básicas Objetivos da Disciplina Objetivo Geral Discutir técnicas de programação e estruturação de dados para o desenvolvimento

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

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

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

Introdução à Linguagem C. Adaptado de Deise Saccol

Introdução à Linguagem C. Adaptado de Deise Saccol Introdução à Linguagem C Adaptado de Deise Saccol 1 Tradução CÓDIGO FONTE... LET SOMA = VAR1 + TOTAL... TRADUTOR CÓDIGO OBJETO... 00010110111001011001011010... MONTADOR (assembler) Tradutor para linguagens

Leia mais

16 Definição e Uso de Funções em Programas

16 Definição e Uso de Funções em Programas 16 Definição e Uso de Funções em Programas Ronaldo F. Hashimoto e Carlos H. Morimoto Nessa aula falaremos mais sobre funções. Veremos como declarar funções usando protótipos, como definir o corpo da função

Leia mais

Algoritmos RESUMO - LINGUAGEM C

Algoritmos RESUMO - LINGUAGEM C Algoritmos RESUMO - LINGUAGEM C 1 Sintaxe da linguagem C Componentes reconhecidos pela linguagem C (sintaxe da linguagem): tipos propriedades dos dados; declarações partes do programa, podendo dar significado

Leia mais

Linguagem C: funções e ponteiros. Prof. Críston Algoritmos e Programação

Linguagem C: funções e ponteiros. Prof. Críston Algoritmos e Programação Linguagem C: funções e ponteiros Prof. Críston Algoritmos e Programação Funções Recurso das linguagens de programação que permite dar um nome para um conjunto de instruções Facilita a reutilização de algoritmos

Leia mais

Introdução a Linguagem C

Introdução a Linguagem C Introdução a Linguagem C Professor: Juliano Lucas Gonçalves juliano.goncalves@ifsc.edu.br Agenda Histórico Estrutura básica de um programa em C Diretivas para o processador Bibliotecas Ambiente de desenvolvimento

Leia mais

SSC 0301 IC para Engenharia Ambiental

SSC 0301 IC para Engenharia Ambiental SSC 0301 IC para Engenharia Ambiental Tipos, variáveis e expressões Prof. Márcio Delamaro e Prof. Jorge Luiz e Silva delamaro@icmc.usp.br; jsilva@icmc.usp.br SSC 0301 IC para Engenharia Ambiental ICMC/USP

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

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

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

Introdução a Programação. Tipos Estruturados de Dados

Introdução a Programação. Tipos Estruturados de Dados Introdução a Programação Tipos Estruturados de Dados Tópicos da Aula Hoje aprenderemos a trabalhar com tipos de dados mais complexos Tipos Primitivos x Tipos Estruturados Conceito de Tipos Estruturados

Leia mais

O que é a modularização

O que é a modularização capa O que é a modularização Código Modularizado Código Não Modularizado Modularização Porque modularizar um código? -Decompor uma tarefa complexa em tarefas menores e de fácil solução. -Fazer uso da técnica

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Organização de um programa Copyright 2014 IFRN Agenda Escopo de variáveis Local Global Macros #define Organizando

Leia mais

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara

FUNÇÕES EM C Material adaptado da profa Silvana Maria Affonso de Lara Universidade do Estado de Minas Gerais - UEMG Curso de Engenharia da Computação FUNÇÕES EM C 1 Material adaptado da profa Silvana Maria Affonso de Lara ROTEIRO DA AULA Definição de Função Argumentos, retornos

Leia mais

Disciplina de Algoritmos e Programação

Disciplina de Algoritmos e Programação Disciplina de Algoritmos e Programação Aula Passada Prática com declaração e inicialização de variáveis Capacidade de representação (estouro de representação) Tamanho ocupado pela variável na memória (comando

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

INF 1620 P1-16/09/06 Questão 1 Nome:

INF 1620 P1-16/09/06 Questão 1 Nome: INF 1620 P1-16/09/06 Questão 1 Considerando a fórmula para o cálculo da distância entre dois pontos (x 1, y 1 ) e (x 2, y 2 ) apresentada a seguir: d = (x 2 " x 1 ) 2 + (y 2 " y 1 ) 2 (a) Escreva uma função

Leia mais

Estruturas de Dados. Módulo 4 Funções. 9/8/2005 (c) Dept. Informática - PUC-Rio 1

Estruturas de Dados. Módulo 4 Funções. 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Estruturas de Dados Módulo 4 Funções 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)

Leia mais

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C

PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C PROGRAMAÇÃO INSTRUÇÕES DA LINGUAGEM C 1 Instruções de Entrada Entrada/Leitura de dados Introduzir um valor inteiro/real para X 2 Instruções de Entrada Entrada/Leitura de dados Introduzir um valor inteiro/real

Leia mais

Funções - Variáveis globais

Funções - Variáveis globais - Variáveis globais Variáveis globais são declaradas fora de todas as funções do programa. Elas são conhecidas e podem ser alteradas por todas as funções do programa. Quando uma função tem uma variável

Leia mais

Recurso muito poderoso. Mas deve-se fazê-lo com muito cuidado

Recurso muito poderoso. Mas deve-se fazê-lo com muito cuidado Ponteiros e Alocação dinâmica de memória Acesso direto à memória Recurso muito poderoso Nao há como não usá-lo frequentemente Mas deve-se fazê-lo com muito cuidado É a principal fonte de erros e são os

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

Introdução à Linguagem C

Introdução à Linguagem C Introdução à Linguagem C 1 Histórico da Linguagem C Criada por Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix C++ é uma extensão da linguagem C O sistema Unix é escrito

Leia mais

Estrutura de Programas e Tipos de Dados Simples

Estrutura de Programas e Tipos de Dados Simples SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Estrutura de Programas e Tipos de Dados Simples Prof. Vanderlei Bonato: vbonato@icmc.usp.br Prof. Claudio Fabiano Motta Toledo: claudio@icmc.usp.br

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

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

Computação eletrônica: Funções

Computação eletrônica: Funções Computação eletrônica: Gurvan Huiban ghuiban@cin.ufpe.br 13 de maio de 2014 Plano de aula 1 Princípio 2 Declaração de funções 3 Escope de variáveis Introdução O que é? Bloco de instruções desenvolvido

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

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06 Disciplina: Linguagem de Programação C Profª Viviane Todt Diverio Funções, variáveis, parâmetros formais

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

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

Me todos Computacionais em Fı sica

Me todos Computacionais em Fı sica Me todos Computacionais em Fı sica Sandra Amato Instituto de Fı sica Universidade Federal do Rio de Janeiro Segundo Semestre de 2012 Me todos Computacionais em Fı sica Preparac a o de Textos Em Fı sica

Leia mais

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes Introdução à Programação Introdução a Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Introdução Variáveis Tipos de dados Operadores e Expressões: Operadores

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

Ponteiros e Tabelas. K&R: Capítulo 5

Ponteiros e Tabelas. K&R: Capítulo 5 Ponteiros e Tabelas K&R: Capítulo 5 Ponteiros e Tabelas Ponteiros e endereços Ponteiros e argumentos de funções Ponteiros e tabelas Alocação dinâmica de memória Aritmética de ponteiros Tabelas de ponteiros

Leia mais

16. Compilação no Linux

16. Compilação no Linux 16. Compilação no Linux 16.1 Compilador X Interpretador Um código fonte pode ser compilado ou interpretado. Compiladores e interpretadores tratam o código de maneira diferente. Interpretador: Lê o código

Leia mais