cco 016 / com 110 - rcosta62br.unifei.edu.br · seno sen(x) cosseno cos(x) ... qual o valor de b e...

84
CCO 016 / COM 110 Fundamentos de Fundamentos de Programação Programação Universidade Federal de Itajubá Prof. Roberto Affonso da Costa Junior

Upload: nguyentuyen

Post on 05-Dec-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

CCO 016 / COM 110Fundamentos de Fundamentos de

ProgramaçãoProgramação

Universidade Federal de Itajubá

Prof. Roberto Affonso da Costa Junior

Page 2: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

AULA 06AULA 06

– Operações Matemáticas– Comandos Sequenciais– Comandos Sequenciais na Linguagem de

Programação C

Page 3: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Operações AritméticasOperações Aritméticas

● Aritméticas mais comuns

● Adição +

● Subtração -

● Divisão /

● Multiplicação *

● Resto da divisão resto(x,y)

● Raiz quadrada raiz(x)

● Exponenciação pot(x,n)

● Seno sen(x)

● Cosseno cos(x)

● Tangente tan(x)

● Logaritmo log(x)

● Logaritmo Neperiano ln(x)

Page 4: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Estrutura SequenciaisEstrutura Sequenciais➢Definimos Estruturas Sequenciais como sendo a sequência de passos feito da forma Top-Down, isto é, de cima para baixo.

➢Por exemplo:

➢Qual o valor de B e de A e B?

A ← 10B ← 20

imprima(A,B)B ← 5

imprima(A, B)

A ← 10B ← 20

imprima(A,B)B ← 5

imprima(A, B)

Page 5: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Estrutura SequenciaisEstrutura Sequenciais➢ Uma estrutura sequencial realiza um conjunto predeterminado de comandos de forma sequencial, na ordem em que foram declarados no código fonte. A cada instrução, o contador de programa é incrementada (PORTUGOL).

➢ Uma estrutura sequencial é delimitada pelas palavras-reservadas Início e Fim e contém basicamente comandos de atribuição, comandos de entrada e comandos de saída. Os algoritmos do capítulo anterior são algoritmos que utilizam uma única estrutura sequêncial.

Page 6: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Estrutura SequenciaisEstrutura Sequenciais➢ Um algoritmo puramente seqüencial é aquele cuja execução é efetuada em ordem ascendente dos números que identificam cada passo. A passagem de um passo ao seguinte é natural e automática, e cada passo é executado uma única vez.

1. início2. A ← 103. B ← 204. imprima(A,B)5. B ← 56. imprima(A,B)7. fim

1. início2. A ← 103. B ← 204. imprima(A,B)5. B ← 56. imprima(A,B)7. fim

Page 7: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Estrutura SequenciaisEstrutura Sequenciais● Esquema Genérico de

Algoritmos em Portugol

Declaração de Variáveis/Constantes

INICIO

inicialização de variáveis/constantes {comentários}

bloco de comandos de entrada de dados

{comentários}

bloco de comandos de atribuição

{comentários}

bloco de comandos de saída de dados

FIM

● Esquema Genérico de Algoritmos em Fluxograma

INICIO

FIM

Leia

Imprima

Atribuição

Page 8: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 1Exemplo 1➢ Dados 4 números, calcule a média aritmética deles.

Algoritmo:Algoritmo: real n1, n2, n3, n4, soma, media

imprima ( “entre com o valor de n1 “ )leia ( n1 )imprima ( “entre com o valor de n2 “ )leia ( n2 )imprima ( “entre com o valor de n3“ )leia ( n3 )imprima ( “entre com o valor de n4 “ )leia ( n4 )

Page 9: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 1Exemplo 1

Algoritmo:Algoritmo:

soma ← n1 + n2 + n3 + n4 media ← soma / 4

imprima ( “ A média dos 4 números é: “, media )

Page 10: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 1Exemplo 1➢ Dados 4 números, calcule a média aritmética deles.

Portugol:Portugol:Início

real n1, n2, n3, n4, soma, mediaimprima ( “entre com o valor de n1: “)leia ( n1 )imprima ( “entre com o valor de n2: “)leia ( n2 )imprima ( “entre com o valor de n3: “)leia ( n3 )imprima ( “entre com o valor de n4: “)leia ( n4 )

Page 11: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 1Exemplo 1

