Escolar Documentos
Profissional Documentos
Cultura Documentos
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
● 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
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:
14
Comentários
● Sintaxe em Python:
15
Comentários
● Sintaxe em Python:
○ Exemplo programa em Python:
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
? 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
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
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.
identificador_da_variável = valor_inicial
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
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:
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:
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:
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:
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)
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
43
Operador de atribuição
identificador_da_variável = valor
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.
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.
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().
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
54
Função de acesso ao dispositivo de entrada padrão
● No caso do exemplo anterior, poderíamos fazer então:
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:
59
Biblioteca math
● Exemplo de programa para cálculo de raiz quadrada com a
biblioteca math:
round() >>>round(1.2)
1
>>>round(2.7)
3
ceil() >>>ceil(3.2)
4
floor() >>>floor(3.7)
3
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