Baixe o app para aproveitar ainda mais
Prévia do material em texto
Linguagem de Programação Aula 04 Roteiro da Aula •Strings •Funções (Modularização) 2 String • Um caracter é uma lista, um numeral, uma pontuação ou um símbolo • Uma string consiste em um conjunto de caracteres, utilizados para armazenar textos em geral 3 String • Char • Declaração : char c; • Atribuição: char opcao = ‘A’; 4 String • Na linguagem de programação C consiste em um conjunto de caracteres terminado por nulo (‘\0’) • Exemplo: char str[21]; 5 String • Definição char nome[5] • nome nome da variável • [5] número de posições de 0 à 5 • Última posição é ocupada pelo ‘\0’ 6 String • Exemplo #include <stdio.h> void main(){ char nome [3]; nome[0] = ‘M’; nome[1] = ‘A’; nome[2] = ‘E’; nome[3] = ‘\0’; printf(“O nome é %s\n”, nome); printf(“A terceira letra da string eh %c\n”, nome[2]); } 7 String • Leitura de strings (teclado): • Função gets() • Lê string até o primeiro enter • Função scanf() • Lê string até o primeiro espaço em branco 8 String • A linguagem de programação C suporta várias funções de manipulação de strings • Necessário a inclusão da biblioteca string.h 9 String -Exemplos: • strcpy (str1, str2) • Copia str2 em str1 • strcat (str1, str2) • Concatena str2 ao final de str1 10 String -Exemplos: • int tam = strlen(str1) • Retorna o tamanho de str1 • int valor = strcmp(str1, str2) • Retorna 0 se str1 e str2 são iguais; < que 0 se str1<str2; > que 0 se str1>str2 11 Funções • Vários problemas de soluções complexas podem ser divididos, em problemas menores, com lógica mais simples e de compreensão mais fácil. 12 Funções • É a técnica de programar desenvolvendo um programa a partir de pequenas partes ou módulos • Dividir para conquistar 13 Funções • É um trecho de código (bloco) contendo um conjunto de comandos com o objetivo de efetuar uma determinada tarefa. • Em C criar um módulo é definir uma função. 14 Vantagens • Subdivisão de programas complexos • Facilita a estruturação lógica do programa • Economia de código 15 Vantagens • Facilidade de manutenção • Redução no tempo de desenvolvimento • Reutilização 16 Tipos de Funções • C • Um programa é um conjunto de funções, em que o main é a principal função e por onde inicia a execução do programa 17 Tipos de Funções • Pré-definidas (bibliotecas padrões do C): • math.h • string.h • stdio.h 18 Tipos de Funções • Definidas pelo programador (não existem nas bibliotecas): int maior(int x, int y) { if (x>y) return x; return y; } 19 Forma Geral de uma Função • Sintaxe <tipo_retorno> <nomef> ([<lista_parametros>]) { <declarações> <comandos> return [<expressão>]; } 20 Forma Geral de uma Função • tipo_retorno: • Pode ser int, double, char, etc, mais o tipo especial void (não retorna nenhum valor) 21 Forma Geral de uma Função • nomef: • Nome da função • lista_parametros: • Opcional • Nome do argumento sempre vem precedido do seu tipo • Vários argumentos devem ser separados por vírgulas 22 Forma Geral de uma Função • return: • Término da função • Tipo de dado da expressão deve ser do mesmo tipo definido no tipo_retorno da função • Comando return tem capacidade de retornar apenas um valor 23 Forma Geral de uma Função Exemplos de retornos corretos: void func1 () { <comandos>; } int func2 () { <comandos>; return 1; } Exemplos de retornos incorretos: void func1 () { <comandos>; return 0; } int func2 () { <comandos>; return; } 24 Escopo de Variáveis • Representa a área do programa onde a variável pode ser utilizada. • Classificada em: • Locais • Globais 25 Escopo de Variáveis • Locais • Declaradas dentro do corpo da função • Visíveis somente para nesta função • O programa principal e as demais funções não podem utilizar esta variável 26 Escopo de Variáveis • Globais • Declaradas fora das funções • Visíveis por todas as funções do programa 27 Escopo de Variáveis #include <stdio.h> int z; //variável global int soma(int a, int b){ int res; //variável local da função res = a +b; return res; } 28 Escopo de Variáveis main() { int x, y, resultado; // variável locais main z = 10; printf (“Informe dois números inteiros”); scanf (“%d %d”, &x, &y); resultado = soma(x, y); printf (“%d + %d = %d\n”, x , y, resultado); printf (“%d + %d = %d\n”, x , z, soma(x,z)); } 29 Parâmetros • As funções podem se comunicar de duas formas: • Através das variáveis globais: não recomendável, evitar; • Através dos parâmetros existentes nas funções. 30 Parâmetros • Organizados em: • Formais utilizados na definição da função. Devem ser variáveis e são tratadas como variáveis. • Reais usados na chamada da função. Podem ser tanto variáveis quanto valores. 31 Parâmetros • Os parâmetros formais e reais de em se correspondem em: • Número • Tipo de dado • Ordem 32 Parâmetro - Exemplo #include <stdio.h> float media (float x, float y, float z) //formais { return 9x+y+z)/3; } main() { float n1, n2, media; printf(“Entre com duas notas:”); scanf(“%f %f”, &n1, &n2); med = media(n1, n2, 8.5); //reais printf(“Media = %.2f\n”, med); } 33 Chamada de uma função • As funções podem ser classificadas de dois tipos: • Procedimento: não retornam nada (void); • Função: retornam um valor através do comando return. 34 Chamada de uma função • Forma de chamada (ativação) de um procedimento: void exibe(int val) { printf(“valor: %d”, val); } 35 Chamada de uma função • Sempre um comando isolado no local da chamada main() { int x; x = 10; exibe(x); } 36 Chamada de uma função • Forma de chamada (ativação) de um função: int soma(int a, int b) { return a + b; } 37 Chamada de uma função • Atribuindo o seu resultado a uma variável res = soma(x, y); • Em uma condição if(soma(x,y) >10) • Em uma saída de dados printf(“soma = %d”, soma(x,y)); 38
Compartilhar