cco 016 – fundamentos de programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · um algoritmo...

86
CCO 016 – Fundamentos de Programação Prof. Roberto Affonso da Costa Junior Prof. Roberto Affonso da Costa Junior Universidade Federal de Itajubá Universidade Federal de Itajubá

Upload: others

Post on 28-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

CCO 016 – Fundamentos de Programação

Prof. Roberto Affonso da Costa JuniorProf. Roberto Affonso da Costa Junior

Universidade Federal de ItajubáUniversidade Federal de Itajubá

Page 2: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Aula 06Aula 06

● Estruturas Sequenciais● Operações matemáticas● Comandos Sequenciais● Comandos Sequenciais na Linguagem de Programação

C/C++

Page 3: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Estruturas SequenciaisEstruturas Sequenciais

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

● Por exemplo:

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

A ← 10B ← 20

imprimaimprima(A,B)B ← 5

imprimaimprima(A, B)

Page 4: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Estruturas SequenciaisEstruturas 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 sequencial.

Page 5: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Estruturas SequenciaisEstruturas Sequenciais

● Um algoritmo puramente sequencial é 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. imprimaimprima(A,B)5. B ← 56. imprimaimprima(A,B)7. fim

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

Page 6: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Estruturas SequenciaisEstruturas Sequenciais

● Esquema Genérico de Algoritmos em PortugolINICIO declaração de Variáveis/Constantes 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 dadosFIM

● Esquema Genérico de Algoritmos em Fluxograma

INICIO

FIM

Leia

Imprima

Atribuição

Page 7: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operações MatemáticasOperações Matemáticas

● As operações matemáticas mais comuns são:As operações matemáticas mais comuns são:

Nome da operaçãoNome da operação Simbolo em portugalSimbolo em portugal

Soma ++Subtração --

Multiplicação **Divisão //

Page 8: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Programa com Operações Programa com Operações MatemáticasMatemáticas

● Entre com os valores 10 e 100. Armazene-os em duas variáveis A e B do tipo inteiro. Após isso faça as seguintes operações:a) SomeSome os dois valores e guardeguarde na variável C;b) SubtraiaSubtraia o valor de A pelo valor de B e guardeguarde na variável D;c) MultipliqueMultiplique os dois valores e guardeguarde na variável E;d) DividaDivida o valor de B pelo valor de A e guardeguarde na variável F;e) GuardeGuarde na variável G o valor de A. GuardeGuarde na variável A o valor de B. GuardeGuarde a variável B o valor de G.

Page 9: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugalinicioinicio

inteirointeiro A, B, C, D, E, F, GA ← 10B ← 100C ← A + BD ← A – BE ← A * BF ← A / BG ← AA ← BB ← Gimprimaimprima (A, B, C, D, E, F, G, A, B)

fimfim

Page 10: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operador divisãoOperador divisão

● O operador de divisão tem quatro formas de trabalhar e apresenta dois tipos de resultados:

– inteiro / inteiro = inteiro (7 / 2 = 3)– inteiro / real = real (7 / 1.4 = 5.0)– real / inteiro = real (1.4 / 7 = 0.2)– real / real = real (8.4 / 2.8 = 3.0)

Page 11: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operações MatemáticasOperações Matemáticas

● As operações resto de divisão, raiz quadrada, potencia, módulo e seno são utilizadas como função:

Nome da funçãoNome da função Função em Função em portugalportugal

Função Função matemáticamatemática

Resto da divisão resto (a, b)resto (a, b)Módulo abs (x)abs (x) | x |

Raiz quadrada raiz (x)raiz (x)Potencia pot (b,e)pot (b,e) be

Exponenciação exp (x)exp (x) ex

√ x

Page 12: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operações MatemáticasOperações Matemáticas

● Continuação

Nome da funçãoNome da função Função em Função em portugalportugal

Função Função matemáticamatemática

Seno sen (x)sen (x) sen xCosseno cos (x)cos (x) cos xTangente tan (x)tan (x) tan x

