Buscar

02.Tipos.de.Dados.Variaveis.e.Entrada.Saida

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 56 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 56 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 56 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

DCC 119 Algoritmos
22
Pontos importantes da última aula
Sistemas de Numeração: base, notação
posicional e conversão de base.
Sistemas Computacionais: processador, 
memória, linguagens de programação e sistema 
operacional.
Algoritmos: ação, estado, processo, padrão de 
comportamento, algoritmo, aspectos estático e 
dinâmico de um algoritmo e formas de 
representação de algoritmos.
33
Introdução
Para cada comando serão apresentadas a sua:
sintaxe: formato geral do comando que deve ser 
aceita e respeitada como padrão.
semântica: o significado da ação realizada pelo 
comando, em tempo de execução.
No texto (estático) de um programa (ou algoritmo), um 
valor pode ser representado na forma de constante 
ou de variável.
A constante é representada em um programa 
diretamente pelo seu valor (que não se altera 
durante a execução do programa).
44
Variáveis
A variável é representada no texto de um 
programa por um nome que corresponde a uma 
posição da memória que contém o seu valor.
Em tempo de execução, o nome da variável 
permanece sempre o mesmo e seu valor pode 
ser modificado. 
Nome de variável: é criado pelo programador e 
deve ser iniciado por uma letra que pode ser 
seguida por tantas letras, algarismos ou 
sublinha quanto se desejar e é aconselhável que 
seja significativo do valor que ela representa.
55
Variáveis
Exemplos de nomes de variáveis:
Certo:
nome, telefone, salario_func, x1
Errado:
1ano, sal/hora, _nome
66
Tipos de Dados
Todo valor (constante ou variável) de um 
programa tem um tipo de dados associado.
Um tipo de dados é constituído de dois conjuntos: 
um conjunto de objetos (domínio de dados) e de 
um conjunto de operações aplicáveis aos objetos 
do domínio.
Toda linguagem de programação tem embutido um 
conjunto de tipos de dados, também chamados de 
implícitos, primitivos ou básicos.
Tipos de dados básicos: inteiro, real, caracter e 
lógico.
Em C, os tipos acima são, respectivamente, int, 
float/double e char. Não há o tipo lógico em C.
77
Tipos de Dados Básicos
inteiro:
Domínio: conjunto dos inteiros.
Operações: usam dois argumentos inteiros e, de 
acordo com o resultado são:
+, -, *, div, e mod: resultado inteiro
/: resultado real
<, , =, >, e : resultado lógico
real:
Domínio: conjunto dos reais.
Operações: usam dois argumentos reais e, de 
acordo com o resultado são:
+, -, * e /: resultado real
<, , =, >, e : resultado lógico
88
Tipos de Dados Básicos
caracter:
Domínio: conjunto de caracteres alfanuméricos.
Operações: usam dois argumentos do domínio e 
fornecem resultado lógico: <, , =, >, e 
lógico:
Domínio: {verdadeiro, falso}.
Operações: usam dois argumentos do domínio e 
fornecem resultado lógico:
Conectivos lógicos: conjunção (e, ^), disjunção 
(ou, ), disjunção exclusiva (xou, ), negação 
(não, ). A negação trabalha com somente um 
argumento.
Conectivos relacionais: = e .
9
===
!=
>=
<=
%Mod
CPseudolinguagem
A tabela abaixo apresenta os operadores que são
diferentes em C em relação a pseudolinguagem.
O símbolo = em C é utilizado para atribuição, 
correspondendo ao do português estruturado. 
Não há correspondente direto em C para o operador 
div .
1010
O tipo básico associado a uma constante fica 
determinado pela própria apresentação da 
constante.
Tipos de Constantes e de Variáveis
Exemplos:
7 cte. inteiro
7.0 ou 7. cte. real
7 cte. caracter
falso cte. lógico
Para as variáveis, devem ser feitas no início do 
programa (ou de um bloco) as declarações (de 
tipo) de variáveis.
1111
Sintaxe: <tipo> nome (s);
Implicações da declaração de uma variável:
Alocação de um espaço na memória que 
possa conter um valor do seu tipo.
Associação do endereço dessa posição da 
memória ao nome da variável.
Declarada uma variável, toda vez 
que ela for referenciada em qualquer 
comando do programa, o 
computador vai trabalhar com o 
conteúdo de seu endereço, que é o 
valor da variável.
Exemplos:
caracter f, n; 
inteiro idade; 
real a, b, X1;
lógico vendido;
1212
1) Indique quais das constantes abaixo são do tipo inteiro:
( )1000 ( ) 0 ( ) -900 ( )verdadeiro ( )-456 ( )34 ( )-1.56
2) Indique quais das constantes abaixo são do tipo real:
( ) -678.0 ( ) 0.87 ( ) -9.12 ( ) falso ( ) -456.0 ( ) Cinco ( ) -1.56
3) Indique quais das constantes abaixo são do tipo lógico:
( ) -678.0 ( ) 0.87 ( ) -9.12 ( )falso ( )-456 ( ) Verdadeiro ( )-1.56
1313
Exercícios
Indique com um X os nomes válidos para uma variável:
( ) endereco
( ) 21brasil
( ) nome_usuario
( ) nome*usuario
( ) cidade3
( ) #cabec
1414
Comando de atribuição
Sintaxe: variável expressão;
Semântica: atribuir à variável o resultado da 
expressão.
Expressões aritméticas: fornecem resultado 
numérico (inteiro ou real).
Operações básicas: +, -, *, /
Exponenciação: potencia( A + B , N)
Funções matemáticas comuns: sen (X), cos (X), abs (X), 
raiz (X), arctan (X), exp (X), log (X), ln (X) etc.
Operadores para inteiros:
M mod I: resto da divisão inteira de M por I
M div I: quociente da divisão inteira de M por I
15
Comando de atribuição
Expressões lógicas: fornecem resultado lógico.
Conectivos relacionais: (<, , =, >, e )
Conectivos lógicos:
Conjunção: e, 
Disjunção: ou, 
Disjunção Exclusiva: xou, 
Negação: não, 
VFFFFF
VVVFVF
FVVFFV
FFVVVV
não AA xou BA ou BA e BBA
Tabela Verdade: Sejam A e B duas expressões lógicas.
1616
Comando de atribuição
Prioridade de execução das operações em uma 
expressão:
1º. Parênteses (dos mais internos para os mais externos)
2º. Expressões aritméticas, seguindo a ordem: funções, * e /, + e 
3º. Comparações: <, , =, >, e 
4º. não
5º. e
6º. ou e xou
7º. Da esquerda para a direita quando houver indeterminações.
1717
Comentários
inteiro maior; //maior valor lido
//ler os valores das variáveis A, B, C
Pseudocomando
leia os valores das variáveis A, B, C ;
Classifique os valores lidos em ordem crescente ;
Comandos de entrada e saída
leia (a, x); //serão lidos os valores das variáveis a, x nesta ordem
imprima ( Valor de N = , n, Fatorial de N = , fat);
1818
Bloco
(1) Conjunto de comandos entre { }
(2) Pode-se declarar variáveis em seu interior.
(3) Delimitar o escopo das variáveis.
{
<declaração de variáveis>;
<comandos>;
}
1919
1. Seqüência Simples
C1;
C2;
...
Cn;
Exemplo:
leia (X, Y);
A X + Y;
B X Y;
imprima (A, B);
Semântica: o controle de fluxo de execução 
entra na estrutura, executa comando por 
comando, de cima para baixo e sai da estrutura. 
Sintaxe: Exemplo em C:
scanf( %d %d , &X, &Y);
a = x + y;
b = x - y;
printf ( %d %d , a, b);
2020
Até agora, foram estudados os seguintes
recursos visando especificamente a 
construção de algoritmos:
Conceito de Constante, Variável e Tipos de Dados.
Tipos de Dados Básicos.
Declaração de Variáveis.
Construção de Expressões (Aritmética e Lógica).
Sintáxe e Semântica dos Comandos de Atribuição
e de Entrada e Saída.
Seqüência Simples (primeiro dos três tipos de 
estruturas de controle).
Já é possível criar alguns algoritmos simples, 
bastando adotar um método de desenvolvimento.
2121
a) Método Direto
1. Entender o problema (análise do enunciado).
2. Descrição de variáveis: lista contendo para 
cada variável, o seu nome, uma descrição de 
seu objetivo e o seu tipo. Iniciar a lista pelos 
dados de entrada e pelos resultados a 
produzir.
3. Estudo de métodos: estabelecer (pelo 
menos) um método para obtenção de cada 
resultado pedido e para cada controle de 
processamento. Caso o método escolhido 
necessite utilizar novas variáveis, incluí-las na 
lista de descrição de variáveis.
2222
a) Método Direto 
1. Elaborar um algoritmo baseado no estudo de 
métodos, observando a seguinte seqüência:
principal
{
definição de novos tipos;
declaração de variáveis;
inicialização de variáveis;
corpo do algoritmo controlando:
leitura;
processamento;
saída;
}
2323
a) Método Direto
1. Testar o algoritmo, considerando, se possível, 
todas as alternativas de entrada.
2. Programa: traduzir o algoritmo para uma 
linguagem de programaçãoe testá-lo 
exaustivamente no computador.
3. Documentação: o conjunto de documentos 
produzidos ao longo do método direto constitui 
a primeira documentação técnica do programa.
2424
b) Método dos Refinamentos Sucessivos 
Inicialmente, manter um nível mais alto de 
abstração (atenção em o que fazer e não em 
como fazer).
Dispensa-se o estudo de métodos e parte-se 
logo para a elaboração do algoritmo sendo que 
cada tarefa lógica distinta será representada por 
um pseudocomando.
2525
b) Método dos Refinamentos Sucessivos 
A primeira versão do algoritmo é rapidamente 
obtida pela listagem de alguns poucos 
pseudocomandos que deverão ser detalhados em 
refinamentos posteriores (em função de outros 
pseudocomandos ou em função da própria 
pseudolinguagem).
Depois que todos os pseudocomandos já 
estiverem detalhados em termos da 
pseudolinguagem, pode-se juntar as partes 
montando a versão final e completa do algoritmo. 
2626
c) Método Misto
Controles de caráter geral e as ações mais 
simples são desenvolvidas diretamente e a 
técnica de refinamentos sucessivos fica somente 
para as ações lógicas consideradas mais 
complexas.
Observação: Em qualquer dos métodos, pode-se 
desenvolver as ações lógicas bem definidas na 
forma de procedimentos (ou funções). A 
utilização destes módulos funcionais constitui 
uma técnica (programação modular) que 
geralmente diminui o esforço do programador e 
aumenta a qualidade de seus programas. 
2727
1.Desenvolver os algoritmos a seguir, utilizando o 
método direto.
a) Ler uma temperatura em graus Celsius e 
apresentá-la convertida em graus Fahrenheit. A 
fórmula de conversão: F (9*C+160)/5
b) Calcular e apresentar o volume de uma lata de 
óleo cilindrica, a partir da leitura do raio da base 
e da altura.
c) Ler os valores do comprimento, da largura e da
altura de uma caixa, calcular e imprimir o seu
volume. 
2828
2. Construir um algoritmo para ler 5 valores 
inteiros, calcular e imprimir a soma desses 
valores.
3. Construir um algoritmo para ler 6 valores 
reais, calcular e imprimir a média aritmética 
desses valores.
4. Fazer um algoritmo para gerar e imprimir o 
resultado do número H, sendo H = 1 + 1/2 + 
1/3 + 1/4 + 1/5.
5. Construa em C os algoritmos acima.
DCC 120 Laboratório de Programação
3030
Variáveis, Tipos de dados
Declaração de variáveis
Impressão
Formatação da impressão
Operadores
Entrada de dados
31
Uma variável representa um espaço na 
memória do computador para armazenar um 
determinado tipo de dado.
Em C, todas variáveis devem ser 
explicitamente declaradas, isto é, devemos 
especificar:
Tipo de dado
Nome (ou identificador)
31
32
São nomes usados para se fazer referência a 
variáveis, funções, rótulos e vários outros 
objetos definidos pelo usuário. 
Exemplos:
a, b, peso, i, contaCorrente, saldo, x1, x2......
Obs: A linguagem C é case sensitive, ou 
seja, as letras maiúsculas diferem das 
minúsculas.
32
3333
O nome de uma variável (identificador) é formado por um ou mais 
caracteres, sendo que:
o primeiro caractere é uma letra ou sublinha ( _ );
os outros caracteres podem ser letras, algarismos ou sublinha ( _ ).
Exemplos:
a) Nomes válidos: L a de op1 V9a Lista_Notas a_2 p56 A1 _2A
b) Nomes Inválidos: x+ t.6 43x &ah $dolar Lista-Notas n! %p
Em C, letras maiúsculas e minúsculas são diferentes. Os seguintes 
nomes são distintos:
PESO 
Peso 
peso
peSo
Uma variável não pode ter o mesmo nome de uma palavra-chave de C, 
como por exemplo:
main, cout, int, float, char, short, return, case, void
3434
Quando você declara um identificador dá a ele um tipo. 
Um tipo de objeto de dados determina como valores de 
dados são representados, que valores pode expressar, 
e que tipo de operações você pode executar com estes 
valores.
Tipo Espaço que ocupa na memória Faixa
char 1 byte -128 a 127(incluindo letras e símbolos)
int 4 bytes -2147483648 a 2147483647
float 4 bytes 3.4E-38 a 3.4E+38(6 casas de precisão)
double 8 bytes 1.7E-308 a 1.7E+308(15 casas de precisão)
Obs.: Alguns sistemas trabalham com valores inteiros de 2 bytes,
com faixa de -32768 a 32 767.
35
Para armazenar valores na memória é preciso 
reservar o espaço correspondente ao tipo de 
dado. 
A declaração de uma variável reserva espaço 
para armazenar um dado do tipo da variável e 
associa o nome da variável a este espaço.
Na linguagem C podemos inicializar as 
variáveis com valores na declaração.
35
3636
As variáveis só podem armazenar informações ou 
dados sempre de um mesmo tipo (inteiro, real, 
caractere ou char).
Na linguagem C, a declaração de variáveis obedece a 
seguinte sintaxe:
<tipo> <nome_var>;
ou
<tipo> <nome_var1>, <nome_var2>, ..... ,<nome_varn>;
Toda e qualquer variável deve ser declarada e sua 
declaração deve ser feita antes de sua utilização no 
programa.
3737
Exemplos:
int a,b, c;
char letra, d, e;
float f1;
float f2,f3;
Marque as declarações válidas:
( ) int a,
( ) char c;
( ) int a,b,a;
( ) float f1,f2,f3,4f;
( ) int meu_nro;
( ) float leitura_sensor;
3838
int a; 
int b; 
float x;
char c;
a=25;
b=50;
x=3.14;
c= M ;
int n1,n2;
n1=0;
n2=0;
int val;
val=2.5; // armazena 2
int y=5, z=15;
float e=2.718;
char s= f ;
39
Erro comum: uso de 
variáveis com valor não 
inicializado.
Declarar variável sem 
explicitamente inicializar
seu valor.
Valor indefinido ( lixo )
39
// Erro !!!
// Variável y não foi
// inicializada e contém
// lixo de memória
float x, y, z;
x = 1.0;
z = x + y; 
4040
A exibição dos resultados do processamento e de 
mensagens é feita através da função pré-definida printf(), 
cujo protótipo está contido também no arquivo stdio.h. Sua 
sintaxe é a seguinte:
printf("Expressão" , Lista de argumentos );
Onde:
Expressão: contém mensagens a serem exibidas, 
códigos de formatação que indicam como o conteúdo 
de uma variável deve ser exibido e códigos especiais 
para a exibição de alguns caracteres especiais. 
Lista de argumentos: pode conter identificadores de 
variáveis, expressões aritméticas ou lógicas e valores 
constantes.
4141
#include <stdio.h>
int main( )
{
printf("Estou aprendendo a programar em C"); 
return 0;
}
4242
Código Tipo Elemento armazenado
%c char um único caractere
%d ou %i int um inteiro
%f float um número em ponto flutuante
%lf double ponto flutuante com dupla precisão
%e float ou double um número na notação científica
%s ......... uma cadeia de caracteres
#include <stdio.h>
int main( )
{
printf("Valor recebido foi %d" ,10);
return 0;
}
4343
#include <stdio.h>
int main()
{
printf("Caracter A: %c" , 'A');
return 0;
}
#include <stdio.h>
int main()
{
int x=10;
printf("Valor inteiro %d e um float %f" ,x ,1.10);
printf( Outro valor float %f", 1.10+2.35);
return 0;
}
4444
#include <stdio.h>
int main()
{
printf("Minha string: %s", "Entendi tudo!!!! ");
return 0;
}
#include <stdio.h>
int main()
{
printf("Deveria imprimir um float, ");
printf("mas mandei imprimir um inteiro: %d" ,1.10);
return 0;
}
4545
#include <stdio.h>
int main()
{
printf("\t\tx\n");
printf("\tx\t\tx\n");
printf("\t\tx\n");
return 0;
}
Código Ação
\n leva o cursor para a próxima linha
\t executa uma tabulação
\b executa um retrocesso
\f leva o cursor para a próxima página
\a emite um sinal sonoro (beep)
\" exibe o caractere "
\\ exibe o caractere \
%% exibe o caractere %
4646
#include <stdio.h>
int main()
{
printf("Default: %f \n",3.1415169265);
printf("Uma casa: %.1f \n",3.1415169265);
printf("Duas casas: %.2f \n",3.1415169265);
printf("Tres casas: %.3f \n",3.1415169265);
printf("Notacao Cientifica: %e \n",3.1415169265);
return 0;
}
Por default, a maioria dos compiladores C exibem 
os números de ponto flutuante com seis casas 
decimais.
Para alterar este número podemos acrescentar .n 
ao código de formatação da saída, sendo n o 
número de casas decimais pretendido. 
4747
#include <stdio.h>
int main()
{
printf("Valor: %d \n",25);
printf("Valor: %10d \n",25);
return 0;
}
O programa pode fixar a colunada tela a partir da qual o 
conteúdo de uma variável, ou o valor de uma constante 
será exibido. Isto é obtido acrescentado-se um inteiro m ao 
código de formatação. Neste caso, m indicará o número de 
colunas que serão utilizadas para exibição do conteúdo.
4848
1. Fazer um programa que imprima o seu nome.
2. Modificar o programa anterior para imprimir na 
primeira linha o seu nome, na segunda linha a sua 
idade e na terceira sua altura.
3. Imprimir o valor 2.346728 com 1, 2, 3 e 5 casas 
decimais.
4949
O operador de atribuição em C é o sinal de igual =
Sintaxe:
<variavel> = <expressão>;
Exemplos:
int a,b,c,d;
a = 5;
c = 7;
b = a;
d = a + b + c;
ou
int a=5;
int c=7;
int b,d;
b=a;
d=a+b+c;
5050
Exemplos:
a = a + b;
a += 4; // similar a a = a + 4;
a = b / 2;
a = 4 * 2 + 3; // qual o valor final de a?
b = 2 * 3 2 * 2; // qual o valor final de b?
a++; // similar a a = a + 1;
b--; // similar a b = b 1;
5151
Conversões automáticas de valores na avaliação 
de uma expressão.
int a,b,c;
float b, c, d;
a = 4.5; // conversão implícita
b = a / 2.0; // conversão implícita
c = 1/2 + b; // conversão implícita
d = 1.0/2.0 + b;
// Saída: a=4, b=2.0, c=2.0, d=2.5
5252
É possível explicitamente fazer a conversão de 
tipos usando o operador cast.
Sintaxe:
(tipo) variável
int num1, num2, a;
float resdiv;
a = (int) 2.5;
resdiv = (float) num1 / num2;
5353
Ela é o complemento de printf() e nos permite ler dados formatados da 
entrada padrão (teclado). Sua sintaxe:
scanf("expressão de controle", argumentos); 
Entendendo o scanf:
......
int a;
.......
scanf ( %d , &a);
Operador utilizado para 
obter o endereço de 
memória da variável.
5454
#include <stdio.h>
int main()
{
int num;
printf("Digite um valor: ");
scanf("%d",&num);
printf("\nO valor digitado foi %d.",num);
return 0;
}
5555
#include <stdio.h>
int main()
{
int n1,n2,soma;
printf("Digite dois valores: ");
scanf("%d",&n1);
scanf("%d",&n2);
soma = n1 + n2;
printf("\n%d + %d = %d.",n1,n2,soma);
return 0;
}
5656
1. Ler uma temperatura em graus Celsius (C) e apresentá-
la convertida em graus Fahrenheit. A fórmula de 
conversão é F = (9*C+160)/5.
2. Calcular e apresentar o volume de uma lata de óleo, 
utilizando a fórmula: volume = 3.14159*raio*raio*altura.
3. Elaborar um programa que calcule e apresente o volume 
de uma caixa retangular, por meio da fórmula volume = 
comprimento*largura*altura.

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes