Curso de C. Procedimentos e Funções. 6/4/200901/04/09 09:42 Copyright@Arnaldo V Moura, Daniel F Ferber 1

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

Download "Curso de C. Procedimentos e Funções. 6/4/200901/04/09 09:42 Copyright@Arnaldo V Moura, Daniel F Ferber 1"

Transcrição

1 Curso de C Procedimentos e Funções 6/4/200901/04/09 09:42 Copyright@Arnaldo V Moura, Daniel F Ferber 1

2 Funções Roteiro: Funções Declaração e chamada Funções importantes Exemplos de funções Variáveis Globais, locais e parâmetros 6/4/200901/04/09 09:42 2

3 Funções O que são funções O porquê de usá-las 6/4/200901/04/09 09:42 3

4 Funções Funções: São um trechos de código fora do programa principal Implementam um subalgoritmo do programa São utilizadas (chamadas) em diversos pontos do programa 6/4/200901/04/09 09:42 4

5 Funções Vantagens: Organiza o código: Cada função é um algoritmo Dividir um programa complicado em várias funções simples Evita repetição de código semelhante Escrever o código apenas uma vez Usar a mesma função várias vezes para variáveis diferentes Simplifica e agiliza a programação 6/4/200901/04/09 09:42 5

6 Funções Exemplo: comparar a média das duas melhores notas do aluno A e do aluno B Algoritmo: Ler 3 notas dos alunos A e B Calcular a média de A Calcular a média de B Comparar as médias Imprimir resultados 6/4/200901/04/09 09:42 6

7 Funções Alguns problemas no exemplo Ler 3 notas dos alunos A e B Calcular a média de A Calcular a média de B Comparar as médias Imprimir resultados 6/4/200901/04/09 09:42 7

8 Funções Alguns problemas no exemplo Ler 3 notas dos alunos A e B Calcular a média de A Calcular a média de B Comparar as médias Imprimir resultados Repetição do do mesmo algoritmo 6/4/200901/04/09 09:42 8

9 Funções Alguns problemas no exemplo Ler 3 notas dos alunos A e B Calcular a média de A Calcular a média de B Comparar as médias Imprimir resultados Repetição do do mesmo algoritmo Solução: Uma função genérica para calcular a média 6/4/200901/04/09 09:42 9

10 Funções Alguns problemas no exemplo Ler 3 notas dos alunos A e B Calcular a média de A Calcular a média de B Comparar as médias Imprimir resultados Funcoes\Nota01\Nota01.vcproj 6/4/200901/04/09 09:42 10

11 Ler 3 notas dos alunos A e B Calcular a média de A Calcular a média de B Comparar as médias Imprimir resultados Funções Alguns problemas no exemplo Programa principal mistura vários algoritmos: Leitura Cálculo de de média média Comparação Impressão Funcoes\Nota01\Nota01.vcproj 6/4/200901/04/09 09:42 11

12 Ler 3 notas dos alunos A e B Calcular a média de A Calcular a média de B Comparar as médias Imprimir resultados Funções Alguns problemas no exemplo Programa principal mistura vários algoritmos: Leitura Cálculo de de média média Comparação Impressão Funcoes\Nota01\Nota01.vcproj Solução: Uma função para cada algoritmo 6/4/200901/04/09 09:42 12

13 Funções Chamada de Funções 6/4/200901/04/09 09:42 13

14 Funções Chamada de função: 1. Interrupção do programa principal 2. Passagem de dados de entrada para a função 3. Execução do código da função 4. Retorno do resultado 5. Continuação do programa principal Programa principal Instruções C 6/4/200901/04/09 09:42 14

15 Funções Chamada de função: 1. Interrupção do programa principal 2. Passagem de dados de entrada para a função 3. Execução do código da função 4. Retorno do resultado 5. Continuação do programa principal Programa principal Instruções C chamada 6/4/200901/04/09 09:42 15

16 Funções Chamada de função: 1. Interrupção do programa principal 2. Passagem de dados de entrada para a função 3. Execução do código da função 4. Retorno do resultado 5. Continuação do programa principal Programa principal Instruções C chamada Dados de entrada Função 6/4/200901/04/09 09:42 16

17 Funções Chamada de função: 1. Interrupção do programa principal 2. Passagem de dados de entrada para a função 3. Execução do código da função 4. Retorno do resultado 5. Continuação do programa principal Programa principal Instruções C chamada Dados de entrada Função Resultado 6/4/200901/04/09 09:42 17

18 Funções Chamada de função: 1. Interrupção do programa principal 2. Passagem de dados de entrada para a função 3. Execução do código da função 4. Retorno do resultado 5. Continuação do programa principal Programa principal Instruções C chamada Instruções C Dados de entrada Função Resultado 6/4/200901/04/09 09:42 18

19 Chamada de função: Para chamar uma função: Funções sentença(s); resultado = nome(entr 1, entr 2, ); sentença(s); 6/4/200901/04/09 09:42 19

20 Chamada de função: Para chamar uma função: Funções sentença(s); resultado = nome(entr 1, entr 2, ); sentença(s); Nome da função 6/4/200901/04/09 09:42 20

21 Chamada de função: Para chamar uma função: Funções sentença(s); Valores de entrada (parâmetros) resultado = nome(entr 1, entr 2, ); sentença(s); Nome da função 6/4/200901/04/09 09:42 21

22 Chamada de função: Para chamar uma função: Funções sentença(s); Valores de entrada (parâmetros) resultado = nome(entr 1, entr 2, ); Resultado sentença(s); Nome da função 6/4/200901/04/09 09:42 22

23 Exemplo: Calcular distância entre dois pontos #include <stdio.h #include <math.h int int main(int argc, char *argv[]) { double x1, x1, x2, x2, y1, y1, y2, y2, d; d; scanf("%lf, %lf, %lf, %lf", &x1, &y1, &x2, &y2); d = sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)); printf("distância: %f", d); d); return 0 Funcoes\Chamada01\Chamada01.vcproj 6/4/200901/04/09 09:42 23

24 Exemplo: Calcular distância entre dois pontos #include <stdio.h #include <math.h int int main(int argc, char *argv[]) { double x1, x1, x2, x2, y1, y1, y2, y2, d; d; scanf("%lf, %lf, %lf, %lf", &x1, &y1, &x2, &y2); d = sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)); printf("distância: %f", d); d); return 0 Função Valores de entrada (parâmetros) Funcoes\Chamada01\Chamada01.vcproj 6/4/200901/04/09 09:42 24

25 Exemplo: Calcular distância entre dois pontos #include <stdio.h #include <math.h int int main(int argc, char *argv[]) { double x1, x1, x2, x2, y1, y1, y2, y2, d; d; scanf("%lf, %lf, %lf, %lf", &x1, &y1, &x2, &y2); d = sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)); printf("distância: %f", d); d); Interrompe o programa para executar sqrt return 0 Função Valores de entrada (parâmetros) Funcoes\Chamada01\Chamada01.vcproj 6/4/200901/04/09 09:42 25