Logaritmo log (x)log (x) log xLogaritmo Neperiano

ln (x)ln (x) ln x

Page 13: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operações MatemáticasOperações Matemáticas

● Continuação

Nome da funçãoNome da função Função em Função em portugalportugal

Função Função matemáticamatemática

Arco Seno asen (x)asen (x) asen xArco Cosseno acos (x)acos (x) acos xArco Tangente atan (x)atan (x) atan x

Teto teto (x)teto (x)piso piso (x)piso (x)

⌈x ⌉

⌊x ⌋

Page 14: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Programa com Funções Programa com Funções MatemáticasMatemáticas

● Leia um ângulo em graus, transforme para radiano, calcule o seno, cosseno e tangente do ângulo e apresente no final os resultados calculados da seguinte forma:

– seno(30o) = 0.5– cosseno(30o) = 0.866– tangente(30o) = 0.577

Page 15: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugal

inicioiniciorealreal x, y, z, w, angleialeia (ang)x ← ang * 3.14159 / 180y ← sen (x)z ← cos (x)y ← tan (x)imprimaimprima ("sen (", ang, ") = ",y)imprimaimprima ("cos (", ang, ") = ",z)imprimaimprima ("tan (", ang, ") = ",w)

fimfim

Page 16: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Exemplo 1Exemplo 1

● Leia quatro medidas e calcule a média aritmética entre elas.

Page 17: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugal

inicioinicio realreal n1, n2, n3, n4, soma, media imprimaimprima ("entre com o valor de n1: ") leialeia (n1) imprimaimprima ("entre com o valor de n2: ") leialeia (n2) imprimaimprima ("entre com o valor de n3: ") leialeia (n3) imprimaimprima ("entre com o valor de n3: ") leialeia (n4)

Page 18: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugal

soma ← n1 + n2 + n3 + n4

media ← soma / 4

imprimaimprima ("A média dos 4 números é: ", media)

FIMFIM

Page 19: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugal● Fluxograma:Fluxograma:

INICIO

n1, n2, n3, n4

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

‘ Media = ’, Media

FIM

Page 20: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugal● Testando o programa anteriorTestando o programa 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 21: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

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.

Page 22: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugal

InicioIniciorealreal K, Cimprimaimprima ("entre com a temperatura em Celsius: ")leialeia ( C )

K ← C + 273

imprimaimprima ("A temperatura em Kelvin é: ", K)FimFim

Page 23: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugal● Fluxograma:Fluxograma:

INICIO

C

K ← C + 273

‘ Kelvin = ’, K

FIM

Page 24: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugal● Testando o programa anteriorTestando o programa anterior

C = 10.0

k ← 10.0 * 25.4

Kelvin = 254.0

Page 25: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

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 26: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugal

InicioIniciocadeiacadeia nomeinteirointeiro qhd, qha, qch, qre, qbfrealreal pthd, ptha, ptch, ptre, ptbf, ptfimprimaimprima ("entre com o nome do cliente: " )leialeia (nome)imprimaimprima ("entre com a quantidade de hot dog: " )leialeia (qhd)imprimaimprima ("entre com a qtdade de hambúrguer: ")leialeia (qha)imprimaimprima ("entre com a qtid. de cheeseburguer: ")leialeia (qch)

Page 27: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugal

imprimaimprima ("entre com a qtdade de refrigerante: ") ("entre com a qtdade de refrigerante: ")leialeia (qre) (qre)imprimaimprima ("entre com a qtdade de batatas fritas: ") ("entre com a qtdade de batatas fritas: ")leialeia ( qbf ) ( qbf )pthd ← qhd * 2.5pthd ← qhd * 2.5ptha ← qha * 4.0ptha ← qha * 4.0ptch ← qch * 4.5ptch ← qch * 4.5ptre ← qre * 2.0ptre ← qre * 2.0ptbf ← qbf * 3.5ptbf ← qbf * 3.5ptf ← qhd + qha + qch + qre + qbfptf ← qhd + qha + qch + qre + qbfimprimaimprima ( “ Cliente: “, nome) ( “ Cliente: “, nome)imprimaimprima ( “ O valor devido é: R$ “, ptf) ( “ O valor devido é: R$ “, ptf)

