Programação Computacional
Aula 6: Introdução a programação
Profa. Madeleine Medrano
[email protected]
Ciclo de desenvolvimento de um
programa
Roteiro

Variáveis


Escopo de variáveis
Tipos de dados básicos em C

Definição e diferencia entre cada um

Dados com modificadores

Comando de Atribuição
Tipos de Dados, Constantes e
Variáveis

A memória armazena programas que serão executados e dados
destes programas


Podem ser dados de entrada ou dados gerados pela execução
Para que se possa armazenar informações, a memória é dividida
em partes - posições de memória


Assim, cada posição tem um endereço único
Esse endereço é representado como um número
Variáveis

O que é uma variável?

Definição (Matemática)
 é uma entidade capaz de representar um valor ou
expressão
 pode representar um número ou um conjunto de
números
 f(x) = x2
Variáveis: Definição (Computação)

Uma variável é uma posição de memória (que armazena uma
informação) cujo conteúdo pode ser modificado

Os valores que podem ser armazenados nela depende do seu
tipo de dado
Toda variável é caracterizada por um nome, que a identifica em
um programa, e por um tipo, que determina o que pode ser
armazenado naquela variável


Pode ser modificada pelo programa
 Deve ser definida antes de ser usada, declara-se da seguinte
forma
 Tipo_variável Nome_de_variável
Variáveis

Propriedades

Nome
Pode ter um ou mais caracteres
 Nem tudo pode ser usado como nome


Tipo


Conjunto de valores aceitos
Escopo



É a região em que a variável é conhecida
Um par de chaves { } define escopo local
Global ou local
Variáveis

Nome
Deve iniciar com letras ou underscore “_”;
 Caracteres devem ser letras, números ou
underscores
 Palavras chaves não podem ser usadas
como nomes
 Letras maiúsculas e minúsculas são
consideradas diferentes - Case sensitive

Regras para nomes de variáveis em C

As seguintes palavras são reservadas em C e não podem ser
utilizadas como nome de variáveis
auto
do
for
return
switch
while
signed
break case char const
else
enum extern float
goto
if
int
long
short
sizeof static struct
typeof union void volatile
continue default double
register unsigned
Variáveis


Exemplos de nomes corretos:
 Contador
 Contador1
 Teste_123
 _teste, int1
Exemplos que não podem ser usados como nomes
 .var
 int
 1contador
 -x
 Teste-123
 x&
Variáveis

Tipo


Define os valores que ela pode assumir e
as operações que podem ser realizadas
com ela
Exemplo
tipo int variáveis utilizadas para armazenar
apenas inteiros. 13, ou 1102 ou -24
 tipo float armazena apenas valores reais


0.5, 3.14, 0, -5
Tipos de dados básicos em C

char: um byte que armazena o código de um
caractere do conjunto de caracteres local
caracteres sempre ficam entre ‘aspas
simples’!
 char c = ‘a’;


int: um número inteiro, tipicamente 32 bits

int n = 5;
Tipos de dados básicos em C

float: um número real com precisão simples
 parte decimal usa ponto e não vírgula!
 float f = 5.25;

double: um número real com precisão dupla
 double x = 5.0e10;
Dica: pode-se escrever números float e double usando notação
científica

void: este tipo serve para indicar que um resultado não tem um
tipo definido. Uma das aplicações deste tipo em C é criar um
tipo vazio que pode posteriormente ser modificado para um
dos tipos anteriores
Modificadores de tipos

Estes modificadores são palavras que alteram o tamanho do
conjunto de valores que o tipo pode representar.

Por exemplo,um modificador permite que possam ser usados
mais bits para armazenar números inteiros.

Um outro modificador obriga que só números inteiros sem sinal
possam ser armazenados pela variável. Deste modo não é
necessário guardar o bit de sinal do número e somente números
positivos são armazenados.

O resultado prático é que o conjunto praticamente dobra de
tamanho.
Os modificadores de tipos são os
seguintes

Unsigned: Este modificador pode ser aplicado aos tipos int e char
e faz com que o bit de sinal não seja usado, ou seja o tipo passa
a ter um bit a mais.

Signed: Este modificador também pode ser aplicado aos tipos int
e char. O uso de signed com int é redundante.

Long: Modificador que pode ser aplicado aos tipos int e double
aumentando o número de bytes reservado para armazenamento
de dados.
Observação : é possível combinar estes modificadores de
diversas maneiras como está mostrado na Tabela a seguir que
lista os tipos básicos definidos no padrão ANSI e a sua excursão.

Tabela de tipos de dados
Dica: a função sizeof(v) mede o tamanho de v em bytes
Escopo de variáveis

Escopo


Define onde e quando a variável pode ser
usada.
Escopo global
Fora de qualquer definição de função
 Tempo de vida é o tempo de execução do
programa


Escopo local

Bloco de chaves {} ou função
Escopo de variáveis

Escopo local

Bloco: visível apenas no interior de um bloco de comandos
if (teste == TRUE) {
int i;
i = i+1;
}

Função: declarada na lista de parâmetros da função ou
definida dentro da função
int minha_fun (int x, int y) {
int i, j;
}
Escopo de variáveis
Variáveis e Constantes

Como uma variável, uma constante também
armazena um valor na memória do computador.
 Entretanto, esse valor não pode ser alterado: é
constante não pode modificar durante a execução de
um programa.
 As constantes também possuem um tipo.
 Para constantes é obrigatória a atribuição do valor
inicial
 Exemplos de constantes:



const int = 85;
const float moeda = 0.10;
const char letra = 'c‘;
Comando de Atribuição

Definição

O comando de atribuição serve para atribuir
valores para variáveis.

A sintaxe do uso do comando é:

Variável = valor
Exemplos
int i=0, j=10;
float raio = 2.54;
char c=‘d’;
double precisao = 0.00001L;

Comando de Atribuição

O comando de atribuição pode conter
expressões do lado direito:
 variável = expressão ;
 soma= a+b; /* neste exemplo a variável soma recebe o
valor calculado da expressão a+b */

Atribuir um valor de uma expressão a uma
variável significa calcular o valor daquela
expressão e copiar aquele valor para uma
determinada variável.
Comando de Atribuição

O sinal igual = no comando de atribuição é
chamado de Operador de Atribuição
A esquerda do operador
de atribuição deve existir
somente o
nome_da_variável

=
À direita, deve haver uma
expressão cujo valor
será calculado e
armazenado na variável
(expressão, valor ou
constante)
Ex.:
int main( ){
int x = 5;
y = x + 3;
}
 Dica: a linguagem C aceita múltiplas atribuições: x = y = z = 0;
Conversões de Tipos na Atribuição

Atribuição entre tipos diferentes

O compilador converte automaticamente o valor do
lado direto para o tipo do lado esquerdo de “=”


Pode haver perda de informação
Exemplo:
int x; char ch; float f;
ch = x; /* ch recebe 8 bits menos
significativos de x
*/
x = f; /* x
f = ch; /*
recebe parte inteira de f */
f recebe valor 8 bits convertido para real
*/
f = x;
/* idem para inteiro x */
Dica: se usar casting, é possível controlar a conversão: f = (int) f;
Atividades: tipos de dados,
variáveis e atribuições

Indique os nomes da variáveis que são validos. Justifique os
nomes inválidos.

Marque a letra que contém pelo menos um nome de váriavel
inválido
Atividades: tipos de dados,
variáveis e atribuições

Indique na tabela os tipos que você usaria para
armazenar os dados indicados.
Fim da apresentação

Obrigada pela atenção
Download

baixar slides