• Nenhum resultado encontrado

Bac004 - Parte 3

N/A
N/A
Protected

Academic year: 2021

Share "Bac004 - Parte 3"

Copied!
70
0
0

Texto

(1)

Constantes, Variáveis e Tipos

de Dados

FARRER, H. et. alli.

Algoritmos Estruturados. 3a.

edição. Rio de Janeiro. LTC –

1999. Capítulo 1

(2)

Constantes

Uma constante é um determinado valor fixo

que não se modifica ao longo do tempo,

durante a execução de um programa.

Uma constante pode ser um número, um

valor lógico ou uma seqüência de

caracteres.

Conforme o seu tipo, a constante é

classificada como sendo numérica, lógica

ou literal.

(3)

Constantes

Constante Numérica

A representação de uma constante numérica nos

programas é feita no sistema decimal, podendo ser um

número com ou sem parte fracionária.

A constante numérica pode ser positiva ou negativa, de

acordo com o sinal que precede os algarismos

formadores do número. Caso não exista um sinal, a

constante é considerada positiva.

Exemplos:

15

23.5

-10

(4)

Constantes

Constante Lógica

É um valor lógico, isto é, que só pode ser

falso ou verdadeiro, usado em

proposições lógicas.

Só existem duas constantes deste tipo,

sendo representadas pelas palavras falso

e verdadeiro.

Dependendo da linguagem não existe a

(5)

Constantes

Constante Literal

Uma constante deste tipo pode ser qualquer seqüência de

caracteres (letras, dígitos ou símbolos especiais) que

forme um literal com algum significado para o problema

em estudo.

As constantes literais devem aparecer no programa entre

aspas para que não sejam confundidas com outro item

qualquer.

Exemplos:

“Introdução a Computação”

“12345”

“XYZ”

“08/03/2005”

“FALSO”

(6)

Tipos de Dados

Conforme visto anteriormente as constantes

podem ser numéricas, literais ou lógicas,

porém, nas linguagens de programação

devemos definí-las com o tipo de dados que

representam.

Em C existem uma série de tipos de dados que

podem ser levados em consideração.

O tipo de dado informa a quantidade de

memória que ela ocupará e o modo como um

valor deverá ser armazenado e interpretado.

(7)

Tipos de Dados

(8)

Tipos de Dados

Tipo

Bits

Bytes

Escala

char

8

1

-128 a 127

int

32

4

-2.147.483.648 a 2.147.483.647

short

16

2

-32.765 a 32.767

long

32

4

-2.147.483.648 a 2.147.483.647

unsigned

char

8

1

0 a 255

unsigned

32

4

0 a 4.294.967.295

unsigned

long

32

4

0 a 4.294.967.295

unsigned

short

16

2

0 a 65.535

float

32

4

3,4 x (10^-38) a 3,4 x (10^38)

double

64

8

1,7 x (10^-308) a 1,7 x (10^308)

(9)

Variáveis

Na matemática, uma variável é a representação

simbólica dos elementos de um certo conjunto.

Nos programas, uma variável corresponde a uma

posição de memória, cujo conteúdo pode variar ao

longo do tempo durante a execução de um

programa.

Embora uma variável possa assumir diferentes

valores, ela só pode armazenar um valor a cada

instante.

Uma variável possui valor inicial indefinido

(chamado lixo), a menos que algum comando o

especifique.

(10)

Variáveis

Formação dos identificadores

Um identificador é formado por um ou mais caracteres,

sendo que o primeiro caractere deve, obrigatoriamente,

ser uma letra ou sublinhado (underscore) e os caracteres

seguintes, letras, dígitos ou sublinhado, não sendo

permitido o uso de outros símbolos especiais.

Exemplos:

A

Aluno

XYZ123

_CADE

OI235

(11)

Variáveis

Formação dos Identificadores

Letras maiúsculas e minúsculas são

tratados diferentemente pela

linguagem C

Um identificador não pode ser igual a

uma palavra chave e não deve ser

igual a nome de função em um

(12)

Variáveis

Declaração de variáveis

As variáveis só podem armazenar valores de