FimFim

Page 28: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugal● 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 29: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugal

● Fluxograma:Fluxograma:

“ Cliente: “, nome

FIM

1

“ O valor devido é: R$ “, ptf

Page 30: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugal● Testando o programa anteriorTestando o programa anterior

nome = “Roberto Costa”qhd = 0qha = 0qch = 1qre = 2qbf = 1

Page 31: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugal● Testando o programa anteriorTestando o programa anterior

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

Page 32: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PortugalSolução em Portugal● Testando o programa anteriorTestando o programa anterior

ptf = 0.0 + 0.0 + 4.5 + 4.0 + 3.5

Cliente : Roberto Costa

O valor devido é: R$ 12.00

Page 33: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Estrutura Sequencial em C/C++Estrutura Sequencial em C/C++● Uma estrutura sequencial realiza um conjunto

predeterminado de comandos de forma sequencial, na ordem em que foram declarados no código fonte.

Page 34: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Estrutura Sequencial em C/C++Estrutura Sequencial em C/C++● Ela é delimitada na linguagem C/C++ pelos caracteres

{ e } e contém basicamente comandos de atribuição, comandos de entrada e comandos de saída.

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

// corpo do programareturn 0;

}

Page 35: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Estrutura Sequencial em C/C++Estrutura Sequencial em C/C++● Operações matemáticas simples:Operações matemáticas simples:

● OBSERVAÇÃO: OBSERVAÇÃO: O resto da divisão na linguagem C/C++ é feito conforme as quatro operações matemáticas básicas.

Nome da operaçãoNome da operação Simbolo em C/C++Simbolo em C/C++

Soma ++Subtração --

Multiplicação **Divisão //

Resto da Divisão %%

Page 36: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Programa com Operações Programa com Operações MatemáticasMatemáticas

● Entre com os valores 10 e 100. Armazene-os em duas variáveis A e B do tipo inteiro. Após isso faça as seguintes operações:a) SomeSome os dois valores e guardeguarde na variável C;b) SubtraiaSubtraia o valor de A pelo valor de B e guardeguarde na variável D;c) MultipliqueMultiplique os dois valores e guardeguarde na variável E;d) DividaDivida o valor de B pelo valor de A e guardeguarde na variável F;e) GuardeGuarde na variável G o valor de A. GuardeGuarde na variável A o valor de B. GuardeGuarde a variável B o valor de G.

Page 37: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em C/C++Solução em C/C++

#include <bits/stdc++.h>using namespace std;

