Sunteți pe pagina 1din 41

Aula 01 – Introdução

ECOP01 – Técnicas de Programação


Prof. Rafael de Moura Moreira
Tópicos da Aula
• Lógica de programação
• Lógica
• Algoritmos
• Fluxograma
• Linguagem Python
• Entrada, processamento e saída
• Tipos de dados
• Variáveis, operadores e expressões
• Bibliotecas

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 2


Lógica de Programação

O que é lógica?

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 3


Lógica
Algumas definições:
• Sequência coerente de ideias.
• Maneira rígida de raciocinar.
• Modo pelo qual se encadeiam naturalmente as coisas ou
acontecimentos.

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 4


Lógica
Exemplo:

Para aprender física 1, preciso saber cálculo 1. Para aprender física 3,


preciso saber física 1.

Portanto, preciso saber cálculo 1 para aprender física 3.

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 5


Lógica
Para programar, é importante encadear pensamentos em uma
sequência lógica para atingir um determinado objetivo.

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 6


Lógica
Para programar, é importante encadear pensamentos em uma
sequência lógica para atingir um determinado objetivo.

Sequência lógica é o conjunto de instruções a ser executado para


resolver um problema.

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 7


Lógica
Para programar, é importante encadear pensamentos em uma
sequência lógica para atingir um determinado objetivo.

Sequência lógica é o conjunto de instruções a ser executado para


resolver um problema.

Instruções são um conjunto de regras ou normas definida para a


realização de uma tarefa. É uma ação elementar.

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 8


Algoritmo
É uma sequência finita de instruções que leva à execução de uma tarefa
ou à solução de um problema.

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 9


Algoritmo
Qualquer sequência de passos que seja finita e atinja um objetivo pode
ser considerada um algoritmo. Temos vários exemplos no dia-a-dia:
• Manuais de instrução de equipamentos;
• Receitas culinárias;
• Técnicas para resolver problemas matemáticos;
• etc

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 10


Algoritmo
Algumas regras para escrever um bom algoritmo:
• Usar somente um verbo por frase;
• Imaginar que o algoritmo será executado por alguém que não
entende do assunto;
• Usar frases curtas e simples;
• Ser objetivo;
• Não utilizar palavras ou expressões com duplo sentido.

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 11


Algoritmo
Para escrever um algoritmo que execute uma tarefa, é necessário
decompor a tarefa em 3 fases:

Entrada Processamento Saída

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 12


Algoritmo
Exemplo: escrever um algoritmo que calcula a média final dos alunos
que fizeram 2 provas e 1 trabalho.

𝑃1 + 𝑃2 + 𝑇
𝑀é𝑑𝑖𝑎 =
3

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 13


Algoritmo
Para montar o algoritmo, precisamos responder a 3 perguntas:
1. Quais são os dados de entrada?
2. Quais são os dados de saída?
3. Qual o procedimento a ser utilizado?

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 14


Algoritmo
Início
Receba a nota da P1
Receba a nota da P2
Receba a nota do trabalho
Some todas as notas
Divida a soma das notas por 3
Mostre o resultado da divisão
Fim

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 15


Algoritmo
Um programa é um algoritmo escrito em uma linguagem
computacional.

Para escrevermos programas de maneira independente da


implementação em uma linguagem específica, podemos escrever o
algoritmo como um pseudocódigo.

O pseudocódigo deve descrever uma sequência de instruções de


maneira simples e objetiva.

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 16


Algoritmo
Início
Leia(P1)
Leia(P2)
Leia(T)
Soma ← P1 + P2 + T
Média ← Soma/3
Escreva(Média)
Fim

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 17


Fluxograma
Um fluxograma é uma representação gráfica de um processo ou de
uma sequência de passos.

Cada operação ou passo é representado por uma forma geométrica, as


quais são interconectadas para ilustrar a relação ou sequência dos
passos.

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 18


Fluxograma
Elemento Significado
Terminal: demarca os pontos de início e fim do
algoritmo.
Entrada ou saída: mostra dados trocados entre o
algoritmo e o ambiente externo.
Processo: um passo do algoritmo.