Portugol:Portugol:

soma ← n1 + n2 + n3 + n4 media ← soma / 4

imprima ( “ A média dos 4 números é: “, media )

Fim

Page 12: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 1Exemplo 1➢ Dados 4 números, calcule a média aritmética deles.

Fluxograma:Fluxograma:

INICIO

n1, n2, n3, n4

Soma ← n1 + n2 + n3 + n4Media ← soma / 4

‘ Media = ’, Media

FIM

Page 13: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 1Exemplo 1

Testando o Algoritmo anteriorTestando o Algoritmo anterior

n1 = 10.0n2 = 5.0n3 = 7.0n4 = 8.0

soma ← 10.0 + 5.0 + 7.0 + 8.0media ← 30 / 4

media = 7.5

Page 14: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 2Exemplo 2➢ Elabore um programa que leia um valor de temperatura em graus Celsius, calcule e exiba a temperatura equivalente em graus Kelvin, sabendo que K = C + 273.

Algoritmo:Algoritmo: real K, C

imprima ( “entre com a temperatura em Celsius: “ )leia ( C )

K ← C + 273

imprima ( “ A temperatura em Kelvin é: “, K)

Page 15: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 2Exemplo 2 PortugolPortugol

Início real K, C

imprima ( “entre com a temperatura em Celsius: “ )leia ( C )

K ← C + 273

imprima ( “ A temperatura em Kelvin é: “, K)

Fim

Page 16: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 2Exemplo 2

Fluxograma:Fluxograma:

INICIO

C

K ← C + 273

‘ Kelvin = ’, K

FIM

Page 17: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 2Exemplo 2

Testando o Algoritmo anteriorTestando o Algoritmo anterior

C = 10.0

k ← 10.0 * 25.4

Kelvin = 254.0

Page 18: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 3Exemplo 3➢ Ler o nome de um cliente de fast food e a quantidade de cada item do menu que ele vai pedir. Exiba o nome do cliente e o total da compra.

MENU

Hot dog R$ 2,50

Hambúrguer R$ 4,00

Cheeseburguer R$ 4,50

Refrigerante R$ 2,00

Batatas fritas R$ 3,50

Page 19: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 3Exemplo 3Algoritmo:Algoritmo: cadeia nome inteiro qhd, qha, qch, qre, qbf real pthd, ptha, ptch, ptre, ptbf, ptf

imprima ( “entre com o nome do cliente: “ ) leia ( nome ) imprima ( “entre com a quantidade de hot dog: “ ) leia ( qhd ) imprima ( “entre com a quantidade de hambúrguer: “ ) leia ( qha ) imprima ( “entre com a quantidade de cheeseburguer: “ ) leia ( qch )

Page 20: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 3Exemplo 3Algoritmo:Algoritmo: imprima ( “entre com a quantidade de refrigerante: “ ) leia ( qre ) imprima ( “entre com a quantidade de batatas fritas: “ ) leia ( qbf ) pthd← qhd * 2.5 ptha← qha * 4.0 ptch← qch * 4.5 ptre ← qre * 2.0 ptbf ← qbf * 3.5 ptf ← qhd + qha + qch + qre + qbf imprima ( “ Cliente: “, nome) imprima ( “ O valor devido é: R$“, ptf)

Page 21: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 3Exemplo 3 Portugol:Portugol: InícioInício cadeia nome inteiro qhd, qha, qch, qre, qbf real pthd, ptha, ptch, ptre, ptbf, ptf imprima ( “entre com o nome do cliente: “ ) leia ( nome ) imprima ( “entre com a quantidade de hot dog: “ ) leia ( qhd ) imprima ( “entre com a quantidade de hambúrguer: “ ) leia ( qha ) imprima ( “entre com a quantidade de cheeseburguer:“) leia ( qch )

Page 22: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 3Exemplo 3 Portugol:Portugol: imprima ( “entre com a quantidade de refrigerante: “ ) leia ( qre ) imprima ( “entre com a quantidade de batatas fritas: “ ) leia ( qbf ) pthd← qhd * 2.5 ptha← qha * 4.0 ptch← qch * 4.5 ptre ← qre * 2.0 ptbf ← qbf * 3.5 ptf ← qhd + qha + qch + qre + qbf imprima ( “ Cliente: “, nome) imprima ( “ O valor devido é: R$ “, ptf) FIM

Page 23: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 3Exemplo 3 Portugol:Portugol: imprima ( “entre com a quantidade de refrigerante: “ ) leia ( qre ) imprima ( “entre com a quantidade de batatas fritas: “ ) leia ( qbf ) pthd← qhd * 2.5 ptha← qha * 4.0 ptch← qch * 4.5 ptre ← qre * 2.0 ptbf ← qbf * 3.5 ptf ← qhd + qha + qch + qre + qbf imprima ( “ Cliente: “, nome) imprima ( “ O valor devido é: R$ “, ptf) FIM

Page 24: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 3Exemplo 3

Fluxograma:Fluxograma:

INICIO

nome, qhd, qha, qch, qre, qbf

pthd ← qhd * 2.5ptha ← qha * 4.0ptch ← qch * 4.5ptre ← qre * 2.0ptbf ← qbf * 3.5

ptf ← pthd + ptha + ptch + ptre + ptbf

1

Page 25: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 3Exemplo 3

Fluxograma:Fluxograma:

“ Cliente: “, nome

FIM

1

“ O valor devido é: R$ “, ptf

Page 26: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 3Exemplo 3

Testando o Algoritmo anteriorTestando o Algoritmo anteriornome = “Roberto Costa”qhd = 0qha = 0qch = 1qre = 2qbf = 1

pthd = 0 * 2.5ptha = 0 * 4.0ptch = 1 * 4.5ptre = 2 * 2.0ptbf = 1 * 3.5

Page 27: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 3Exemplo 3

Testando o Algoritmo anteriorTestando o Algoritmo anteriorptf = 0.0 + 0.0 + 4.5 + 4.0 + 3.5

Cliente : Roberto Costa

O valor devido é: R$ 12.00

Page 28: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Operações Aritméticas em COperações Aritméticas em C

● Adição +

● Subtração -

● Multiplicação *

● Divisão /

● Resto da divisão %● Modulo inteiro |x| abs(x) tem que usar a stdlib.h

Page 29: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Operações Aritméticas em COperações Aritméticas em C

● Usando a math.h● Seno – sin(x)● Cosseno – cos(x)● Tangente – tan(x)

x em radiano● Logaritmo – log10(x)● Logaritmo Neperiano – log(x)● Raiz quadrada – sqrt(x)● Exponenciação – pow(b,e)

Page 30: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplos de expressões Exemplos de expressões aritméticasaritméticas

int x, y;float a, b, c;

x = 3 * 2 + 5;y = x % 2;

a = 45.67;b = 3.45 + a;c = b / a – 10.567;

Page 31: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Hierarquia dos operadoresHierarquia dos operadores

Qual é o resultado da seguinte operação:

X = 5 + 2 * 3 ;

21 ou 11 ?

Page 32: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Hierarquia dos operadoresHierarquia dos operadores● A hierarquia dos operadores define a ordem em

que uma expressão é calculada;

● Define-se a seguinte tabela de prioridade para os operadores:– Parênteses ( mais alta )– Multiplicação e divisão– Adição e subtração

● Operadores com mesma prioridade, a ordem de resolução é da esquerda para a direita.

Page 33: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

● No exemplo anterior:X = 5 + 2 * 3 ;

tem-se uma adição e uma multiplicação;

teste caso a multiplicação é realizada em primeiro lugar e em seguida, o resultado é adicionado ao valor 5

portanto, o resultado da expressão será:

2 * 3 = 6

6 + 5 = 11

Page 34: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

● Se for desejado trocar a prioridade de um operador, utiliza-se parênteses.

● Exemplo: X = ( 5 + 2 ) * 3 ;

● Neste caso, como o parênteses tem a maior prioridade, ele é resolvido na frente;

Desta forma, tem-se:

5 + 2 = 7

7 * 3 = 21

Page 35: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 4Exemplo 4