int main() {

int A, B, C, D, E, F, G; //Atribuindo valores a A e B A = 10; B = 100; printf ("A = %d\n", A); printf ("B = %d\n", B);

Page 38: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em C/C++Solução em C/C++

//Realizando as operações C = A + B; D = A - B; E = A * B; F = A / B; G = A; A = B; B = G;

Page 39: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em C/C++Solução em C/C++

//Imprimindo os valores das Variáveis printf ("C = %d\n", C); printf ("D = %d\n", D); printf ("E = %d\n", E); printf ("F = %d\n", F); printf ("G = %d\n", G); printf ("A = %d\n", A); printf ("B = %d\n", B); return 0;}

Page 40: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Entrada/Saída do ProgramaEntrada/Saída do Programa

● Resultado do programa.

A = 10A = 10B = 100B = 100C = 110C = 110D = -90D = -90E = 1000E = 1000F = 0F = 0G = 10G = 10A = 100A = 100B = 10B = 10

Page 41: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operações MatemáticasOperações Matemáticas

● As operações raiz quadrada, potencia, módulo e seno são utilizadas como função:

Nome da funçãoNome da função Função em C/C++Função em C/C++ Tipo que retornaTipo que retorna

Teto ceil (x)ceil (x) intPiso floor (x)floor (x) int

Módulo abs (x)abs (x) intMódulo fabs (x)fabs (x) double

Raiz Quadrada sqrt (x)sqrt (x) doublePotência pow (b, e)pow (b, e) double

Page 42: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operações MatemáticasOperações Matemáticas

● Continuação:

Nome da funçãoNome da função Função em C/C++Função em C/C++ Tipo que retornaTipo que retorna

Exponenciação exp (x)exp (x) doubleLogaritmo log10 (x)log10 (x) doubleLogaritmo Neperiano

log (x)log (x) double

Seno sin (x)sin (x) doubleCosseno cos (x)cos (x) doubleTangente tan (x)tan (x) double

Page 43: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operações MatemáticasOperações Matemáticas

● Continuação:

● x está em radianos.x está em radianos.● O valor de pi pode ser obtido com as constante:O valor de pi pode ser obtido com as constante: M_PI

Nome da funçãoNome da função Função em C/C++Função em C/C++ Tipo que retornaTipo que retorna

Arco Seno asin (x)asin (x) doubleArco Cosseno acos (x)acos (x) doubleArco Tangente atan (x)atan (x) double

http://www.cplusplus.com/reference/cmath/

Page 44: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Programa com Funções Programa com Funções MatemáticasMatemáticas

● Leia um ângulo em graus, transforme para radiano, calcule o seno, cosseno e tangente do ângulo e apresente no final os resultados calculados da seguinte forma:

– seno(30o) = 0.5– cosseno(30o) = 0.866– tangente(30o) = 0.577

Page 45: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em C/C++Solução em C/C++#include <bits/stdc++.h>using namespace std;int main() { double x, y, z, w, ang; scanf("%lf", &ang); x = ang * 3.14159 / 180; y = sin (x); z = cos (x); w = tan (x); printf ("sen (%.2lf) = %.2lf\n", ang, y); printf ("cos (%.2lf) = %.2lf\n", ang, z); printf ("tan (%.2lf) = %.2lf\n", ang, w); return 0;}

Page 46: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

● Resultado do programa.

3030sen (30.00) = 0.50sen (30.00) = 0.50cos (30.00) = 0.87cos (30.00) = 0.87tan (30.00) = 0.58tan (30.00) = 0.58

Entrada/Saída do ProgramaEntrada/Saída do Programa

Page 47: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

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 48: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Resolução do Problema 1001Resolução do Problema 1001

#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 49: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

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 50: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Resolução do Problema 1002Resolução do Problema 1002

#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 51: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Hierarquia dos OperadoresHierarquia dos Operadores

● A hierarquia dos operadores define a ordem em que uma expressão é calculada;

● Segue-se a seguinte tabela de prioridade para os operadores:

– Parênteses ( mais alta )Parênteses ( mais alta )– Multiplicação e divisãoMultiplicação e divisão– Adição e subtraçãoAdição e subtração

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

Page 52: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operadores InteirosOperadores Inteiros

● Operação constituídas de variáveisvariáveis e constantesconstantes inteirasinteiras

● Resultado é sempre inteirointeiro

● Exemplo:Exemplo:A expressão:A expressão:

5 * 2 / 3Resulta no valor 3

A expressão:A expressão:2 / 3 * 5

Resulta no valor 0

A expressão:A expressão:3 / 2 * 5

Resulta no valor 5

Page 53: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operadores ReaisOperadores Reais

● Operação constituídas de variáveisvariáveis e constantesconstantes reaisreais

● Resultado é sempre realreal

● Exemplo:Exemplo: A expressão:A expressão:5.0 * 2.0 / 3.0

Resulta no valor 3.333333

A expressão:A expressão:2.0 / 3.0 * 5.0

Resulta no valor 3.333333

A expressão:A expressão:3.0 / 2.0 * 5.0

Resulta no valor 7.500000

Page 54: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

TypecastTypecast

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

A expressão:A expressão:2 / 3 * 5.0

Resulta no valor 0.000000

A expressão:A expressão:(float) 2 / 3 * 5.0

Resulta no valor 3.333333

Page 55: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

TypecastTypecast

● Pode ser utilizado da seguinte forma:

33

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

int A, B;float C;B = 2;C = 7.0;A = (int) (C / B);printf("%d\n", A);return 0;

}

