Você está na página 1de 65

Universidade Federal de Lavras

GCC250 - Fundamentos de Programação 1

Varáveis
Tipos básicos de dados
Prof. Janderson
● Linguagens de programação
● Comentários
● Variáveis
Roteiro ● Declaração de variáveis
● Operador de atribuição
● Função de entrada padrão
● Biblioteca math

2
Linguagens de
programação

3
Linguagens de programação
● Métodos padronizados para comunicar instruções a um
computador;
● Uma linguagem de programação é um conjunto de regras
(léxicas, sintáticas e semânticas) para representar um
programa de computador.

Léxicas

Sintáticas

Semânticas

4
Porque não usar Português?
Um dos principais problemas é a ambiguidade. Exemplos:
● Juliana procurou um banco
● Dilson viu Paula de binóculos
● Raphael viu Bruno passeando
● O aluno foi na sala do Joaquim e pegou sua caneta
Computadores não sabem (ainda) tratar ambiguidade.

5
Classificação de linguagens de programação
Linguagens de programação podem ser organizadas em
diversas classificações:
● Paradigma de programação
■ Funcional ■ Estruturado

■ Orientado a Objetos ■ Declarativo

■ Procedimental ■ Entre outros

● Sistemas de implementação
■ Compilação ■ Intepretação
6
Compilação e interpretação
● De modo geral, os computadores não entendem o texto das
linguagens de programação;
● O texto precisa ser traduzido em algo que o sistema
operacional entenda (instruções que o hardware entenda);
● Compilação e interpretação são formas distintas de fazer esta
tradução.
● Os dois processos não são necessariamente exclusivos.

7
Compilação 1/2

Arquivo executável

int main()
{
0011100100100100
cout << “Olá mundo!”; Compilador 0100100100110001
return 0;
0011100111000101
}

Exemplo código
fonte C++

Sistema Operacional

8
Compilação 2/2
● O texto, chamado aqui de código fonte, é traduzido de uma
única vez em algo que o sistema operacional compreenda,
gerando um arquivo executável;
● Na prática, a compilação pode ser vista como uma série de
operações distintas, podendo gerar outros arquivos além do
executável.

9
Interpretação 1/2

print( “Olá mundo!”) Sistema Operacional


Interpretador

Exemplo código
fonte Python

10
Interpretação 2/2
● O texto (código fonte) é executado por um programa
específico daquela linguagem;
● A tradução ocorre ao longo da própria execução do
programa;
● Alguns interpretadores específicos são chamados de
“máquinas virtuais”;
● A tradução não costuma produzir novos arquivos.

11
Comentários

12
Comentários
Para acrescentar clareza aos algoritmos, podem ser utilizados
comentários, que são observações que podem ser incluídas em um código
fonte a fim de se descrever qualquer situação.
Comentários não modificam o programa executado e servem para auxiliar
o programador a organizar e documentar seus programas.

13
Comentários
● Sintaxe em Python:
○ Começam com o símbolo “““ e terminam com o símbolo ”””.
○ Exemplo programa em Python:

""" Este é o meu primeiro programa


com comentários da disciplina super fácil
de Fundamentos de Programação 1 """

print("Meu primeiro programa com comentário!")

14
Comentários
● Sintaxe em Python:

○ Comentários do tipo “““ ””” podem conter várias linhas .


○ Outro tipo de comentário começa com o símbolo #.
○ Este último tipo de comentário termina automaticamente no fim da
linha. Ou seja, abrange uma única linha.

15
Comentários
● Sintaxe em Python:
○ Exemplo programa em Python:

""" Este é o meu primeiro programa


com comentários da disciplina super fácil
de Fundamentos de Programação 1 """

#O comando print exibe uma mensagem na tela


print("Meu primeiro programa com comentário!")

16
Exercício
● Qual a mensagem exibida, pelo programa abaixo, no
dispositivo de saída padrão?

"""
print("Como não sou um aluno aplicado")
print("e dormi durante a aula, não")
"""
print("entendi")
#print("muito bem")
print("a materia")
#print("apresentada pelo professor!")

