• Nenhum resultado encontrado

Funções e procedimentos

N/A
N/A
Protected

Academic year: 2022

Share "Funções e procedimentos"

Copied!
38
0
0

Texto

(1)

1

Funções e procedimentos

MCTA028 – Programação Estruturada

Luiz Rozante 3Q-20108

Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti

(2)

Operadores unários ++ e ­­

Diferentes linguagens tem operadores que permitem o

incremento ou decremento de valores de forma abreviada.

(3)

3

Incremento: ++

Decremento: ­­

Exemplos

i = i+1      i++→ i = i+1      ++i→ i = i­1      i­­→ i = i­1      ­­i→

Operadores unários ++ e ­­

(4)

int  i = 10;

p = i++;

int  i = 10;

p = ++i;

Operadores unários ++ e ­­

(5)

5

int  i = 10;

p = i++; 

int  i = 10;

p = ++i;

Quando o operador está antes da variável, esta é operada antes de ser utilizada.

Operadores unários ++ e ­­

p=10 i=11

p=11 i=11

(6)

Abribuição composta com operadores

Exemplos

i = i+3     → i += 3 i = i­3     → i ­= 3 i = i*(3+q)    i *= 3+q→ i = i/67     i /= 67→ i = i%10     i %= 10→

(7)

7

Funções

(8)

Funções

(9)

9

Funções

(10)

Funções

Como identificar um bom candidato a função?

Tarefa relativamente simples.

Trecho de código pequeno.

Utilizado várias vezes.

(11)

11

Funções

Definição Chamada

Declaração

(12)

Funções

Forma geral da definição:

tipo_retorno identificador ( lista parêmetros ) { // declaração de variáveis

//corpo da função

// instruções C válidas }

(13)

13

Funções

(14)

Funções (modularidade)

Consiste em dividir uma atividade em componentes, rotulados e endereçáveis

Uma função devolve um valor.

A função invocadora (main) é suspensa quando executar a

As variáveis locais não são conhecidas fora

da função

(15)

15

Funções (exemplo)

(16)

Funções

A definição de uma função C fornece 4 importantes informações ao compilador:

Então funções devem ser declaradas no início do código, logo após as diretivas #include; ou definidas antes da

função que a invoca.

(17)

17

Funções (exemplo)

(18)

Funções: escopo de variáveis

(19)

19

Funções: escopo de variáveis

(20)

Funções (exemplo)

(21)

21

Exercício 1

Crie uma função que permita calcular uma

aproximação de PI usando a serie de Gregory:

A função deve aceitar um parâmetro que represente o número de termos a ser

considerado na somatório.

4.000000 3.041840 3.131593 3.141493

(22)

Exercício 1

Crie uma função que permita calcular uma

aproximação de PI usando a serie de Gregory:

A função deve aceitar um parâmetro que represente o número de termos a ser

considerado na somatório.

4.000000 3.041840 3.131593 3.141493

(23)

23

Exercício 2

Modifique a função anterior de tal forma que faça a

somatória dos termos maiores ou iguais a x.

A função deve aceitar um parâmetro que represente o valor x (precisao).

3.1215946526 3.1415924536

(24)

Exercício 2

Modifique a função anterior de tal forma que faça a

somatória dos termos maiores ou iguais a x.

A função deve aceitar um parâmetro que represente o valor x (precisao).

3.1215946526

3.1415924536 Desafio: Quantos termos são necessários?

(25)

25

Procedimentos?

(26)

Procedimentos

Na linguagem C existem apenas funções, mas saiba que existem outras linguagens que aceitam funções e

procedimentos (em pascal: Function e Procedure):

Uma função devolve sempre um valor.

Um procedimento não devolve qualquer valor.

A forma de invocar funções e procedimentos é diferente:

Funções: x = pi(0.001) Procedimentos: printf(“%f”, x)

(27)

27

Procedimentos

Uma função que devolve “void” é chamada de procedimento.

(28)

Procedimento: exemplo

(29)

Algoritmos:

Deterministicos Vs Não-deterministicos

Um programa determinístico sempre gera a mesma saída para o mesmo conjunto de entrada.

Um programa é não-determinístico quando apresenta resultados

diferentes com os mesmos conjuntos de entrada.

(30)

Procedimento: exemplo

******­***

******­***

int rand(void)

Devolve um número inteiro entre 0 e RAND_MAX

(31)

Números aletórios

Pseudo-random True-random

https://boallen.com/random-numbers.html

(32)

Números aletórios

Me da um número aleatório

Pronto

stdlib.h

(33)

Números aletórios

Me da um número aleatório

Pronto

stdlib.h

Temperatura

Hora atual do sistema

Número de rotações do HD ...

(34)

Procedimento: exemplo

****­*****

******­***

(35)

Números aletórios

(36)

Exercícios

Faça programas em C (usando obrigatoriamente funções) que:

1) calcule e escreva o valor de S:

2) calcule e escreva a seguinte soma:

3) calcule e escreva o valor de S:

(37)

37

Exercícios

Faça programas em C (usando obrigatoriamente funções) que:

4) calcule e escreva o valor de S:

5) calcule e escreva a soma dos 100 primeiros termos da série:

6) calcule e escreva o valor de pi, com precisão de 0.0001, usando a série:

(38)

Recado: monitoria

Plantão tira dúvidas:

L703-bloco B

Quartas-feiras

das 17h às 19h

Referências

Documentos relacionados

o medo dos soldados, o medo das mães, o [medo das igrejas, cantaremos o medo dos ditadores, o medo dos [democratas, cantaremos o medo da morte e o medo de [depois da morte,...

• Servem para informar valores de dados que serão necessários para executar a tarefa solicitada;. •

Chama-se  de  progressão aritmética (P.A.), toda  sucessão  de  números  que,  a  partir  do  segundo,  a  diferença 

a) O emissor não organiza suas ideias de forma clara, levando ao não-entendimento da mensagem por parte do receptor. Nesta situação, a fala do emissor sofre

Para acessar valores da ui ou da função server, cada valor deve ser passado explicitamente aos módulos como argumentos das funções.. Toda função UI de um módulo deve começar

Reescreva as duas orações subordinadas adjetivas sublinhadas, fazendo uso da expressão “a qual”, de acordo com a norma-padrão. Além disso, identifique, respectivamente, as

Usando a cláusula GROUP BY para agrupar linhas Utilização incorreta de chamadas de funções agregadas Usando a cláusula HAVING para filtrar grupos de linhas Usando as cláusulas

Como pode ser visto na Figura 1, abaixo, os diferentes tipos de processos podem ser visualmente representados em um círculo, que representa, para Halliday, a construção