● A expressão algébrica:

]3[*

]3[

]3*[

bbaba

a

ababa

Page 36: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

• É representada em linguagem C como:

( (a – b) / (a + b) - (a * 3) ) /

( (3 – a) + a * b / (a – b) – (3 + b) )

Page 37: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

• ordem da execução dos operadores

( (a – b) / (a + b) - (a * 3) ) /

( (3 – a) + a * b / (a – b) – (3 + b) )

B

1 2 3

A

4

5

6 9 7 8

10

11

12

Page 38: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Operação finalOperação final

A / B

13

Page 39: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Expressões inteirasExpressões inteiras● Constituídas de variáveis e constantes inteiras

● Resultado é sempre inteiro

● Exemplo: a expressão:

5 * 2 / 3

Resulta no valor 3

Page 40: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

● Já a expressão: 2 / 3 * 5

Resulta no valor 0

● E a expressão: 3 / 2 * 5

Resulta no valor 5

Page 41: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Expressões flutuantesExpressões flutuantes

● Constituídas de variáveis e constantes flutuantes

● Resultado é sempre flutuante

● Exemplo: a expressão:

5.0 * 2.0 / 3.0

Resulta no valor 3.33

Page 42: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Expressões mistasExpressões mistas

● Constituídas de variáveis e constantes flutuantes e inteiras

● Resultado é sempre flutuante

● Exemplo: a expressão:

5.0 * 2 / 3.0

Resulta no valor 3.33

Page 43: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

● Já a expressão: 2.0 / 5 * 3

Resulta no valor 1.20

● E a expressão: 5 / 2 * 3.0

Resulta no valor 6.0

CUIDADO!!!

Page 44: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Casting tiposCasting tipos

● Pode-se forçar temporariamente, a mudança do tipo de uma variável, através do casting do tipo, que consiste em se anteceder o nome da variável com o novo tipo, entre parênteses.

Page 45: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 5Exemplo 5int a, b;

float c;

c = 2.5;

a = 3;

b = (int)c * a;

Que resulta em 6 o valor armazenado em b

Page 46: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 6Exemplo 6int a, b;

float c;

c = 2.5;

a = 3;

b = (int)(c * a);

Que resulta em 7 o valor armazenado em b

Page 47: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Atribuições inteirasAtribuições inteiras

int a, b;

a = 34;

b = a * 2;

Em b estará armazenado o valor 68

Page 48: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Atribuição FlutuanteAtribuição Flutuante

float a, b;

a = 34.56;

b = a * 2;

Em b estará armazenado o valor : 69.12

Page 49: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Atribuição mistaAtribuição mistaint a, b;float c, d;

a = 10;c = 20.20;

b = 2 * c; // inteiro recebendo flutuanted = a * 2; // flutuante recebendo inteiro

b tem valor 40 d tem valor 20.0

Page 50: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Operações EspeciaisOperações Especiais

variável ← variável (operador) valor

Page 51: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 12Exemplo 12

inteiro a, b

a ← 10

imprima ( “a = “ , a )

a ← a + 2

imprima ( “a = “ , a )

Page 52: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Saída visualizadaSaída visualizada

a = 10

a = 12

Page 53: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

ObservaçõesObservações

• É necessário neste caso um valor inicial para a variável

• É chamada de acumulador

• Quando o valor de adição é igual a hum, é chamada somador

Page 54: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Operadores EspeciaisOperadores Especiais

● Adição ++

● Subtração --

● Atribuição com operação += -= /= *=

Page 55: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

AdiçãoAdição

● Sejam as operações: x = 35; x = x + 10;

Como mostrado anteriormente, na variável x é armazenado o valor atual dela ( 35 ) adicionado à constante 10, o que resulta no valor 45.

Page 56: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

● Uma outra forma de se escrever as mesmas instruções é utilizando-se o operador especial +=, da seguinte forma:

x = 35;

x += 10;

Ou seja, a expressão do lado direito ao sinal de igual é operada com a variável do lado esquerdo e o resultado é armazenado nesta mesma variável.

Page 57: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

● Isto é também válido para os outros operadores, como mostrado no exemplo:

a = 23;

a *= 2;

significa que na variável a vai estar armazenado o valor 46, pois corresponde à operação:

a = a * 2

Page 58: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 7Exemplo 7

int a, b;

a = 10;

b = 2;

a += b + 3;

printf ( “ a = %d\n”, a );

Page 59: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

resultadoresultado

Neste caso, a saída seria:

a = 15

Page 60: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 8Exemplo 8

int a, b;

a = 10;

b = 2;

a += a* (b + 3);

printf ( “ a = %d\n”, a );

Page 61: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

resultadoresultado

Neste caso, a saída seria:

a = 60

Page 62: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

● Para as operações de adição e subtração, existem mais dois operadores especiais.

● São eles: ++ e -- respectivamente.

Page 63: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

● Sejam por exemplo, as seguintes operações:

x = 30;

x = x + 1;

como mostrado anteriormente, a ultima operação pode ser também escrita como:

x += 1;

ou ainda:

x++;

o que resulta no valor 31 armazenado na variável x , em todos os exemplos.

Page 64: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

● O operador ++ é utilizado quando o conteúdo de uma variável é adicionado de uma unidade, e da mesma forma, o operador -- é utilizado quando o conteúdo de uma variável é subtraído de uma unidade.

Page 65: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

● Sejam por exemplo, as seguintes operações:

x = 30;

x = x - 1;

como mostrado anteriormente, a ultima operação pode ser também escrita como:

x -= 1;

ou ainda:

x--;

o que resulta no valor 29 armazenado na variável x, em todos os exemplos.

Page 66: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

66

URI 1001URI 1001

• Fazer o problema 1001 do URI

https://www.urionlinejudge.com.br/judge/pt/problems/view/1001https://www.urionlinejudge.com.br/judge/pt/problems/view/1001

Page 67: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

67

URI 1001URI 1001

• Resolvendo o problema 1001 do URI

#include <bits/stdc++.h>using namespace std;int main() {

int A, B, X;scanf ("%d %d", &A, &B);X = A + B;printf("X = %d\n", X);return 0;

}