17
Variáveis

18
Variáveis - visão geral
● Ao criar um programa, usualmente estamos interessados em
manipular informações (como por exemplo: o saldo de uma
conta bancária ou a nota de um aluno em uma disciplina).
● Estas informações são valores que variam de acordo com o
contexto ao qual se aplicam e por isso recebem o nome de
variáveis.
● Variáveis ocupam espaço da memória do computador para
armazenar as informações manipuladas e costumam ser de
um tipo de dado específico.
19
Variáveis - visão geral

■ Ocupa espaço na memória;

■ Existe apenas em tempo de execução;

■ Possui um identificador (nome);

■ Armazena um valor (dado);

■ É de um tipo específico de dado.

? 20
Variáveis - tipo de dado
Todo dado é de um certo tipo que define a sua natureza.
Por exemplo: a natureza da informação que representa o nome de uma
pessoa é diferente da natureza da informação que representa sua idade.

Nome Idade

“Janderson” 20

Em termos práticos, o tipo de dado identifica a forma de uso de uma


informação, definindo com exatidão as possíveis operações que podem
ser aplicadas à informação em questão.
21
Variáveis e tipos de dados
Uma variável geralmente possui um tipo de dado associado. Em
geral, linguagens de programação permitem a representação de
diferentes tipos:
● Inteiros;
● Números em ponto flutuante (para representação de números
decimais e aproximações de números reais);
● Caracteres;
● Textos. 9 3.141 “R” “Ana”

22
Variáveis e tipos de dados
A maioria das linguagens de programação disponibiliza um
conjunto básico de tipos de dados (inteiros, números em ponto
flutuante, textos, etc.).
Em boa parte dos casos, esse conjunto depende da forma como
computadores armazenam informações.
Computadores, em sua forma mais simples só sabem manusear
bits de dados, que podem ser “ligados” ou “desligados”. Os tipos
de dados são adaptados a essa característica.
Computadores, a princípio, são sistemas binários.
23
Tipos de dados e sistemas numéricos
Boa parte das limitações computacionais surgem da forma como
computadores representam dados digitalmente.
Além disso, é importante ter em mente que os dados são
convertidos para a forma de representação utilizada pelos
computadores (sistema binário).
Há limites para armazenamento dos dados, já que a memória é
finita.

24
Tipos básicos em Python

Tipo Descrição

<class 'str'> Informação textual

<class 'int'> Números inteiros

<class 'bool'> True/False

<class 'float'> Números em ponto flutuante

<class 'complex'> Números complexos

25
Tipificação (forte ou fraca)
● Diferentes linguagens de programação podem tratar a
tipificação das variáveis de formas distintas:
○ Podem permitir que as variáveis assumam valores de diferentes
tipos de dados ao longo da execução do programa (conhecidas
como linguagens fracamente tipadas);
○ Ou, podem exigir que uma vez que os tipos das variáveis sejam
definidos, os mesmos não possam ser modificados durante a
execução do programa (conhecidas como linguagens fortemente
tipadas).

26
Tipificação (forte ou fraca)
● Python 3.5
A linguagem permite mudar o tipo de
dado armazenado em uma variável
durante a execução do programa.
x=8
y=2
z=x+y
print(z) Mensagem exibida: 10
x = “Olá, ”
y = “Mundo !”
z=x+y
print(z) Mensagem exibida: “Olá, Mundo!”

27
Tipificação (forte ou fraca)
● C++
A linguagem não permite mudar o tipo
de dado armazenado em uma variável.
#include <iostream>
using namespace std;

int main()
{
Erro de sintaxe!
int x, y;
x = 2;
De acordo com a declaração da variável x, a mesma
y = 8;
pode armazenar apenas valores numéricos inteiros.
cout << x;
Portanto não é possível fazê-la armazenar uma
x = “Olá, “;
informação do tipo textual. Neste tipo de situação, o
return 0;
próprio compilador de C++ acusa que o programa
}
possui um erro de sintaxe que precisa ser
obrigatoriamente corrigido.
28
Declaração de
variáveis

