Projeto de Algoritmos Introdução aos Sistemas Computacionais Prof. Ernani Viriato de Melo / Reginaldo Costa http://www.ernani.eti.br http://reginaldofazu.blogspot.com 2º Semestre - 2008
Conceitos Básicos Sistemas Computacionais: consiste em todos os elementos em um ambiente com o computador. Software: é a parte lógica do computador; Exemplo: Windows, Word, Excel Hardware: é a parte física do computador; Exemplo: Gabinete, Monitor, Mouse, Teclado, etc... Peopleware: usuários do computador: é quem utiliza os recursos de hardware e software; Exemplo: Professor, aluno, programador, etc... Hardware Peopleware Software
Arquitetura do Computador
Arquitetura do Computador Os componentes se comunicam através da placa-mãe Circuitos de apoio (chipset) e slots (conectores para placas de vídeo, som e conectores para o processador, memória RAM, portas seriais, porta paralela, portas USB, conectores para discos rígidos e muito mais. Processador: Unidade Central de Processamento: Pega dados, processa esses dados conforme programação prévia e devolve o resultado
Arquitetura do Computador O processador não tem capacidade interna de armazenamento muito grande; O papel da memória é armazenar os programas (conjunto de instruções) para serem executados posteriormente pelo processador; Memória Principal: ROM: Somente de leitura RAM: Armazena temporariamente as informações (instruções e dados) volátil. Caso a RAM acabe : memória virtual (disco rígido); Memória Auxiliar ou Periféricos de Armazenamento: Armazenamento permanente HD, disquetes, pendrive, CD
Arquitetura do Computador
Arquitetura do Computador Periféricos de Entrada: São aqueles que estabelecem a comunicação entre você e o computador, para a entrada de dados. Exemplos: Teclado, Mouse, Scanner Periféricos de Saída: São aqueles que recebem as informações da CPU já processadas, a fim de que sejam retornadas ao usuário Exemplos: Monitor, Impressora Placas Controladoras Onboard: Placas integradas à placa-mãe. Offboard: Placas separadas e conectadas à placa-mãe. Exemplos: Placas de som, vídeo, rede e fax-modem
Arquitetura do Computador Processador Placa-mãe
Arquitetura do Computador Placa de vídeo
Unidades de Armazenamento 1 Byte: 1 caracter (letra, números ou símbolos) 1 Kilo Byte (KB): 1.024 caracteres (uma página de texto) 1 Mega Byte (MB): 1.048.76 caracteres (Um romance) 1 Giga Byte (GB): 1.073.741.824 caracteres (Mil romances) Tera Byte (TB): 1.099.511.627.776 caracteres (Biblioteca repleta de livros)
Sistemas Operacionais O Sistema Operacional ( SO ) é um programa que supervisiona e controla as operações de um computador. Windows (Microsoft) Linux Mac OS (Apple) Solaris (Sun)
Sistemas Operacionais Software Aplicativos: conjunto de programas a serem utilizados pelo usuário Função do SO Gerenciar recursos físicos f do computador Prover um ambiente para o funcionamento dos aplicativos Aplicativos Sistema Operacional (sotware básico) HARDWARE
Programas de Computadores Programa: é uma sequência de instruções a serem executadas por um processador, na manipulação, redirecionamento ou modificação de um dado/informação ou acontecimento. Arquitetura von Neumann: Programas e dados a serem executados são carregados para memória principal; A unidade central de processamento (CPU), que executa realmente as instruções, é separada da memória; As instruções e dados são transmitidos da memória p/ a CPU; Os resultados das operações na CPU devem ser novamente transferidos para a memória. John von Neumann
Arquitetura von Neumann: Programas de Computadores
Introdução a Programação Algoritmo: é uma sequência de passos ou instruções que possuem uma determinada ordem, e quando seguidas leva a algum resultado. Esta sequência não possui ambiguidade; Observação: computadores fazem exatamente as tarefas da forma como nós (programadores) informamos. Trabalho de Programação: A) Fase de Resolução do Problema Mundo Real (Problema) Algoritmo Linguagem Natural: abre espaço para várias interpretações; Fluxograma: utiliza símbolos gráficos; Pseudocódigo: fácil de traduzir para uma linguagem de programação.
Introdução a Programação Trabalho de Programação (cont): B) Fase de Implementação da Solução Traduzir o algoritmo para uma linguagem de programação Linguagem de Traduzida Código de Máquina Programação (Compilação) Instruções que a CPU é capaz de executar (.exe). Exemplos de Linguagem de Programação: Pascal C Delphi...
Introdução a Programação Algoritmo 1 Sacar dinheiro no banco 24 horas: Linguagem Natural: Passo1 Ir até o banco 24 horas. Passo2 Colocar o cartão. Passo3 Digitar a senha. Passo4 Solicitar a quantia desejada. Passo5 Se o saldo for maior ou igual à quantia desejada, sacar; caso contrário, mostrar a mensagem de impossibilidade de saque. Passo6 Retirar o cartão. Passo7 Sair do banco 24 horas.
Introdução a Programação Algoritmo 2 Somar dois números: Linguagem Natural: Passo1 Receber os dois números. Passo2 Somar os dois números. Passo3 Mostrar o resultado obtido. Fluxograma e Pseudocódigo: Ser mais claro
Introdução a Programação Conceito de variável: Um algoritmo e, posteriormente um programa, recebe dados. Tais dados precisam ser armazenados no computador para serem utilizados no processamento. Cada variável possui um tipo de dado, ou seja, o tipo de informação vai ser guardada na variável o tamanho reservado na memória vai se adequar ao tipo de dado. Tipos de dados: Numérico: inteiros (-23, 0, 23...) e reais (-0.5, 0, 9.3) Lógico: verdadeiro ou falso Literal ou caracteres (Ernani Viriato de Melo)
Introdução a Programação Regras para a nomenclatura de variáveis: Lembrete: Todo programa é escrito não apenas para o programador que o fez, mas também para terceiros. O nome de uma variável pode conter qualquer caracter alfanumérico, desde que sempre comece com uma letra. Exemplo: A123 ; C1AB2 Não pode existir espaço em branco no nome da variável. Exemplo: comprimento do raio Dica: comprimento_do_raio Os símbolos especiais não podem ser usados nos nomes das variáveis. Exemplo: A+B
Introdução a Programação Operações básicas: Atribuição: é usada para indicar que uma variável está recebendo algum valor. Exemplo: raio 5 nome Ernani Viriato de Melo Expressões aritméticas: são combinações de variáveis e valores numéricos. Exemplo: A ( B * 2 ) + 5 C ( A + B ) / 2
Introdução a Programação Conhecendo os símbolos do Fluxograma: Símbolo utilizado para indicar o início e o fim do algoritmo. Permite indicar o sentido do fluxo de dados. Símbolo utilizado para indicar cálculos e atribuições de valores. Símbolo utilizado para representar a entrada de dados. Símbolo utilizado para representar a saída de dados. Símbolo que indica que deve ser tomada uma decisão, indicando a possibilidade de desvios.
Algoritmo 2 Somar dois números: Linguagem Natural: Passo1 Receber os dois números. Passo2 Somar os dois números. Passo3 Mostrar o resultado obtido. Fluxograma: Introdução a Programação
Introdução a Programação Escrevendo algoritmos em pseudocódigo (portugol): 1. Certificar do total entendimento do problema; 2. Detalhar cada passo, de forma a produzir um algoritmo completo; 3. Fornecer um nome para o algoritmo e uma breve descrição do seu trabalho realizado; 4. Listar o conjunto de variáveis necessárias; Descrição: Descrever o trabalho do algoritmo ALGORITMO: nome do problema DECLARE: variáveis que vão ser utilizadas no algoritmo. < comando que definem a solução> FIM DO ALGORITMO.
Introdução a Programação Algoritmo 2 Somar dois números (cont): Pseudocódigo: DESCRICAO: SOMAR DOIS NUMEROS ALGORITMO SOMA DECLARE N1, N2, M NUMÉRICO ESCREVA DIGITE DOIS NÚMEROS LEIA N1, N2 M N1 + N2 ESCREVA SOMA =, M FIM_ALGORITMO Entrada de dados: Obter os dados a partir do dispositivo de entrada (teclado, mouse, leitora de cartões, etc.) Atribui valores às variáveis do programa LEIA (<lista de variáveis>) Saída de dados: mostrar mensagens pré-definidas ao usuário do programa exibir o conteúdo das variáveis ou expressões ESCREVA(<expressão saída>)
Introdução a Programação Algoritmo 3 Calcular a média aritmética entre duas notas de um aluno e mostrar a nota. Em seguida, mostrar a situação desse aluno: Aprovado (média >= 6) ou Reprovado (média < 6) PASSO1 Receber as duas notas. PASSO2 Calcular a média aritmética PASSO3 Mostrar a média aritmética PASSO4 Se a média aritmética for maior ou igual a seis, então a situação do aluno é aprovado, caso contrário, a situação é reprovado.
Introdução a Programação Fluxograma: INÍCIO N1, N2 M ( N1 + N2 ) / 2 M APROVADO SIM M >= 6 NÃO REPROVADO FIM
Introdução a Programação Pseudocódigo (Portugol): DESCRIÇÃO: RECEBER DOIS NUMEROS, CALCULAR A MEDIA, MOSTRAR A MEDIA E VERIFICAR SE O ALUNO FOI APROVADO OU NÃO ALGORITMO MEDIA DECLARE N1, N2, M NUMÉRICO ESCREVA Digite as duas notas LEIA N1, N2 M (N1 + N2) / 2 ESCREVA MÉDIA =,M SE M >= 6 ENTAO ESCREVA APROVADO SENAO ESCREVA REPROVADO FIM_ALGORITMO.