Page 68: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

68

URI 1002URI 1002

• Fazer o problema 1002 do URI

https://www.urionlinejudge.com.br/judge/pt/problems/view/1002https://www.urionlinejudge.com.br/judge/pt/problems/view/1002

Page 69: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

69

URI 1002URI 1002

• Resolvendo o problema 1002 do URI

#include <bits/stdc++.h>using namespace std;int main() {

double area, raio, PI = 3.14159;scanf ("%lf", &raio);area = PI * pow(raio, 2);printf("A=%.4lf\n", area);return 0;

}

Page 70: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

70

Kattis FilipKattis Filip

• Fazer o problema Filip do Kattis

https://open.kattis.com/problems/filiphttps://open.kattis.com/problems/filip

Page 71: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

71

Kattis FilipKattis Filip

• Resolvendo o problema Filip do Kattis

#include <stdio.h>#include <stdlib.h>int main(){ int A, B, C, D, E, F; int G, X, Y, N, M, R; scanf("%d %d", &X, &Y); A = X % 10; X /= 10;

Page 72: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

72

Kattis FilipKattis Filip

B = X % 10;C = X / 10;

E = Y % 10; Y /= 10; F = Y % 10; G = Y / 10; N = 100 * A + 10 * B + C; M = 100 * E + 10 * F + G; R = (M + N + abs(M - N)) / 2; printf("%d\n", R); return 0;}

Page 73: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

73

Tabela ASCIITabela ASCII

• Só funciona devido a tabela ASCII

Page 74: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

74

ExercíciosExercícios

• https://www.urionlinejudge.com.br/judge/en/login

– URI 1003 a 1021, 1930, 1959, 1963

• Sugestão para o 1021, trate o número real como dois inteiros, basta usar o scanf("%d.%d", &n, &m);.

Page 75: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 1Exemplo 1➢ Dados 4 números, calcule a média aritmética deles.

Programa em C:Programa em C: ##includeinclude <stdio.h> <stdio.h> int mainint main()() {{ // declaração das variáveis// declaração das variáveis float n1, n2, n3, n4, soma, media; // entrada de dados// entrada de dados

printf ( “entre com o valor de n1 = “ );scanf ( “%f”,&n1 );printf ( “entre com o valor de n2 = “ );scanf ( “%f”,&n2 );

Page 76: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 1Exemplo 1

Programa em C:Programa em C: // entrada de dados// entrada de dados

printf ( “entre com o valor de n3 = “ );scanf ( “%f”,&n3 );printf ( “entre com o valor de n4 = “ );scanf ( “%f”,&n4 );

// Somando todos os valores// Somando todos os valoressoma = n1 + n2 + n3 + n4;

// Calculando a média// Calculando a médiamedia = soma / 4;

// saída de dados// saída de dados printf ( “A média dos 4 números é: %.2f “, media );

}}