um mesmo tipo, de maneira que também são

classificadas de acordo com um dos tipos

fornecido pela linguagem.

Para indicar o tipo de uma ou mais variáveis é

usada a declaração de variáveis.

Uma vez declarada a variável, qualquer

referência que se faça ao seu identificador

implica a referência ao conteúdo do local da

memória representado pelo mesmo.

(13)
(14)

Variáveis – Declaração de

Variáveis

Forma Geral

tipo lista_de_variáveis;

Exemplos:

int n1, n2, i, j;

(15)

Variáveis - Observações

Os nomes, em um determinado contexto,

são únicos, não podendo ser usados

repetidamente, mesmo com tipos

diferentes.

É conveniente manter-se o uso de

maiúsculas, ou minúsculas, de acordo

com a definição, evitando o uso

indistinto.

(16)

Variáveis

As variáveis são de 3 tipos

dependendo do local em que foram

declaradas:

variável local;

variável formal – função (não será

apresentado agora);

(17)

Variáveis Locais

É uma variável que só existe dentro do

bloco no qual ela foi criada.

Um bloco (comando composto) em C

começa com { (abre chave) e termina

com } (fecha chave).

(18)

Variáveis Locais

/

* ProgC002.cpp - Apresenta a declaração de variáveis locais */ # include <iostream>

# include <cstdlib> int main ( ){

int valor, i; valor = i = 0;

std::cout<<"Valor da variavel valor: "<<valor<<"\nValor da variavel i:"<<i<<"\n\n"; std::cout << "Forneca um novo valor inteiro para a variavel valor: ";

std::cin >> valor;

std::cout << "Forneca um novo valor inteiro para a variavel i: "; std::cin >> i;

std::cout<<"\n\nValor da variavel valor: "<<valor<<"\nValor da variavel i: "<<i<<"\n\n";

system("PAUSE"); return 0;

Variável local declarada. Só reconhecida dentro de main.

(19)

Variáveis Globais

São as variáveis que estão disponíveis ao programa

inteiro, qualquer bloco do programa pode acessá-las

sem erro.

Estas variáveis devem ser declaradas fora de todas

as funções e no começo do programa principal.

O uso de variáveis globais deve ser evitado porque

estas ocupam espaço na memória durante toda a

execução do programa.

Deve ser explorado o uso de funções

parametrizadas para melhorar a organização e a

estruturação de programas em C.

(20)

Variáveis Globais

/* ProgC003.cpp

Apresenta declaração de variáveis globais */

# include <iostream>

# include <cstdlib>

using namespace std;

char Caractere;

int main ( ){

Caractere = 'a';

cout << "Valor: " << Caractere;

system("PAUSE > null");

return 0;

}

Declaração da Variável Global Atribuição de valor a uma variável

(21)

Inicialização de Variáveis

Para inicializar uma variável em C,

deve-se simplesmente atribuir um valor

a ela.

Forma Geral

(22)

Inicialização de Variáveis

/* ProgC004.cpp

Apresenta formas de inicialização de variveis */

# include <iostream>

# include <cstdlib>

using namespace std;