Condição: mostra uma situação onde o


algoritmo se ramificará de acordo com um
resultado.
Fluxo: indica a direção dos passos do algoritmo.

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 19


Fluxograma
Início Início
Leia(P1)
P1, P2, T Leia(P2)
Leia(T)
Média ← (P1 + P2 + T)/3 Soma ← P1 + P2 + T
Média ← Soma/3
média Escreva(Média)
Fim
Fim

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 20


Linguagem Python

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 21


Linguagem Python
A linguagem Python é uma linguagem interpretada e de alto nível.

Uma linguagem interpretada não gera um programa executável. Ao invés


disso, seus códigos são executados por um interpretador. O interpretador
Python pode ser baixado em:
https://www.python.org/downloads/

Linguagens de alto nível são linguagens mais parecidas com linguagens


humanas, sendo mais fáceis de aprender e produzindo códigos mais legíveis
– ao contrário das linguagens de baixo nível, mais próximas da máquina.
Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 22
Entrada, processamento e saída
Uma entrada é qualquer informação externa fornecida ao programa,
enquanto uma saída é qualquer informação enviada ao mundo externo pelo
programa.

Essas informações podem chegar ou sair através de dispositivos de


hardware, como teclado, mouse, monitor, tela de toque, sensores diversos,
câmeras, microfones, auto-falantes, dispositivos de rede etc, ou serem lidos
de arquivos ou de outros programas.

Neste curso nossas entradas serão quase sempre do teclado, e nossas saídas
geralmente serão textos na tela.

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 23


Entrada, processamento e saída
Portanto, nossos programas geralmente terão as seguintes partes:
• Entradas: serão lidas pelo teclado através da função input()
• Processamento: operações matemáticas e/ou lógicas realizadas sobre
as entradas
• Saída: serão escritas na tela utilizando a função print()

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 24


Entrada, processamento e saída
Operador Descrição Exemplo
+ Soma 5+2=7
- Subtração 2 - 5 = -3
* Multiplicação 2*5 = 10
/ Divisão 5.0/2.0 = 2.5
% Resto da divisão 5%2=1
** Expoente 5**2 = 25
// Chão (parte inteira 5//2 = 2
da divisão)
Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 25
Variáveis
Para trabalhar com dados, é necessário armazená-los temporariamente
na memória. Para isso, precisamos reservar uma porção da memória e
dar um nome a ela. Essa porção da memória será uma variável.

Para criar uma variável em Python basta digitar o seu nome e atribuir-
lhe um valor inicial utilizando o operador de atribuição. Ex:
a=5
Foi criada uma variável chamada “a” que recebeu o valor 5.

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 26


Variáveis
O valor de uma variável pode ser alterado a qualquer momento
utilizando o operador de atribuição novamente.

O operador de atribuição pode ser combinado com os diferentes


operadores aritméticos quando quisermos armazenar em uma variável
um novo valor que resulte de uma operação com seu antigo valor. Ex:

a += 5 equivale a a = a + 5

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 27


Variáveis
Os nomes de variáveis podem conter letras, o caractere “_” e números
(porém, um número não pode ser o primeiro caractere).

Python é case sensitive, ou seja, diferencia maiúsculas e minúsculas.


Nome e nome são consideradas 2 variáveis diferentes.

As seguintes palavras são palavras reservadas do Python 3 e não


podem ser utilizadas como nomes de variáveis:
False class finally is return None continue for lambda try
True def from nonlocal while and del global not with as elif
if or yield assert else import pass break except in raise
Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 28
Tipos de dados
Existem alguns tipos elementares de dados, a partir dos quais outros tipos
podem ser derivados.

• Inteiro: quantidades contáveis. Ex: 1, 5, -2, 1000. Em Python é conhecido