29
Declaração de variáveis
● Definição
○ Instrução em um programa que reserva um espaço na memória,
por meio de um identificador, para o armazenamento de uma
determinada informação.

● Em Python, para se declarar uma variável deve-se definir


(obrigatoriamente):
○ Um identificador (nome) para a variável;

○ Um valor inicial para a variável.


30
Declaração de variáveis em Python

identificador_da_variável = valor_inicial

Nome da variável. Operador de atribuição Valor de inicialização da


Utilizamos este nome variável. Ao longo da
para manipular a execução do programa, este
informação armazenada valor pode ser modificado.
na variável criada.

31
Exemplo de declaração de uma variável
Assuma, por exemplo, que precisamos declarar uma variável
para armazenar a informação da idade de um usuário do nosso
programa. Para realizar a declaração desta variável, poderíamos
fazer em Python:

idade = 20

Identificador Operador de Valor inicial


da variável atribuição

32
Alteração de valor de variáveis
● Como discutido anteriormente, o valor de inicialização de uma variável
pode ser futuramente modificado durante a execução de um
programa.
● No nosso exemplo anterior, se precisássemos modificar a inicialização
da variável idade para um novo valor, por exemplo, para o número 23,
poderíamos fazer em Python as seguintes instruções:

Declaração de uma variável com inicialização


idade = 20
idade = 23 Alteração do valor de uma variável

33
Definição de identificadores de variáveis
● Para definir o nome de uma variável, um programador Python
deve seguir obrigatoriamente um conjunto de regras. As
regras básicas para definição de identificadores são:
○ (1o): Todo identificador pode conter apenas: letras do alfabeto
romano, números e o símbolo de sublinhado (underscore);
○ (2o): Um identificador não pode começar com um dígito (número);
○ (3o): Exceto em casos especiais, duas variáveis diferentes não
podem ter o mesmo nome.

34
Identificadores - exemplos
Exemplo de identificadores que são válidos em Python:

idade pi x _nome valor_Funcao

Exemplo de identificadores que não são válidos em Python:

id@de p! 1x %nome valor..Funcao

35
Definição de identificadores de variáveis
Cuidado 1: Python diferencia letras maiúsculas e minúsculas.
Identificadores diferentes podem ser criados apenas trocando a
capitalização das letras. Por exemplo, todos os identificadores
abaixo são diferentes:

job joB jOb jOB Job JoB JOb JOB

Note que como os identificadores acima são diferentes entre si, cada um
deles poderia ser utilizado em um programa para armazenar informações
completamente diferentes, inclusive de naturezas (tipos de dados)
diferentes.
36
Definição de identificadores de variáveis
Cuidado 2: Python utiliza palavras reservadas que possuem
significado semântico especial para a linguagem. Deste modo,
estas palavras reservadas não podem ser utilizadas como
identificadores. Por exemplo, todas as palavras a seguir são
reservadas e não podem ser utilizadas como identificadores:

if def break int float for while


Estes são apenas alguns exemplos,
existem muitas outras palavras
reservadas em Python.
37
Recomendação
Procure usar nomes de variáveis significativos, auto-explicativos.
Por exemplo:
totalFuncionarios, salarioPrincipal,
soma_intermediaria
são nomes de variáveis mais sugestivos que
tf, s e SI
por exemplo.

38
Exibindo valores de variáveis
● A função print() pode ser usada para exibir o conteúdo de uma
variável.
nota_aluno = 10
print(nota_aluno)

● Podemos combinar a exibição de mensagens fixas e variáveis.

nota_aluno = 10
print(“Como o aluno estudou, ele tirou”, nota_aluno, “na primeira prova!”)

39
Operador de
atribuição =
40
Operador de atribuição
● Para que uma variável possa ser utilizada em um programa,
ela deve ter um valor associado a ela.
● Em programação, o ato de associar um determinado valor a
uma variável é denominado atribuição.
● Sintaxe em pseudocódigo:

identificador_da_variável ← valor

Operador de
atribuição 41
Operador de atribuição
● Para que uma variável possa ser utilizada em um programa,
ela deve ter um valor associado a ela.
● Em programação, o ato de associar um determinado valor a
uma variável é denominado atribuição.
● Sintaxe em Python:

identificador_da_variável = valor

Operador de
atribuição 42
Operador de atribuição
● Exemplos:

nome = “Janderson”
idade = 20
pi = 3.14159

● Estes valores permanecem associados às variáveis correspondentes


até que o programa os altere por meio de uma nova atribuição ou até
que o programa como um todo se encerre.

43
Operador de atribuição
identificador_da_variável = valor

● De modo geral, o lado direito de um operador de atribuição pode ser:


○ Um valor fixo. Exemplo:
idade = 20 Variável idade recebe o valor fixo 20

○ Uma outra variável. Exemplo:

ladoA = 7 Variável ladoA recebe o valor fixo 7


ladoB = ladoA Variável ladoB recebe o valor que
está armazenado na variável ladoA
44
Operador de atribuição
identificador_da_variável = valor

● De modo geral, o lado direito de um operador de atribuição pode ser:


○ Uma expressão formada por valores fixos e/ou variáveis. Exemplo:

base = 2 Variável base recebe o valor fixo 2

altura = 9 Variável altura recebe o valor fixo 9

area = (base*altura)/2 Variável area recebe o valor resultante da


multiplicação dos valores armazenados nas
variáveis base e altura dividido pelo valor fixo 2
45
Operador de atribuição
● Atribuição múltipla:
○ Outra possibilidade em Python é a atribuição simultânea de
diferentes valores para diferentes variáveis.
○ Necessário que as quantidades de valores e de variáveis sejam
iguais.
○ Cada valor é atribuído a uma variável diferente. Exemplo:

altura, comprimento = 8, 2 “““o valor 8 é atribuído à


variável altura e o valor 2 à variável comprimento”””

46
Cuidados ao fazer uma atribuição
● (1o) Uma variável só pode ser usada depois de ter sido declarada.
Exemplo:

altura = 8 print(altura)
print(altura) altura = 8

47
Cuidados ao fazer uma atribuição
● (2o) Números em ponto flutuante contêm um ponto para denotar as
casas decimais (notação americana para separar casas decimais).

pi = 3.14 pi = 3,14
print(pi) print(pi)

48
Cuidados ao fazer uma atribuição
● (3o) Ao associarmos um valor à uma variável, qualquer dado anterior
que estiver armazenado na variável é descartado.

Variável x armazena o valor inteiro 5


x=5
x = 20
print(x)
Variável x passa a armazenar o valor
inteiro 20. Neste caso, o valor anterior, o
número 5, é completamente perdido.

49
Cuidados ao fazer uma atribuição
● (4o) O identificador de uma variável pode aparecer simultaneamente
tanto a esquerda quanto a direita do operador de atribuição.

Variável x é inicializada com o valor inteiro 0

x=0
x=x+1
print(x) Variável x passa a armazenar o valor resultante do
somatório do valor armazenado na própria variável
x mais o valor inteiro 1. Ou seja, a variável x recebe
o resultado da expressão 0 + 1.

50
Função de entrada
padrão

51
Função de acesso ao dispositivo de entrada padrão
● Para receber um valor do dispositivo de entrada padrão e
atribuí-lo a uma variável, usa-se a função input().

nota = input("Digite a nota do aluno:")

● Dados recebidos pela função input() são sempre do tipo


<class 'str'>.

52
Função de acesso ao dispositivo de entrada padrão

A mensagem é opcional

53
Função de acesso ao dispositivo de entrada padrão
● Como a informação fornecida é do tipo <class 'str'>, para se
obter os outros tipos de dados é necessário realizar um
processo de conversão de tipos.
Função Conversão para

int() Números inteiros

float() Números em ponto flutuante