Page 56: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

TypecastTypecast

● Pode ser utilizado da seguinte forma:

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

int A, B;float C;A = 7;B = 2;C = (float) (A / B);printf("%f\n", C);return 0;

}

3.0000003.000000

Page 57: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

TypecastTypecast

● Pode ser utilizado da seguinte forma:

97 - a97 - a

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

int A;A = 97;printf("%d - %c\n", A, (char) A);return 0;

}

Page 58: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

TransformandoTransformando

● Pode ser utilizado da seguinte forma:

60 - F60 - F

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

int A, B;char C;A = 5;B = 'A' - A;C = 'A' + A;printf("%d - %c\n", B, C);return 0;

}

Page 59: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Tabela ASCIITabela ASCII● O programa anterior funciona devido a tabela ASCII.

Page 60: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operadores EspeciaisOperadores Especiais

● A linguagem C/C++ tem alguns operadores especiais:Operação Operador Significado

Soma A ++; Soma 1 unidade a variável A

A += n; Soma n unidades a variável A

Subtração A --; Subtrai 1 unidade da variável A

A -= n; Subtrai n unidades da variável A

Multiplicação A *= n; Multiplica a variável A por n

Divisão A /= n; Dividi a variável A por n

Resto da divisão

A %= n; Tira o resto da divisão da variável A por n

n pode ser um número ou uma operação

Page 61: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Atribuição - PythonAtribuição - Python

● A Atribuição de ValoresAtribuição de Valores é a passagem de informação a determinada variável. Toda variável, por sua definição, pode receber valores ou então, pode ter seu valor alterado.

● A linguagem linguagem PythonPython tem definido que o sinal que conhecemos pelo nome de igual ( = ) será o operador de atribuição.

<variável> [operador] <valor><variável> [operador] <valor><variável> = <valor><variável> = <valor>numero = 10numero = 10

http://excript.com/python/operador-de-atribuicao-python.html

Page 62: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

ExemploExemplo

● Pode ser utilizado da seguinte forma:

a = 10b = 20print("a = %d" % (a))print("b = %d" % (b))

ExemploExemplo

Page 63: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

● Resultado do programa.

a = 10a = 10b = 20b = 20

Entrada/Saída do ProgramaEntrada/Saída do Programa

Page 64: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Atribuição Simples - PythonAtribuição Simples - Python

● A notação de atribuição simplesatribuição simples do PythonPython nos permite atribuir a várias variáveis um mesmo valor numa mesma expressão. Para isso, devemos separar as variáveis que receberam o mesmo valor com vírgulas.

● No exemplo, a variável ‘a’‘a’ armazena 1, a variável ‘b’‘b’ armazena 2 e a variável ‘c’‘c’ armazena 2.

a = 1a = 1b, c = 2b, c = 2

http://excript.com/python/atribuicao-multipla-python.html

Page 65: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

ExemploExemplo

● Pode ser utilizado da seguinte forma:

a = 10b, c = 20print("a = %d" % (a))print("b = %d" % (b))print("c = %d" % (c))

ExemploExemplo

Page 66: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

● Resultado do programa.

a = 10a = 10b = 20b = 20c = 30c = 30

Entrada/Saída do ProgramaEntrada/Saída do Programa

Page 67: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Atribuição Multiplas - PythonAtribuição Multiplas - Python

● A atribuição múltiplaatribuição múltipla é a capacidade de atribuir um conjunto de valores a um conjunto de variáveis. Ambos conjuntos precisam, obrigatoriamente, possuir a mesma quantidade de elementos, isto é, a quantidade de variáveis a esquerda deve ter a mesma quantidade de valores a direita.

