Buscar

Segunda aula ITC

Prévia do material em texto

Introdução à Tecnologia 
da Computação
Universidade Federal de Uberlândia
Profa. Maria Fernanda S. Almeida
Email: nandasalmeida@yahoo.com.br
O que é um computador?
� “Um computador é uma coleção de componentes que 
realizam operações lógicas e aritméticas sobre um 
grande volume de dados.” (F. K. Miyazawa)
� Executar operações aritméticas;
� Executar operações lógicas;
� Processar dados;
� “Desde que a humanidade começou a processar dados, ela 
tentou construir máquinas para ajudar neste trabalho” 
� Armazenar grandes volumes de dados;
� Simulações computacionais;
� Automação;
� Comunicação;
� Entreterimento;
Para que servem os computadores?
Um computador é composto por:
� Unidades de entrada de dados;
� Unidades de saída de dados;
� Unidades de armazenamento;
� Unidade de controle;
� Unidade lógica e aritmética.
Termos Técnicos
� Hardware;
� Componentes mecânicos e eletrônicos (parte palpável do
computador).
� Software;
� Seqüência de instruções (comandos) que fazem o computador
executar uma tarefa.
� Peopleware;
� Programadores e usuários.
� Sistemas Operacionais.
� Programa que gerencia e aloca recursos de hardware e
software. Permite que mais de um programa possa ser
executado ao mesmo tempo. Ex: Windows, Mac OS, Linux,
Unix, etc...
Sistema operacional
7
� Lei de Moore prevê um aumento anual de 60% no 
número de transistores em um chip.
� “Os processadores devem dobrar de desempenho a 
cada 18 meses” (Gordon Moore).
�O nº de transistores dobra a cada 18 meses.
� Está válida há mais de 3 décadas.
� Razão desempenho/preço dos discos de 
armazenamento aumentou em média 50% ao ano.
Evolução do computador
8
Lei de Moore – Processadores/Memória
Evolução do computador
9
� Tipos de Computador:
�Microcontrolador;
� Computador Pessoal;
� Servidor;
� Conjunto de Estações de Trabalho;
�Mainframe;
� Supercomputadores.
10
Microcontroladores
� Computadores embutidos em dispositivos e não vendidos como 
computadores convencionais;
� Gerenciam o dispositivo e manipulam interface do usuário;
� Possuem processador, memória e E/S (pequenos computadores);
� Tempo Real.
11
Microcontroladores
� Aplicações:
� Automação industrial (PLC, DSP, PIC)
� Eletrodomésticos (máquina lavar, alarme antifurto);
� Aparelhos de comunicação (telefone sem fio, celular);
� Periféricos de computadores (impressora, modem);
� Entretenimento (DVD, MP3 player, aparelho de som);
� Reprodução de imagem (TV, câmera digital);
� Médicos (raio X, monitor cardíaco, termômetro digital);
� Armamentos militares (míssil teleguiado, torpedo);
� Dispositivo de Vendas (caixa eletrônico, registradora);
� Brinquedos.
12
Computadores Pessoais
� Desktops e notebooks;
� Placa de circuito impresso com CPU, memória e E/S;
� PDA (Assistente Pessoal Digital)
13
Servidores
� PCs reforçados ou estações de trabalho;
� Um ou vários processadores;
� Mesmos sistemas operacionais para PCs.
14
Conjunto de Estações de Trabalho
� COWs (Clusters of Workstations);
� Conectados por redes de Gigabits;
� Software especial para as máquinas trabalharem em conjunto 
em um único problema;
� Conjunto de poucas máquinas ou milhares delas.
� Exemplo: Servidor Web (server farm).
15
Mainframes
� Não são mais rápidas que servidores de grande potência;
� Têm mais capacidade de E/S do que servidores;
� Coleções de discos (milhares de Gbytes de dados);
16
E os supercomputadores?
� CPUs extremamente rápidas, GBytes de memórias, discos e 
redes velozes;
� Usados para cálculos científicos e de engenharia;
� Simulação de colisão de galáxias, síntese de remédios, etc...
� Raça em extinção;
� Substituídos pelos COWs.
Algoritmos
� Algoritmo é a descrição de um conjunto de comandos que,
obedecidos, resultam numa sucessão finita de ações;
� Geralmente, um algoritmo se destina a resolver um problema: fixa um
padrão de comportamento a ser seguido, uma norma de execução a ser
trilhada, para atingir, como resultado final, a solução de um problema;
� São muito comuns. Ex: receitas, manuais, etc...
� Computacionalmente: “Um procedimento computacional que
recebe valores de entrada e produz valores de saída”.
Método para a construção de algoritmos
� Compreender completamente o problema a ser resolvido;
� Definir os dados de entrada;
� Definir o processamento;
� Definir os dados de saída;
� Escrever o algoritmo;
� Testar.
Exemplos de algoritmos
� Algoritmo 1 – Somar três números:
� Passo 1 – receber os três números (N1, N2, N3);
� Passo 2 – Somar os três números e guardar em uma variável (SOMA);
� Passo 3 – Mostrar o resultado.
� Algoritmo 2 – Cálculo da média de um aluno
� Passo 1 – receber a notas (N1, N2, N3);
� Passo 2 – somar as notas e armazenar na variável SOMA;
� Passo 3 – dividir o valor armazenado em SOMA por três e guardar na 
variável RESULTADO;
� Passo 4 – Mostrar o resultado.
Tipos de Algoritmos 
� Descrição narrativa;
� Fluxograma;
� Pseudocódigo ou portugol.
Descrição narrativa
� Consiste em analisar o enunciado do problema e escrever,
utilizando uma linguagem natural (língua portuguesa);
� Vantagem: não é necessário aprender nenhum conceito novo;
� Desvantagem: a língua natural abre espaço para várias interpretações, o
que poderá dificultar a transcrição desse algoritmo para uma linguagem de
programação.
Fluxograma
� O fluxograma consiste em utilizar símbolos gráficos pré-
definidos para descrever os passos a serem seguidos para a
resolução de um problema.
� Vantagem: facilidade de compreensão
� Desvantagem: é preciso traduzi-lo para uma linguagem de programação
para ser compilado e executado em um computador.
Simbologia do Fluxograma
Símbolo Significado
Símbolo de processo. Representa uma ação 
ou instrução.
Representa uma função de entrada de 
dados.
Representa o sentido do fluxo do algoritmo.
Símbolo de tomada de decisão.
Representa o começo e o final de um 
programa.
Símbolo conector.
Saída de dados.
Pseudocódigo ou portugol
� Consiste em analisar o enunciado do problema e escrever, por
meio de regras predefinidas, os passos a serem seguidos para
sua resolução;
� Vantagem: a passagem do algoritmo para qualquer linguagem de
programação é quase imediata, bastando conhecer as palavras reservadas e
a sintaxe de uma linguagem de programação qualquer.
� Desvantagem: é necessário aprender as regras do pseudocódigo. O
algoritmo escrito em portugol não pode ser compilado nos compiladores
profissionais.
Exemplo: Faça um algoritmo para mostrar o 
resultado da divisão de dois números.
Exemplo: Faça um algoritmo para mostrar o
resultado da divisão de dois números.
Algoritmo em descrição narrativa:
�Passo 1 – Receber os dois números que serão divididos e
armazená-los em duas variáveis (N1 e N2);
�Passo 2 – Se a variável referente ao denominador armazenar
um número igual a zero, não poderá ser feita a divisão. Caso
contrário, dividir os números e mostrar o resultado da divisão.
Algoritmo em fluxograma:
Algoritmo em pseudocódigo:
ALGORITMO
DECLARE N1, N2, D NUMÉRICO
ESCREVA “Digite dois números”
LEIA N1, N2
SE N2 = 0
ENTÃO ESCREVA “impossível dividir”
SENÃO INÍCIO
D N1/N2
ESCREVA “ Divisão =”, D
FIM
FIM_ALGORITMO
Exemplo 2: Faça um algoritmo para calcular a média 
aritmética entre duas notas de um aluno e mostrar sua 
situação, que pode ser aprovado ou reprovado.
Algoritmo em descrição narrativa:
Passo 1 – Receber as duas notas e armazená-las em duas variáveis;
Passo 2 – Calcular a média aritmética e salvá-la em uma variável.
Passo 3 – Mostrar a média aritmética.
Passo 4 – Se a média aritmética for maior ou igual a 7, então a
situação do aluno é aprovado; casocontrário, a situação é
reprovado.
Exemplo 2: Faça um algoritmo para calcular a média 
aritmética entre duas notas de um aluno e mostrar sua 
situação, que pode ser aprovado ou reprovado.
Algoritmo em fluxograma:
Início
NãoSim
N1, N2
M = (N1 + N2) / 2
M
M ≥ 7 Reprovado
Fim
Aprovado
Algoritmo em pseudocódigo:
ALGORITMO
DECLARE N1, N2, M NUMÉRICO
ESCREVA “Digite as duas notas”
LEIA N1, N2
M (N1 + N2) / 2
ESCREVA “ Média = ”, M
SE M ≥ 7
ENTÃO ESCREVA “Aprovado”
SENÃO ESCREVA “Reprovado”
FIM_ALGORITMO
Exercício: Faça um algoritmo para calcular o novo salário
de um funcionário. Sabe-se que os funcionários que
recebem atualmente salário de até R$ 500 terão
aumento de 20%; os demais aumento de 10%.
Escrevam o algoritmo em descrição narrativa.
Linguagem de programação
� É a linguagem que pode ser compilada para gerar um programa
executável em um processador de dados.
� É um conjunto de regras sintáticas e semânticas usadas para
escrever um programa de computador;
� Tipos: Linguagens de baixo nível e alto nível;
� Baixo nível: São linguagens mais próximas da linguagem de máquina. Ex:
Assembly.
� Vantagem: Produz códigos mais otimizados.
� Desvantagem: cada tipo de processador possui seu próprio Assembly.
� Alto nível: São linguagens mais próximas à língua dos humanos, portanto
são mais fáceis de serem compreendidas. Ex: Pascal, C++, Delphi, Java,
VB.
� Vantagem: Facilidade para programar e aprender, portabilidade.
� Desvantagem: Gera códigos em linguagem de máquina menos
eficientes.
//Declaração das bibliotecas
// Declaração das variáveis locais
// Função Principal
// Escreve mens. na tela
// Lê valores das variáveis
// Calcula a média a atribui o valor à variável (Media)
// Espera até que alguma tecla seja pressionada para encerrar o prog.
Compilador
� O compilador tem como função traduzir o programa escrito em uma
determinada linguagem de programação, para a linguagem de
máquina do processador que esta sendo usado.
� Ex: Dev C++, Turbo C, Visual Studio C++ 2008.
� http://www.microsoft.com/express/vc/
Compilação
Conceito de Variável
� Uma variável representa uma posição de memória. Possui
nome (identificador) e tipo, e seu conteúdo pode variar ao
longo do tempo, durante a execução de um programa.
� Todo computador possui uma tabela de alocação que contém o
nome da variável, seu tipo (para saber quanto bytes ocupará na
memória) e o seu endereço de armazenamento.
Bits e Bytes
� A menor unidade de informação de um computador é o bit.
Um bit pode assumir os valores 0 ou 1.
� Um byte é o conjunto de oito bits.
� Os dados são armazenados na base binária e não na decimal.
De binário para decimal
De decimal para binário
� Dado um número decimal, para convertê-lo em binário, basta 
dividi-lo sucessivamente por 2, anotando o resto da divisão 
inteira:
� Exemplo:
� Basta ler os números em negrito de baixo para cima para 
encontrar o valor em binário. 12 em decimal corresponde a 
1100 no sistema binário.
Tipos de dados
� Numérico: se dividem em inteiros e reais;
� Lógicos: são também conhecidos por dados booleanos e
podem assumir os valores verdadeiro ou falso.
� Literais: são dados formados por um único caractere ou por
uma cadeia de caracteres. Esses caracteres podem ser as letras
maiúsculas e minúsculas, números (não podem ser usados em
cálculos), símbolos.
43
Dúvidas?

Continue navegando