Professional Documents
Culture Documents
Introduo
Nesta aula, sero construdos programas de
Introduo
Um programa de computador utiliza diversos
rea = . r 2
Introduo
Algoritmo para calcular a rea de um crculo:
1.
2.
3.
Introduo
Quais valores numricos aparecem no algoritmo?
Raio (nmero real): representa a medida do raio
Introduo
Assim como neste exemplo, um valor, em um
programa, pode ser classificado como:
Constante: dado cujo valor se manter
Constantes
Uma constante pode ser representada no texto
Variveis
Uma varivel armazena um valor de
Variveis
Exemplo: para armazenar um nmero inteiro, o
programa normalmente reserva 4 bytes de
memria.
O nmero binrio
armazenado nestes
4 bytes representa
o valor da varivel
(neste caso, 10).
...
1712
1713
1714
1715
1716
1717
...
0
9
Variveis
No texto de um programa, uma varivel
...
1712
1717
...
0
10
Variveis
O valor da varivel pode ser alterado ao
...
1712
1717
...
0
11
Variveis
Identificador da varivel:
Nome nico criado pelo programador.
No pode ser uma palavra reservada da
linguagem C.
Exemplos: int, main, return,...
Pode conter apenas letras, dgitos e sublinha.
Deve comear com uma letra (por padro
Variveis
Exemplos
Vlidos:
nome
x1
nota_01
telefone
salario_base
nota2aProva
Invlidos:
1ano
salrio
valor-1
endereo
salario/hora
2aProva
13
Tipos de dados
Toda constante e toda varivel de um
14
3.14159
Constantes do tipo de dados char sempre
'a'
16
Tipos de dados
booleano utilizado para representar um
valor lgico que pode ser verdadeiro ou falso.
No um tipo bsico de C
Em C, so representados por inteiros:
Falso: 0
Verdadeiro: 1 (ou qualquer valor diferente de 0)
17
Exerccio
1) Indique quais das constantes abaixo so do tipo int:
( )1000
( )-456
( ) '8'
( ) 34
( )-900
( )-1.56
( ) 0.87
( )Cinco
( ) -9.12
( ) -1.56
( ) onze
( ) '8'
()d
( ) 'F'
18
Declarao de variveis
A declarao de uma varivel o momento
o tipo da varivel
o identificador da varivel
int idade;
float peso, altura;
char sexo;
19
Declarao de variveis
Como todo comando simples em C, a
int idade;
float peso, altura;
char sexo;
20
Declarao de variveis
Implicaes da declarao de variveis:
alocado um espao na memria onde seja
possvel armazenar valores do tipo
especificado.
Tipo
Faixa
char
1 byte
-128 a 127
(incluindo letras e smbolos)
int
4 bytes*
-2147483648 a 2147483647*
float
4 bytes
3.4E-38 a 3.4E+38
(6 casas de preciso)
1.7E-308 a 1.7E+308
(15 casas de preciso)
* Estes valores podem variar dependendo da configurao da mquina.
double
8 bytes
21
Declarao de variveis
Implicaes da declarao de variveis:
O nome da varivel associado ao endereo
de memria reservado.
Assim, toda vez que a varivel for
referenciada, o computador vai trabalhar com
o contedo de seu endereo de memria.
22
Declarao de variveis
Observaes importantes:
Durante todo o programa, a varivel
armazenar apenas valores do tipo
especificado na sua declarao.
Uma varivel s pode ser utilizada em um
23
Exerccio
Indique as opes com declaraes vlidas:
(
(
(
(
(
(
(
(
(
(
)
)
)
)
)
)
)
)
)
)
char endereo;
int valor1, valor2;
float rea;
int 21;
char a, b, char;
int a,
int a,b,a;
float f1,f2,f3,4f;
int meu_nro;
float leitura_sensor;
24
Operador de atribuio
Um comando de atribuio a forma mais
bsica de modificar o valor de uma varivel:
nomeVar = expressao;
nomeVar
Operador de atribuio
Um comando de atribuio a forma mais
bsica de modificar o valor de uma varivel:
nomeVar = expressao;
operador =
operador de atribuio
para no confundir com o operador de
comparao, evite ler var=10; como var igual
a 10; normalmente, l-se var recebe 10
26
Operador de atribuio
Um comando de atribuio a forma mais
bsica de modificar o valor de uma varivel:
nomeVar = expressao;
expressao
Operador de atribuio
Um comando de atribuio a forma mais
bsica de modificar o valor de uma varivel:
nomeVar = expressao;
; (ponto e vrgula)
28
Operador de atribuio
Exemplos:
raio = 2.5;
area = 3.14159 * (raio * raio);
raio2 = raio;
sexo = 'F';
delta = (b * b) - 4 * a * c;
digito = '5';
29
Inicializao de variveis
Quando uma varivel declarada, seu valor
...
1712
1713
1714
1715
1716
1717
...
0
30
Inicializao de variveis
Quando uma varivel declarada, seu valor
...
1712
1717
...
0
31
Inicializao de variveis
Nenhuma varivel deve ser utilizada antes de ser
...
1712
1717
...
0
32
Inicializao de variveis
A inicializao da varivel deve ser
...
1712
1717
...
0
33
Inicializao de variveis
Em C, possvel inicializar uma varivel
em sua declarao:
int a = 10;
char setor = '1';
float elem1 = 0.0, elem2 = 1.0;
int x = 5, y, z = 20;
Obs: no exemplo acima, apenas a
varivel y no foi inicializada.
34
Inicializao de variveis
Ateno
esquecer de inicializar o
valor de uma varivel um
erro lgico comum e difcil
de detectar...
Como acontece: varivel
declarada sem que seu
valor seja explicitamente
inicializado.
Problema: valor da
varivel desconhecido
(lixo)
//
//
//
//
//
Erro !!!
Varivel y no foi
inicializada e
contm lixo de
memria
float x, y, z;
x = 1.0;
z = x + y;
35
Expresses
Combinao de variveis, constantes e
operadores que, quando avaliada, resulta em
um valor.
Expresso aritmtica:
resulta em um nmero (inteiro ou real).
Expresso lgica:
resulta em VERDADEIRO ou FALSO.
36
Expresses aritmticas
10
a + 15
base * altura
90 / 4.0
3.065
189 % divisor
(x1 - 5) * x2
Variveis:
a, base, altura,
divisor, x1, x2
Constantes:
10, 15, 90, 4.0,
3.065, 189, 5
Operadores:
+, *, /, %, 37
Expresses aritmticas
Operadores
INTEIROS
U
N
A
R
I
O
B
I
N
A
R
I
O
S
REAIS
sinal negativo
-2
-a
-2.0
-b
+
*
/
%
adio
subtrao
multiplicao
diviso
mdulo
a+2
a2
a*2
a/2
a%2
b + 2.0
b 2.0
b * 2.0
b / 2.0
(resto da diviso)
Expresses aritmticas
Operadores
Para a = 5 e b = 5.0:
INTEIROS
U
N
A
R
I
O
B
I
N
A
R
I
O
S
REAIS
sinal negativo
-2
-a -5
-2.0
-b -5.0
+
*
/
%
adio
subtrao
multiplicao
diviso
mdulo
a+27
a23
a * 2 10
a/22
a%21
b + 2.0 7.0
b 2.0 3.0
b * 2.0 10.0
b / 2.0 2.5
(resto da diviso)
Expresses aritmticas
Operaes aritmticas mais complexas:
pow(base,2)
sqrt(16)
sin(x)
cos(x)
cos(2*x)
sin(x)*cos(y)
abs(-5)
Expresses lgicas
Envolvem os operadores:
Relacionais:
igual (==), diferente (!=),
menor que (<), menor ou igual a (<=),
maior que (>), maior ou igual a (>=)
Lgicos:
negao (!), conjuno (&&), disjuno (||)
41
Expresses lgicas
Sempre resultam em VERDADEIRO ou
FALSO.
Sero abordadas mais detalhadamente na
42
Avaliao de expresses
Prioridade para execuo de operaes em
uma expresso:
1.
2.
3.
4.
5.
Exerccio
Dadas as declaraes:
int a, b;
float x, y;
)
)
)
)
)
)
)
)
)
)
a
a
x
y
2
b
b
x
x
y
+
=
=
=
=
=
=
=
*
=
b = 2;
a % b;
y + a;
x % y;
a + b a / 3;
(a + b a) / 3;
(a + b) (a / 3);
sqrt(y) * 7;
x * x = pow(x,3);
x * x * x - pow(x,3);
44
Impresso na tela
A funo printf escreve um texto no
dispositivo de sada padro do computador
(isto , na tela do computador).
int main()
{
printf("Alo mundo!");
return 0;
}
45
Impresso na tela
A funo printf escreve um texto no
dispositivo de sada padro do computador
(isto , na tela do computador).
#include <stdio.h>
int main()
{
printf("Estou aprendendo a programar em C");
return 0;
}
46
Impresso na tela
Nos exemplos j vistos, a funo printf
47
48
49
50
variavel inteira: 10
constante inteira: 34
resultado: 25
expressao 1: (a*2)+5=25
expressao 2: (10*2)+5=25
51
52
Tipo
Elemento armazenado
%c
char
um nico caractere
%d ou %i
int
um inteiro
%f
float
um nmero em ponto
flutuante
%lf
double
%e
float ou double
um nmero na notao
cientfica
%s
(tipo composto)
54
58
Na funo scanf:
A Lista de endereos de variveis NO
opcional.
A Lista de endereos de variveis NO aceita
valores constantes ou expresses.
59
9.8
60
64
Formatao de dados
scanf e printf tm vrias outras opes
65
Estruturas de controle
As estruturas bsicas de controle definem a
Sequncia simples
Condicionais ou alternativas *
Repeties *
* sero vistas nas prximas aulas
66
Estruturas de controle
Sequncia simples:
Comando1;
Comando2;
...
ComandoN;
Sintaxe
Sequncia de comandos sem
limite de tamanho. Esta sequncia pode incluir
declaraes de variveis, atribuies, leitura e
impresso de dados.
Semntica
A execuo iniciada no primeiro comando da
estrutura, continua executando os comandos
na ordem em que aparecem, de cima para
baixo, e sai da estrutura.
67
Exerccios
1. Faa um programa que l uma temperatura em
graus Celsius e apresenta-a convertida em graus
Fahrenheit. A frmula de converso:
F (9*C+160)/5
2. Faa um programa que l um valor de salrio
mnimo e o salrio de um funcionrio. O
programa deve calcular e imprimir quantos
salrios mnimos esse funcionrio ganha.
3. Faa um programa que leia os valores dos lados e
altura de um tringulo, calcule e imprima seu
permetro e rea.
69
Exerccios
4. Faa um programa que leia um nmero inteiro
e imprima o seu antecessor e sucessor.
5. Construa um programa que aplique um
desconto de 25% sobre o preo de um
produto recebido como entrada e imprima o
valor resultante.
6. Construa um programa para ler um intervalo de
tempo em segundos, converter para horas,
minutos e segundos e imprimir o resultado.
Desafio: Faa um programa com apenas duas
variveis que leia 5 valores e imprima a sua
soma total.
70