Buscar

Operadores, Saída tema 2

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 61 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 61 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 61 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

Funcionamento do Computador
Projeto Lógico de um Computador
• Matemático John Von 
Neumann
• Projetou o primeiro 
computador com programa 
armazenado na memória
• Suas ideias permanecem até 
os dias de hoje como projeto 
lógico dos computadores
Unidades Funcionais de um Computador
Unidade Central 
de Processamento Memória Principal
Dispositivos de 
Entrada / Saída
4
Esquema de um computador
Fonte: Informática Conceitos Básicos – Fernando de Castro Velloso
CPU
• Unidade Ativa de um computador
– Coordena e executa as instruções 
– Executa operações matemáticas e lógicas
• Dividida em duas seções 
– Controle (Control Unit)
• Responsável pela execução de instruções
– Aritmética e Lógica (Arithmetical & Logical Unit)
• Responsável pelos Cálculos e “Decisões”
Memória
• Dispositivo Passivo
• Objetivo
– Armazenar informações
• Dados e instruções de programas
– Fornece estas informações 
• CPU
• Dispositivos de saída
– Recebe 
• Resultados de operações da CPU
• Dados dos dispositivos de entrada
Programa
• Composto por uma série de instruções 
que o computador precisa executar
• Tanto o programa quanto os dados 
precisam estar armazenados na memória 
do computador
Se os dados estiverem no disco rígido devem 
ser trazidos para a memória antes de serem 
executados
Se os dados estiverem no disco rígido devem 
ser trazidos para a memória antes de serem 
executados
Programa
• O programa é executado instrução por instrução 
(uma por vez)
• Cada instrução é transferida da memória para a 
seção de controle na CPU
• Depois cada instrução é analisada
– Se esta utiliza dados, os mesmos são buscados na 
memória e armazenados temporariamente na CPU
• Finalmente a instrução é executada pela unidade de 
lógica e aritmética
Execução de um Programa (cont.)
• O resultado da execução da instrução, se for um 
dado, é 
– Armazenado novamente na memória...
– ...E /OU encaminhado a um dispositivo de saída
Funcionamento do computador para 
algoritmos
• Exemplo de um algoritmo: calcular e 
exibir a média aritmética de quatro notas
– INÍCIO
Receba a nota da prova1
Receba a nota de prova2
Receba a nota de prova3
Receba a nota da prova4
Some todas as notas e divida o resultado 
por 4
Mostre o resultado da divisão
– FIM
Funcionamento do computador para 
algoritmos
DiscoDisco MemóriaMemória
C.P.UC.P.U
0000 .....
..... .....
0100 Receber nota1
0101 Receber nota2
0102 Receber nota3
0103 Receber nota4
0104 Somar as 4 notas
0105 Dividir por 4
..... .....
127Mb .....
I/OI/O
A.L.U.A.L.U.
Eniac e a arquitetura de Von Neumann
https://www.youtube.com/watch?v=egPA39zBDys
https://www.youtube.com/watch?v=gQbTeayG6Dg
Linguagens de Programação
e Tradução
Tipos de Linguagem
Linguagens de baixo nível
Atuam diretamente no hardware da máquina
Forte relação entre as operações implementadas pela 
linguagem e as operações implementadas pelo hardware
Linguagens de alto nível
Utilizadas pelos humanos para expressar problemas e 
algoritmos
Cada declaração equivale a várias declarações numa 
linguagem de baixo nível
Tipos de Linguagem
Linguagem de 
Máquina
Linguagem de 
Máquina
• 0010 0001 1110
• 0010 0010 1111
• 0001 0001 0010
• 0011 0001 1111
Linguagem 
Assembly 
(Mnemônica)
Linguagem 
Assembly 
(Mnemônica)
• LOAD R1, val1
• LOAD R2, val2
• ADD R1, R2
• STORE R1, val2
Linguagem 
de Alto Nível
Linguagem 
de Alto Nível
• val2 = val1 + val2
Totalmente codificadas 
em binário
Usa instruções simbólicas
para representar binário
BAIXO NÍVEL ALTO NÍVEL
Voltada para facilitar o 
raciocínio humano
Compiladores e interpretadores
Programa – forma de comunicação com o computador
Linguagem de máquina – é a única linguagem que o computador 
entende
Quem faz esse trabalho são os compiladores e os interpretadores!
Pr
og
ra
m
a
Linguagem de 
MáquinaTraduzido
Compiladores e interpretadores
Interpretador:
• Lê a primeira instrução do programa
• Faz uma consistência de sua sintaxe e se não 
 houver erro, traduz para linguagem de 