● No exemplo, a variável ‘x’‘x’ armazena 10 e a variável ‘y’‘y’ armazena 20.

x, y = 10, 20 x, y = 10, 20

http://excript.com/python/operador-de-atribuicao-python.html

Page 68: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Exemplo - SugestãoExemplo - Sugestão

● Faça o seguinte programa.

a, b, c = 2, 4, 8print("a = %d" % (a))print("b = %d" % (b))print("c = %d" % (c))a, b, c = a * 2, a + b + c, a * b * cprint("a = %d" % (a))print("b = %d" % (b))print("c = %d" % (c))

Page 69: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

● Resultado do programa.

a = 2a = 2b = 4b = 4c = 8c = 8a = 4a = 4b = 14b = 14c = 64c = 64

Entrada/Saída do ProgramaEntrada/Saída do Programa

Page 70: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operações Matemáticas - PythonOperações Matemáticas - Python

● As operações matemáticas mais comuns são:As operações matemáticas mais comuns são:

Nome da operaçãoNome da operação Simbolo em pythonSimbolo em python

Soma ++Subtração --

Multiplicação **Divisão //

Divisão inteiro ////Potenciação ****

Resto da divisão %%

http://excript.com/python/operador-aritmetico-em-python.html

Page 71: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

ExemploExemplo

● Pode ser utilizado da seguinte forma:

a = int(input())b = int(input())c = a + bd = a - be = a * bf = a / bg = a // bh = a ** bi = a % b

print("a = %d" % (a))print("b = %d" % (b))print("a + b = %d" % (c))print("a - b = %d" % (d))print("a * b = %d" % (e))print("a / b = %f" % (f))print("a // b = %f" % (g))print("a ** b = %d" % (h))print("a %% b = %d" % (i))

ExemploExemplo

Page 72: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

● Resultado do programa.

7733a = 7a = 7b = 3b = 3a + b = 10a + b = 10a - b = 4a - b = 4a * b = 21a * b = 21a / b = 2.333333a / b = 2.333333a // b = 2.000000a // b = 2.000000a ** b = 343a ** b = 343a % b = 1a % b = 1

Entrada/Saída do ProgramaEntrada/Saída do Programa

Page 73: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operações MatemáticasOperações Matemáticas

● As operações raiz quadrada, potencia, módulo e seno são utilizadas como função:

Nome da funçãoNome da função Função em PythonFunção em Python Tipo que retornaTipo que retorna

Tetov math.ceil(x)math.ceil(x) intPiso math.floor(x)math.floor(x) int

Módulo math.fabs(x)math.fabs(x) int/floatRaiz Quadrada math.sqrt(x)math.sqrt(x) double

Potência math.pow(b, e)math.pow(b, e) double

Page 74: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operações MatemáticasOperações Matemáticas

● Continuação:

Nome da funçãoNome da função Função em PythonFunção em Python Tipo que retornaTipo que retorna

Exponenciação math.exp(x)math.exp(x) doubleLogaritmo math.log10(x)math.log10(x) doubleLogaritmo Neperiano

math.log (x)math.log (x) double

Seno math.sin(x)math.sin(x) doubleCosseno math.cos(x)math.cos(x) doubleTangente math.tan(x)math.tan(x) double

Page 75: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operações MatemáticasOperações Matemáticas

● Continuação:

● x está em radianos.x está em radianos.● O valor de pi pode ser obtido com as constante:O valor de pi pode ser obtido com as constante: math.pi

Nome da funçãoNome da função Função em PythonFunção em Python Tipo que retornaTipo que retorna

Arco Seno math.acos(x)math.acos(x) doubleArco Cosseno math.asin(x)math.asin(x) doubleArco Tangente math.atan(x)math.atan(x) double

https://docs.python.org/pt-br/3/library/math.html

