49
Faculdade de Engenharia da Computação Disciplina: Lógica de Programação Funções Padronizadas na Linguagem de Programação 1 Linguagem de Programação Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis Wagner Santos C. de Jesus

Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

  • Upload
    vodieu

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Faculdade de Engenharia da ComputaçãoDisciplina: Lógica de Programação

Funções Padronizadas na Linguagem de Programação

1

Linguagem de Programação

Site : http://www1.univap.br/~wagner/ec.html

Prof. Responsáveis

Wagner Santos C. de Jesus

Page 2: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Conceito de Funções Funções

Matemáticas

2

Page 3: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Conceito Função

Uma função vem a ser uma relação unívocaentre dois conjuntos. A e B. onde f(x) = y e f onome da função em x.

f(x) = x3

3

Page 4: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Dois conjuntos A,B onde A = x e B = f(x)

4

Page 5: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Comando define

Definindo valores de constantes:

#define PI 3.1415926

#define PI_2 1.5707963#define PI_2 1.5707963

#define PI_4 0.78539815

#define c 300000000

5

Page 6: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Definição de funções padrão da linguagem.

Uma função vem a ser um algoritmo que éexecutados retornando um valor de saída,podendo possuir valores de entrada queeventualmente podem afetar sua saída.eventualmente podem afetar sua saída.

6

Chamada da função

Biblioteca de Funções

Page 7: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Biblioteca de funções Matemáticas

Para se usar funções matemáticas deve-sedisponibilizar a biblioteca: <math.h>

Sintaxe: #include <math.h>

7

Page 8: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Sintaxe das funções Matemáticas

<tipo> <Varm> = Função(<Parâmetros>);

8

Page 9: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Característica de uma função

Toda e qualquer função possuicomportamento endógeno devido acaracterísticas de operações matemáticas.

9

FunçãoExpressão

Page 10: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Aplicação das Funções Matemáticas Básicas da

Linguagem CLinguagem C

10

Page 11: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função: abs()

Retorna o valor absoluto de um númeropassado como parâmetro.

Sintaxe: <varm> = abs(<ExpN>);Sintaxe: <varm> = abs(<ExpN>);

Exemplo: int x = abs(2-5);

resposta x = 3

11

Page 12: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função: rint()

Retorna com o valor arredondado de um valor passado como parâmetro.

Expr > 0.5 Arredonda +

Expr < 0.5 Arredonda –Expr < 0.5 Arredonda –

Sintaxe: <varm> = rint(<ExpN>);

Exemplo: int a = rint(4.66);

Resultado a = 5

12

Page 13: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função ceil()

Arredonda valores sempre para cima.

Sintaxe: <varm> = ceil(<ExpN>);

Exemplo: float m = ceil(3.2);Exemplo: float m = ceil(3.2);

Resultado: m = 4

13

Page 14: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função sqrt()

Retorna com o valor da raiz quadrada de umnúmero passado como parâmetro.

Expr ≥ 0

Sintaxe: <Varm> = sqrt(<ExpN>);

Exemplo: float y = sqrt(49);

resultado y = 7

14

Page 15: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função pow()

Retorna o valor de uma base elevado a umdeterminado expoente. X2 = Y.

Sintaxe: <varm> = pow(<ExpN1>,<ExpN2>);Sintaxe: <varm> = pow(<ExpN1>,<ExpN2>);

Exemplo: float x = pow(2,3);

Resultado x = 8

15

Page 16: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função pow(): Calculo de raízes n

Usando função de calculo de exponencial para calcular araiz n-ésima. Base elevado a n > 0; 1/n

Sintaxe: <varm> = pow(<ExpN1>,1.0/n);

Exemplo Raiz cúbica de 49:Exemplo Raiz cúbica de 49:

float x = pow(49.0,1.0/3.0);

Resultado x = 3.6593

16

Page 17: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função: log10()

Retorna o logaritmo na base 10 de um valorpassado como parâmetro.

Sintaxe: <Varm> = log10(<ExpN>);Sintaxe: <Varm> = log10(<ExpN>);

Exemplo: float k = log10(100);

17

Page 18: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função: log10() para calculo de qualquer base.

Retorna o logaritmo na base n de um valorpassado como parâmetro para <ExpN>.

Sintaxe: <Varm> = log10(<ExpN>) / log10(<Base>);Sintaxe: <Varm> = log10(<ExpN>) / log10(<Base>);

Exemplo: float k = log10(100) / log10(2.718);

k = 4.605

18

Page 19: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função: exp()

Retorna o valor exponencial que tem com base a constante de Euler ex = y.

Sintaxe: <varm> = exp(<ExpN>);Sintaxe: <varm> = exp(<ExpN>);

Exemplo: int e = exp(1);

Resultado e = 2.7183

19

Page 20: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função:modf()

Decompões o número armazenado em<expN1> em duas partes: <ExpN2> recebe aparte inteira e <Varm>, a parte fracionáriado número.do número.

Sintaxe:

<Varm> = modf(<expN1>,<expN2>);

20

Page 21: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Exemplo Prático

double x = 2.689;

double y;

double z=modf(x,&y);

printf("x = %f\n",x);printf("x = %f\n",x);

printf("y = %f\n",y);

printf("z = %f\n",z);

21

x= 2.689y = 2.0z = 0.689

Page 22: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Funções TrigonométricaTrigonométrica

22

Page 23: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função: sin()

Retorna o valor do seno de um ângulo em graus.

Sintaxe: <varm> = sin(<ExpN>);

Exemplo:Exemplo:

#define rad 0.017453289

float x = sin(30*rad);

x = 0.5

23

Page 24: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função: cos()

Retorna o valor do cosseno de um ângulo em graus.

