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 CCMP0016 – Introdução à Programação Carga Horária Semestral: 60 horas Número de Créditos: Teóricos: 3 Práticos: 1 Pré-Requisitos: Não há Introdução à Computação 3 Procedimentos e algoritmos fundamentais de sistemas computacionais; Estudo pormenorizado dos recursos de linguagens de alto nível; Desenvolvimento e implementação de programas; Modularidade, testes, depuração e documentação de programas. Ementa Introdução à Computação 4 Objetivos de aprendizagem Introduzir a programação de computadores através do estudo de uma linguagem algorítmica e de exercícios práticos Introdução à Computação 5 Breve história da computação; Computadores: unidades básicas, instruções, programa armazenados, endereçamento, programas em linguagem de máquina; Conceitos de linguagens algorítmicas: expressões, comandos sequenciais, seletivos e repetitivos. Entrada e saída; Variáveis estruturadas: vetores e matrizes; Escopo de identificadores; Extensa prática de programação e depuração de programas. Conteúdo Introdução à Computação 6 Avaliação - Provas individuais 1EE – Testes para complemento da nota 1o teste o Data a definir 2o teste o Datas e critérios a definir 2EE o Datas e critérios a definir 2a Chamada – Data a definir Final – Data a definir Introdução à Computação 7 Fontes de pesquisa Ascencio, Ana Fernanda. Fundamentos da programação de computadores. São Paulo: Prentice Hall, 2002. Farrer, Harry; Algoritmos Estruturados. 3ª ed., LTC, 1999. Setzer, V; Terada, R. Introdução à computação e à construção de algoritmos, McGraw-Hill, 1991. Deitel, H. M., Deitel, P. J. Como programar em C. 2ª ed., LTC, 1999. Tremblay, J. P. Bunt, R. B. Ciência dos computadores. McGraw-Hill, 1983. Roberts, E. The art and science of C, Addison-Wesley, 1995 Introdução à Computação 8 Consenso Uso de computadores apenas quando permitido Evitar conversas em paralelo Começar pontualmente Freqüência de acordo com as Normas da Universidade Providência de material para estudo Introdução à Computação 9 Conceitos O que é um COMPUTADOR? Máquina que recebe dados (entrada), processa conforme programado, e fornece dados (saída). Introdução à Computação 10 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 11 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 a partiir de 1975) Microcomputadores Tem como marco inicial o chip 8080 da Intel (1974), Quinta geração .... 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 12 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 m2 • 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. Primeira geração Primeira geração Introdução à Computação http://www.tecmundo.com.br/infografico/9421-a-evolucao-dos-computadores.htm Segunda geração Introdução à Computação Terceira geração Introdução à Computação Quarta geração Introdução à Computação Quinta geração Introdução à Computação Introdução à Ciência da Computação 18 Primeiro HD criado pela IBM em 1956 Capacidade: 4,7 MB Peso: 1 tonelada Preço: mais de US$ 1.000.000,00 Introdução à Computação Introdução à Computação Introdução à Ciência da Computação 21 Memória RAM Até 768 GB 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 23 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 24 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 25 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 26 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 27 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 28 Unidade de memória secundária Utilizada em virtude da limitação da memória principal. Dispositivos de armazenamentomais 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 29 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 30 Tabela ASCII American Standard Code for Information Interchange http://pt.wikipedia.org/wiki/ASCII Introdução à Computação Introdução à Computação 32 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 33 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 34 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 35 Software Software Exemplo Básico Sistemas Operacionais 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 36 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 37 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 38 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 40 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 41 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 42 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 43 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 44 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 45 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 46 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 47 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, indicandoa possibilidade se desvios Representação de algoritmos Fluxograma Introdução à Computação 48 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 49 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 50 Exercícios - Usando pseudocódigo 1. Faça um algoritmo para mostrar o resultado da divisão de dois números; 2. Faça um algoritmo para calcular a média aritmética entre duas notas de um aluno e para mostrar a situação desse aluno, que pode ser aprovado (média maior ou igual a 7,0) ou reprovado; 3. Faça um algoritmo para calcular o novo salário de um funcionário. Sabe-se que os funcionários que possuem salário atual até R$ 500,00 terão aumento de 20%, os demais terão aumento de 10%. Introdução à Computação 51 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 52 Estrutura de um algoritmo Algoritmo soma declare A, B, C : numérico; Início leia (A, B); C ← A + B; escreva(‘O valor da soma é:’, C); Fim. Introdução à Computação 53 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 54 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 55 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 56 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 57 Tipos de Dados Variáveis x Constantes a ← b + 5 a, b e 5 são variáveis ou constantes? Introdução à Computação 58 Atributos das variáveis Toda variável tem um nome (identificador) um tipo de dado um valor val1 val2 real inteiro x a Memória Introdução à Computação 59 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 uma letra; 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 real inteiro x a Memória Introdução à Computação 60 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 61 Tipos das variáveis Numérico Inteiros -28, 156 Reais 23.45, -9.36 Lógico ou Booleano Falso Verdadeiro Caractere ´a´, ´b´ Literal ´aluno’, ´1 + 2’, ou “aluno”, “1 + 2” val1 val2 real inteiro x a Memória Introdução à Computação 62 Valor das variáveis Valor: a variável contém um valor quando está sendo usada val1 val2 inteiro inteiro 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 63 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 64 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 65 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 66 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 67 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 68 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 69 Linearização de expressão ((2/3-(5-3))+1)*5 Tradicional Computacional Introdução à Computação 70 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 71Operaçã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 72 Operação Operador Disjunção OU Conjunçã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 73 Tabela Verdade Negação A não A F V V F A B Disjunção A ou B Conjunção A e B V V V V V F V F F V V F F F F F Introdução à Computação 74 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 75 Variáveis Relações Operadores lógicos - exemplo B Introdução à Computação 76 Variáveis Relações Operadores lógicos - exercício Introdução à Computação 77 a) X + Y > Z e NOME = “MARIA” 2 + 5 > 9 e “MARIA”= “MARIA” falso e verdadeiro falso b) SIM ou Y ≥ X falso ou 5 ≥ 2 falso ou verdadeiro verdadeiro c) não SIM e quociente (Z,Y) + 1 = X não falso e quociente (9,5) + 1 = 2 não falso e verdadeiro verdadeiro d) X2 < Z + 10 ou NOME = “JORGE” e SIM “MARIA” = “JORGE” e SIM ou 4 < 19 falso e falso ou verdadeiro falso ou verdadeiro verdadeiro Operadores lógicos - exercício Variável Tipo Conteúdo X numérica 2 Y numérica 5 Z numérica 9 NOME literal "MARIA" SIM lógica FALSO Introdução à Computação 78 Funções Funções sen(x), cos(x), abs(x), int(x), log(x), raiz(x) Introdução à Computação 79 Exercícios 4. Se x possui o valor inicial 15 e se forem executadas as seguintes atribuições na ordem em que aparecem, qual o valor final de x? x ← x + 2 x ← x - 6 x ← x/2 x ← 2 + 3 * x 5. Qual a seqüência de operações necessárias para trocar os valores das variáveis x, y e z de modo que x fique com o valor de y, y fique com o valor de z e z fique com o valor de x? Introdução à Computação 80 Atribuição Atribui valores ou operações a variáveis. <identificador> ← <expressão | identificador> ex: X ← 4; X ← x + 1; y ← ‘aula’; teste ← “falso”; := = Introdução à Computação 81 leia (<identificador> [,<identificador> [ ... ] ] ); Captura valores do dispositivo de entrada especificado (Padrão = teclado). Os dados recebidos são armazenados em variáveis. Pode conter mensagens. leia (a) leia (g, r, b) leia (‘Digite seu nome: ‘, nome) Comando de entrada Palavra- chave Nome das variáveis nas quais serão armazenados o valores provenientes do meio de entrada Introdução à Computação 82 escreva ( <expressão> ); Envia a expressão para o dispositivo de saída especificado (Padrão = tela). Expressão pode ser uma combinação de variáveis, constantes e mensagens separadas por vírgulas. escreva (x) escreva (‘Conteúdo de Y = ‘, y) escreva(“O fatorial de”, N, " é ", fat); Comando de saída Palavra- chave Conteúdo que será mostrado através de um meio de saída. Faça um Teste de Mesa do algoritmo PRIME. algoritmo PRIME declare MA, AA, MES, ANO, A, R, T, CONT : numérico início leia (“Informe o mês e o ano atuais”, MA, AA) leia (“Informe o mês e o ano do seu nascimento”, MES, ANO) se MES <= MA A ← AA - ANO R ← MA - MES senão A ← AA – ANO – 1 R ← 12 – MES + MA fim-se CONT ← 0 T ← 7 - MA enquanto T > 0 CONT ← CONT + 1 T ← T - 1 fim-enquanto escreva (‘Tenho‘, A , ‘anos e’, R, ‘meses’) escreva (‘Faltam ‘, CONT, ‘ meses para as férias’) fim Introdução à Computação 87 Estrutura de um algoritmo Algoritmo <nome do algoritmo>; declaração de variáveis; início comando 1; comando 2; .... comando n; fim. Introdução à Computação 88 Exercício 6. Dados três valores positivos, a, b e c, determine a sua média aritmética, harmônica, geométrica e ponderada com pesos de 1, 2 e 3 respectivamente. Introdução à Computação 89 Exercício 7. Foram digitadas informações sobre três alunos. Cada uma delas contém o nome e a nota de um aluno. a) Escrever o(s) comando(s) de entrada que leiam estas linhas e armazene(m) os valores na memória b) Escrever o(s) comando(s) de saída que imprimam o conteúdo das posições de memória da questão anterior. Introdução à Computação 90 Identação São espaços utilizados nas linhas de comandos de forma a refletir o alinhamento; Facilitam a identificação das estruturas; Facilitam a identificação dos comandos que “pertencem” a uma estrutura; ...<nível 1> .......<nível 2> Comandos do nível 2 .......<fim - nível 2> ...<fim - nível 1> Estruturas Estrutura seqüencial; Estrutura condicional; Estrutura de repetição; Introdução à Computação 91 Introdução à Computação 92 Estrutura Seqüencial Os comandos são executados na ordem em que aparecem, de cima para baixo. Algoritmo SEQÜÊNCIA; declare <lista de variáveis>; início <comando 1> <comando 2> ... <comando n> fim. Os comandos serão executados na ordem em que aparecem. Introdução à Computação 93 Ex.: Algoritmo Média declare Nome : literal Nota1, Nota2, Media : real início escreva (‘Digite o nome do aluno:’ ) leia (nome ) escreva (‘Digite as 2 notas:’ ) leia (nota1, nota2 ) media ← ( nota1 + nota2 ) / 2 escreva (‘A média de ‘, nome,` é: ’ , media ) fim Exercício: Faça um Teste de Mesa do algoritmo Média para 3 alunos. Estrutura Seqüencial Introdução à Computação 94 Exercícios 8. Dados dois números inteiros A e B, calcular e exibir: C=A+B+7, D=AB-A, E=A2, F=2A-5B, G=5A/B-7A, H=5A/(B-7A), J=(A3-senB)/7. 9. Dado o raio de uma circunferência, calcular sua área e seu perímetro 10. Dado um número real x, calcular e exibir as imagens de f(x)=5x4-x3 e de g(x)=5senx-2cosx 11. Ler dois números inteiros e positivos X e Y e efetuar as operações de adição, subtração, multiplicação, divisão de X por Y e a raiz quadrada do produto de X por Y. Introdução à Computação 95 Exercícios 12. Dada a temperatura de um corpo, em graus Fahrenheit, calcular e exibir o valor da referida temperatura em graus Celsius e em Kelvin. 13. Um aluno comprou três itens em uma papelaria. Para cada item são conhecidos: nome, preço e percentual de desconto. Mostrar o nome do item, o preço do item, o preço do item com desconto e o total a pagar 14. Dado um número inteiro de segundos, determinar o seu valor equivalente em horas, minutos e segundos. Testar para 16723. Introdução à Computação 96 Permite a escolha entre blocos de comandos alternativos. Estrutura de Controle Condicional Estrutura de Desvio Condicional, Controle Condicional, Decisão ou Seleção Introdução à Computação 97 A tomada de decisão Em muitas situações, é necessárioexecutar um grupo de ações dependendo do resultado de certas avaliações. Imagine o caso de identificar se um aluno foi ou não aprovado. O resultado depende da avaliação da média obtida pelo aluno. Usamos o desvio condicional para executar um grupo de comandos dependendo do resultado de uma expressão lógica. Introdução à Computação 98 Desvio condicional simples comandos Condição Verdadeira Falsa Se a condição for verdadeira, provocará um desvio e executará o bloco de comandos. Introdução à Computação 99 Desvio condicional simples ... se <condição> [então] <instrução para condição verdadeira> fim-se ... Condição é uma expressão lógica. Se o resultado da condição for verdadeiro, será executado o comando após a palavra então. Caso a condição resulte em falso, ou após a execução da instrução, o programa continua executando os comandos após o fim-se. Introdução à Computação 100 Algoritmo Condicional_Simples; declare N1, N2, Media : numérico inicio escreva( ‘Digite duas notas:’ ) leia(N1, N2) Media ← (N1 + N2)/2 escreva (‘Média = ’, Media) se Media < 7,0 escreva (‘Deve fazer o Exame Final’) fim-se fim. Desvio condicional simples Introdução à Computação 101 Desvio condicional composto Se a condição for verdadeira, executará o bloco de comandos A, caso contrário, executará o bloco B. Nunca os dois. Comandos A Condição Verdadeira Falsa Comandos B Introdução à Computação 102 Desvio condicional composto ... se <condição> [então ] <instrução para condição verdadeira> senão <instrução para condição falsa> fim-se ... Se o resultado da condição for verdadeiro, será executado o comando após a palavra então, caso contrário, será executado a instrução após a palavra senão. Somente uma das duas será executada. Após, o programa continua... Introdução à Computação 103 Algoritmo Condicional_Composto declare N1, N2, Media : real início escreva ( ‘Digite duas notas:’ ) leia (N1, N2) Media ← (N1 + N2)/2 se Media < 7.0 escreva (‘Aluno Reprovado!!!’) senão escreva (‘Aluno Aprovado!!!’) fim-se escreva (‘Média = ’, Media) fim Desvio condicional composto Introdução à Computação 104 Bloco de Comandos Pode-se utilizar um grupo de comandos ao invés de uma única instrução. se Media < 7,0 escreva (‘Digite NotaFinal:’) leia (NotaFinal) MediaFinal ← (Media+NotaFinal) / 2 senão escreva(‘Aprovado.’) fim-se Introdução à Computação 105 Aninhamento de Estruturas Uma estrutura pode conter outras estruturas em sua definição. Não há limites para a quantidade de níveis de aninhamento. Introdução à Computação 106 Algoritmo Condicional_Aninhado declare N1, N2, Media : real início escreva ( ‘Digite duas notas:’, N1, N2) Media ← (N1 + N2)/2 se Media < 7,0 se Media < 3 escreva(‘Aluno Reprovado!!!’) senão escreva (“Aluno em final”) fim-se senão escreva(‘Aluno Aprovado!!!’) fim-se escreva(‘Média = ’, Media) fim Desvio condicional aninhado Introdução à Computação 107 Exercícios 15. Considerando A=3, B=2, C=5 e D=7, qual o valor de X? a) se não (D > C) então X ← (A + B) * D senão X ← (A - B) / C; b) se (A > 2) e (B > 7) então X ← (A + 2) * (B - 2) senão X ← (A + B) / C * (C + D); c) se (A > 2) ou (B > 7) então X ← (A + 2) * (B - 2) senão X ← (A + B) / D * (C + D); Introdução à Computação 108 Exercícios 16. Ler três valores inteiros e distintos (A, B e C) e apresentar o maior valor. 17. Dados dois valores reais, apresentar a diferença do maior pelo menor. 18. Dado um número inteiro positivo, informar se o número lido é par ou ímpar. 19. Faça um algoritmo que para calcular as raízes reais de uma função quadrática, dados os valores de a, b e c. cbxaxxf 2 Introdução à Computação 109 Exercícios 20. Construa um algoritmo que receba 2 números e, se o primeiro número for maior que zero e menor que 10, mostre a soma destes números; caso contrário, mostre a multiplicação deles. 21. Construa um algoritmo que receba cinco grupos de 2 números e mostre a soma destes números; 22. Faça um algoritmo que receba dois números e mostre o maior deles; 23. Faça um algoritmo que receba três números e mostre-os em ordem crescente. Introdução à Computação 110 Estruturas de Repetição Permitem a execução de comandos repetidas vezes. Repetição condicional A repetição acontecerá com base em uma condição. Condição no início Condição no final Repetição com variável de controle A repetição será controlada por uma variável (contador) Introdução à Computação 111 Condição no início comandos condição Verdadeira Falsa Se a condição for verdadeira, os comandos serão executados e o processo reinicia; caso contrário, a repetição não acontecerá Introdução à Computação 112 Interrupção no início enquanto <condição> [faça] [início] <comandos> fim-enquanto Exemplo 1 leia (“Digite um número: “, Y) X ← 0 enquanto X<Y escreva ( X ) X ← X + 1 fim-enquanto Sintaxe Introdução à Computação 113 Exemplo: Calcular a média de várias notas. A nota = -1 indica que já foram informadas todas as notas (flag). leia(Nota) Total ← 0 N ← 0 enquanto Nota<>-1 Total ← Total + Nota N ← N + 1 leia (Nota) fim-enquanto se N > 0 Media ← Total / N escreva ( Media ) senão escreva ( “Notas não informadas”) fim-se Introdução à Computação 114 Exercícios 24. Escrever um programa que lê dois números inteiros: inicial e final, e mostra os números inteiros existentes entre o número inicial e o final (inclusive). Crítica: o número final deve ser maior do que o inicial. 25. Implemente um programa que calcula a soma dos números pares entre dois números lidos (inclusive). 26. Escrever programa para calcular, para N (inteiro) lido, o valor de S, dado por 12 1 ... 2 3 1 21 NN NNN S Introdução à Computação 115 Interrupção no final comandos Condição Verdadeira Falsa O bloco de comandos é executado uma vez. Se a condição for falsa, os comandos serão executados novamente; Caso contrário, a repetição não acontecerá e o programa continua. Introdução à Computação 116 Interrupção no final Repita <comandos> até <condição> Exemplo 1 X ← 0 repita escreva ( X ) X ← X + 1 até X > 5 Sintaxe Introdução à Computação 117 leia(Nota) N ← 0 repita Total ← Total + Nota N ← N + 1 leia (Nota) até Nota = -1 se N > 0 Media ← Total / N escreva ( Media ) senão escreva ( “Notas não informadas”) fim-se Exemplo: Calcular a média de várias notas. A nota = -1 indica que já foram informadas todas as notas (flag). Introdução à Computação 118 Variável de Controle Repetições que possuem um número finito de execuções (conhecido) podem ser processadas através de uma repetição controlada por uma variável de controle do tipo contador; Podem ser crescentes ou decrescentes; A execução dos comandos deve acontecer para cada valor de um determinado conjunto de valores. Em cada repetição, a variávelde controle assume um dos valores do conjunto. Quando a variável tiver assumido uma vez cada valor, então a repetição termina. Introdução à Computação 119 Variável de controle A variável de controle (VarControle) assumirá cada elemento entre o ValorIni e o ValorFim; Na primeira vez, a variável de controle assume o ValorIni e executa os comandos uma vez. Ao terminar a execução, assume o sucessor de ValorIni e executa novamente. Ao assumir o ValorFim e executar os comandos, a repetição é interrompida; Algumas linguagens aceitam definir o tamanho do incremento. para <VarControle> ← <ValorIni> até <ValorFim> [de <Incremento>] [faça] [início] <comandos> fim-para Sintaxe Introdução à Computação 120 Variável de Controle Exemplo 1 para X ← 1 até 10 faça escreva ( X ) fim-para Exemplo 2 z ← 0 para X ← 1 até 5 leia ( Y ) z ← z + Y fim-para x ← z/X Escreva (x) Introdução à Computação 121 Acompanhe a execução dos algoritmo Primo com os valores 4 e 5 da variável N e informe o resultado da variável P. ALGORITMO Primo declare N, Max, Aux, Resto, k : inteiro declare P : lógico início leia (‘Digite um número’, N) Aux ← 1 P ← VERDADE Max ← N / 2 k← 2 enquanto (P = VERDADE) e (k ≤ Max) Resto ← N – (N/k * k) se Resto = 0 P ← FALSO fim-se k ←k + 1 fim-enquanto se P = VERDADE escreva (N,”é primo”) fim-se fim Introdução à Computação 122 Exercícios 27. Construa um algoritmo que receba um valor N inteiro e positivo, calcule e mostre o fatorial de N (N!). 28. Construa um algoritmo que leia dez conjuntos de dois valores, o primeiro valor corresponde ao número do aluno, o segundo valor corresponde à sua altura em centímetros. Encontre e mostre o número e a altura do aluno mais baixo e do aluno mais alto. 29.Faça um algoritmo que leia cinco pares de valores (a,b), todos inteiros, positivos, um de cada vez. Mostre os números inteiros pares de a até b (inclusive). 30.Faça um algoritmo que leia o número de termos e um valor positivo para x, calcule e mostre o valor da série: ... !6!5!4!3!2!1 765432 xxxxxx s Introdução à Computação 123 Vetores Vetor é uma variável composta homogenia unidimensional formada por uma seqüência de variáveis do mesmo tipo, com o mesmo identificador e alocadas sequencialmente na memória. As variáveis são distinguidas por índices Declaração declare nome[tamanho] : tipo Nome: 0 1 2 3 4 5 6 7 Introdução à Computação 124 Vetores Representação declare v[8] : inteiro elemento variável 1 2 3 4 5 6 7 8 V[1] V[2] V[3] V[4] V[5] V[6] V[7] V[8] 56 2 30 4 50 6 17 87 valor Introdução à Computação 125 Exemplo * declarar declare v[5] : numérico * Atribuir valor v[1] ← 45 v[4] ← 0 * Carregar para i ← 1 até 5 escreva (“Digite o “, i, “º elemento”) leia v[i] fim-para * Mostrar para i ← 1 até 5 escreva (“Este é o “, i, “º elemento do vetor: ”, v[i]) fim-para Introdução à Computação 126 Exemplo - Calcular a média geral de uma turma de 15 alunos. declare MD1, MD2, MD3, MD4, MD5, MD6, MD7, MD8, MD9, MD10, MD11, MD12, MD13, MD14, MD15, SOMA, MEDIA : real inicio SOMA← 0 leia (MD1, MD2, MD3, MD4, MD5, MD6, MD7, MD8, MD9, MD10, MD11, MD12, MD13, MD14, MD15) SOMA ← MD1 + MD2 + MD3 + MD4 + MD5 + MD6 + MD7 + MD8 + MD9 + MD10 + MD10 + MD12 + MD13 + MD14 + MD15 MEDIA ← SOMA / 15 escreva (‘ Media =‘, MEDIA) fim Introdução à Computação 127 declare I : inteiro; MD[15], SOMA, MEDIA : real início SOMA ← 0 para I ← 1 até 15 leia MD[ I ] SOMA ← SOMA + MD[ I ] fim-para MEDIA ←SOMA / 15 escreva (‘ Media =‘, MEDIA) fim Exemplo - Calcular a média geral de uma turma de 15 alunos. Introdução à Computação 128 Matrizes Variável composta homogenia bidimensional formada por uma seqüência de variáveis do mesmo tipo, com o mesmo identificador e alocadas seqüencialmente na memória. As variáveis são distinguidas por índices As variáveis são compostas por linhas e colunas Declaração declare nome[linha, coluna] : tipo variável linha 1 2 ... coluna 1 2 ... Introdução à Computação 129 Matrizes Representação declare m[4,4] : inteiro linha variável 1 2 3 4 v[1,1] v[1,2] v[1,3] v[1,4] v[2,1] V[2,2] V[2,3] V[2,4] coluna 1 2 3 V[4,1] V[4,2] V[4,3] V[4,4] 4 Exemplo * declarar declare m[3,2] : numérico * Atribuir valor m[1,2] ← 45; m[3,2] ← 0 * Carregar para i ← 1 até 3 para J ← 1 até 2 escreva (“Digite o conteúdo da linha “, i, “ e coluna ”, j) leia m[i,j] fim-para fim-para * Mostrar para i ← 1 até 3 para J ← 1 até 2 escreva (“Linha “, i, “ e coluna ”, j, “: “, m[i,j]) fim-para fim-para Introdução à Computação 131 Exercícios 31. Sabe-se que: 1 pé = 12 polegadas 1 jarda = 3 pés 1 milha = 1.760 jardas Faça um algoritmo que receba uma medida em pés, faça as conversões a seguir e mostre os resultados em Polegadas, Jardas e Milhas. 32. Faça um algoritmo que receba o ano de nascimento de uma pessoa e o ano atual, calcule e mostre: a)A idade dessa pessoa; b)Quantos anos essa pessoa terá em 2015 33. Construa um algoritmo que receba cinco grupos de 2 números pelo teclado e mostre a soma destes números; 34. Altere o algoritmo acima para ler um número qualquer de pares.
Compartilhar