int main ( ){

char Caractere = 'a';

int Primeiro = 0;

float Salario = 120.96;

cout << "Valor de Caractere: " << Caractere;

cout << "\nValor de Primeiro: " << Primeiro;

cout << "\nValor de Salario: " << Salario;

system("PAUSE > null");

return 0;

Declaração e inicialização de variável

(23)

Inicialização de variável

//ProgC005.cpp Cria duas variáveis do tipo int #include <iostream> #include <cstdlib> using namespace std; int main() { int num1; num1 = 44; int num2; num2 = num1 + 20;

cout << "\no primeiro numero e " << num1;

cout << "\no segundo numero e \"num1 + 20 \" = "<< num2 << endl; system("PAUSE");

Declaração de variável

(24)

Declaração de constantes

A palavra-chave const é utilizada para

declarar constantes no programa em

linguagem C/C++.

Ela assegura que a variável associada

não deve ser alterada em todo o

programa.

(25)
(26)

Declaração de constante

// ProgC006.cpp - Declaracao de Constantes #include<iostream>

using namespace std; int main() {

const float pi=3.141592; float raio, area, comp;

cout << "Calculo da area de um circulo e do perimetro de sua circunferencia." << endl; cout << "Por favor, entre com o raio: ";

cin >> raio;

area = pi * raio * raio; comp = 2 * pi * raio;

cout << "A area do circulo e: " << area << endl;

cout << "O comprimento de sua circunferencia e: " << comp << endl; Declaração de constante

Uso de constante

Finaliza a saída de dados, mudando de linha

(27)

Exercícios

Identificar o tipo de cada uma das

constantes:

21

“BOLA”

“VERDADEIRO”

(28)

Exercícios

Informe se os nomes de identificadores são válidos

ou inválidos:

VALOR

X2

3 X 4

“NOTA”

AH!

B248

KM/H

Criar as declarações para as variáveis NOM,

PROF, ID e SALÁRIO que serão utilizadas para

armazenar o nome, profissão, idade e salário de

uma pessoa.

(29)

Tópicos para Discussão

Constantes

Variáveis

Formação de identificadores

(30)

Operadores

FARRER, H. et. alli.

Algoritmos Estruturados. 3a.

edição. Rio de Janeiro. LTC –

1999. Capítulo 1

(31)

Operadores

Possibilitam que operações sejam realizadas.

Descrições de transformações de valores de

mesmo tipo, ou de tipos diferentes.

Operadores da linguagem C

Atribuição

Aritméticos

Relacionais

Lógicas

(32)
(33)

Operação de Atribuição

A linguagem C usa o sinal de igual (=)

como operador de atribuição. O

formato geral de uma atribuição em C

é o seguinte:

nome_da_variável = expressão;

A novidade em C é que o operador de

atribuição pode entrar em qualquer

(34)

Operação de Atribuição

Outra particularidade é a conversão

automática de tipos. O valor do lado direito

da atribuição é convertido no tipo do lado

esquerdo.

Se o tamanho em bytes do tipo do lado

esquerdo for menor do que o valor

atribuído, alguma informação será perdida

(os bits mais significativos do valor serão

desprezados).

(35)

Operação de Atribuição

/* ProgC007.cpp

Programa que demonstra atribuições simples em C */

# include <iostream>

int main ( ){

int X = 10;

char Ch = 'a';

float F = 12.5;

Ch = X; // Os bit + significativos de X sao ignorados

X = F;

F = Ch;

F = X;

}

Declaração de variáveis e atribuição de valores iniciais.

Atribuição de variáveis de tipos diferentes. As conversões ocorrem de forma automática, podendo ocorrer alguns problemas.

(36)

Expressões Aritméticas

Denomina-se expressão aritmética aquela cujos operadores são

aritméticos e cujos operandos são constantes e/ou variáveis do tipo

numérico.

As operações básicas adotadas são as da Matemática, a saber:

 Adição  Subtração  Multiplicação  Divisão  Potenciação  Radiciação 

Exemplos:

 X + Y  X – 10  2 * Nota  TOTAL / N  SOMA ** 2

(37)

Expressões Aritméticas

A notação utilizada para expressões aritméticas nos programas

C++ é, basicamente, a mesma da Matemática, a menos das

seguintes restrições:

Não é permitido omitir o operador de multiplicação, o que é

comum nas expressões matemáticas.

Nas expressões aritméticas, as operações guardam entre si

uma relação de prioridade, tal como na matemática:

Potenciação, radiciação

Multiplicação, divisão

Adição, subtração

Para se obter uma sequência de cálculo diferente, vários

níveis de parênteses podem ser usados para quebrar as

prioridades definidas.

Não é permitido o uso de colchetes e chaves, uma vez que

(38)

Operadores Aritméticos

Os operadores de Incremento (++) e Decremento (--), têm

algumas particularidades:

As instruções x = x + 1 e ++x, são instruções equivalentes em C,

assim como, x = x - 1 e -- x.

Os operadores de incremento e decremento podem preceder (+

+x) ou suceder (x++) o operando.

Na instrução ++x ou --x, a operação de incremento ou decremento é

realizada antes de usar o valor do operando.

 Na instrução x++ ou x--, a operação de incremento ou decremento é

(39)

Incremento e decremento

O operador de incremento (++) opera sobre o nome de

uma variável e adiciona 1 ao valor da variável operando

A instrução

x = x + 1; //adiciona 1 a x

Equivale a

++x; //adiciona 1 a x

A sintaxe e o modo de uso do operador decremento (--) é

idêntica à do operador de incremento, exceto porque a

variável é decrementada de 1

A instrução

x = x – 1; //decrementa 1 de x

Equivale a

--x; //decrementa 1 de x

x++ e ++x são diferentes

n=x++ //sendo x=1, n será 1 e x será 2

(40)

Operadores Aritméticos – Exemplo de

Incremento e Decremento

/* ProgC008.cpp

Demonstra o uso do Operador de Incremento */

#include<iostream>

#include<cstdlib>

using namespace std;

int main ( ){

int Numero1, Numero2;

Numero1 = 10; Numero2 = ++Numero1;

cout << "Numero1= " << Numero1 << " Numero2= " << Numero2 <<

endl;

Numero1 = 10; Numero2 = Numero1++;

cout << "Numero1= " << Numero1 << " Numero2= " << Numero2 <<

endl;

system("PAUSE > null");

return 0;

}

Atribuição de valores.

Apresentação dos resultados. As duas variáveis ficam com o valor 11.

Atribuição de valores.

(41)

Operadores Aritméticos –

Precedência de Operadores

A precedência dos operadores é:

++ -- (incremento, decremento)

* / % (multiplicação, divisão, resto)

+ - (adição, subtração)

Para alterarmos a ordem de

precedência em uma expressão,

devemos usar o agrupamento, que é

representado pelos parênteses.

(42)

Expressões Lógicas

É comum nos programas surgirem

situações em que a execução de uma ação

está sujeita a uma certa condição.

Esta condição é representada no texto do

programa por meio de uma expressão

lógica.

Denomina-se expressão lógica a

expressão cujos operadores são lógicos e

cujos operandos são relações, constantes

e/ou variáveis do tipo lógico.

(43)

Operadores Relacionais e

Lógicos

Operadores relacionais tratam das

relações entre valores e os

operadores lógicos fazem a

composição de expressões

relacionais.

Em C um valor é VERDADEIRO se for

diferente de zero, e é FALSO se for

(44)

Operadores Relacionais e

Lógicos

(45)

Expressões Lógicas –

Conjunção - p && q

Duas proposições quaisquer podem ser

combinadas por meio do && para formar

uma proposição composta, chamada de

conjunção das proposições originais.

A conjunção de duas proposições p e q é

representada simbolicamente por p && q

(46)

Expressões Lógicas –

Conjunção - p && q

Exemplo:

Seja p “Está chovendo” e seja

q “O Sol está brilhando”.

Assim, p && q corresponde à

proposição “Está chovendo e

o Sol está brilhando”.

Se p é verdadeiro e se q é

verdadeiro, então p && q será

verdadeiro; caso contrário p

&& q será falso.

A B A&&B

0

0

0

0

1

0

1

0

0

1

1

1

(47)

Expressões Lógicas –

Disjunção - p || q

Duas proposições quaisquer podem

ser combinadas pela palavra ou para

formar uma proposição composta,

chamada de disjunção das

proposições originais.

A disjunção de duas proposições p e q

é representada simbolicamente por p ||

(48)

Expressões Lógicas –

Disjunção - p || q

Exemplo:

Seja p “Pedro estudou inglês

na universidade” e seja q

“Pedro morou nos Estados

Unidos”.

p || q corresponde à

proposição “Pedro estudou

inglês na universidade ou

morou nos Estados Unidos”.

Se p é verdadeiro ou se q é

verdadeiro, ou ambos são

verdadeiros, então p || q será

verdadeiro; caso contrário p ||

q será falso.

A

B

A||B

0

0

0

0

1

1

1

0

1

1

1

1

(49)

Expressões Lógicas –

Negação - !p

Dada uma proposição p qualquer, uma

outra proposição, chamada negação

de p, pode ser formada escrevendo-se

o contrário de p.

Simbolicamente, a negação de p é

designada por !p

(50)

Expressões Lógicas –

Negação - !p

Exemplo:

Seja p “Paris está na França”

então !p pode ser escrita

como: “É falso que Paris

esteja na França” ou “Paris

não está na França”.

Se p é verdadeiro, então !p é

falso, caso contrário !p é

verdadeiro.

A

!A

0

1

1

0

(51)

Operadores Relacionais e

Lógicos

Operadores Lógicos

&& é o AND (e lógico)

|| é o OR (ou lógico)

! é o NOT (negação)

Precedência dos operadores

! (negação)

Artiméticos

>, >=, <, <=, ==, != (maior, maior ou igual, menor, menor

ou igual, igual, diferente).

&& (e lógico)

|| (ou lógico)

Todo resultado de uma expressão lógica e/ou

(52)

Operadores Relacionais e

Lógicos - Exemplo

/* ProgC009.cpp

Programa que demonstra o uso dos operadores logicos */

#include<iostream>

#include<cstdlib>

int main ( ){

int N1 = 1, N2 = 0, N3;

N3 = N1 && !N2 || !N1 && N2;

if (N3)

std::cout << "1";

else

std::cout << "0";

system("PAUSE > null");

return 0;

Declaração de variáveis e atribuição de valores iniciais. Pela prioridade e valores atribuídos a expressão terá valor final 1. Observe: N3 = 1 && 1 || 0 && 0

N3 = 1 || 0 N3 = 1

Expressão if (N3) está perguntando se o valor de N3 é verdadeiro. Como ele é diferente de 0, ele é verdadeiro e dessa forma a condição é satisfeita. Caso contrário, escreveria o valor 0.

(53)

Operadores Relacionais e

Lógicos - Exemplo

/* ProgC010.cpp - Programa que apresenta resultado de

uma operacao relacional */

#include<iostream>

#include<cstdlib>

int main ( ){

int X = 1;

int Y;

Y = X > 10;

std::cout << Y;

system("PAUSE > null");

return 0;

Declaração de variável e atribuição de valor inicial.

Verifica se valor de X > 0 e apresenta o valor 0 ou 1, de acordo com a condição.

(54)

Expressões

Uma expressão é a composição de

operadores lógicos, aritméticos e

relacionais, variáveis e constantes.

Podemos forçar para que o resultado

de uma expressão seja de um tipo

específico através do uso de um

molde (CASTS) de tipo. Assim:

(float) Numero / 2;

(55)

Expressões

Espaços e parênteses podem ser

usados a vontade em expressões.

O uso de parênteses e espaço é

aconselhado no sentido de aumentar a

legibilidade do programa.

Os parênteses podem mudar a ordem

de precedência dos operadores.

(56)

Expressões

Outra particularidade de linguagem C

refere-se ao uso de abreviações.

A linguagem C admite que algumas

atribuições sejam abreviadas. Assim:

X = X + 10; equivale a X += 10;

De uma forma geral:

variável = variável operador expressão

equivale a

(57)
(58)

Algumas Funções

Matemáticas

A linguagem C/C++ possui várias funções

matemáticas disponíveis na biblioteca

(59)

Entrada de dados

As unidades de entrada e saída são

dispositivos que possibilitam a comunicação

entre o usuário e o computador.

Os comandos de entrada e saída são as

ferramentas para determinar o momento da

entrada dos dados para o programa e a

(60)

Entrada e Saída

O objeto cin aguarda para que o

usuário escreva alguma coisa

utilizando o teclado e pressione enter,

em seguida, por meio do operador de

extração >>, que coloca a entrada de

dados na variável que a conterá.

As definições necessárias ao uso do

cin e >> estão no arquivo iostream

(61)

Comando cin

//ProgC011.cpp - Calcula a sua idade em dias

#include <iostream>

#include <cstdlib>

using namespace std;

int main(){

cout << "\nDigite a sua idade em anos: ";

int anos;

cin >> anos;

cout << "\nA sua idade em dias e: " << (anos*365) << endl;

system("PAUSE");

(62)

Comando cin

//Prog012 - Mostra o uso de cin com várias entradas //Calcula a média de 4 notas

#include <iostream> #include <cstdlib> using namespace std; int main(){

cout << "\nDigite as notas das 4 provas: "; float p1, p2, p3, p4;

cin >> p1 >> p2 >> p3 >> p4; float media = (p1+p2+p3+p4)/4.0;

cout << "\nMEDIA: " << media << endl; system("PAUSE");

return 0;

(63)

Teste de mesa

//ProgC013 - Soma de 2 números

#include <iostream>; // Biblioteca para entrada e saída de dados

using namespace std; // Métodos default para entrada e saída de dados int main (){

int num1, num2, soma;

cout << "Soma de dois numeros" << endl; cout << "Entre com o primeiro numero: "; cin >> num1;

cout << "Entre com o segundo numero: "; cin >> num2;

soma = num1 + num2;

(64)

Teste de Mesa

Utilizado para verificar erros de

código.

A partir de dados conhecidos faz-se a

simulação do código.

Saber escolher os dados de teste é

muito importante.

(65)
(66)

Tópicos para Discussão

Expressões

Expressões Aritméticas

Expressões Lógicas

Relações

Álgebra de Proposições

Teste de Mesa

(67)

Exercícios

Utilizando R1, R2, ..., RN como resultados

de operações, represente a prioridade das

operações:

a * (c * b + (c - d) ** 2)

(c - d) * 1 **(k / (x + y) ** 4)

(-c + (d ** 2 – 5 / a + c) ** 0.5) / (6 * k)

a * (c * b + (c - d) ** 2) > c + 4 * d

(c - d) * 1 **(k / (x + y) ** 4) > 0 && c * k – (x + y)<4

(-c + d) > 6 && (a + c) < -5 || a == 0

(68)

Exercícios

Faça um programa que deverá

calcular e escrever a área da figura

mostrada abaixo. Os valores de A, B

e C serão fornecidos pelo usuário.

A

(69)

Exercícios

Modifique o programa anterior para

que ele agora calcule o valor da área

hachurada da casa sabendo que as

janelas são quadradas e têm lados

iguais a um terço de C.

A

(70)

Exercícios

Crie um programa que imprima a hipotenusa de

um triangulo retângulo de acordo com a leitura de

seus catetos.

Crie um programa que leia do teclado um valor de

temperatura em graus Celsius, calcule e imprima

essa temperatura em graus Farenheit e em graus

Kelvin.

Referências

Documentos relacionados

determinar quantos comerciais durante o programa de comédia e de futebol devem ser comprados.. Variáveis

Ø Utilize sempre o aspirador com os filtros instalados para evitar reduçao do poder de aspiraçao do aparelho.. Ø Desligue o aparelho da corrente antes de mudar o saco ou

( ) = Cursor para Cima / Programa para Cima ( ) = Cursor para a Direita / Volume + Botões de Controlo do Teletexto Botões de Controlo VCR.. ( ) = Cursor para Baixo / Programa

• As relações entre os novos contrastes (identificados pelo asterisco) e os efeitos do planejamento completo são as mesmas da segunda coluna da Tabela 4.5 com os sinais

até n-1 fatores, é aconselhável um número menor, para que as colunas não utilizadas façam o papel de variáveis inertes e possam ser empregadas para estimar o erro associado aos

Pacientes com depleção (diminuição) de volume intravascular: Em pacientes com depleção acentuada de volume e/ou de sódio tais como, aqueles tratados com doses altas de

Com base nos resultados do presente estudo, pode-se concluir que embora um contexto adequado para prática das aulas de Educação Física no Ensino Fundamental constitua um

São variáveis declaradas dentro de um bloco {} do programa, podendo ser variáveis locais do main(), de um procedimento, de uma função, ou mesmo de um bloco de um dado comando.