cco 016 – fundamentos de programaçãorcosta62br.unifei.edu.br/com110/aula_06.pdf · um algoritmo...
TRANSCRIPT
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á
Aula 06Aula 06
● Estruturas Sequenciais● Operações matemáticas● Comandos Sequenciais● Comandos Sequenciais na Linguagem de Programação
C/C++
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)
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.
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
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
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 //
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.
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
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)
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
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
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 ⌋
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
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
Exemplo 1Exemplo 1
● Leia quatro medidas e calcule a média aritmética entre elas.
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)
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
Solução em PortugalSolução em Portugal● Fluxograma:Fluxograma:
INICIO
n1, n2, n3, n4
Soma ← n1 + n2 + n3 + n4Media ← soma / 4
‘ Media = ’, Media
FIM
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
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.
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
Solução em PortugalSolução em Portugal● Fluxograma:Fluxograma:
INICIO
C
K ← C + 273
‘ Kelvin = ’, K
FIM
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
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
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)
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
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
Solução em PortugalSolução em Portugal
● Fluxograma:Fluxograma:
“ Cliente: “, nome
FIM
1
“ O valor devido é: R$ “, ptf
Solução em PortugalSolução em Portugal● Testando o programa anteriorTestando o programa anterior
nome = “Roberto Costa”qhd = 0qha = 0qch = 1qre = 2qbf = 1
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
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
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.
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;
}
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 %%
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.
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);
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;
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;}
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
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
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
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/
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
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;}
● 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
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
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;}
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
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;}
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.
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
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
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
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;
}
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
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;
}
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;
}
Tabela ASCIITabela ASCII● O programa anterior funciona devido a tabela ASCII.
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
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
ExemploExemplo
● Pode ser utilizado da seguinte forma:
a = 10b = 20print("a = %d" % (a))print("b = %d" % (b))
ExemploExemplo
● Resultado do programa.
a = 10a = 10b = 20b = 20
Entrada/Saída do ProgramaEntrada/Saída do Programa
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
ExemploExemplo
● Pode ser utilizado da seguinte forma:
a = 10b, c = 20print("a = %d" % (a))print("b = %d" % (b))print("c = %d" % (c))
ExemploExemplo
● Resultado do programa.
a = 10a = 10b = 20b = 20c = 30c = 30
Entrada/Saída do ProgramaEntrada/Saída do Programa
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
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))
● 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
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
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
● 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
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
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
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
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
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))
● 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
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
Resolução do Problema 1001Resolução do Problema 1001
a = int(input())b = int(input())x = a + bprint("X = %d" % x)
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
Resolução do Problema 1002Resolução do Problema 1002
raio = float(input())pi = 3.14159area = pi * (raio ** 2)print("A=%.4lf" % area)
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
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
● 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
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