26 Exemplo: Calcular distância entre dois pontos #include <stdio.h #include <math.h int int main(int argc, char *argv[]) { double x1, x1, x2, x2, y1, y1, y2, y2, d; d; scanf("%lf, %lf, %lf, %lf", &x1, &y1, &x2, &y2); d = sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)); printf("distância: %f", d); d); Interrompe o programa para executar sqrt return 0 Função Resultado Valores de entrada (parâmetros) Funcoes\Chamada01\Chamada01.vcproj 6/4/200901/04/09 09:42 26

27 Exemplo: Calcular distância entre dois pontos #include <stdio.h #include <math.h int int main(int argc, char *argv[]) { double x1, x1, x2, x2, y1, y1, y2, y2, d; d; scanf("%lf, %lf, %lf, %lf", &x1, &y1, &x2, &y2); d = sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)); Depois printf("distância: %f", d); d); Interrompe o programa para executar sqrt continua aqui return 0 Função Resultado Valores de entrada (parâmetros) Funcoes\Chamada01\Chamada01.vcproj 6/4/200901/04/09 09:42 27

28 Funções Definição de Funções 6/4/200901/04/09 09:42 28

29 Funções Definição de funções: tipo nome(parâmetros) { declarações de variáveis instruções; return valor; 6/4/200901/04/09 09:42 29

30 Funções Nome: Identifica o trecho de código da função O nome é usado na chamada Formação igual a nome de variável Nome da função tipo nome(parâmetros) { declarações instruções; return valor; 6/4/200901/04/09 09:42 30

31 Funções Nome: Nome da função: media media() { Declarações Instruções Corpo da função tipo nome(parâmetros) { declarações instruções; return valor; 6/4/200901/04/09 09:42 31

32 Parâmetros: Definir dados de entrada. São variáveis locais, declaradas e atribuídas na chamada da função. Lista de tipos e nomes. Funções Programa principal Dados de entrada Instruções C tipo nome(parâmetros) { declarações instruções; return valor; Função chamada Resultado Instruções C 6/4/200901/04/09 09:42 32

33 Parâmetros: Funções Lista de 3 parâmetros: Variáveis locais da função: floatnota1, nota2 e nota3 media(float nota1, float nota2, float nota3) { Declarações Instruções declarações instruções; return valor; tipo nome(parâmetros) { return valor; 6/4/200901/04/09 09:42 33

34 Ao chamar a função, o valor de cada parâmetro deve ser informado Regras: Funções Parâmetros na chamada de função: Um valor para cada parâmetro Valores compatíveis com o tipo do parâmetro Valores na mesma ordem que na declaração Chamada de de função: nome(parametro1, parametro2, ) 6/4/200901/04/09 09:42 34

35 Funções Parâmetros na chamada de função: float resultado; resultado = potencia(2.0f, 5.0f); Quando a função executa Declaração da função potencia: potencia(float base, float expoente) { // // Corpo da da função 6/4/200901/04/09 09:42 35

36 Funções Parâmetros na chamada de função: float resultado; resultado = potencia(2.0f, 5.0f); Quando a função executa base = 2.0f Declaração da função potencia: potencia(float base, float expoente) { // // Corpo da da função 6/4/200901/04/09 09:42 36

37 Funções Parâmetros na chamada de função: float resultado; resultado = potencia(2.0f, 5.0f); Quando a função executa base = 2.0f expoente = 5.0f Declaração da função potencia: potencia(float base, float expoente) { // // Corpo da da função 6/4/200901/04/09 09:42 37

38 Funções Parâmetros na chamada de função: Tipos: int, long int, char, float, etc São variáveis locais declaradas no corpo da função e que vão ser inicializadas com cópias dos valores correspondentes às expressões na chamada da função! maior_elemento(char c, c, int int tamanho) { // // Corpo da da função 6/4/200901/04/09 09:42 38

39 Função sem parâmetros: Funções Lista vazia de parâmetros funcaosemparametros() { Declarações Instruções Chamada de de função: funcaosemparametros() tipo nome() { declarações instruções; return valor; 6/4/200901/04/09 09:42 39

40 Funções Corpo da função: Código para o algoritmo da função. Declara variáveis locais, além dos parâmetros. Parâmetros são variáveis locais, já prédeclaradas. tipo nome(parâmetros) { declarações instruções; return valor; 6/4/200901/04/09 09:42 40

41 Funções Corpo da função: media(float nota1, float nota2, float nota3) { float media; if if ((nota1 <= <= nota2) && && (nota1 <= <= nota3)) { media = (nota2 + nota3) / 2.0f; else if if ((nota2 <= <= nota1) && && (nota2 <= <= nota3)) { media = (nota1 + nota3) / 2.0f; else { media = (nota1 + nota2) / 2.0f; 6/4/200901/04/09 09:42 41

42 Valor de retorno: Tipo da função: Funções Indica o domínio do resultado da função Qualquer tipo válido para variáveis Tipo da função tipo nome(parâmetros) { declarações instruções; return valor; Programa principal Instruções C chamada Instruções C Dados de entrada Resultado Função 6/4/200901/04/09 09:42 42

43 Valor de retorno: Funções Comando return Termina a execução da função. Define o resultado (valor de retorno). Deve ser compatível com o tipo da função. Valor do resultado tipo nome(parâmetros) { declarações instruções; return valor; Programa principal Dados de entrada Instruções C Função chamada Resultado Instruções C 6/4/200901/04/09 09:42 43

44 Funções Valor de retorno: float media(float nota1, float nota2, float nota3) { float media; if if ((nota1 <= <= nota2) && && (nota1 <= <= nota3)) { media = (nota2 + nota3) / 2.0f; else if if ((nota2 <= <= nota1) && && (nota1 <= <= nota3)) { media = (nota1 + nota3) / 2.0f; else { media = (nota1 + nota2) / 2.0f; return media; 6/4/200901/04/09 09:42 44

45 Funções Função sem valor de retorno: void comparanotas(float mediaa, float mediab) { if if (mediaa mediab) { printf("aluno A"); else if if (mediaa < mediab) { printf("aluno B"); else { printf( Alunos A e B"); return; Tipo de retorno: void Esta função não retorna resultado. 6/4/200901/04/09 09:42 45

46 Funções Exemplo completo: programa principal int int main(int argc, char char *argv[]) { float notaa1, notaa2, notaa3, mediaa; float notab1, notab2, notab3, mediab; scanf("%f %f %f%f", %f",&notaa1, &notaa2, &notaa3); scanf("%f %f %f%f", %f",&notab1, &notab2, &notab3); mediaa = mediamelhoresnotas(notaa1, notaa2, notaa3); mediab = mediamelhoresnotas(notab1, notab2, notab3); comparanotas(mediaa, mediab); return 0; 0; Funcoes\Nota02\Nota02.vcproj 6/4/200901/04/09 09:42 46

47 Funções Funções importantes 6/4/200901/04/09 09:42 47

48 Funções importantes Função main: Contém o programa principal Várias declarações possíveis: void main(void) { int main() { int main(int argc, char *argv[]) 6/4/200901/04/09 09:42 48

49 Funções importantes Leitura e Escrita: Ler dados do usuário e escrever na tela #include <stdlib.h Várias funções disponíveis: scanf, printf, getchar, putchar, gets, puts, Exemplo: prinft("resultado: %d", valor); scanf("%d %d", &linhas, &colunas); 6/4/200901/04/09 09:42 49

50 Manipulação de arquivos: Curso C - IC/UNICAMP Funções importantes Ler e escrever dados em arquivos ou fluxos de dados. #include <stdio.h Várias funções disponíveis: fopen, fclose, fscanf, fprintf, rewind, fflush, fputc, fputs, fgetc, fgets, ftell, fseek, etc 6/4/200901/04/09 09:42 50

51 Funções importantes Matemáticas: Realizar operações matemáticas. #include <math.h Várias funções disponíveis: sqrt, sqr, pow, exp, log, log10 sin, asen, senh, cos, acos, cosh, tan, atan, atan2, tanh floor, ceil, abs, fabs 6/4/200901/04/09 09:42 51

52 Texto e caracteres: Modificar texto (vetores de caracteres). #include <string.h Curso C - IC/UNICAMP Funções importantes Várias funções disponíveis: strcat, strdup, strlen, strcmp, strcpy, strstr 6/4/200901/04/09 09:42 52

53 Funções Exemplos de Funções 6/4/200901/04/09 09:42 53

54 Exemplos de Funções Matemática: float potencia(float base, int expoente) { float resultado = 1.0; int i; for (i = 0; i < expoente; i++) { resultado = resultado * base; return resultado; Funcoes\Potencia01\Potencia01.vcproj Funcoes\Potencia02\Potencia02.vcproj 6/4/200901/04/09 09:42 54

55 Lógica de programa: Curso C - IC/UNICAMP Exemplos de Funções int le_numero(int min, int max) { int leitura; scanf("%d", &leitura); while ((leitura < min) (leitura max)) { printf( Digite entre %1d e %1d)\n", min, max); printf("digite novamente: "); scanf("%d", &leitura); return leitura; Funcoes\Entrada01\Entrada01.vcproj 6/4/200901/04/09 09:42 55

56 Gerar/obter dados: #include <time.h int main(int argc, char argv[]) { int fim, inicio = clock(); int i; Curso C - IC/UNICAMP Exemplos de Funções for (i = 0; i < 20000; i++) { printf("um texto para imprimir %d\n", i); fim = clock(); printf("tempo necessário: %d\n", fim - inicio); return 0; Funcoes\Time01\Time01.vcproj 6/4/200901/04/09 09:42 56

57 Organização de código: Curso C - IC/UNICAMP Exemplos de Funções Ruim: char opcao; scanf( %c, &opcao); if (opcao == P ) { // Código para calcular raizes de polinômios // else if (opcao == M ) { // Código para calcular determinantes de matrizes // else if (opcao == D ) { // Código para calcular derivadas de funções // 6/4/200901/04/09 09:42 57

58 Exemplos de Funções Organização de código: void resolver_polinimio(void) { // Código void calc_determinante(void) { // Código void derivar_funcao(void) { // Código scanf( %c, &opcao); if (opcao == P ) { resolver_polinomio(); else if (opcao == M ) { calc_determinante(); else if (opcao == D ) { derivar_funcao(); 6/4/200901/04/09 09:42 58

59 Funções Tempo de vida de variáveis 6/4/200901/04/09 09:42 59

60 Variáveis Curso C - IC/UNICAMP Tempo de vida: Tempo que o valor da variável permanece na memória: do início até final do programa, ou do início até final da função no início da função: cria espaço na memória no fim da função: libera espaço usado na memória 6/4/200901/04/09 09:42 60

61 Variáveis Curso C - IC/UNICAMP Tempo de vida: Variáveis declaradas localmente em funções: Tempo de vida: durante a execução da função Durante a execução a variável é visível, acessível Durante a execução estão associadas à posições de memória Em duas execuções, podem ocupar posições de memória diferentes { int v = 0; Vida da variável v 6/4/200901/04/09 09:42 61

62 Tempo de vida: Variáveis Declaração dentro do corpo da função Visibilidade apenas na função Curso C - IC/UNICAMP int funcao(void) { int v = 0; int main(void) { a(); 6/4/200901/04/09 09:42 62

63 Tempo de vida: Variáveis Declaração dentro do corpo da função Visibilidade apenas na função Curso C - IC/UNICAMP int funcao(void) { int v = 0; Visibilidade da variável v int main(void) { a(); 6/4/200901/04/09 09:42 63

64 Tempo de vida: Variáveis Declaração dentro do corpo da função Visibilidade apenas na função Curso C - IC/UNICAMP int funcao(void) { int v = 0; Visibilidade da variável v int main(void) { a(); Aqui a variável v é invisível 6/4/200901/04/09 09:42 64

65 Variáveis Curso C - IC/UNICAMP Tempo de vida: Variáveis declaradas fora do corpo das funções Sobrevivem por toda a execução do programa Permanecem ocupando a mesma posição de memória int v = 0; int funcao(void) { int main(void) { a(); Vida de variável v 6/4/200901/04/09 09:42 65

66 Variáveis Curso C - IC/UNICAMP Tempo de vida: int x = 0; int a(void) { int v = 0; int b(void) { int w = 0; int main(void) { 6/4/200901/04/09 09:42 66

67 Variáveis Curso C - IC/UNICAMP Tempo de vida: int x = 0; int a(void) { int v = 0; int b(void) { int w = 0; int main(void) { Vida da variável v Vida da variável w 6/4/200901/04/09 09:42 67

68 Variáveis Curso C - IC/UNICAMP Tempo de vida: int x = 0; int a(void) { int v = 0; int b(void) { int w = 0; int main(void) { Vida da variável v Vida da variável w Vida da variável x 6/4/200901/04/09 09:42 68

69 Variáveis Curso C - IC/UNICAMP Tempo de vida: int v = 0; int funcaoa(void) { int w = 0; int funcaob(void) { int main(void) { 6/4/200901/04/09 09:42 69

70 Variáveis Curso C - IC/UNICAMP Tempo de vida: int v = 0; int funcaoa(void) { int w = 0; w inacessível int funcaob(void) { int main(void) { 6/4/200901/04/09 09:42 70

71 Variáveis Curso C - IC/UNICAMP Tempo de vida: int v = 0; int funcaoa(void) { int w = 0; w inacessível w acessível int funcaob(void) { int main(void) { 6/4/200901/04/09 09:42 71

72 Variáveis Curso C - IC/UNICAMP Tempo de vida: int v = 0; int funcaoa(void) { int w = 0; w inacessível w acessível int funcaob(void) { int main(void) { w inacessível 6/4/200901/04/09 09:42 72

73 Variáveis Curso C - IC/UNICAMP Tempo de vida: int v = 0; int funcaoa(void) { int w = 0; int funcaob(void) { int main(void) { w inacessível w acessível w inacessível v sempre acessível 6/4/200901/04/09 09:42 73

74 Sobreposição de nomes: Condições: Variáveis Variáveis com mesmo nome Sobreposição de escopo Conseqüência: Curso C - IC/UNICAMP Declaração mais recente torna inacessível outras declarações 6/4/200901/04/09 09:42 74

75 Sobreposição de nomes: Variáveis Curso C - IC/UNICAMP int w = 0; int funcao (void) { int w = 1; int main(void) { 6/4/200901/04/09 09:42 75

76 Sobreposição de nomes: Variáveis Curso C - IC/UNICAMP int w = 0; w acessível int funcao (void) { int w = 1; int main(void) { 6/4/200901/04/09 09:42 76

77 Sobreposição de nomes: Variáveis Curso C - IC/UNICAMP int w = 0; int funcao (void) { int w = 1; w acessível w acessível, mas sobrepõe w anterior int main(void) { 6/4/200901/04/09 09:42 77

78 Sobreposição de nomes: Variáveis Curso C - IC/UNICAMP int w = 0; int funcao (void) { int w = 1; int main(void) { w acessível w acessível, mas sobrepõe w anterior w anterior novamente acessível 6/4/200901/04/09 09:42 78

79 Variáveis Curso C - IC/UNICAMP Variável global: Declarada fora das funções Tempo vida: até fim do programa acessível à todas as funções do programa, exceto quando há sobreposição Inicialização: ao iniciar o programa int v = 0; void f1(void) { void f2(void) { 6/4/200901/04/09 09:42 79

80 Variáveis Curso C - IC/UNICAMP Variável global: int v = 0; void f1(void) { v++; printf("f1: v = %d\n", v); void f2(void) { v+=2; printf("f2: v = %d\n", v); int main(int argc, char argv[]) { f1(); f2(); f1(); Resultado: f1: f1: v = f2: f2: v = f1: f1: v = 6/4/200901/04/09 09:42 80 Funcoes\Visibilidade01\Visibilidade01.vcproj

81 Variáveis Curso C - IC/UNICAMP Variável global: int v = 0; void f1(void) { v++; printf("f1: v = %d\n", v); void f2(void) { v+=2; printf("f2: v = %d\n", v); int main(int argc, char argv[]) { f1(); f2(); f1(); Resultado: f1: f1: v = 1 f2: f2: v = 3 f1: f1: v = 4 6/4/200901/04/09 09:42 81 Funcoes\Visibilidade01\Visibilidade01.vcproj

82 Variáveis Curso C - IC/UNICAMP Variável local: Declarada dentro das funções Tempo vida: do início até o fim da função nova execução não lembra valor anterior Inicialização: no início da função void f1(void) { int v = 0; void f2(void) { int w = 0; 6/4/200901/04/09 09:42 82

83 Variáveis Curso C - IC/UNICAMP Variável local: void f1() { int v = 0; v++; printf("f1: v = %d\n", v); void f2() { int v = 0; v+=2; printf("f2: v = %d\n", v); int main(int argc, char argv[]) { f1(); f2(); f1(); Resultado: f1: f1: v = f2: f2: v = f1: f1: v = 6/4/200901/04/09 09:42 Funcoes\Visibilidade02\Visibilidade02.vcproj 83

84 Variáveis Curso C - IC/UNICAMP Variável local: void f1() { int v = 0; v++; printf("f1: v = %d\n", v); void f2() { int v = 0; v+=2; printf("f2: v = %d\n", v); int main(int argc, char argv[]) { f1(); f2(); f1(); Resultado: f1: f1: v = 1 f2: f2: v = 2 f1: f1: v = 1 6/4/200901/04/09 09:42 Funcoes\Visibilidade02\Visibilidade02.vcproj 84

85 Funções Arquivos de cabeçalhos Compilação em separado 6/4/200901/04/09 09:42 85

86 Arquivos Cabeçalho Curso C - IC/UNICAMP Arquivos cabeçalho ( headers ou.h): A diretiva #include Permite incluir arquivos no ponto de chamada Texto do arquivo substitui a diretiva, no ponto de chamada Nome do arquivo entre < Sistema operacional sabe onde encontrar o arquivo.... #include <stdio.h #include <math.h.... 6/4/200901/04/09 09:42 86

87 Arquivos Cabeçalho Seus próprios arquivos cabeçalho: Nomes com extensão.h Nomes devem aparecer entre aspas duplas ( ) Indicar diretório onde estão os arquivos Default depende do sistema operacional Curso C - IC/UNICAMP Contém: definições de constantes comuns, etc #include consts.h.... 6/4/200901/04/09 09:42 Funcoes\PegaPal\PegaPal.vcproj 87

88 Arquivos Cabeçalho Seus próprios arquivos cabeçalho: Nomes com extensão.h Nomes devem aparecer entre aspas duplas ( ) Indicar diretório onde estão os arquivos Default depende do sistema operacional Curso C - IC/UNICAMP Contém: definições de constantes comuns, etc #include consts.h.... /* arquivo.h com definição de constantes */ #define pi #define true /4/200901/04/09 09:42 Funcoes\PegaPal\PegaPal.vcproj 88

89 Arquivos Cabeçalho Seus próprios arquivos cabeçalho: Nomes com extensão.h Nomes devem aparecer entre aspas duplas ( ) Indicar diretório onde estão os arquivos Default depende do sistema operacional Curso C - IC/UNICAMP Contém: definições de constantes comuns, etc... Arquivo const.h.... #include consts.h.... /* arquivo.h com definição de constantes */ #define pi #define true /4/200901/04/09 09:42 Funcoes\PegaPal\PegaPal.vcproj 89

90 Pragmas Onde escrever o código de funções: Até agora: int funcaoa(int a) {... float funcaob(char c, double r) {... char funcaoc(char c, int x) {... // Int main( ) {... 6/4/200901/04/09 09:42 90

91 Pragmas Onde escrever o código de funções: Até agora: int funcaoa(int a) {... float funcaob(char c, double r) {... funcaoa conhecida aqui char funcaoc(char c, int x) {... // Int main( ) {... 6/4/200901/04/09 09:42 91

92 Pragmas Onde escrever o código de funções: Até agora: int funcaoa(int a) {... float funcaob(char c, double r) {... char funcaoc(char c, int x) {... // Int main( ) {... funcaoa conhecida aqui funcaoa, funcaob conhecidas aqui 6/4/200901/04/09 09:42 92

93 Pragmas Onde escrever o código de funções: Até agora: int funcaoa(int a) {... float funcaob(char c, double r) {... char funcaoc(char c, int x) {... // Int main( ) {... funcaoa conhecida aqui funcaoa, funcaob conhecidas aqui funcaoa, funcaob, funcaoc conhecidas aqui 6/4/200901/04/09 09:42 93

94 Pragmas Código das funções no final: pragmas.... int funcaoa(int a); float funcaob(char c, double r); char funcaoc(char c, int x); // Int main( ) {... // int funcaoa(int a) {... float funcaob(char c, double r) {... char funcaoc(char c, int x) {... 6/4/200901/04/09 09:42 Funcoes\MDC\MDDC.vcproj 94

95 Pragmas Código das funções no final: pragmas.... int funcaoa(int a); float funcaob(char c, double r); char funcaoc(char c, int x); // Int main( ) {... // int funcaoa(int a) {... float funcaob(char c, double r) {... char funcaoc(char c, int x) {... pragmas de funções 6/4/200901/04/09 09:42 Funcoes\MDC\MDDC.vcproj 95

96 Pragmas Código das funções no final: pragmas.... int funcaoa(int a); float funcaob(char c, double r); char funcaoc(char c, int x); // Int main( ) {... // int funcaoa(int a) {... float funcaob(char c, double r) {... char funcaoc(char c, int x) {... pragmas de funções funcaoa, funcaob, funcaoc conhecidas aqui 6/4/200901/04/09 09:42 Funcoes\MDC\MDDC.vcproj 96

97 Pragmas Código das funções no final: pragmas.... int funcaoa(int a); float funcaob(char c, double r); char funcaoc(char c, int x); // Int main( ) {... // int funcaoa(int a) {... float funcaob(char c, double r) {... char funcaoc(char c, int x) {... pragmas de funções funcaoa, funcaob, funcaoc conhecidas aqui Corpo das funções 6/4/200901/04/09 09:42 Funcoes\MDC\MDDC.vcproj 97

98 Funções Fim do capítulo 6/4/200901/04/09 09:42 98

Estrutura de um programa em linguagem C

Estrutura de um programa em linguagem C Estrutura de um programa em linguagem C Estrutura de um programa em linguagem C Exemplo de um programa em linguagem C Directivas de Pré-Processamento #include Declarações Globais Declarações

Leia mais

INF 1005 Programação I

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

Leia mais

Capítulo 2: Introdução à Linguagem C

Capítulo 2: Introdução à Linguagem C Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 02 Introdução a Linguagem C Edirlei Soares de Lima Lógica de Programação Lógica de Programação é a técnica de criar sequências lógicas de ações para

Leia mais

Estruturas de entrada e saída

Estruturas de entrada e saída capa Estruturas de entrada e saída - A linguagem C utiliza de algumas funções para tratamento de entrada e saída de dados. - A maioria dessas funções estão presentes na biblioteca . - As funções

Leia mais

Primeiro Curso de Programação em C 3 a Edição

Primeiro Curso de Programação em C 3 a Edição Edson Luiz França Senne Primeiro Curso de Programação em C 3 a Edição Visual Books Sumário Prefácio da Terceira Edição 9 Prefácio da Primeira Edição 11 Aula 1 13 Regras de sintaxe de uma linguagem de programação...

Leia mais

Manipulação de Arquivos

Manipulação de Arquivos Manipulação de Arquivos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Tipo

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

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou

Leia mais

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

INF 1620 P1-10/04/02 Questão 1 Nome: INF 1620 P1-10/04/02 Questão 1 Considere uma disciplina que adota o seguinte critério de aprovação: os alunos fazem duas provas (P1 e P2) iniciais; se a média nessas duas provas for maior ou igual a 5.0,

Leia mais

INF 1620 P1-18/09/04 Questão 1 Nome:

INF 1620 P1-18/09/04 Questão 1 Nome: INF 1620 P1-18/09/04 Questão 1 Considerando a definição da série harmônica abaixo: H n =1+ 1 2 + 1 3 + 1 4 + 1 5 + K+ 1 n (a) Escreva uma função que calcule o valor de H n dado o número de termos da série

Leia mais

Linguagem C Funções definidas pelo usuário. Lógica de Programação

Linguagem C Funções definidas pelo usuário. Lógica de Programação Linguagem C Funções definidas pelo usuário Lógica de Programação Caro(a) aluno(a), Trabalharemos agora com as funções criadas por vocês na Linguagem C. Bom trabalho!!! Funções C permite que o programador

Leia mais

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10 1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...

Leia mais

INF 1620 P1-11/04/08 Questão 1 Nome:

INF 1620 P1-11/04/08 Questão 1 Nome: INF 1620 P1-11/04/08 Questão 1 Nas Olimpíadas, em uma determinada modalidade esportiva, os competidores recebem a nota de quatro jurados e a nota final é o resultado da média das quatro notas menos um

Leia mais

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos

Vetores. Vetores. Figura 1 Exemplo de vetor com 10 elementos Vetores Nos capítulos anteriores estudamos as opções disponíveis na linguagem C para representar: Números inteiros em diversos intervalos. Números fracionários com várias alternativas de precisão e magnitude.

Leia mais

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza Introdução Manipulação de arquivos em C Estrutura de Dados II Prof Jairo Francisco de Souza Manipulação de Arquivo em C Existem dois tipos possíveis de acesso a arquivos na linguagem C : sequencial (lendo

Leia mais

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Linguagem e Técnicas de Programação I Operadores, expressões e funções Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Operadores básicos Toda linguagem de programação, existem

Leia mais

INF 1620 P1-17/09/05 Questão 1 Nome:

INF 1620 P1-17/09/05 Questão 1 Nome: INF 1620 P1-17/09/05 Questão 1 Considere as equações de movimento para calcular a posição (s) e velocidade (v) de uma partícula em um determinado instante t, dado sua aceleração a, posição inicial s 0

Leia mais

PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS

PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS Disciplina de Nivelamento - 2000/1: ALGORITMOS & ESTRUTURAS DE DADOS Professor Responsável: Prof. Fernando Santos

Leia mais

Aluno: Valor Nota Q1 3.0 Q2 2.5 Q3 2.5 Q4 2.0 Total 10.0

Aluno: Valor Nota Q1 3.0 Q2 2.5 Q3 2.5 Q4 2.0 Total 10.0 P4 Programação II 2012.2 Departamento de Informática/PUC- Rio Aluno: Matrícula: Turma: 1. A prova é sem consulta e sem perguntas. A interpretação do enunciado faz parte da prova. 2. A prova deve ser completamente

Leia mais

PROVA P2 INF1007-31/10/2014 Programação II

PROVA P2 INF1007-31/10/2014 Programação II ALUNO: MATRÍCULA: (Nome Completo em Letra de Imprensa) ASSINATURA: TURMA: Instruções Gerais: 1. A duração da prova é de 1:50h; 2. A tolerância de entrada é de 30 min após o início da prova. Se um aluno

Leia mais

17 - Funções e Procedimentos em C Programação Modular

17 - Funções e Procedimentos em C Programação Modular 17 - Funções e Procedimentos em C Programação Modular Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante 17

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Introdução No capítulo anterior verificamos que a execução seqüencial dos comandos da função main nos limita a programação de algoritmos muito simples. Passamos, então, a dedicar

Leia mais

Programação e Sistemas de Informação

Programação e Sistemas de Informação Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Programação e Sistemas de Informação REVISÕES 1 Conteúdos Introdução Declaração de strings Atribuição de valores a strings

Leia mais

INF 1620 P3-25/11/05 Questão 1 Nome:

INF 1620 P3-25/11/05 Questão 1 Nome: INF 1620 P3-25/11/05 Questão 1 Dizemos que uma matriz quadrada é um quadrado mágico se a soma dos elementos de cada linha, a soma dos elementos de cada coluna e a soma dos elementos de sua diagonal principal

Leia mais

Introdução a POO. Introdução a Linguagem C++ e POO

Introdução a POO. Introdução a Linguagem C++ e POO Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes

Leia mais

15 a Aula Subprogramação /Subalgoritmos Função e Procedimento

15 a Aula Subprogramação /Subalgoritmos Função e Procedimento FISP 1/6 15 a Aula Subprogramação /Subalgoritmos Função e Procedimento Objetivo: Simplificação e racionalização na elaboração de algoritmos mais complexos Recursos: Estruturação de algoritmos e modularização

Leia mais

Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s

Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Operações com Strings Introdução a Ponteiros e Funções Profa Rosana Braga 1 Strings Strings são seqüências de caracteres

Leia mais

INF 1620 P3-21/06/08 Questão 1 Nome:

INF 1620 P3-21/06/08 Questão 1 Nome: INF 1620 P3-21/06/08 Questão 1 Dada uma lista encadeada de números inteiros cujo tipo que representa um nó da lista é dado por: struct lista { int info; struct lista *prox; typedef struct lista Lista;

Leia mais

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 07: Funções O comando return Protótipo de funções O tipo void Arquivos-cabeçalho Escopo de variáveis Passagem de parâmetros por valor

Leia mais

Algoritmos e Estruturas de Dados I 01/2013. Arquivos. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I 01/2013. Arquivos. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I 01/2013 Arquivos Pedro O.S. Vaz de Melo Problema 1 Considere que um arquivo de dados contém os valores das dimensões (tam. max.: 100) e dos elementos de duas matrizes

Leia mais

Exercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento

Exercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento 1/5 Exercício 1 Um sistema de segurança militar, usado num submarino nuclear, controla o acesso de usuários a três subsistemas (armamento, navegação e comunicações) através da digitação do login do usuário

Leia mais

INF 1620 P4-01/07/08 Questão 1 Nome:

INF 1620 P4-01/07/08 Questão 1 Nome: INF 1620 P4-01/07/08 Questão 1 Escreva uma função em C que receba duas strings, cujos caracteres estão ordenados em ordem crescente, e retorne uma nova string alocada dinamicamente, que contém todos os

Leia mais

Linguagens de Programação I

Linguagens de Programação I Linguagens de Programação I Tema # 8 Strings e Estruturas Susana M Iglesias 1 STRINGS - INTRODUÇÃO Strings (cadeia de caracteres): é uma serie de caracteres que podem ser tratados como uma unidade simples,

Leia mais

Curso de C para Engenharias

Curso de C para Engenharias Aula 4 Cristiano Dalbem Dennis Balreira Gabriel Moreira Miller Biazus Raphael Lupchinski Universidade Federal do Rio Grande do Sul Instituto de Informática Grupo PET Computação Sintaxe Funções Exemplos

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

P2 Programação II Departamento de Informática/PUC-Rio

P2 Programação II Departamento de Informática/PUC-Rio P2 Programação II 2012.2 Departamento de Informática/PUC-Rio Aluno: Matrícula: Turma: 1. A prova é sem consulta e sem perguntas. A interpretação do enunciado faz parte da prova. 2. A prova deve ser completamente

Leia mais

MC-102 Aula 17 Strings e Matrizes

MC-102 Aula 17 Strings e Matrizes MC-102 Aula 17 Strings e Matrizes Instituto de Computação Unicamp 5 de Maio de 2015 Roteiro 1 Strings Strings: Exemplos 2 Matrizes Exemplos com Matrizes 3 Exercícios (Instituto de Computação Unicamp) MC-102

Leia mais

INF 1620 P2-14/10/05 Questão 1 Nome:

INF 1620 P2-14/10/05 Questão 1 Nome: INF 1620 P2-14/10/05 Questão 1 Considere um cadastro de produtos de um estoque, com as seguintes informações para cada produto: Código de identificação do produto: representado por um valor inteiro Nome

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 06 Tipos Estruturados Edirlei Soares de Lima Dados Compostos Até agora somente utilizamos tipos de dados simples: char, int, float, double. Muitas vezes

Leia mais

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Variáveis na linguagem C: tipo char O tipo char representa um caractere ASCII (ocupa só 1 byte) int main(int argc, char **

Leia mais

AULA 1 AULA 2. Estudo dirigido para as três primeiras AULAS de LPI Professora ANITA MACIEL 1º ESTUDO DIRIGIDO

AULA 1 AULA 2. Estudo dirigido para as três primeiras AULAS de LPI Professora ANITA MACIEL 1º ESTUDO DIRIGIDO 1º ESTUDO DIRIGIDO AULA 1 1) Quem desenvolveu a linguagem C e em que década? 2) Cite as sete vantagens da linguagem C? 3) Em 1999, algumas modificações importantes aconteceram. Exemplifique. 4) Cite as

Leia mais

INF 1620 P1-14/04/07 Questão 1 Nome:

INF 1620 P1-14/04/07 Questão 1 Nome: INF 1620 P1-14/04/07 Questão 1 Considerando o critério de aprovação de uma disciplina que determina que um aluno está aprovado se a média ponderada de suas três provas for maior ou igual a 5.0, onde a

Leia mais

Tabela ASCII de caracteres de controle

Tabela ASCII de caracteres de controle Caracteres Estruturas de Dados Aula 6: Cadeias de Caracteres 31/03/2010 Caracteres são representados internamente por códigos numéricos Tipo char (inteiro pequeno ) 1 byte (8 bits) 256 caracteres possíveis

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações

Leia mais

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita

Leia mais

INF 1620 P4 30/06/07 Questão 1 Nome:

INF 1620 P4 30/06/07 Questão 1 Nome: INF 1620 P4 30/06/07 Questão 1 O maior divisor comum (MDC) de dois números inteiros é o maior número inteiro que faz uma divisão exata (com resto zero) desses dois números. Por exemplo, o MDC de 32 e 40

Leia mais

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++ Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++ Belo Horizonte 2009 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4

Leia mais

Programação de Computadores I

Programação de Computadores I Programação de Computadores I Biblioteca sqrt() / pow() / floor / ceil() Gil Eduardo de Andrade Introdução #include A biblioteca contém várias funções para efetuar cálculos matemáticos;

Leia mais

a) Implemente uma função que retorne uma aproximação do valor de π, de acordo com a F órmula de Leibniz: ( 1)

a) Implemente uma função que retorne uma aproximação do valor de π, de acordo com a F órmula de Leibniz: ( 1) INF 620 P - 7/04/04 Questão a) Implemente uma função que retorne uma aproximação do valor de π, de acordo com a F órmula de Leibniz: Ou seja: π 4 * + 3 π 5 7 + 9 i ( ) 4 * n i= 0 2 * i + + K Esta função

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

Curso de Linguagem C

Curso de Linguagem C Curso de Linguagem C 1 Aula 1 - INTRODUÇÃO...4 AULA 2 - Primeiros Passos...5 O C é "Case Sensitive"...5 Dois Primeiros Programas...6 Introdução às Funções...7 Introdução Básica às Entradas e Saídas...

Leia mais

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P1 17/04/2010

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P1 17/04/2010 Departamento de Informática - PUC-Rio INF 1007 Programação 2 P1 17/04/2010 Aluno: Instruções: 1) Escreva seu nome completo, matrícula e turma em todas as folhas desta prova; 2) A prova deve ser completamente

Leia mais

Strings. Todas as funções apresentadas neste documento estão no arquivo de cabeçalho string.h.

Strings. Todas as funções apresentadas neste documento estão no arquivo de cabeçalho string.h. Strings Todas as funções apresentadas neste documento estão no arquivo de cabeçalho string.h. 1 Determinando o tamanho de uma string Para determinar o tamanho de uma string use a função strlen( ). Sua

Leia mais

Linguagem C. Programação Estruturada. Funções Matemáticas. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br

Linguagem C. Programação Estruturada. Funções Matemáticas. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Programação Estruturada Linguagem C Funções Matemáticas Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Introdução Funções de Potência Funções de Arredondamento Funções Trigonométricas

Leia mais

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros

Leia mais

MC-102 Aula 19 Registros

MC-102 Aula 19 Registros MC-102 Aula 19 Registros Instituto de Computação Unicamp 4 de Maio de 2015 Roteiro 1 Registros 2 Redefinição de tipos (Instituto de Computação Unicamp) MC-102 Aula 19 4 de Maio de 2015 2 / 17 Registros

Leia mais

Exemplos. char c; int i=67;... c= A ; c=c+1; if (c== B )... c=i; i=c; i++; if (i>= C )...

Exemplos. char c; int i=67;... c= A ; c=c+1; if (c== B )... c=i; i=c; i++; if (i>= C )... Caracteres Conceitos Tipo de dados simples (char), cujo valor é a codificação numérica de um caracter; Caracteres literais são representados por aspas simples, como em A e a ; Variáveis do tipo char podem

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais

Leia mais

Comunicação. O Modelo de Fluxo de Dados (Streams)

Comunicação. O Modelo de Fluxo de Dados (Streams) Comunicação O Modelo de Fluxo de Dados (Streams) Os programas escritos em C utilizam o conceito de fluxo de dados (em, inglês, eles são chamados de streams) para comunicarem-se com dispositivos do computador

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 P3-23/06/07 Questão 1 Nome:

INF P3-23/06/07 Questão 1 Nome: INF 1620 - P3-23/06/07 Questão 1 Considere a implementação de listas encadeadas para armazenar inteiros dada pelo tipo abaixo: struct lista { int info; struct lista* prox; typedef struct lista Lista; Escreva

Leia mais

INF 1620 P3-27/11/04 Questão 1 Nome:

INF 1620 P3-27/11/04 Questão 1 Nome: INF 1620 P3-27/11/04 Questão 1 Considere um arquivo texto com as notas dos alunos de uma disciplina. Os dados de cada aluno são armazenados em duas linhas do arquivo: uma com o seu nome (cadeia com até

Leia mais

Algoritmos e Estruturas de Dados I. Arquivos. Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I. Arquivos. Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I Arquivos Pedro O.S. Vaz de Melo Problema 1 Considere que um arquivo de dados contém os valores das dimensões (tam. max.: 100) e dos elementos de duas matrizes de números

Leia mais

P2 Programação II Departamento de Informática/PUC-Rio

P2 Programação II Departamento de Informática/PUC-Rio P2 Programação II 2013.1 Departamento de Informática/PUC-Rio Aluno: Matrícula: Turma: 1. A prova é sem consulta e sem perguntas. A interpretação do enunciado faz parte da prova. 2. A prova deve ser completamente

Leia mais

INF 1620 P4-09/07/03 Questão 1 Nome:

INF 1620 P4-09/07/03 Questão 1 Nome: INF 1620 P4-09/07/03 Questão 1 Um ponto geométrico no espaço 2D é representado pelas coordenadas reais x e y. Considere uma aplicação que precisa manipular pontos, através da implementação de duas funções.

Leia mais

SIMULADO PROVA. Questões Nota Revisão 1 (2.0) 2 (1.0) 3 (2.0) 4 (2.0) 5 (2.0) P1 (9,0)

SIMULADO PROVA. Questões Nota Revisão 1 (2.0) 2 (1.0) 3 (2.0) 4 (2.0) 5 (2.0) P1 (9,0) SIMULADO PROVA Nome (legível e por extenso) Matrícula: Turma/Nome Prof: Questões Nota Revisão 1 (2.0) 2 (1.0) 3 (2.0) 4 (2.0) 5 (2.0) P1 (9,0) AVISOS: 1. A prova é sem consulta e sem perguntas. A interpretação

Leia mais

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C Belo Horizonte 2010 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4 3.1 Strings

Leia mais

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 05 Cadeias de Caracteres Edirlei Soares de Lima Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência

Leia mais

Tipos de Dados Avançados Vetores e Matrizes

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

Leia mais

#define SIM 1 equivale a definição de constantes; a palavra SIM é substituída por 1 toda vez que é utilizada no programa.

#define SIM 1 equivale a definição de constantes; a palavra SIM é substituída por 1 toda vez que é utilizada no programa. 929292929292929292929292929292929292929292929292929292 15- O Pré-Processador C - O compilador C possui um programa chamado pré-processador: executa modificações no código baseado em instruções chamadas

Leia mais

1. PROLOGO ==========

1. PROLOGO ========== 1997 - Hackers Iniciantes em Linguagem C 1997 - RoyalBug - thedarkage@mail.geocities.com thedarkage2@mail.geocities.com 1997 - The Black Church MANUAL C 01 ================ 1997 - http://www.pcs.usp.br/~peasilva/

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

Aula 06 - Funções. O que é uma Função - Comando return - Protótipos de Funções - Tipos de Funções - Escopo de Variáveis - Passagem de parâmetros

Aula 06 - Funções. O que é uma Função - Comando return - Protótipos de Funções - Tipos de Funções - Escopo de Variáveis - Passagem de parâmetros O que é uma Função - Comando return - Protótipos de Funções - Tipos de Funções - Escopo de Variáveis - Passagem de parâmetros Algoritmo e Programação Aula 06 - Funções Colegiado de Engenharia da Computação

Leia mais

Fundamentos de Programação 1

Fundamentos de Programação 1 Fundamentos de Programação 1 Linguagem C Arquivos Seqüências ou de Texto. Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO 1 Arquivo de Escrita 1 fopen ( nome.txt", "w" ); fputc ( caracter, arquivo); 2 #include

Leia mais

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO

ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO ALGORITMOS E TÉCNICAS DE PROGRAMAÇÃO PROF. FABIANO TAGUCHI http://fabianotaguchi.wordpress.com (66) 9953-7642 AULA 02 Revisão de conteúdos da aula passada Exercícios de revisão da aula 01 Estruturas condicionais

Leia mais

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática Capítulo 1: Introdução à Linguagem C Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso caso, a linguagem C.

Leia mais

INF 1620 P4 11/12/06 Questão 1 Nome:

INF 1620 P4 11/12/06 Questão 1 Nome: INF 1620 P4 11/12/06 Questão 1 Considere que o cálculo da multa para o pagamento de um determinado imposto varia de acordo com a tabela a seguir: Valor do Imposto Original Multa por mês de atraso até R$

Leia mais

Laboratório de Programação 02

Laboratório de Programação 02 Laboratório de Programação 02 Ambiente de Desenvolvimento e Revisão da Linguagem C Prof. Carlos Eduardo de Barros Paes Prof. Julio Arakaki Departamento de Computação PUC-SP Code::Blocks Ambiente integrado

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C Universidade Federal de Uberlândia Faculdade de Computação A Linguagem C Prof. Renato Pimentel 1 Programação Quando queremos criar ou desenvolver um software para realizar determinado tipo de processamento

Leia mais

Aula 12- Variáveis e valores reais

Aula 12- Variáveis e valores reais Aula 12- Variáveis e valores reais Até agora todos os nossos problemas continham apenas valores inteiros e portanto variáveis do tipo int. Para resolver problemas que usam valores com parte fracionária,

Leia mais

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES CAPÍTULO 5 5 VETORES E MATRIZES 5.1 Vetores Um vetor armazena uma determinada quantidade de dados de mesmo tipo. Vamos supor o problema de encontrar a média de idade de 4 pessoas. O programa poderia ser:

Leia mais

INF 1620 P2-23/10/04 Questão 1 Nome:

INF 1620 P2-23/10/04 Questão 1 Nome: INF 1620 P2-23/10/04 Questão 1 Considere um tipo abstrato de dados para representar uma disciplina da PUC-Rio, com as seguintes informações: Nome da disciplina: com até 50 caracteres Código da disciplina:

Leia mais

PROGRAMA DE DISCIPLINA

PROGRAMA DE DISCIPLINA PROGRAMA DE DISCIPLINA Disciplina: INTRODUÇÃO À PROGRAMAÇÃO Carga horária total: 60 h Carga horária teórica: 30 h Carga horária prática: 30 h Código da Disciplina: CCMP0041 Período de oferta: 2015.2 Turma:

Leia mais

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Resumo da Introdução de Prática de Programação com C. A Linguagem C Resumo da Introdução de Prática de Programação com C A Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Programação Programa é um algoritmo escrito em uma linguagem de programação. Existem diversas linguagens

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Funções

Algoritmos e Estruturas de Dados I (DCC/003) Funções Algoritmos e Estruturas de Dados I (DCC/003) Funções Funções Funções definem operações que são usadas frequentemente Funções, na matemática, requerem parâmetros de entrada, e definem um valor de saída

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

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010

Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010 Departamento de Informática - PUC-Rio INF 1007 Programação 2 P3 23/06/2010 Aluno: Instruções: 1) Escreva seu nome completo, matrícula e turma em todas as folhas desta prova; 2) A prova deve ser completamente

Leia mais

Curso de C. Estruturas de Repetição 1/4/ :31 1

Curso de C. Estruturas de Repetição 1/4/ :31 1 Curso de C Estruturas de Repetição 1/4/2008 15:31 1 Estruturas de Repetição Objetivos: Aprender: Como vincular a repetição de blocos à condições Quando utilizar cada uma das estruturas disponíveis 1/4/2008

Leia mais

Tipos de Dados, Tipos Abstratos de Dados Estruturas de Dados

Tipos de Dados, Tipos Abstratos de Dados Estruturas de Dados Tipos de Dados, Tipos Abstratos de Dados Estruturas de Dados Tipo de dados, tipo abstrato de dados, estruturas de dados Termos parecidos, mas com significados diferentes Tipo de dado Em linguagens de programação

Leia mais

Algoritmos e Programação

Algoritmos e Programação Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

Material sobre Funções AEDS 1

Material sobre Funções AEDS 1 Material sobre Funções AEDS 1 1 Funções - revisão Funções definem operações que são usadas frequentemente Funções, na matemática, requerem parâmetros de entrada e definem um valor de saída 2 Funções -

Leia mais

Introdução à Programação

Introdução à Programação Aula Teórica/Pratica 5: ciclos e funções Getchar e putchar Escrever e ler caracteres A função getchar da biblioteca stdio.h permite de receber exatamente um (1) carácter da o "teclado"ou stdin Definição:

Leia mais

Curso de C: uma breve introdução

Curso de C: uma breve introdução V Semana de Engenharia Elétrica - UFBA Licença de uso e distribuição Todo o material aqui disponível pode, posteriormente, ser utilizado sobre os termos da: Creative Commons License:

Leia mais