Buscar

Aula 02 - Tipos de Dados Variaveis de Entrada e 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

04/06/2013
1
João Monlevade, 4 de junho de 2013
Universidade Federal de Ouro Preto
Campus João Monlevade
Prof. Mateus Ferreira Satler
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 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.
2
04/06/2013
2
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 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).
3
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 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.
4
04/06/2013
3
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Exemplos de nomes de variáveis:
◦ Certo:
 nome, telefone, salario_func, x1
 L, a, de, op1, V9a, Lista_Notas, a_2, p56, A1
◦ Errado:
 1ano, sal/hora, _nome
 x+, t.6, 43x, &ah, $dolar, Lista-Notas, n!, %p
5
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Em C, todas variáveis devem ser explicitamente 
declaradas, isto é, devemos especificar:
◦ Tipo de dado
◦ Nome (ou identificador)
 Obs: A linguagem C é case sensitive, ou seja, as letras 
maiúsculas diferem das minúsculas.
◦ 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
6
04/06/2013
4
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 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) 
 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.
7
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 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
8
04/06/2013
5
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 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
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 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.
 Obs: Alguns sistemas trabalham com valores inteiros de 2 bytes, 
com faixa de -32768 a 32 767.
10
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)
04/06/2013
6
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 A tabela abaixo apresenta os operadores que são 
diferentes em C em relação a pseudolinguagem.
 Não há correspondente direto em C para o 
operador “div” .
11
Pseudolinguagem C
Mod %
≤ <=
≥ >=
= ==
≠ !=
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 O operador de atribuição “←” em C é o sinal 
de igual “=”
◦ Sintaxe:
<variavel> = <expressão>;
◦ Exemplos:
12
04/06/2013
7
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Operadores Aritméticos
◦ Exemplos:
13
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 O tipo básico associado a uma constante fica 
determinado pela própria apresentação da 
constante.
 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.
14
04/06/2013
8
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Conversão de Tipo
◦ Conversões automáticas de valores na avaliação de 
uma expressão.
15
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Conversão de Tipo
◦ É possível explicitamente fazer a conversão de tipos 
usando o operador cast.
◦ Sintaxe:
(tipo) variável
16
04/06/2013
9
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 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.
17
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 As variáveis só podem armazenar 
informações ou dados sempre de um mesmo 
tipo (inteiro, real, caractere ou char).
 Toda e qualquer variável deve ser declarada e 
sua declaração deve ser feita antes de sua 
utilização no programa.
18
04/06/2013
10
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Exemplos:
◦ caracter f, n;
◦ inteiro idade;
◦ real a, b, X1;
◦ lógico vendido;
 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.
19
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Mais exemplos:
20
04/06/2013
11
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Erro comum: uso de 
variáveis com valor 
não inicializado.
 Declarar variável 
sem explicitamente 
inicializar seu valor.
 Valor indefinido 
(lixo)
21
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
1. Indique quais das constantesabaixo são do tipo 
inteiro (int):
 ( )1000 ( ) 0 ( ) -900 ( )verdadeiro ( )-456 ( )34 ( )-1.56
2. Indique quais das constantes abaixo são do tipo 
real (float):
 ( ) -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
22
04/06/2013
12
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
4. Indique com um X os nomes válidos para uma 
variável:
 ( ) endereco
 ( ) 21brasil
 ( ) nome_usuario
 ( ) nome*usuario
 ( ) cidade3
 ( ) #cabec
23
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 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: +, -, *, /
 Funções matemáticas comuns: sem (X), cos(X), abs(X), 
raiz(X), arctan(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
24
04/06/2013
13
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 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, ¬
25
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Comando de Atribuição
◦ Tabela Verdade: Sejam A e B duas expressões lógicas
26
A B A e B A ou B A xou B não A
V V V V V F
V F F V F F
F V F V F V
F F F F V V
04/06/2013
14
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 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.
27
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Comentários
◦ inteiro maior; //maior valor lido
◦ //ler os valores das variáveis A, B, C
28
04/06/2013
15
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 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>;
}
29
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Impressão
◦ 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.
30
04/06/2013
16
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Impressão
◦ Exemplo:
31
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Impressão de Tipos de Dados
32
04/06/2013
17
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Impressão de Tipos de Dados
33
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Impressão de Tipos de Dados
34
04/06/2013
18
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Impressão de Códigos Especiais
35
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Fixando as Casas Decimais
◦ 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.
36
04/06/2013
19
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Alinhamento de Saída
◦ O programa pode fixar a coluna da tela a partir da qual o 
conteúdo de uma variável, ou o valor de uma constante 
será exibido. Isto é obtido acrescentando-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.
37
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Leitura de Dados – scanf()
◦ 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:
38
04/06/2013
20
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Leitura de Dados – scanf()
39
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 Leitura de Dados – scanf()
40
04/06/2013
21
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
1. Sequência Simples
◦ Semântica: o controle de fluxo de execução entra 
na estrutura, executa comando por comando, de 
cima para baixo e sai da estrutura.
41
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
 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).
◦ Sintaxe e Semântica dos Comandos de Atribuição e de 
Entrada e Saída.
◦ Sequê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.
42
04/06/2013
22
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
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.
43
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
a) Método Direto
1. Elaborar um algoritmo baseado no estudo de métodos, 
observando a seguinte sequência:
44
04/06/2013
23
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
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ção e 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.
45
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
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.
46
04/06/2013
24
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRASATLER
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.
47
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
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.
48
04/06/2013
25
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
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 
cilíndrica, 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.
49
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
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
50
04/06/2013
26
CEA 030 – Programação de Computadores I
PROF. MATEUS FERREIRA SATLER
5. Fazer um programa que imprima o seu 
nome.
6. Modificar o programa anterior para imprimir 
na primeira linha o seu nome, na segunda 
linha a sua idade e na terceira sua altura.
7. Imprimir o valor 2.346728 com 1, 2, 3 e 5 
casas decimais.
51

Continue navegando