Page 77: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 2Exemplo 2➢ Elabore um programa que leia um valor de temperatura em graus Celsius, calcule e exiba a temperatura equivalente em graus Kelvin, sabendo que K = C + 273.

Programa em C:Programa em C: ##includeinclude <stdio.h> <stdio.h> int mainint main()() {{ // declaração das variáveis// declaração das variáveis float K, C; // entrada de dados// entrada de dados

printf ( “entre com a temperatura em Celsius = “ );scanf ( “%f”,&C );

Page 78: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 2Exemplo 2

Programa em C:Programa em C: // Calculando a temperatura em Kelvin// Calculando a temperatura em Kelvin

K = C + 273; // saída de dados// saída de dados

printf ( “A temperatura em Kelvin é: %.2f “, K ); }}

Page 79: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 3Exemplo 3➢ Ler o nome de um cliente de fast food e a quantidade de cada item do menu que ele vai pedir. Exiba o nome do cliente e o total da compra.

MENU

Hot dog R$ 2,50

Hambúrguer R$ 4,00

Cheeseburguer R$ 4,50

Refrigerante R$ 2,00

Batatas fritas R$ 3,50

Page 80: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 3Exemplo 3Programa em C:Programa em C: ##includeinclude <stdio.h> <stdio.h> int mainint main()() {{ // declaração das variáveis// declaração das variáveis char nome[30]; int qhd, qha, qch, qre, qbf; float pthd, ptha, ptch, ptre, ptbf, ptf; // entrada de dados// entrada de dados printf ( “entre com o nome do cliente: “ ) scanf ( “ %[^\n]”, nome)

Page 81: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 3Exemplo 3 printfprintf ( “entre com a quantidade de hot dog: “ ) ( “entre com a quantidade de hot dog: “ ) scanf ( “%d”,&qhd ); printfprintf ( “entre com a quantidade de hambúrguer: “ ) ( “entre com a quantidade de hambúrguer: “ ) scanf ( “%d”,&qha ); printfprintf ( “entre com a quantidade de cheeseburguer: “ ) scanf ( “%d”,&qch ); printfprintf ( “entre com a quantidade de refrigerante: “ ) scanf ( “%d”,&qre ); printfprintf ( “entre com a quantidade de batatas fritas: “ ) scanf ( “%d”,&qbf );

Page 82: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

Exemplo 3Exemplo 3 // Calculando o total a pagar// Calculando o total a pagar pthd = qhd * 2.5; ptha = qha * 4.0; ptch = qch * 4.5; ptre = qre * 2.0; ptbf = qbf * 3.5; ptf = qhd + qha + qch + qre + qbf; // saída de dados// saída de dados printf ( “ Cliente: %s\n“, nome); printf ( “ O valor devido é: R$ %.2f\n“, ptf); }

Page 83: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

TreinamentoTreinamento

1) Elabore um programa que leia um comprimento em polegadas, calcule e exiba o comprimento em milímetros, considerando que 1 polegada equivale a 25,4 milímetros.

2) Elabore um programa que leia a massa de uma amostra de carbono, calcule e exiba o número de moles de carbono na amostra. Considere que o mol C é igual a 12 e a fórmula é no de moles = massa da amostra / 12

3) Elabore um programa que leia a força F aplicada sobre um corpo e a velocidade V do corpo, calcule e exiba a potência P. Considere P = F*V.

Page 84: CCO 016 / COM 110 - rcosta62br.unifei.edu.br · Seno sen(x) Cosseno cos(x) ... Qual o valor de B e de A e B? A ← 10 B ← 20 imprima(A,B) B ← 5 ... em graus Celsius, calcule e

TreinamentoTreinamento

4) Ler uma determinada hora, seus minutos e segundos. Quantos segundos existem nessa hora, minuto e segundo lidos?

5) O preço de um produto ao consumidor é a soma do preço de custo mais as porcentagens de impostos e a do distribuidor. Ler o nome do produto, seu custo de fabrica e as taxas de impostos e do distribuidor. Exiba o nome do produto e o preço final ao consumidor.

6) Escreva o algoritmo que calcule a razão r de uma progressão aritmética de n termos, cujo primeiro termo é a1 e o último termo an, dada a equação:

r = (an - a1) / (n – 1)