Baixe o app para aproveitar ainda mais
Prévia do material em texto
Introdução à Programação Profª Gilka Rocha Barbosa ESCOLA POLITÉCNICA DA UNIVERSIDADE DE PERNAMBUCO Introdução à Computação 2 Conceitos O que é um COMPUTADOR? Máquina que recebe dados (entrada), processa conforme programado, e fornece dados (saída). Introdução à Computação 3 Aplicativos Sistema Operacional Componentes Físicos Interface de hardware Componentes Básicos Periféricos Componentes Multimídia Componentes de rede Windows DOS Linux Sistemas de Informação SGBD Word CAD Monitor Teclado Processador Estrutura geral de um sistema de computação Introdução à Computação 4 A evolução dos sistemas de computador Primeira geração (aproximadamente entre 1951 e 1959) Tecnologia de válvulas. Tem como marco inicial o UNIVAC, construído em 1951. Segunda geração(aproximadamente entre 1955 e 1965) Caracterizada pelos computadores transistorizados. Tem como marco o TRADIC, construído em 1955, além da criação das linguagens FORTRAN e COBOL, Terceira geração (aproximadamente entre 1965 e 1975) Circuitos Integrados, os Chip’s. Fios, transistores e outros componentes em um único chip. Quarta geração(aproximadamente entre 1975 e 1985) Microcomputadores Tem como marco inicial o chip 8080 da Intel (1974), Quinta geração (a partir de 1985) Atual geração dos computadores, notebooks, palmtops e telefonia móvel, multimídias, computadores inteligentes e a realidade virtual. Introdução à Ciência da Computação 5 ENIAC: Eletronic Numeric Integrator And Calculator – 1946 • 18.000 válvulas, • conseguia fazer 500 multiplicações por segundo Mark I - 1944 • Universidade de Harvard e a IBM • Ocupava 120 m3 • Tinha milhares de relês e fazia um barulho infernal. • Uma multiplicação de números de 10 dígitos levava 3 segundos para ser efetuada. Introdução à Ciência da Computação 6 Primeiro HD criado pela IBM em 1956 Capacidade: 4,7 MB Peso: 1 tonelada Preço: mais de US$ 1.000.000,00 Celular....... Introdução à Computação Ericson MTA - 1956 Motorola Dynatac 8000X – 1973 25 cm de comprimento 7 cm de largura, 1 kg Bateria 20 minutos. Introdução à Computação 8 Mainframe: grande capacidade de memória e velocidade de processamento Microcomputador: utilizado em aplicações pessoais e domésticas ou como terminais de sistemas multiusuário Supercomputador: voltado à resolução de problemas que exigem grande capacidade de processamento em termos de velocidade e precisão de resultados Cluster de computador: conjunto de sistemas de computadores independentes e ligados em rede, mas que podem ser configurados para realizarem em conjunto um determinado trabalho de processamento. Tipos de computadores Introdução à Computação 9 Aplicativos Sistema Operacional Componentes Físicos Interface de hardware Componentes Básicos Periféricos Componentes Multimídia Componentes de rede Windows DOS Linux Sistemas de Informação SGBD Word CAD Estrutura geral de um sistema de computação Software Hardware Introdução à Computação 10 Tecnologias de hardware Arquitetura básica de um sistema de computador Unidade central de processamento Unidade de entrada Unidade de memória Unidade de saída Introdução à Computação 11 Unidade de entrada Formada pelos equipamentos que permitem a inclusão de dados a serem processados pelo sistema de computador. A evolução das tecnologias de entrada de dados busca métodos, técnicas e ferramentas cada vez mais fáceis de utilizar Teclados Dispositivos indicadores Dispositivos de leitura magnética Dispositivo de leitura ótica Dispositivos de captura de imagens Dispositivos de captura de áudio Dispositivos de captura de sinais Unidade central de processamento Unidade de entrada Unidade de memória Unidade de saída Introdução à Computação 12 Unidade de memória principal Formada pelos dispositivos que armazenam os dados e as instruções em processamento pela Unidade Central de Processamento (UCP/CPU). Os dados e os programas são armazenados na memória principal durante o processamento. Posteriormente, os resultados são liberados para o armazenamento em memória secundária ou para a unidade de saída. A memória principal é constituída por diferentes componentes eletrônicos fabricados com material semicondutor e denominados chips. Entre os chips de memória, destacam-se: RAM (Random Access Memory). ROM (Read Only Memory). Unidade central de processamento Unidade de entrada Unidade de memória Unidade de saída Introdução à Computação 13 Unidade de memória secundária Utilizada em virtude da limitação da memória principal. Dispositivos de armazenamento mais baratos que a memória principal e viabilizam o armazenamento de grandes volumes de dados por períodos prolongados. apresenta como desvantagem uma menor velocidade de acesso em virtude de empregarem mecanismos eletromecânicos para leitura e gravação dos dados. meios de armazenamento Meio magnético Fitas magnéticas. Discos magnéticos Meio ótico CD (compact disk). DVD (Digital Video Disk). Unidade central de processamento Unidade de entrada Unidade de memória Unidade de saída Introdução à Computação 14 Memória Unidade central de processamento Unidade de entrada Unidade de memória Unidade de saída 1 Byte 20 8 bits 1 Kilobyte (KB) 210 1024 bytes 1 Megabyte (MB) 220 1024 kilobytes 1 Gigabyte (GB) 230 1024 megabytes 1 Terabyte (TB) 240 1024 gigabytes 1 Petabyte (PB) 250 1024 terabytes 1 Exabyte (EB) 260 1024 petabytes 1 Zettabyte (ZB) 270 1024 exabytes 1 Yottabyte (YB) 280 1024 zettabytes Introdução à Computação 15 Tabela ASCII American Standard Code for Information Interchange http://pt.wikipedia.org/wiki/ASCII Introdução à Computação 16 Unidade Central de Processamento Unidade de controle. Comanda todo o sistema de processamento através de códigos especiais (instruções), que indicam ao computador as operações que ele deve realizar e quais os dados a que elas se referem Unidade de aritmética e lógica Formada pelos componentes que realizam cálculos matemáticos e comparações lógicas. Registradores. Armazenam as instruções e dados em processamento Unidade central de processamento Unidade de entrada Unidade de memória Unidade de saída Pastilha de silício composta por duas unidades: Introdução à Computação 17 Unidade de saída Formada pelos equipamentos que permitem apresentação de resultados processados pelos sistemas. As tecnologias de saídas de dados têm evoluído no sentido de proporcionar resultados mais atraentes e fáceis de utilizar Dispositivos de saída em vídeo Dispositivos de saída impressa Dispositivos de saída sonora Unidade central de processamento Unidade de entrada Unidade de memória Unidade de saída Introdução à Computação 18 Instrução é um comando que pode ser decodificado e executado Algoritmo expressa formalmente uma solução para um problema através de um conjunto finito de passos, que, ao ser executado, opera certas estruturas de dados, produz resultados e cumpre determinado objetivo Programa é um algoritmo expresso em linguagem de um sistema de computador é capaz de executar Software é o conjunto de programas que um equipamento é capaz de executar, é uma solução para determinado problema Software Introdução à Computação 19 Software Software Exemplo Básico SistemasOperacionais Loader Compiladores Link-editores Suporte Gerenciador de rede Controle de espaço Segurança Aplicativo Processador de texto Planilha eletrônica Edição gráfica Aplicativo específico Sistema de contabilidade Cálculos de estruturas Folha de pagamento Usuário/ Problema Hardware Usuário Software aplicativo / suporte Hardware Software básico Introdução à Computação 20 Software de suporte Ferramentas de desenvolvimento de software empregadas para o desenvolvimento de outro software. Gereciadores de Banco de Dados Gerenciadores de rede Linguagens de programação. Tradutores de linguagens de programação. .... Introdução à Computação 21 Linguagem de programação Conjunto de termos (vocabulário) e de regras (sintaxe) que permitem a formulação de instruções a um computador. 1ª Geração: Linguagens Binárias 2ª Geração: Linguagens Assembly 3ª Geração: Linguagens Alto-Nível 4ª Geração: Linguagens Consulta 5ª Geração: Linguagens Naturais Introdução à Computação 22 Nível de Abstração Consumo de Recursos de Máquina Facilidade de Programação - - + + 1ª 2ª 3ª 4ª 5ª Linguagens de Programação Linguagens de Programação Introdução ao Scilab • Trecho de código em C a=5; b=10; c=a+b; • Código em Assembly (MIPS) ADDi $t0,$zero,5 //Adiciona-se ao registrador t0 o valor 5 ADDi $t1,$zero,10 //Adiciona-se ao registrador t1 o valor 10 ADD $t2,$t0,$t1 //Soma-se os valores contidos nos registradores t0 (5) e t1 (10) e atribui o resultado ao registrador t2 Introdução à Computação 24 Algoritmo Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa. Estas tarefas não podem ser redundantes nem subjetivas na sua definição, devem ser claras e precisas. Introdução à Computação 25 Exemplo de Algoritmo Sacar dinheiro num banco 24 horas Passo 1: Ir até um banco 24 horas. Passo 2: Colocar o cartão. Passo 3: Solicitar a quantia desejada. Passo 4: Se o saldo for maior ou igual à quantia desejada, sacar; caso contrário, escolher outro valor e refazer o Passo 2 . Passo 5: Retirar o cartão. Passo 6: Sair do banco 24 horas. Introdução à Computação 26 Representação de Algoritmos Propriedades de um algoritmo: a descrição deve ser finita; Ser objetivo nas instruções; Usar somente um verbo por frase; Escrever textos simples, para leigos; Usar frases curtas e simples; Usar palavras que não tenham sentido dúbio. Teste de mesa Testes de verificação da corretude de um algoritmo de forma simples e interativa. Introdução à Computação 27 1. Somar três números 2. Fazer um sanduíche 3. Trocar uma lâmpada 4. Ir para a escola Algoritmo - exemplos Introdução à Computação 28 Método para construção de algoritmos a)Ler atentamente o enunciado, destacando os pontos mais importantes; b)Definir os dados de saída Quais dados serão gerados a)Definir os dados de entrada Quais dados serão recebidos d) Definir o processamento Quais cálculos serão efetuados e quais as restrições para esses cálculos. e) Construir o algoritmo utilizando uma representação escolhida; f) Testar o algoritmo realizando simulações. Introdução à Computação 29 Representação de algoritmos Descrição narrativa Analisar o enunciado do problema e escrever os passos a serem seguidos para resolução do problema utilizando uma linguagem natural. Vantagem Não é necessário aprender nenhum novo conceito. Desvantagem a linguagem natural abre espaço para várias interpretações, o que posteriormente dificultará a transcrição desse algoritmo para programa. Introdução à Computação 30 Analisar o enunciado do problema e escrever os passos a serem seguidos para resolução do problema utilizando símbolos gráficos predefinidos. Vantagem O entendimento de elemento gráfico é mais fácil que o entendimento de textos. Desvantagem É necessário aprender a simbologia dos fluxogramas e o algoritmo resultante não apresenta muitos detalhes dificultando sua transcrição para um programa. Representação de algoritmos Fluxograma Introdução à Computação 31 Conjunto de símbolos utilizados no fluxograma Início e fim do algoritmo Indica o sentido do fluxo de dados, serve exclusivamente para conectar os símbolos existentes Cálculos e atribuições de valores Entrada de dados Saída de dados Tomada de decisão, indicando a possibilidade se desvios Representação de algoritmos Fluxograma Introdução à Computação 32 Representação de algoritmos Pseudocódigo, Portugol ou Português estruturado Analisar o enunciado do problema e escrever os passos a serem seguidos para resolução do problema por meio de regras predefinidas. Vantagem a passagem do algoritmo para qualquer linguagem de programação é quase imediata, bastando conhecer as palavras reservadas da linguagem de programação. Desvantagem é necessário aprender as regras do pseudocódigo Introdução à Computação 33 a) Descrição narrativa Passo 1: Receber os dois números que serão somados. Passo 2: Somar números. Passo 3: Mostrar o resultado obtido. Exemplo de algoritmo Mostrar o resultado da soma de dois números Início S = N1 + N2 N1, N2 S Fim c) Pseudocódigo ALGORITMO soma DECLARE N1, N2, S : NUMÉRICO INICIO ESCREVA (“Digite dois números”) LEIA (N1, N2) S ← N1 + N2 ESCREVA (“Soma = “, S) FIM b) Fluxograma Introdução à Computação 34 Estrutura de um algoritmo Algoritmo <declaração de variáveis> Início <comandos> Fim. Processamento Dados de entrada Dados de saída Introdução à Computação 35 Estrutura de um algoritmo Algoritmo soma declare A, B, C : inteiro; Início leia (A, B); C ← A + B; escreva(‘O valor da soma é:’, C); Fim. Introdução à Computação 36 Conceitos básicos - Dados Os dados são representações de abstrações acerca do mundo. São classificados em tipos. Tipos podem ser primitivos ou construídos Tipos primitivos são os tipos fornecidos pela linguagem de programação de forma intrínseca. Inteiros, reais, caracteres, lógico São a base para a construção de novos tipos Introdução à Computação 37 Tipos de Dados Numérico Números Inteiros Reais Caractere Símbolos da tabela ASCII Literal Agregado de caracteres Lógico verdadeiro / falso Introdução à Computação 38 Tipos de Dados Constante Determinado valor que não se modifica durante a execução de um programa. Pode ser numérica, lógica e literal. Pode ou não receber um identificador. Pode aparecer dentro de expressões. Ex: num + 2 - 5/val Introdução à Computação 39 Tipos de Dados Variáveis Áreas reservadas na memória do computador para armazenar um tipo de dado determinado. São posições de memória, às quais deve- se associar nomes (identificadores) e um tipo de dado. O conteúdo pode ser alterado durante a execução do programa Só podem armazenar um valor a cada instante Introdução à Computação 40 Tipos de Dados Variáveis x Constantes a ← b + 5 a, b e 5 são variáveis ou constantes? Introdução à Computação 41 Atributos das variáveis Toda variável tem um nome (identificador) um tipo de dado um valor val1 val2 realinteiro x a Memória Introdução à Computação 42 Nomes ou identificadores Regras para definir o nome ou identificador (nome das variáveis, constantes, programas...): Só podem conter letras e dígitos; Primeiro caractere deve ser umaletra; Letras maiúsculas e minúsculas podem ser consideradas caracteres diferentes; O único caractere especial aceito é o underline; Palavras reservadas não podem ser usadas. val1 val2 realinteiro x a Memória Introdução à Computação 43 Exemplo de identificadores Identificadores válidos A a nota Nota NOTA a32 nota_1 Identificadores inválidos 5b e 12 x-y SAT case prova 2n Introdução à Computação 44 Tipos das variáveis Numérico Inteiros -28, 156 Reais 23.45, -9.36 Lógico ou Boleano Falso Verdadeiro Caractere ´a´, ´b´ Literal ´aluno’, ´1 + 2’, ou “aluno”, “1 + 2” val1 val2 realinteiro x a Memória Introdução à Computação 45 Valor das variáveis Valor: a variável contém um valor quando está sendo usada val1 val2 inteirointeiro x a Memória Atenção! Uma variável sem inicialização poderá conter um valor qualquer e imprevisível. Costuma-se dizer que contém lixo. Introdução à Computação 46 Variáveis compostas homogêneas Identificadas por um mesmo nome, individualizadas por índices, cujo conteúdo é do mesmo tipo. Exemplo 1: Notas de 10 alunos (Vetor): N1 N1[3] referencia o terceiro elemento, cujo conteúdo é 9,0 Exemplo 2: Notas de 10 alunos em dois semestres (Matriz): N2 N2[2,3] referencia o terceiro elemento da segunda linha, cujo conteúdo é 1,0 6,0 7,0 9,0 6,0 5,5 9,1 10,0 4,7 7,4 8,6 1 2 3 4 5 6 7 8 9 10 1 6,0 7,0 9,0 6,0 5,5 9,1 10,0 4,7 7,4 8,6 2 10,0 8,0 1,0 0,0 8,0 7,0 10,0 4,0 3,9 2,7 1 2 3 4 5 6 7 8 9 10 Introdução à Computação 47 Declaração de variáveis declare <identificador> : <tipo de dado> Exemplos: declare X : inteiro; declare Y : real; declare Z : caractere; declare K, M, N : lógico; Introdução à Computação 48 Operações com variáveis Variáveis devem ser declaradas Exemplo: <variável>: <tipo>; As variáveis são modificadas através de um comando de atribuição (=, , , := ) ou de leitura Exemplo: Ler <variável>; a 3; a a + 2; As variáveis podem ser impressas Exemplo: Escrever (a); Existem condições para testar se a operação pode ser executada para verificar o resultado (falso/verdadeiro) Introdução à Computação 49 Atribuições Armazena um valor em uma variável. ex: X ← 5; Nome ← ‘fulano’; Z ← X + 9 * 15; Y ← 12 - x + 5; Qual o resultado de ??A ← 4 B ← 5 A ← B B ← A Introdução à Computação 50 Operações Conjunto de ações a serem executadas sobre um conjunto de objetos Meio pelo qual incrementamos, decrementamos, comparamos e avaliamos dados no computador. Tipos Monoádicas (-x) Diádicas (a+b) Introdução à Computação 51 Combinações de variáveis, constantes e operadores em uma única sentença, que têm como finalidade a obtenção de um resultado. As expressões mais comuns são as aritméticas. Expressões Operadores Símbolos que representam as operações Tipos básicos: aritméticos, relacionais, lógicos e atribuição Operações Introdução à Computação 52 Linearização de expressão ((2/3-(5-3))+1)*5 Tradicional Computacional Introdução à Computação 53 Operadores Aritméticos Utilizados para obter resultados numéricos. Operação Operador Exponenciação ** , ^ Radiciação raiz Multiplicação * Divisão / Divisão inteira div, quociente Resto da divisão resto Adição + Subtração - Introdução à Computação 54 Operação Operador Igual a = Maior que > Menor que < Maior ou igual a >= Menor ou igual a <= Diferente de <> Operadores Relacionais Implementam comparações entre os dados Introdução à Computação 55 Operação Operador Conjunção OU Disjunção E Negação NÃO Operadores Lógicos Utilizam a lógica booleana para a construção de expressões condicionais Introdução à Computação 56 Tabela Verdade Negação A não A F V V F A B Conjunção A ou B Disjunção A e B V V V V V F V F F V V F F F F F Introdução à Computação 57 Prioridade das operações Prioridade das Operações Potências e operações monoádicas Multiplicações e divisões Soma e Subtração Parênteses alteram a ordem de execução Segue-se da esquerda para a direita em caso de indeterminação. Prioridade 1: parênteses 2: funções 3: unário 4: ** ^ 5: * 6: / 7: + e - 8: relacionais 9: NÃO 10: E 11: OU Introdução à Computação 58 Variáveis Relações Operadores lógicos - exemplo Introdução à Computação 59 Variáveis Relações Operadores lógicos - exemplo Representação do algoritmo Comece com a palavra ALGORITMO Declare os dados que serão manipulados pelo programa (variáveis) com a palavra DECLARE e indique o tipo de dado As demais linhas devem estar alinhadas em uma margem mais à direita. Termina com a palavra FIM Introdução à Computação 60
Compartilhar