USP-ICMC-BInfo. Funções em C. SCC501 - ICC-II 2011 Prof. João Luís
|
|
- Júlia de Miranda Anjos
- 5 Há anos
- Visualizações:
Transcrição
1 USP-ICMC-BInfo Funções em C SCC501 - ICC-II 2011 Prof. João Luís 1
2 Operadores & e * #include <stdio.h> main() int x = 15; printf( Endereco da variavel x = %d.\n", &x); printf( Conteudo do endereco da variavel x = %d.\n", *(&x)); Saída: Endereco da variavel x = Conteudo do endereco da variavel x = 15. 2
3 Ponteiros e const int gorp = 16; int chips = 12; const int * p_snack = &gorp; *p_snack = 20; // NÃO p_snack = &chips; // OK não permite a mudança de valor para o qual p_snack aponta p_snack pode apontar para uma outra variável int gorp = 16; int chips = 12; int * const p_snack = &gorp; *p_snack = 20; // OK p_snack = &chips; // NÃO p_snack pode ser usado para mudar valor não permite a mudança de variável para o qual p_snack aponta 3
4 Usando uma função com um valor de retorno Chamando uma função: Função chamadora Função chamada int main( ) código para sqrt( ) chamada X = sqrt (6.25); retorno +++ 4
5 Sintaxe da chamada da função: Nome da função Informação de argumento passado à função X = sqrt(6.25); Ponto-e-vírgula marca final do comando Função retorna o valor atribuído a X Abre parêntesis Fecha parêntesis 5
6 #include <stdio.h> #include <math.h> main() float cobertura; // usa float para números reais float lado; printf("quantos centimetros quadrados de folhas voce tem?\n"); scanf("%g", &cobertura); lado = (float) sqrt(cobertura); // chama a função, // atribuindo valor de retorno printf("voce pode cobrir um quadrado com lados de %g", lado); printf(" centimetros\ncom suas folhas.\n"); 6
7 Saída: Quantos centímetros quadrados de folhas você tem? Você pode cobrir um quadrado com lados de 11.1 centímetros com suas folhas. 7
8 Funções definidas pelo usuário #include <stdio.h> void simples(); // protótipo da função main() printf("main() chamara a funcao simples():\n"); simples(); // chamada da função // definição da função void simples() printf("eu sou apenas uma funcao simples.\n"); 8
9 #include <stdio.h> void simon(int); // protótipo de função para simon() void main() int cont; simon(3); // chama a função simon() printf("pegue um inteiro: "); scanf("%d", &cont); simon(cont); // chama-a de novo void simon(int n) // define a função simon() printf("simon diz: toque seus dedos do pe %d vezes.\n", n); // funções void não precisam de comando de retorno 9
10 Saída: Simon diz: toque seus dedos do pé 3 vezes. Pegue um inteiro: 512 Simon diz: toque seus dedos do pé 512 vezes. 10
11 protótipos de função #include <iostream.h> void simon(int); double taxas(double); void main( ) função # 1... void simon(int n) função # 2... double taxas (double t) função # 3... return (2 * t); Definições de funções ocorrem seqüencialmente em um arquivo 11
12 Função definida pelo usuário com um valor de retorno #include <stdio.h> int kilopgrama(int); // protótipo da função main() int kilo, grama; printf("entre com o peso em Quilogramas: "); scanf("%d", &kilo); grama = kilopgrama(kilo); printf("%d Quilogramas sao ", kilo); printf("%d gramas.\n", grama); int kilopgrama(int sts) return 1000 * sts; 12
13 Protótipo de Função e chamadas de função #include <stdio.h> void saude(int); // protótipo: não retorna valor float cubo(float x); // protótipo: returna um double void main(void) float lado, volume; saude(5); // chamada da função printf("de-me um numero: "); scanf("%g", &lado); volume = cubo(lado); // chamada da função printf("um cubo de %g cm tem um volume de ", lado); printf("%g cm cubicos.\n", volume); saude((int) cubo(2)); 13
14 void saude(int n) int i; for (i = 0; i < n; i++) printf("saude! "); printf("\n"); float cubo(float x) return x * x * x; Saída: Saúde! Saúde! Saúde! Saúde! Saúde! Dê-me um número: 5 Um cubo de 5 cm tem um volume de 125 cm cúbicos. Saúde! Saúde! Saúde! Saúde! Saúde! Saúde! Saúde! Saúde! 14
15 Argumentos de Função e Passagem por Valor Argumentos de Função e Passagem por Valor... cria variável chamada valor double cubo(double x); lado e atribui 5 original void main( ) a ela o valor 5 lado... double lado = 5; double volume = cubo(lado); passa o valor 5 à... função cubo( ) double cubo(double x) cria variável chamada valor x e atribui a ela 5 copiado return x * x * x; o valor passado 5 x Passagem por valor 15
16 Variáveis Locais:... void saude(int n); void main() int n = 20; int i = 1000; int y = 10;... saude(y);... void saude(int n) for (int i = 0; i < n; i++) cout << "Saúde! "; cout << "\n"; cada função tem suas próprias variáveis com seus próprios valores n i y n i variáveis em main( ) variáveis em saude( ) 16
17 #include <stdio.h> #include <conio.h> void n_chars(char, int); void main() int vezes = 0; char ch; printf("entre com um caractere: "); ch = getche(); while (ch!= 's') // s para sair printf("\nentre com um inteiro: "); scanf("%d", &vezes); n_chars(ch, vezes); // função com dois argumentos printf("\nentre com um outro caractere ou pressione a tecla s para sair: "); ch = getche(); printf("\no valor de vezes eh %d.\n", vezes); printf("tchau\n"); void n_chars(char c, int n) // mostra c n vezes while (n-- > 0) // continua até que n alcance 0 printf("%c", c); 17
18 Argumentos Múltiplos Saída: Entre com um caractere: W Entre com um inteiro: 50 WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW Entre com um outro caractere ou pressione a tecla s para sair: a Entre com um inteiro: 20 aaaaaaaaaaaaaaaaaaaa Entre com um outro caractere ou pressione a tecla s para sair: s O valor de vezes é 20. Tchau 18
19 #include <stdio.h> float chance(unsigned numeros, unsigned pegadas); void main() float total, escolhas; printf("entre com o numero total de escolhas de cartoes de jogo e \n"); printf("numero de escolhas pegadas permitida:\n"); while (scanf("%f%f", &total, &escolhas) && escolhas <= total) printf("voce tem uma chance em "); printf("%g", chance((int)total, (int)escolhas)); // computa a chance printf(" de ganhar.\n"); printf("proximos dois numeros (s para sair): "); printf("tchau\n"); 19
20 Uma Outra função de dois argumentos // a seguinte função calcula a chance de pegar os // números corretamente a partir de escolhas de números float chance(unsigned numeros, unsigned pegadas) float result = 1.0; // algumas variáveis locais unsigned n; unsigned p; for (n = numeros, p = pegadas; p > 0; n--, p--) result = result * n / p ; return result; 20
21 Saída: Entre com o número total de escolhas de cartões de jogo e número de escolhas pegadas permitida: 49 6 Você tem uma chance em e+07 de ganhar. Próximos dois números (s para sair): 51 6 Você tem uma chance em e+07 de ganhar. Próximos dois números (s para sair): 38 6 Você tem uma chance em e+06 de ganhar. Próximos dois números (s para sair): s tchau 21
22 Funções e Strings no Estilo C #include <stdio.h> int c_in_str(const char * str, char ch); void main() char mmm[15] = "minimum"; // string em um vetor char *uivo = "ululado"; // uivo aponta para string int ms = c_in_str(mmm, 'm'); int us = c_in_str(uivo, 'u'); printf("%d caracteres m em %s\n", ms, mmm); printf("%d caracteres u em %s\n", us, uivo); 22
23 // esta função conta o número de caracteres ch // na string str int c_in_str(const char * str, char ch) int cont = 0; while (*str) // sai quando *str é '\0' if (*str == ch) cont++; str++; // move ponteiro para próximo char return cont; Saída: 3 caracteres m em minimum 2 caracteres u em ululado 23
24 passagem por valor void espirro (int x); void main() cria uma variável int vezes = 20; chamada vezes, 20 espirro (vezes); atribui a ela o... valor 20 vezes duas variáveis, dois nomes void espirro (int n) cria uma variável... chamada x, atribui 20 a ela o valor passado 20 x passagem por endereço void ranzinza (int *); void main() cria uma variável int vezes = 20; chamada vezes, atribui 20 ranzinza (&vezes); a ela o valor vezes, x Passa o endereço uma variável, da variável vezes void ranzinza (int *x) faz x um alias... para vezes dois nomes 24
25 #include <stdio.h> altera(int *, int *); main() int x,y; printf("entre com o primeiro valor: "); scanf("%d", &x); printf("entre com o segundo valor: "); scanf("%d", &y); altera(&x,&y); altera(int *px,int *py) int soma, dif; soma = *px + *py; dif = *px - *py; *px = soma; *py = dif; printf("soma = %d ou %d; Diferen%ca = %d ou %d\n", soma, *px, 135, dif, *py); 25
26 Argumentos de Função e Passagens por Valor e Endereço Argumentos de Função e Passagem por Valor... cria variável chamada valor double cubo(double x); lado e atribui 5 original void main( ) a ela o valor 5 lado... double lado = 5; double volume = cubo(lado); passa o valor 5 à... função cubo( ) double cubo(double x) cria variável chamada valor x e atribui a ela 5 copiado return x * x * x; o valor passado 5 x Passagem por valor 26
27 passagem por valor void espirro (int x); void main() cria uma variável int vezes = 20; chamada vezes, 20 espirro (vezes); atribui a ela o... valor 20 vezes duas variáveis, dois nomes void espirro (int n) cria uma variável... chamada x, atribui 20 a ela o valor passado 20 x passagem por endereço void ranzinza (int *); void main() cria uma variável int vezes = 20; chamada vezes, atribui 20 ranzinza (&vezes); a ela o valor vezes, x Passa o endereço uma variável, da variável vezes void ranzinza (int *x) faz x um alias... para vezes dois nomes 27
28 #include <stdio.h> altera(int *, int *); main() int x,y; printf("entre com o primeiro valor: "); scanf("%d", &x); printf("entre com o segundo valor: "); scanf("%d", &y); altera(&x,&y); altera(int *px,int *py) int soma, dif; soma = *px + *py; dif = *px - *py; *px = soma; *py = dif; printf("soma = %d ou %d; Diferen%ca = %d ou %d\n", soma, *px, 135, dif, *py); 28
29 Lê um caractere por vez #include <stdio.h> main() char ch; int count = 0; // usa entrada básica scanf("%c", &ch); // pega um caractere while (ch!= '#') // testa o caractere if (ch!= ' ') printf("%c", ch); // ecoa o caractere count++; // conta o caractere scanf ("%c", &ch); // pega o próximo caractere printf("\n%d caracteres lidos\n", count); 29
30 Lê a string inteira #include <stdio.h> main() char ch[50]; int i = 0; int count = 0; // usa entrada básica gets(ch); // pega uma string while (ch[i]!= '#' && ch[i]!= '\0') if (ch[i]!= ' ') i++; // testa printf("%c", ch[i]);// ecoa o caractere count++; // conta o caractere ecoado // próximo caractere printf("\n%d caracteres ecoados\n", count); 30
31 Funções que retornam strings #include <stdio.h> char * conststr(char c, int n); // protótipo char str[20]; main() int vezes; char ch; char * ps = str; printf("entre com um caractere: "); scanf("%c", &ch); printf("entre com um inteiro: "); scanf("%d", &vezes); ps = conststr(ch, vezes); printf("%s\n", ps); ps = conststr('+', 20); // reusa ponteiro printf("%d-fim-%s\n", ps, ps); 31
32 // contrói string feita de n caracteres c char * conststr(char c, int n) char * pstr = str; pstr[n] = '\0'; // termina string while (n-- > 0) pstr[n] = c; // preenche resto da string return pstr; Saída: Entre com um caractere: R Entre com um inteiro: 20 RRRRRRRRRRRRRRRRRRRR FIM
33 EXERCÍCIOS PROPOSTOS 1. Escreva uma função que retorne a soma de dois inteiros. 2. O que há de errado com a definição desta função: salame(num) int num, cont; for(cont = 1; cont <= num; num++) printf( Ó salame mio!\n ); 3. Escreva uma função max(n,m) que retorne o maior de dois valores. 33
34 4. Use loops aninhados para escrever um programa que produza este padrão: $$$$$$$$ $$$$$$$$ $$$$$$$$ $$$$$$$$ 5. Que saída produzirá o seguinte loop? for ( valor = 36; valor > 0; valor /= 2) printf( %3d, valor); 34
35 Respostas // EP01 #include <stdio.h> int soma(int, int); main() int x,y; printf("entre com o primeiro inteiro: "); scanf("%d", &x); printf("entre com o segundo inteiro: "); scanf("%d", &y); printf("a soma de %d e %d %c %d\n", x, y, 130, soma(x,y)); int soma(int a, int b) return a + b; 35
36 // EP02 #include <stdio.h> salame(int); main() salame(5); salame(int num) int cont; for(cont = 1; cont <= num; cont++) printf(" %c salame mio!\n", 224); 36
37 // EP03 #include <stdio.h> int max(int, int); main() int x,y; printf("entre com o primeiro inteiro: "); scanf("%d", &x); printf("entre com o segundo inteiro: "); scanf("%d", &y); printf("o maior entre %d e %d %c %d\n", x, y, 130, max(x,y)); int max(int a, int b) return a > b? a : b; // retorna a se a > b, senão retorna b 37
38 // EP04 #include <stdio.h> main() int i,j; for (i = 1; i <= 4; i++) for (j = 1; j <= 8; j++) printf("$"); printf("\n"); 38
39 // EP05:
40 #include <stdio.h> alter(int *, int *); main() int x,y; printf("entre com o primeiro valor: "); scanf("%d", &x); printf("entre com o segundo valor: "); scanf("%d", &y); alter(&x,&y); printf("\nnovos valores: x = %d e y = %d\n", x, y); alter(int *px,int *py) int soma, dif; soma = *px + *py; dif = *px - *py; *px = soma; *py = dif; printf("soma = %d ou %d; Diferen%ca = %d ou %d\n", soma, *px, 135, dif, *py); Saída: Entre com o primeiro valor: 3 Entre com o segundo valor: 7 Soma = 10 ou 10; Diferença = -4 ou -4 Novos valores: x = 10 e y = -4 40
41 #include <stdio.h> main() char ch[50]; char * c = ch; // string c recebe espaço da string ch int i = 0; int count = 0; // usa entrada básica gets(c); // pega uma string while (*c!= '#' && *c) // testa o caractere if (*c!= ' ') printf("%c", *c); // ecoa o caractere count++; // conta o caractere ecoado c++; // próximo endereço printf("\n%d caracteres ecoados\n", count); 41
42 Recursão A recursão ocorre quando uma função chama a si própria. Quando isto acontece, várias ações ocorrem: A função começa a execução do seu primeiro comando cada vez que é chamada; Novas e distintas cópias dos parâmetros passados por valor e variáveis locais são criadas; A posição que chama a função é colocada em estado de espera, enquanto que o nível gerado recursivamente esteja executando. O próximo programa explica estes efeitos. 42
43 Contador recursivo #include <stdio.h> void cont (int); main() cont(1); void cont(int n) if (n < 10) cont(n+1); printf("%d\n", n); 43
44 ContRecursivo Cont (1) Cont (2) Cont (3) Cont (10) Cont(2) Cont(3) Cont(4) Cont(1) 44
45 #include <stdio.h> Fatorial unsigned long fat(int); main() short N; printf("calculo do fatorial\n\n"); printf("entre com um numero inteiro: "); scanf("%d", &N); printf("\no fatorial de %d %c %d\n\n", N, 130, fat(n)); unsigned long fat(int n) int fato = 1; if (n > 1) fato = n * fat(n-1); return fato; 45
46 #include <stdio.h> void contreg(int n); main() contreg(4); // chama a função recursiva void contreg(int n) printf("contagem regressiva... %d\n", n); if (n > 0) contreg(n-1); // função chama a si mesmo printf("%d: Fogo!\n", n); Saída: Contagem regressiva... 4 Contagem regressiva... 3 Contagem regressiva... 2 Contagem regressiva... 1 Contagem regressiva : Fogo! 1: Fogo! 2: Fogo! 3: Fogo! 4: Fogo! 46
47 #include <stdio.h> #define Comp 66 const int Divs = 6; void subdivide(char ve[], int baixo, int alto, int nivel); main() char regua[comp]; int i, j; int max = Comp - 2; int min = 0; for (i = 1; i < Comp - 2; i++) regua[i] = ' '; regua[comp - 1] = '\0'; regua[min] = regua[max] = ' '; printf("%s\n", regua); for (i = 1; i <= Divs; i++) subdivide(regua,min,max, i); printf("%s\n", regua); for (j = 1; j < Comp - 2; j++) regua[j] = ' '; // limpa a régua (branco) 47
48 void subdivide(char ve[], int baixo, int alto, int nivel) int meio = (alto + baixo) / 2; if (nivel == 0) return; ve[meio] = ' '; subdivide(ve, baixo, meio, nivel - 1); subdivide(ve, meio, alto, nivel - 1); Saída: 48
49 PROGRAMA PROPOSTO. Escreva uma função recursiva que calcule o MDC (máximo divisor comum) de 2 números a e b recebidos como parâmetros. Para o cálculo do MDC, deve-se usar o Algoritmo de Euclides: Ex: a = 30 e b = 4: esto <> 0. (Continua) Resto = 0 (Fim do Algoritmo) MDC = 2 Resto!= 0: continua 49
50 #include <stdio.h> int MDC(int, int); main() int a,b; printf("calculo do MDC\n"); printf("entre com o valor de a: "); scanf("%d", &a); printf("entre com o valor de b: "); scanf("%d", &b); printf("o MDC entre %d e %d %c %d\n", a, b, 130, MDC(a,b)); int MDC (int i, int j) if (i % j!= 0) return MDC(j, i % j); else return j; 50
SCC120 - Capítulo 5 Funções em C
SCC120 - Capítulo 5 Funções em C João Luís Garcia Rosa Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis 2010 1 Operadores & e *
SCC120 - Capítulo 4 Comandos Repetitivos em C
SCC120 - Capítulo 4 Comandos Repetitivos em C João Luís Garcia Rosa Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis 2010 1 Loop
USP-ICMC-BInfo. Vetores em C. SCC501 - ICC-II 2011 Prof. João Luís
USP-ICMC-BInfo Vetores em C SCC501 - ICC-II 2011 Prof. João Luís 1 #include main() int total; int custobala[3] = 20, 30, 5; // cria e inicia vetor int bala[3]; // cria um vetor com três elementos
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
SCC120 - Capítulo 7 Estruturas (struct) em C
SCC120 - Capítulo 7 Estruturas (struct) em C João Luís Garcia Rosa Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis 2010 1 Introduzindo
Programação Estruturada
Programação Estruturada Ponteiros Parte 1 Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Ponteiros Ponteiro Ponteiros
MC102 Algoritmos e Programação de Computadores
MC102 Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2014 Roteiro 1 Maior número 2 Soma de n números 3 Fatorial 4 Máximo Divisor Comum (MDC) 5 Números primos
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
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)
Primeiro programa em C
SCC120 - Capítulo 3 Variáveis e Condicionais em C João Luís Garcia Rosa Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis 2010 1
USP-ICMC-BInfo. Ponteiros em C. SCC501 - ICC-II 2011 Prof. João Luís
USP-ICMC-BInfo Ponteiros em C SCC501 - ICC-II 2011 Prof. João Luís Ponteiros Três propriedades que um programa deve manter quando armazena dados: onde a informação é armazenada; que valor é mantido lá;
Estrutura, União e Enumeração em C
USP-ICMC-BInfo Estrutura, União e Enumeração em C SCC501 - ICC-II 2011 Prof. João Luís 1 Introduzindo Estruturas Estrutura: coleção de tipos diferentes. Define-se primeiro o tipo: struct inflavel char
Computação 2. Aula 7. Profª. Fabiany Ponteiros
Computação 2 Aula 7 Ponteiros Profª. Fabiany fabianyl@utfpr.edu.br O que são Ponteiros? Um ponteiro é uma variável que contém um endereço de memória. Este endereço é normalmente a posição de uma outra
SCC Capítulo 2 Recursão
SCC-501 - Capítulo 2 João Luís Garcia Rosa 1 1 Departamento de Ciências de Computação Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos http://www.icmc.usp.br/~joaoluis
Estrutura de dados 2. Ponteiro. Prof. Jesuliana N. Ulysses
1 3 Estrutura de dados 2 Ponteiro Ponteiro 2 O ponteiro é um tipo de dado como int, char ou float. A diferença do ponteiro ponteiro guardará um endereço de memória. Por meio deste endereço pode-se acessar
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
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Recursão em C
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Recursão em C Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010 ROTEIRO DA AULA Definição
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
ESTRUTURA DE DADOS (TCC )
ESTRUTURA DE DADOS (TCC-00.319) Ponteiros e funções Cristina Boeres 2 Ponteiros Variável do tipo ponteiro:! Linguagens como C permite o armazenamento e a manipulação de valores de endereços de memória!
15/03/2018. Professor Ariel da Silva Dias Paradigma Imperativo
Professor Ariel da Silva Dias Paradigma Imperativo Imperare Comandar É o mais antigo de todos; Baseado no modo de funcionamento do computador; Caracterizada por três conceitos Variáveis; Atribuições; Sequência;
Introdução à Linguagem C
Engenharia de CONTROLE e AUTOMAÇÃO Introdução à Linguagem C Aula 02 DPEE 1038 Estrutura de Dados para Automação Curso de Engenharia de Controle e Automação Universidade Federal de Santa Maria beltrame@mail.ufsm.br
Sub-rotinas David Déharbe
Sub-rotinas David Déharbe 1 1 Objetivos da aula Os conceitos de sub-rotina, funções e procedimentos; Como usar sub-rotinas em C: parâmetros de sub-rotinas: parâmetros formais e parâmetros efetivos. passagem
controle de fluxo repetições iterativas
Controle de Fluxo Repetições iterativas INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 controle de fluxo repetições iterativas tópicos while for do while break continue referência
Subprogramas. (ou Sub-rotinas) em C: Procedimentos e Funções. 2015/1 Programação Básica de Computadores (INF 09325)
Subprogramas (ou Sub-rotinas) em C: Procedimentos e Funções 2015/1 Programação Básica de Computadores (INF 09325) Archimedes Detoni www.inf.ufes.br/~archimedesdetoni archimedesdetoni@inf.ufes.br Programa
Algoritmos e Estruturas de Dados I IEC012. Procedimentos e Funções. Prof. César Melo Todos os créditos para o professor Leandro Galvão
Algoritmos e Estruturas de Dados I IEC012 Procedimentos e Funções Prof. César Melo Todos os créditos para o professor Leandro Galvão Procedimentos e Funções Procedimentos são s estruturas que agrupam um
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
Linguagem C (repetição)
Linguagem C (repetição) André Tavares da Silva andre.silva@udesc.br Exercício Escrever um programa que conte (mostre na tela) os números de 1 a 100. Comandos aprendidos até o momento: printf, scanf, getchar,
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
Programação de Computadores II. Cap. 4 Funções
Programação de Computadores II Cap. 4 Funções Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:
Programação Estruturada
Programação Estruturada Entrada e Saída. Mais sobre dados Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Saída
Escopo das Variáveis. Funções. Funções. Funções. Funções. Algoritmos e Lógica de Programação. Programação Estruturada Funções Recursividade
Algoritmos e Lógica de Programação Escopo das Variáveis Linguagem C Escopo de Programa Escopo de Arquivo Escopo de Função Programação Estruturada id d Escopo de Bloco static global Reinaldo Gomes reinaldo@cefet-al.br
Aula 14: Repetição (Parte 2)
Aula 14: Repetição (Parte 2) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Laços de repetição Comando de repetição
Aula 2 Comandos de Decisão
Departamento de Sistemas de Computação Universidade de São Paulo SSC 502 Laboratório de Introdução a Ciência de Computação I Aula 2 Comandos de Decisão Responsável Prof. Seiji Isotani (sisotani@icmc.usp.br)
Ocorrem em três tipos:
Ocorrem em três tipos: Numéricas: Representadas por todos os números do universo dos números reais Ex.: 2, 3.45, -6.78 Literais: Ocorrem em dois tipos: Strings: Qualquer sequência de até 256 caracteres
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
Introdução à Programação SCC-121
ICMC USP 1.semestre/2009 Introdução à Programação SCC-121 Comandos em C Profa. Roseli Ap. Francelin Romero O comando if if ( expressão é verdadeira ) execute comando ou bloco de comandos ; else /* se expressã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;
C++ - Funções. Forma geral das funções C++
C++ - Funções Conjunto de instruções para executar uma tarefa particular, agrupadas numa unidade com um nome para referenciá-las. O código é agregado ao programa uma única vez e pode ser executado muitas
Conceitos básicos. Computação eletrônica: Gurvan Huiban
Computação eletrônica: Conceitos básicos Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 Estrutura de um programa em C 2 Variáveis e constantes 3 Comandos de entrada e saída Estrutura de um programa
Módulo 1. Introdução. AEDS I C++ (Rone Ilídio)
Módulo 1 Introdução AEDS I C++ (Rone Ilídio) Introdução Linguagens de Programação Fonte Compilador Executável SO I Hardware C++ - Características Evolução do C, ou seja, possui a mesma sintaxe É uma linguagem
ALGORITMOS E ESRUTRA DE DADOS I. Ponteiros Passagem por Valor e Referência Alocação de Memória
ALGORITMOS E ESRUTRA DE DADOS I Ponteiros Passagem por Valor e Referência Alocação de Memória 2 Agenda Ponteiros Conceitos gerais O que é Ponteiro? Declaração de Ponteiros Operadores para Ponteiros Exemplos
Aula 16: Laços aninhados e desvios
Aula 16: Laços aninhados e desvios Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Comandos de Repetição (Parte
Linguagem C: Elementos fundamentais
Instituto de C Linguagem C: Elementos fundamentais Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Tópicos Principais Variáveis e Constantes Operadores
10. - ESTRUTURAS Características Básicas
102102102102102102102102102102102102102102102102102102 10. - ESTRUTURAS 10.1 - Características Básicas Coleção de uma ou mais variáveis que podem ser de diferentes tipos, agrupadas sob um mesmo nome. Também
MAC2166 Introdução à Computação para Engenharia Escola Politécnica Terceira Prova 20 de junho de 2011
MAC2166 Introdução à Computação para Engenharia Escola Politécnica Terceira Prova 20 de junho de 2011 Nome: Assinatura: N ō USP: Turma: Professor: Instruções: 1. Não destaque as folhas deste caderno. 2.
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
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
SSC 0301 IC para Engenharia Ambiental
SSC 0301 IC para Engenharia Ambiental Definição e uso de funçõ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
Técnicas de Programação: Comandos de Controle de DEE UFPB
Técnicas de Programação: Comandos de Controle de Programa Prof. Protásio DEE UFPB 1 Comandos de Controle de Programa Comandos que direcionam o fluxo de execução de programa. Em C, tem se 3 categorias:
Caracteres e Cadeias de Caracteres
Caracteres e Cadeias de Caracteres INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 caracteres e cadeias de caracteres tópicos caracteres cadeias de caracteres (strings) vetor
imprimir seus quadrados.
1) Dada uma seqüência de números inteiros não-nulos, seguida por 0, imprimir seus quadrados. int numero, /* usada para leitura da sequencia */ quadrado; /* guarda o quadrado do numero lido */ printf("\n\tcalculo
Programação de Computadores I Funções Básicas da Linguagem C PROFESSORA CINTIA CAETANO
Programação de Computadores I Funções Básicas da Linguagem C PROFESSORA CINTIA CAETANO Função Printf() Sintaxe printf( expressão de controle, argumentos); É uma função padrão para exibir uma mensagem na
/* Este programa realiza um somatório e exibe o resultado na tela do computador */
! " # $ # # & $ $ ' ( & ) *! ' ( & +'"',-. "! / 0 1 '! 2 32 24 ' 5!! $ # $ 1 6 789 798 1 $ /* Este programa não faz nada */ main() 8;; 6 88 1 $ // Este programa não faz nada main() ' 2 $ +
Sumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes?
Introdução à Ciência da Computação Ponteiros em C Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros
Apontadores/ponteiros
Apontadores/ponteiros 1 Apontadores/ponteiros 1. Um ponteiro pode ser manipulado como sendo um vetor. #include int v[5] = { 10, 20, 30, 40, 50 ; int p, i; p = v; for (i = 1; i < 5; i++) printf
PROTÓTPOS DE FUNÇÕES/PROCEDIMENTOS
PROTÓTPOS DE FUNÇÕES/PROCEDIMENTOS Uma função (ou procedimento) deve ser declarada sempre antes da sua primeira utilização. É por essa razão que devemos escrever todas as funções antes da função main().
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
Adriano Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ
C Funções Adriano Cruz adriano@nce.ufrj.br 21 de julho de 2017 Instituto de Matemática Departamento de Ciência da Computação UFRJ 1 Resumo Seção Introdução Forma Geral Protótipos de Funções Escopo de Variáveis
Introdução a Programação de Jogos
Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição
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
Estruturas de repetição
Título em português: FEITIÇO DO TEMPO (1993) Sinopse: Um repórter de televisão que faz previsões de meteorologia vai à uma pequena cidade para fazer uma matéria especial sobre o inverno. Querendo ir embora
Aula 15: Repetição (Parte 3)
Aula 15: Repetição (Parte 3) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Departamento de Computação UFOP Aula Anterior Breve Revisão Comandos de Decisão
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:
Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!
Declarações Os nomes das variáveis devem conter apenas letras, dígitos e o símbolo _ Os principais tipos são: int, float, double e char Exemplos: int n; int quantidade_valores; float x, y, somavalores;
Prova de Programação (21090) Data: 31 de Janeiro de 2008
Ministério da Ciência, Tecnologia e Ensino Superior Curso:... Prova de Programação (21090) Data: 31 de Janeiro de 2008 Nome:... Nº de Estudante:... B. I. nº... Assinatura do Vigilante:... RESERVADO PARA
Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição. OPL e IC1 Prof: Anilton Joaquim da Silva
Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição OPL e IC1 Prof: Anilton Joaquim da Silva Anilton.ufu@outlook.com 1 Estrutura de Repetição Em certas situações é necessária a repetição de
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 3.3. Conceitos Básicos de C: Expressões, Operadores e Bibliotecas
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
Prova 1 QUESTÃO 1. (1) nusp % 3 == 1. MAC2166 Introdução à Computação para a Engenharia. # include <stdio.h>
MAC2166 Introdução à Computação para a Engenharia Prova 1 QUESTÃO 1 Simule a execução do programa abaixo, destacando a saída do programa. A saída do programa é tudo que resulta dos comandos printf. Para
Programação científica C++
Programação científica C++ NIELSEN CASTELO DAMASCENO Slide 8 Matrizes como argumento de funções O nome de uma matriz (sem os colchetes) representa o endereço onde a matriz está armazenada. Ao passar o
Programação de Computadores II. Cap. 5 Vetores
Programação de Computadores II Cap. 5 Vetores Livro: Waldemar Celes, Renato Cerqueira, José Lucas Rangel. Introdução a Estruturas de Dados, Editora Campus (2004) Slides adaptados dos originais dos profs.:
PROGRAMAÇÃO DE COMPUTADORES V - TCC Modulo 6 : Funções Escopo de Variáveis: Globais x Locais Aura - Erick
PROGRAMAÇÃO DE COMPUTADORES V - TCC- 00.323 Modulo 6 : Funções Escopo de Variáveis: Globais x Locais Aura - Erick aconci@ic.uff.br, erickr@id.uff.br Roteiro Funções Escopo de Variáveis Variáveis Globais
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);
Linguagem de Programação C
ICMC USP Linguagem de Programação C Aula: Comandos em C Prof. Dr Alneu de Andrade Lopes O comando if Se condição verdadeira (1) executa comando ou sequencia de comandos. Forma geral: if (condição) { sequência_de_comandos_1;
1) Operadores de auto incremento ++ e auto decremento --
Aula 09 - Operadores de auto incremento e auto decremento, atribuição múltipla, atribuição na declaração, atribuição resumida e algumas regras de boa programação. 1) Operadores de auto incremento ++ e
Programação de Computadores II
Programação de Computadores II Aula de Revisão 01 Karina Mochetti 2019.1 Formato da Prova Questões teóricas. Escrever um programa do zero. Dar valores finais de variáveis. Completar um programa. Achar
RESUMO DE CONCEITOS BÁSICOS DE C
Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação RESUMO DE CONCEITOS BÁSICOS DE C 1 Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010
CCO 016 Fundamentos de Programação
CCO 016 Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá Aula 05 Entrada de dados Leia scanf ou cin Entrada de Dados Entrada de dados compreende a operação
Aula 4. Comandos de Repetição. Prof. Filipe Mutz.
Aula 4 Comandos de Repetição Prof. Filipe Mutz. Instrução Instrução Instrução... Instrução Instrução Condicional (seleção) Repetitivo (loops) Comandos de repetição permitem que um conjunto de instruções
1ª Lista de Exercícios
Universidade Federal do Rio de Janeiro Data: 26/04/05 Disciplina: Computação I 1ª Lista de Exercícios 1) Faça um programa, em pseudo-código, que peça ao usuário que informe n números reais e então calcule
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem
SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves. ICMC/USP São Carlos
Funções SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves ICMC/USP São Carlos Slides baseados no material gentilmente cedido pela Profa Simone Senger Souza 2 MODULARIZAÇÃO Um
Introdução à Computação - Linguagem C: aulas 03, 04 e 05. Mauro Cesar Bernardes 03/Junho/2014
Introdução à Computação - Linguagem C: aulas 03, 04 e 05 Mauro Cesar Bernardes 03/Junho/014 Agenda Revisão de Comandos Básicos: printf scanf while for if... Else Funções Vetores e Matrizes Passagem de
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
Funções em C. Lucas Ferrari de Oliveira Professor Adjunto. Linguagem de Programação Estruturada I. Universidade Federal do Paraná
em C Linguagem de Programação Estruturada I Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná Sumário Funções: Conceitos; Forma Geral das funções; Regras de Escopo; Argumentos
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
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
Simulado da Prova Parcial 2 (01/08/2013)
Simulado da Prova Parcial 2 (01/08/2013) A prova consiste na elaboração de algoritmos para resolução dos problemas descritos a seguir. Você deve usar a linguagem C para escrever os algoritmos. Seus algoritmos
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
Repetição. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo
Repetição Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Operadores aritméticos de atribuição =
ICMC USP. 1.semestre/2011 SCC120 - ICC. Aula: Comandos em C. Profa. Roseli Ap. Francelin Romero
ICMC USP 1.semestre/2011 SCC120 - ICC Aula: Comandos em C Profa. Roseli Ap. Francelin Romero O comando if if ( expressão é verdadeira ) execute comando ou bloco de comandos ; else /* se expressão é falsa
Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação. Lista de Exercícios 1
Faculdade Anglo-Americano Curso de Ciência da Computação Linguagem de Programação Lista de Exercícios 1 1. O programa seguinte tem vários erros em tempo de compilação. Encontre-os. Main() int a=1; b=2,
Linguagem C Controle do Fluxo de Execução. Lógica de Programação
Linguagem C Controle do Fluxo de Execução Lógica de Programação Caro(a) aluno(a), Aqui começaremos a escrever os nossos primeiros programas em uma Linguagem de Programação. Divirta-se!!! Estrutura Seqüencial
Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento
Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double
O laço for é geralmente usado quando queremos repetir algo por um número fixo de vezes
Linguagem C Laços Laços Laços são comandos usados sempre que uma ou mais instruções tiverem de ser repetidas enquanto uma certa condição estiver sendo satisfeita Em C existem três comandos de laços for
Linguagens de Programação I
Linguagens de Programação I Tema # 4 Operadores em C Susana M Iglesias FUNÇÕES ENTRADA-SAÍDA I/O printf(), utilizada para enviar dados ao dispositivo de saída padrão (stdout), scanf(), utilizada para ler
Introdução à Programação
Introdução à Programação Variáveis em C Slides da Profa. Roseli Romero Comandos de Entrada e Saída O objetivo de escrevermos programas é em última análise, a obtenção de resultados (Saídas) depois da elaboração
#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
Linguagem C. Funções. Prof. Maurício Dias
Linguagem C Funções Prof. Maurício Dias 1 O que são Funções? (ou subprogramas ou subrotinas) São trechos de código fonte agrupados sob um nome, que podem ser chamados sempre que for necessário executar