str() Informação textual

bool() Valores booleanos

complex() Números complexos

54
Função de acesso ao dispositivo de entrada padrão
● No caso do exemplo anterior, poderíamos fazer então:

nota = input("Digite a nota do aluno:")


nota_em_inteiros = int(nota)

○ Note que com a variável nota não é possível realizar operações


aritméticas.
○ Enquanto que com a variável nota_em_inteiros isso é
permitido.
55
Biblioteca math

56
Biblioteca math
● Comumente, programas que realizam cálculos matemáticos um
pouco mais complexos se utilizam de funções prontas da biblioteca
math.
● Bibliotecas podem ser vistas como uma coleção de subprogramas
(funções) utilizados no desenvolvimento de softwares.
● Com a biblioteca math é possível encontrar funções para calcular
potências, raiz quadrada, funções trigonométricas, além de
constantes para números irracionais, como por exemplo, o número
pi (𝛱).

57
Biblioteca math
● Para utilizar funções da biblioteca math, o programador deve:
○ (1o) Incluir a biblioteca math no início de seu próprio programa.
Para isso, basta inserir a instrução no seu programa:

from math import *


○ (2o) Utilizar o nome da função de interesse, passando os
parâmetros necessários para a mesma. De modo geral, a
sintaxe será:
nome_da_função(parâmetros)
Se houver mais de um parâmetro, os
mesmos devem ser separados por vírgula. 58
Biblioteca math
● Alguns exemplos de funções:

Funções O que faz

sqrt() Raiz quadrada


cos() Cosseno
sin() Seno
tan() Tangente
ceil() Arredondamento para cima
floor() Arredondamento para baixo

59
Biblioteca math
● Exemplo de programa para cálculo de raiz quadrada com a
biblioteca math:

from math import *


valor = float(input("Digite um valor: "))
print(“A raiz quadrada do valor digitado é: ”, sqrt(valor))

● Ao invés de importar toda a biblioteca math, um programador pode


importar apenas uma única função específica. Por exemplo, para a
função sqrt(), teríamos:

from math import sqrt


60
Funções de arredondamento
Função Exemplo no interpretador

round() >>>round(1.2)
1
>>>round(2.7)
3

ceil() >>>ceil(3.2)
4

floor() >>>floor(3.7)
3

● Obs.: As funções ceil() e floor() precisam ser importadas da


biblioteca math. A função round(), responsável pelo
arredondamento para o inteiro mais próximo, não precisa.
61
Exercício para fixação de conteúdo
Escreva um programa que, dado o valor inteiro de reais (dinheiro),
determine a quantidade de cada tipo de nota necessária para totalizar
esse valor, de modo a minimizar a quantidade de cédulas a serem
emitidas por um caixa eletrônico.

Considere que existem apenas 4 tipos de notas: R$50, R$10, R$5 e


R$1. Por exemplo R$50,00 equivalem a uma única nota de cinquenta
reais. R$72,00 equivalem à uma nota de R$50,00, duas de R$10,00 e
duas de R$1,00.

62
Engenheirando*
Escreva um código que pede ao usuário um ângulo θ e em seguida lhe
apresenta o valor do computador de cos2(θ) + sen2(θ). Observe que
este valor pode não ser exatamente 1.0 porque o computador não faz a
aritmética precisamente.

* Exercícios e exemplos extraídos de: Holloway, J. P. Introdução à Programação para Engenharia – Resolvendo
Problemas com Algoritmos. LTC, 2006.

63
Sobre o Material

64
Sobre este material
Material produzido coletivamente, principalmente pelos
seguintes professores do DCC/UFLA:
● Janderson Rodrigo de Oliveira
● Joaquim Quinteiro Uchôa
● Juliana Galvani Greghi
● Renato Ramos da Silva
Inclui contribuições de outros professores do setor de
Fundamentos de Programação do DCC/UFLA.
Esta obra está licenciado com uma Licença Creative Commons Atribuição 4.0 Internacional.

65

Você também pode gostar