Page 76: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Programa com Funções Programa com Funções MatemáticasMatemáticas

● Leia um ângulo em graus, transforme para radiano, calcule o seno, cosseno e tangente do ângulo e apresente no final os resultados calculados da seguinte forma:

– seno(30o) = 0.5– cosseno(30o) = 0.866– tangente(30o) = 0.577

Page 77: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Solução em PythonSolução em Python

import mathang = float(input())x = math.radians(ang)y = math.sin(x)z = math.cos(x)w = math.tan(x)print("sen (%.2lf) = %.2lf" % (ang, y))print("cos (%.2lf) = %.2lf" % (ang, z))print("tan (%.2lf) = %.2lf" % (ang, w))

Page 78: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

● Resultado do programa.

3030sen (30.00) = 0.50sen (30.00) = 0.50cos (30.00) = 0.87cos (30.00) = 0.87tan (30.00) = 0.58tan (30.00) = 0.58

Entrada/Saída do ProgramaEntrada/Saída do Programa

Page 79: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

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 80: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Resolução do Problema 1001Resolução do Problema 1001

a = int(input())b = int(input())x = a + bprint("X = %d" % x)

Page 81: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

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 82: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Resolução do Problema 1002Resolução do Problema 1002

raio = float(input())pi = 3.14159area = pi * (raio ** 2)print("A=%.4lf" % area)

Page 83: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

Operadores EspeciaisOperadores Especiais

● A linguagem Python tem alguns operadores especiais:Operação Operador Significado

Soma A += n; Soma n unidades a variável A

Subtração A -= n; Subtrai n unidades da variável A

Multiplicação A *= n; Multiplica a variável A por n

Divisão A /= n; Dividi a variável A por n

Resto da divisão

A %= n; Tira o resto da divisão da variável A por n

n pode ser um número ou uma operação

http://excript.com/python/operadores-de-atribuicao-compostos-python.html

Page 84: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

ExemploExemplo● Pode ser utilizado da seguinte forma:

a = 10print("a = %d" % (a))a += 5print("a += %d" % (a))a -= 7print("a -= %d" % (a))a *= 2print("a *= %d" % (a))a /= 3print("a /= %d" % (a))a %= 5print("a %%= %d" % (a))

ExemploExemplo

Page 85: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

● Resultado do programa.

a = 10a = 10a += 15a += 15a -= 8a -= 8a *= 16a *= 16a /= 5a /= 5a %= 0a %= 0

Entrada/Saída do ProgramaEntrada/Saída do Programa

Page 86: CCO 016 – Fundamentos de Programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · Um algoritmo puramente seqüencial é aquele cuja ... Algoritmos em Fluxograma INICIO FIM Leia

ExercíciosExercícios

● https://www.urionlinejudge.com.br/judge/en/loginhttps://www.urionlinejudge.com.br/judge/en/loginURI 1003 a 1021, 1930, 1959, 1963.URI 1003 a 1021, 1930, 1959, 1963.

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

● https://open.kattis.com/problems?order=problem_difficulty&dir=aschttps://open.kattis.com/problems?order=problem_difficulty&dir=ascFaktor, R2, Bijele Faktor, R2, Bijele

● https://neps.academy/https://neps.academy/● Soma Fácil, Soma, Subtração, Soma Fácil, Soma, Subtração, Divisão, Área do Quadrado, Área do Divisão, Área do Quadrado, Área do

Retângulo, Área do Triângulo Retângulo, Área da Circunferência, Retângulo, Área do Triângulo Retângulo, Área da Circunferência, Média Inteira, Média Inteira Ponderada, Potências Simples, Minutos Média Inteira, Média Inteira Ponderada, Potências Simples, Minutos Para Horas e Minutos, Horas e Minutos Para Minutos, Piso da Escola, Para Horas e Minutos, Horas e Minutos Para Minutos, Piso da Escola, Troco em Moedas, Troco Fácil, TomadasTroco em Moedas, Troco Fácil, Tomadas