máquina para finalmente executá-la
• Assim sucessivamente!
Toda vez que executar o programa é 
necessário o interpretador, e todo 
trabalho será repetido novamente
Compiladores e interpretadores
Compilador:
• Lê a primeira instrução do programa
• Faz uma consistência de sua sintaxe e se não houver erro, 
traduz para linguagem de máquina e, em vez de executá-la, 
segue para a próxima instrução repetindo o processo até 
que a última instrução seja atingida ou ocorra algum erro
• Se não houver erros, o compilador gera um arquivo com as 
instruções já traduzidas para depois executá-lo
O programa é completamente compilado para um 
código mais próximo da linguagem de máquina
Atividade
Code.org
https://studio.code.org/s/starwarsblocks
Lightbot
https://www.lightbot.lu/
Tipos básicos e estrutura
de um programa
Componentes de um algoritmo 
• Constantes e Tipos de Dados
• Variáveis
• Instruções de Entrada / Saída
• Operador de Atribuição
• Operadores Matemáticos, relacionais e Lógicos
• Estruturas de Decisão
• Estruturas de Repetição
Qualquer
programa
terá um 
ou mais
desses 
componentes
Qualquer
programa
terá um 
ou mais
desses 
componentes
Constantes e Tipos de Dados
• Constantes são valores que não se alteram em um 
algoritmo (valores fxos)
• Os dados são os valores que serão utilizados para a 
resolução de um problema
– Fornecidos pelo usuário do programa
– Originados de processamentos (cálculos)
– Outros programas, etc
• Classifcados em:
– Literal
– Inteiro (numérico)
– Real
– Lógico
Tipos de dados em C
• Caractere: char
• Booleano: bool**
• Inteiro: int
• Ponto futuante: foat
• Ponto futuante de precisão dupla: double
• Sem valor: void
– Este tipo serve para indicar que um resultado não tem um tipo 
defnido. Uma das aplicações deste tipo em C é criar um tipo vazio que 
pode posteriormente ser modifcado para um dos tipos anteriores
Tipos de dados em C
• Caractere: char
• Booleano: bool**
• Inteiro: int
• Ponto futuante: foat
• Ponto futuante de precisão dupla: double
• Sem valor: void
– Este tipo serve para indicar que um resultado não tem um tipo 
defnido. Uma das aplicações deste tipo em C é criar um tipo vazio que 
pode posteriormente ser modifcado para um dos tipos anteriores
Não é possível criar tipo bool em C
Tipos de dados em C
• Caractere: char
• Booleano: bool**
• Inteiro: int
• Ponto futuante: foat
• Ponto futuante de precisão dupla: double
• Sem valor: void
– Este tipo serve para indicar que um resultado não tem um tipo 
defnido. Uma das aplicações deste tipo em C é criar um tipo vazio que 
pode posteriormente ser modifcado para um dos tipos anteriores
Não é possível criar tipo bool em C
Não vamos usar!
26
Exercícios
• Identifcar o tipo de dado/constante:
a) 21
b) 3.1415
c) 6.78
d) ‘h’
e) 0
f) ‘3’
27
Exercícios
• Identifcar o tipo de dado/constante:
a) 21 int
b) 3.1415 foat
c) 6.78 foat
d) ‘h’ char
e) 0 int
f) ‘3’ char
Operadores
• Utilizados para representar expressões 
de cálculos, comparação, condição e 
atribuição
• Basicamente três tipos de 
operadores:
– Operadores Aritméticos
– Operadores Relacionais
– Operadores Lógicos
29
Operadores Aritméticos
Operação Operador Expressão Resultado
Adição + 6 + 4 10
Subtração – 7 – 9 -2
Multiplicação * 12 * 3 36
Divisão / 44 / 2 22
Módulo 
(Resto da 
Divisão)
% 10 % 3 1
Exemplo
• Qual o resultado da avaliação da 
expressão 
10 - 4 * 2 + 1 
1, 13, 18, 3 ? 
• Depende da precedênciados operadores! 
31
Maior
Menor
+ -
/ *
( )
Exemplos
6 * 4 + 5 -3
3 + (2 - 1) * 5
Precedência de Operadores
Operadores Relacionais
• Estabelecem uma relação de 
comparação entre valores ou 
expressões
• Resultam sempre em um valor lógico
– VERDADEIRO/FALSO (true/false)
Operadores Relacionais
Operador Representação Exemplo
Maior que > a > b : Se o valor de a for maior do que o 
valor de b, retornará true. Senão, retornará 
false
Maior ou igual a >= a >= b : Se o valor de a for maior ou igual 
ao valor de b, retornará true. Senão, 
retornará false
Menor que < a < b : Se o valor de a for menor do que o 
valor de b, retornará true. Senão, retornará 
false
Menor ou igual a <= a <= b : Se o valor de a for menor ou igual 
ao valor de b, retornará true. Senão, 
retornará false
Igual a == a == b : Se o valor de a for igual ao valor de 
b, retornará true. Senão, retornará false
Diferente de != a != b : Se o valor de a for diferente do valor 
de b, retornará true. Senão, retornará false
Operadores Lógicos
• Utilizados para concatenar ou associar 
expressões que estabelecem uma 
relação de comparação entre valores
• O resultado dessas expressões é 
sempre um valor lógico (true/false)
Operadores Lógicos
• E (&&)
 Se TODAS as expressões condicionais forem 
