Baixe o app para aproveitar ainda mais
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?
Compartilhar