como int
• Real: números que podem conter partes fracionárias. Ex: 1.0, -2.7, 3.14,
7.9. Em Python é conhecido como float
• Lógico: informações que podem possuir apenas 2 valores diferentes:
verdadeiro (True) ou falso (False). Em Python é conhecido como bool
• Cadeias de caracteres (strings): texto. Ex: “Hello World”, “UNIFEI”, “a”,
“123”, “ELT 2018”. Em Python é conhecido como str

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 29


Tipos de dados
Conversões entre tipos de dados podem ser realizadas colocando o
nome do tipo desejado e a informação ou variável a ser convertida
entre parênteses. Ex:
idade = str(“20”) faz com que idade armazene os caracteres “2” e “0”,
e não o número inteiro 20.

Uma das utilidades da conversão de tipos é na entrada via teclado.


Todos os valores obtidos pela função input() são tratados como strings.
Para realizar operações aritméticas sobre eles é necessário convertê-las
para os devidos formatos.
Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 30
Exemplo
Um programa que pede para o usuário digitar o raio de um círculo e em
seguida calcula e escreve na tela a sua área. A fórmula para a área de
um círculo é dada por:

𝐴 = 𝜋𝑅2

𝜋 ≈ 3,14159265

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 31


Exemplo
print("Digite o raio do circulo:")
raio = input()
raio = int(raio)
area = 3.14159265*raio**2
print("Area do circulo = ", area)

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 32


Comentários
Para tornar um código mais legível, podemos utilizar comentários
explicando o que certos trechos fazem.

Tudo o que vier em uma linha após o símbolo # será considerado como
comentário e será ignorado pelo interpretador.

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 33


Exemplo
# Este programa calcula a area de um circulo
print("Digite o raio do circulo:")
raio = input() # lendo o raio
raio = int(raio) # converte a entrada para int
area = 3.14159265*raio**2
print("Area do circulo = ", area)

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 34


Exemplo
DICA: Apesar de input() ser uma função de entrada, uma mensagem a
ser impressa na tela pode ser passada entre parênteses para o mesmo.
Assim, não é necessário usar um print() para informar ao usuário que
ele deve digitar algo. Porém, ela possui menos recursos do que a
função print().

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 35


Exemplo
# Este programa calcula a area de um circulo

raio = input ("Digite o raio do circulo:")


raio = int(raio) # converte a entrada para int
area = 3.14159265*raio**2
print("Area do circulo = ", area)

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 36


Exercício
Escreva um programa em Python que calcula a média final dos alunos
que fizeram 2 provas e 1 trabalho. O programa deverá receber as 3
notas através do teclado e escrever na tela a média. As notas podem
ser fracionárias.

𝑃1 + 𝑃2 + 𝑇
𝑀é𝑑𝑖𝑎 =
3

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 37


Exercício
p1 = float(input("Digite a nota da p1:"))
p2 = float(input("Digite a nota da p2:"))
trab = float(input("Digite a nota do trabalho:"))
media = (p1 + p2 + trab)/3
print("Media =", media)

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 38


Bibliotecas
Muitas vezes precisamos de uma mesma função em diferentes
programas. Para evitar a necessidade de repetir trabalho, essas funções
podem ser salvas em uma biblioteca, que posteriormente pode ser
importada por diferentes programas.

Para utilizar uma biblioteca, devemos utilizar o comando import no


início do código, seguido do nome da biblioteca.

A linguagem Python oferece diversas bibliotecas com as mais diversas


funcionalidades, como a biblioteca math, com funções matemáticas.

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 39


Exemplos da biblioteca math
Nome da função Descrição
math.sin(x) Retorna o seno de x (x em rad)
math.cos(x) Retorna o cosseno de x (x em rad)
math.tan(x) Retorna a tangente de x (x em rad)
math.fabs(x) Retorna o valor absoluto (módulo) de x
math.sqrt(x) Retorna a raiz quadrada de x
math.acos(x) Retorna o arc cosseno de x (em rad)
math.asin(x) Retorna o arc seno de x (em rad)
math.atan(x) Retorna o arc tangente de x (em rad)

Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 40


Prof. Rafael de Moura Moreira ECOP01 - Técnicas de Programação - Aula 1 41

S-ar putea să vă placă și