verdadeiras, o resultado é VERDADEIRO
• OU ( || )
 Se UMA expressão condicional for verdadeira, 
o resultado é VERDADEIRO
• NÃO ( ! )
 Se a expressão condicional for falsa, o resultado 
é verdadeiro. Caso contrário é falso
Operadores Lógicos
• Tabela-verdade para os operadores && e ||
A B A && B A || B
V V V V
V F F V
F V F V
F F F F
• && – somente resulta em VERDADEIRO quando 
todas as sentenças avaliadas são verdadeiras
• || – somente resulta em FALSO quando todas as 
sentenças avaliadas são falsas
Operadores Lógicos
• O operador ! faz a negação de uma 
sentença:
• Precedência dos operadores: !, && ou ||
A ! A
V F
F V
Exemplos
Estrutura mínima de um Programa em C
Em linguagem C, a função main() é o ponto de partida na 
execução de um programa.
Criando um projeto no Codeblocks
Clicar em "Create new project"
Criando um projeto no Codeblocks
Selecionar "Console application"
Criando um projeto no Codeblocks
Seguir com o assistente para criação e, quando solicitado,
selecionar a linguagem C
Criando um projeto no Codeblocks
Escolher um nome e pasta para o projeto
Criando um projeto no Codeblocks
Finalizar o assistente, selecionando o compilador "GNU
GCC compiler"
Criando um projeto no Codeblocks
Para ver o programa exemplo, selecione "main.c" dentro
do grupo "Sources"
Compilando o projeto
Para compilar o projeto, basta clicar no botão "Build and
Run"
Estrutura de um Programa em C
• #include <stdio.h>
– Contém as definições básicas para entrada e saída 
de dados em C;
• Um programa C consiste em uma ou várias 
funções
– main ()
• Faz parte de todo aplicativo escrito em C
• Ponto de início da execução do programa
• ( ) indicam que main é uma função
Estrutura de um Programa em C
• printf(“Programando em C!”);
• printf é uma função que instrui o computador a 
imprimir na tela do computador o conjunto de 
caracteres contido entre aspas duplas;
• Veremos o printf em mais detalhes no decorrer do curso;
• Todo comando em C deve terminar com ponto e 
vírgula (;)
• Mas quais são os comandos?
• Entrada e saída de dados;
• Cálculos;
• Atribuições;
• Criação de variáveis;
Estrutura de um Programa em C
• // (comentário de única linha)
– indica que o restante da linha é um comentário
• /* (comentário de múltiplas linhas) */
– pode ser dividido em várias linhas
• Documentação de programas
– melhorar a legibilidade
{ início do programa ou bloco de instruções
} fim do programa ou bloco de instruções
Comando printf
50
• É uma das funções de E/S (entrada e saída)
• Sintaxe:
printf ("expressão de controle"); 
• Usado dessa forma apenas para informação do usuário;
• Antes de uma entrada de dados;
• Indicando que passou por algum trecho de código ou está 
iniciando algum processamento;
Comando printf
printf ("expressão de controle", lista de argumentos);
• Pode ter vários argumentos separados por vírgula;
• A expressão de controle contém:
– Caracteres que serão exibidos na tela
– Códigos de formatação que indicam o formato em que os 
argumentos devem ser impressos;
• Usado para imprimir resultados de processamento;
Códigos de formatação
• Indicam qual é o tipo do argumento que será impresso 
(ou seja, como o printf deve interpretar tais argumentos);
• Indicam também em que posição da expressão de 
controle os argumentos serão impressos;
• No momento em que a expressão estiver sendo 
impressa, os códigos de formatação são trocados pelo 
valor dos respectivos argumentos; 
52
Códigos de formatação
53
Códigos de formatação
54
•Clique para adicionar texto
Exemplos
main()
{
 printf("%s esta a %d milhoes de milhas do
 sol", "Venus",67);
}
Código
%s esta a %d milhoes de milhas do sol
Processamento – frase de controle inicial
Exemplos
main()
{
 printf("%s esta a %d milhoes de milhas do
 sol", "Venus",67);
}
Código
%s esta a %d milhoes de milhas do sol
Processamento – substituição das expressões de 
controle
“Venus” 67
Exemplos
Código
main()
{
 printf("%s esta a %d milhoes de milhas do
 sol", "Venus",67);
}
Código
Venus esta a 67 milhoes de milhas do sol
Processamento – resultado apresentado na tela
Exemplos
main()
{
 printf("A letra %c ",'j');
 printf("pronuncia-se %s.", "jota");
}
Formatação de saída
A letra j pronuncia-se jota
Caracteres Especiais
Nulo\0
Barra\\
Aspas\”
TAB\t
Retorno do cursor\r
Nova linha\n
SignificadoCaracteres Especiais
Somar dois números
Exercício
Criar um programa para exibir:
- Soma de 15 + 39;
- Diferença entre 20 e 15;
- Produto entre 11 e 5;
- Resultado da divisão de 16 por 7;
- Resto da divisão de 16 por 7.
	Projeto Lógico de um Computador
	Slide 2
	Unidades Funcionais de um Computador
	Esquema de um computador
	CPU
	Memória
	Programa
	Programa
	Execução de um Programa (cont.)
	Funcionamento do computador para algoritmos
	Funcionamento do computador para algoritmos
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Componentes de um algoritmo
	Constantes e Tipos de Dados
	Tipos de dados em C
	Slide 24
	Slide 25
	Exercícios
	Slide 27
	Operadores
	Operadores Aritméticos
	Exemplo
	Precedência de Operadores
	Operadores Relacionais
	Slide 33
	Operadores Lógicos
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Estrutura mínima de um Programa em C
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Estrutura de um Programa em C
	Slide 48
	Slide 49
	Comando printf
	Slide 51
	Códigos de formatação
	Slide 53
	Slide 54
	Exemplos
	Slide 56
	Slide 57
	Slide 58
	Slide 59
	Slide 60
	Slide 61

Outros materiais