Sintaxe: <varm> = cos(<ExpN>);

Exemplo:Exemplo:

#define rad 0.017453289

float x = cos(30*rad);

x = 0.866

24

Page 25: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função: tan()

Retorna o valor do tangente de um ângulo em graus.

Sintaxe: <varm> = tan(<ExpN>);Sintaxe: <varm> = tan(<ExpN>);

Exemplo:

#define rad 0.017453289

float x = tag(45*rad);

x = 1

25

Page 26: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Exercício - 1

Marta estava em um festival de balonismoe queria saber qual era a altura que o balão desua família estava voando, sabe-se que Martaao olhar para o balão, o seu ângulo, emao olhar para o balão, o seu ângulo, emrelação a linha do horizonte era de 400 e sabe-se que a distância, diagonal entre Marta e obalão é de (X) metros. Escrever um programaque calcule a altura (h) do balão.

26

Page 27: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Exercício-2

Carlos era praticante de rapel e precisavausar uma corta que em uma das pontas estavafixa ao topo do mastro de altura (x) conhecidae a outra ponta na margem de um rio cujae a outra ponta na margem de um rio cujadistância (y) era também conhecida. Criar umprograma que calcula qual a distância queCarlos terá que percorrer.

27

Page 28: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Funções para Tratamento de StringTratamento de String

28

Page 29: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Aplicações das Funções de Manipulação de String.

29

Page 30: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Conceito de String

String vem a ser um conjunto de combinações de caracteres.

Exemplo: Exemplo:

char s[40] = “Abacaxi, vem a ser uma fruta”;

30

Page 31: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Marcador de terminação

Toda string na linguagem C émarcada por intermédio de ummarcador de terminação quemarcador de terminação quepossibilita realizar a checagem do seutérmino.

31

Page 32: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Exemplo

char s[30] = “ABACAXI”;

0 1 2 3 4 5 6 7

32

0 1 2 3 4 5 6 7

A B A C A X I \0

Page 33: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Biblioteca de funções String

Para se usar funções matemáticas deve-sedisponibilizar a biblioteca: <string.h>

Sintaxe: #include <string.h>

33

Page 34: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função: strlen()

Retornar com o número de caracteres em umastring.

Sintaxe: <varm> = strlen(<ExpS>);Exemplo: Exemplo:

char s[30] = “Melancia”;int x = strlen(s);x = 8

34

Page 35: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função: strcat()

Efetuar a concatenação de duas strings.

Sintaxe: strcat(<ExpS1>,<ExpS2>);

Observação na função strcat() os valorespassados usam o conceito de passagem porreferencia.

35

Page 36: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função strcat()

Exemplo:

char m[30] = “Logica”;

char s[30] = “ de Programação”; char s[30] = “ de Programação”;

strcat(m,s);

printf("%s",m);

36

Page 37: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função: strcpy

Copia o conteúdo de uma variável do tipo string paraoutra variável do tipo string.

Sintaxe: strcpy(<ExpS1>,<ExpS2>);

Exemplo:

char v[20] = “Programa”;char s[20];strcpy(s,v);

37

Page 38: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função: strrev()Efetua a inversão da string passada como parâmetros.

Sintaxe: strrev(<ExpS>);

Exemplo:Exemplo:

char v[30] = “Abacaxi”;strrev(v);

38

Page 39: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função: strcmp()

Compare os caracteres das duas stringsanalisando seu valor correspondente binário.

Sintaxe:

<varm> = strcmp(<ExpS1>,<ExpS2>);<varm> = strcmp(<ExpS1>,<ExpS2>);

se s1 < s2; retorna -1

se s1 > s2; retorna 1

se s1 == s2; retorna 0

39

Page 40: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Exemplo Prático

int res = strcmp("Carlos","Ana");

printf("%d\n",res);

Retorna (1) devido s1 > s2.

40

Page 41: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Funções da Biblioteca

#include <cctype>

41

Page 42: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função isdigit()

Determina se um caractere passado comoparâmetro é ou não um digito numérico.Verdadeiro (1) e falso (0).

Sintaxe:

<varm> = isdigit(<ExpC>);

42

Page 43: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Exemplo Prático

Retorna 0 caso o digito não seja um número.

int b = isdigit('a');

printf("%d\n",b);printf("%d\n",b);

43

Page 44: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Função: isapha()

Retorna verdadeiro se o argumento é umaletra do alfabeto; falso em caso contrário.

Sintaxe:Sintaxe:

<Varm> = isalpha(<ExpC>);

44

Page 45: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Exemplo Prático

Retorna zero caso o caractere seja um digito do alfabeto.

int b1 = isalpha('p');

printf("%d\n",b1);

45

Page 46: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

Funções da biblioteca stdlib.hstdlib.h

46

Page 47: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

atoi():

Converte uma string dada em uma inteiro.

Observação: O texto deve conter valores.

Sintaxe: <Varm> = atoi(<Exps>);

Exemplo: int x = atoi(“123”);

47

Page 48: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

atof()

Converte uma string dada em ponto flutuante.

Observação: O texto deve conter valores.

Sintaxe: <Varm> = atof(<ExpS>);Sintaxe: <Varm> = atof(<ExpS>);

Exemplo: float y = atof(“3.666”);

48

Page 49: Funções Padronizadas na Linguagem de Programação · 2016-11-12 · Retorna com o valor arredondado de um valor passado como parâmetro. ... Usando função de calculo de exponencial

atol()

Converte uma string dada em um inteiro longo.

Observação: O texto deve conter valores.

Sintaxe: <Varm> = atol(<ExpS>);Sintaxe: <Varm> = atol(<ExpS>);

Exemplo: long y = atol(“876554433”);

49