Baixe o app para aproveitar ainda mais
Prévia do material em texto
07/04/2017 1 Introdução a Programação Prof. Marcelo Barbosa • Introdução a algoritmos e programação • Tipos de dados, expressões e operadores • Estruturas de controle de fluxo • Estruturas básicas de dados e Arquivos • Modularização de programas, sub-rotinas e funções Tópicos do curso 07/04/2017 2 Introdução à computação e algoritmos Computador Dipositivo para processar informação. 07/04/2017 3 Sistema Operacional O Sistema Operacional gerencia as relações entre as partes do computador e também os aplicativos (programas) que são executados nele. Definições Hardware: parte “física” do computador. - Conjunto de componentes eletrônicos, circuitos e placas que se comunicam através de sinais elétricos (barramentos). Software: parte “lógica” do computador. - Conjunto de instruções e dados que é processado pelos circuitos eletrônicos do hardware (componentes físicos). Resumindo: hardware = equipamento, software = programas. 07/04/2017 4 Programa É, basicamente, um conjunto de instruções que dita o comportamento do computador durante um certo tempo. É uma sequência completa de instruções a serem executadas por um computador, de acordo com um algoritmo. O desenvolvimento de um programa é feito por meio de uma linguagem de programação. Programa Etapas para o desenvolvimento de um programa: Análise – estudo do enunciado do problema para definir os dados de entrada, o processamento e os dados de saída. Algoritmo – desenho da sequência de instruções, ordenadas de forma lógica, para a resolução do problema; Codificação – o algoritmo é transformado em códigos da linguagem de programação escolhida para se trabalhar. 07/04/2017 5 Programa Para programar é necessário: – ter noções de lógica. – saber desenvolver algoritmos. – conhecer uma linguagem de programação. Assim, trabalharemos: – o elementar da lógica e a capacidade de desenvolver algoritmos. – a linguagem de programação Python. Programa Lógica Técnica de encadear pensamentos para atingir determinado objetivo. Passos executados até atingir a solução de um problema. Instruções Conjunto de regras ou normas definidas para a realização de algo. Em informática, é o que indica a um computador uma ação elementar a executar. 07/04/2017 6 Algoritmo Sequência de instruções finitas e ordenadas de forma lógica para a execução de uma tarefa ou resolução de um problema. Não necessariamente envolve aspectos computacionais. No dia-a-dia executamos vários algoritmos: Uma receita de bolo, trocar um pneu de carro, trocar uma lâmpada, manual de instruções; • O algoritmo tem um papel fundamental de ser o elo de ligação entre dois mundos: o real e o computacional. • A atividade de programação começa com a construção do algoritmo. Mundo real Máquina C, Java, C++, Delphi, Python, ... Algoritmo 07/04/2017 7 Exemplos Algoritmo Fazer um sanduíche: 1. Pegar o pão 2. Cortar o pão ao meio 3. Pegar a maionese 4. Abrir a maionese 5. Passar a maionese no pão 6. Pegar o alface e tomate 7. Cortar o tomate 8. Lavar o alface 9. Colocar tomate e alface no pão 10. Pegar o hambúrguer 11. Fritar o hambúrguer 12. Colocar o hambúrguer no pão 13. Fechar o pão. Fritar um ovo: 1. Retirar o ovo da geladeira 2. Colocar a frigideira no fogo 3. Colocar óleo 4. Esperar até o óleo ficar quente 5. Quebrar o ovo separando a casca 6. Colocar o conteúdo do ovo na frigideira 7. Esperar um minuto 8. Retirar o ovo da frigideira 9. Apagar o fogo Exercício • Ordene e estruture uma sequência para a realização de uma ligação telefônica em um orelhão. 07/04/2017 8 Exercício • Resposta 1: 1. Tirar o fone do gancho 2. Ouvir sinal de linha 3. Introduzir cartão 4. Teclar o número desejado 5. Conversar 6. Desligar 7. Tirar o cartão Exercício • Resposta 2 (Mais robusta) 1. Tirar o fone do gancho 2. Ouvir sinal de linha 3. Introduzir cartão 4. Teclar o número desejado 5. Se chamar e alguém atender 1. Conversar 2. Desligar 3. Retirar o cartão 6. Senão 1. Desligar 2. Voltar para a instrução 1 07/04/2017 9 O que podemos concluir sobre algoritmos? • Algoritmo é uma espécie de passo a passo para a execução de algo; • Algoritmos realizam uma saída (ex.: um sanduíche, um ovo frito, uma ligação) a partir de uma determinada entrada (pão, ovo, número) através de uma sequência de passos; • Os passos tem que ser executados um após o outro; • Um algoritmo está correto quando sua sequência de instruções resulta em uma saída esperada. • Podem existir um ou mais algoritmos para atingir um resultado, desde que o resultado (a saída) seja o mesmo! Exercício – Lâmpada queimada Faça um algoritmo para trocar uma lâmpada. 07/04/2017 10 O que acontece se não houver certeza de que a lâmpada está queimada? Refaça a sequência. Exercício – Lâmpada queimada Exercício – Lâmpada queimada 07/04/2017 11 Exercício – Lâmpada queimada Exercício – Lâmpada queimada 07/04/2017 12 Exercício – Lâmpada queimada Algoritmos Linguagem de definição e estrutura básica 07/04/2017 13 Métodos de Representação de Algoritmos • Existem duas formas de representação de algoritmos: – Fluxograma Representação gráfica. – Pseudocódigo (Linguagem estruturada) Representação textual. Métodos de Representação de Algoritmos • Fluxograma. – Representação gráfica, por meio de símbolos geométricos, da solução algorítmica de um problema. 07/04/2017 14 Métodos de Representação de Algoritmos • Exemplo - Fluxograma. Métodos de Representação de Algoritmos • Pseudocódigo. – Descrição narrativa utilizando nosso idioma para descrever o algoritmo. – Exemplo de uma descrição narrativa. • Soma de dois números. 1. Receber os dois números. 2. Efetuar a soma dos dois números. 3. Mostrar o resultado. 07/04/2017 15 Métodos de Representação de Algoritmos • Resumindo. – Escrever algoritmos e, por fim, programar, consiste em dividir qualquer problema em vários passos ou ações menores, usando uma ou mais formas de representação. – Esses passos ou ações que compõem o algoritmo são descritos de forma padronizada a partir do que convencionou-se chamar de comandos. – A seguir, vamos discutir como descrever as ações básicas contidas em um algoritmo, ou seja, os comandos e as estruturas disponíveis para o desenvolvimento de algoritmos e o conjunto de regras e convenções adotadas para a representação destes. Variáveis • Elemento de dado cujo valor pode ser modificado ao longo de sua execução. • Ou seja, trata-se de um objeto (uma posição de memória) capaz de reter e representar um valor ou expressão; • Tem a finalidade de armazenar dados ou informações de um programa durante o seu tempo de execução; • Identificadores são usados para referenciar as variáveis em algoritmos. Elementos Básicos de um Algoritmo 07/04/2017 16 Variáveis • O tipo de uma variável identifica o tipo de valor que ela poderá receber; • Ex.: NOME literal NOTA, IDADE numéricoTESTE lógico Elementos Básicos de um Algoritmo Identificador Tipo • Nomes utilizados para referenciar variáveis e vários outros objetos definidos pelo programador. • Regras para identificação das variáveis: – Identificadores deve ser claros e precisos; – Devem possuir como primeiro caractere uma letra ou sublinhado. Os demais caracteres podem ser letras, números ou sublinhado; – Não podem ter espaços em branco , usar o UNDERSCORE “_” ; – Não podem ser iguais a palavras reservadas nem conter caracteres especiais; – Não podem ser iguais a um nome de uma função declarada pelo programador ou pelas bibliotecas da linguagem utilizada. Elementos Básicos de um Algoritmo Identificadores 07/04/2017 17 • Exemplos: – Identificadores inválidos: “3endereco” “algoritmo” “então” “anos de estudo” “preço+” – Identificadores válidos: “Nome” “telefone2” “endereco” “idade_filho” Elementos Básicos de um Algoritmo Identificadores • A declaração de uma variável é feita no algoritmo informando o seu nome, seguido por seu tipo. • Palavra-reservada “declare”: utilizada para iniciar a seção de declaração das variáveis em um algoritmo. • Exemplos: declare NOME literal declare NOTA, CÓDIGO, X5 numérico ou declare NOTA, CÓDIGO, X5 numérico Elementos Básicos de um Algoritmo Declaração de variáveis 07/04/2017 18 • Comentários podem ser postos em qualquer ponto do algoritmo sempre que for necessário. • Pode aparecer delimitado por diferentes símbolos: – Chaves: {Comentário ... } – Cerquilha: #Comentário ... • Exemplo: declare MAT, {número de matrícula do aluno} NOTA, {total de pontos obtidos no semestre} COD {código do curso} numérico Elementos Básicos de um Algoritmo Comentários • Permite que se forneça um valor a uma certa variável, onde a natureza deste valor tem de ser compatível com o tipo de variável em que será armazenado. • Forma geral: identificador expressão – “indentificador”: é o nome da variável à qual está sendo atribuído o valor; – “”: é o símbolo de atribuição; – “expressão”: pode ser uma expressão aritmética, lógica ou literal, de cuja avaliação é obtido o valor a ser atribuído. Elementos Básicos de um Algoritmo Comando de atribuição 07/04/2017 19 • Exemplos: K 1 COR “verde” TESTE falso MÉDIA (A + B) / 2 Obs.: K e MÉDIA são variáveis do tipo numérico, COR é do tipo literal e TESTE é do tipo lógico. Elementos Básicos de um Algoritmo Comando de atribuição • Determina o momento da entrada dos dados para o programa (Ex.: digitação de dados via teclado, escolha de opções via mouse, ...). • Forma geral: leia lista de identificadores Ex.: O comando leia NOTA, NUM indica que dois valores serão lidos de uma unidade de entrada. Os valores serão armazenados nas variáveis NOTA e NUM (posições de memória identificadas pelos nomes NOTA e NUM) Elementos Básicos de um Algoritmo Comando de entrada 07/04/2017 20 • Determina o momento da saída dos resultados obtidos para o usuário (apresentação em tela, impressão dos resultados, ...). • Forma geral: escreva lista identificadores e/ou constantes Ex.: O comando escreva “SALDO = ”, X indica que os conteúdos após o comando serão mostrados ao usuário através de um meio de saída (ou seja, o texto SALDO = , seguido do valor contido na variável X). Elementos Básicos de um Algoritmo Comando de saída Estrutura básica de um Algoritmo 1. INÍCIO DO ALGORITMO 2. DECLARAÇÃO DE VARIÁVEIS 3. BLOCO DE COMANDOS 4. FIM DO ALGORITMO algoritmo {soma dois numeros} declare N1, N2, D inteiro escreva "Digite dois numeros” leia N1 leia N2 D N1 + N2 escreva "A soma é igual a ", D fim algoritmo 07/04/2017 21 Tipos de dados, expressões e operadores TIPO DESCRIÇÃO Inteiro Representa valores inteiros Ex.: 2, 5, -3, 100, -151... Real Representa valores reais Ex.: 10.0, 5.6, -3.45.... Literal (ou caractere) Representa texto entre aspas duplas Ex.: “Sport Recife”, “B”, “1234” Logico Representa os valores lógicos VERDADEIRO ou FALSO Tipos de dados N u m ér ic o 07/04/2017 22 Expressões Aritméticas • Denomina-se expressão aritmética aquela cujos operadores são aritméticos e cujos operandos são constantes e/ou variáveis de tipo numérico. • Operadores aritméticos: – Adição (a + b) – Subtração (a - b) – Multiplicação (a x b) – Divisão (a / b) – Divisão inteira (a \ b) – Resto da divisão (a % b) – Exponenciação (a ^ b) Expressões Aritméticas • Prioridade das operações aritméticas: 1º - Parênteses 2º - Exponenciação 3º - Multiplicação, Divisão 4º - Adição, Subtração • Exemplos: 3 / 4 + 5 3 / (4 + 5) 3 \ 2 * 9 11 % 3 ^ 2 11 % (3 ^ 2) (11 % 3) ^ 2 3 \ 2 + (65 - 40) ^ (1/2) = 5.75 = 0.33333333 = 9 = 2 = 2 = 4 = 6 07/04/2017 23 Expressões Aritméticas • Funções matemáticas: – LOG (X) {logaritmo na base 10 de X} – LN (X) {logaritmo neperiano de X} – EXP (X) {exponencial de X} – ABS (X) {valor absoluto de X} – TRUNCA (X) {parte inteira de número fracionário X} – ARRED (X) {arredonda X para um número inteiro} – SINAL (X) { = -1, +1 ou zero, conforme o sinal de X} ... Expressões Relacionais Relações • Uma relação (ou expressão relacional) é uma comparação realizada entre dois valores do mesmo tipo básico. • Operadores relacionais: • Exemplos: – A B – NOME = “João” – B ^ 2 – 4 x A < C 07/04/2017 24 • Exercício: Dadas as variáveis numéricas X, Y, Z e as variáveis literais NOME e COR, complete o quadro a seguir com os resultados lógicos (falso ou verdadeiro) obtidos das relações: VARIÁVEIS RELAÇÕES X Y Z COR NOME X^2 + Y > Z COR = “AZUL” NOME “JOSÉ” 1 2 5 “AZUL” “PAULO” falso verdadeiro verdadeiro 4 3 1 “VERDE” “JOSÉ” 1 1 2 “BRANCO” “PEDRO” 1 2 1 “AZUL” “JOSÉ” VARIÁVEIS RELAÇÕES X Y Z COR NOME X^2 + Y > Z COR = “AZUL” NOME “JOSÉ” 1 2 5 “AZUL” “PAULO” falso verdadeiro verdadeiro 4 3 1 “VERDE” “JOSÉ” verdadeiro falso falso 1 1 2 “BRANCO” “PEDRO” falso falso verdadeiro 1 2 1 “AZUL” “JOSÉ” verdadeiro verdadeiro falso Expressões Relacionais Expressões Lógicas • É comum surgirem situações em que a execução de uma ação (ou sequência de ações) está sujeita a uma certa condição. • Esta condição é representada no algoritmo por meio de uma expressão lógica, cujos operadores são lógicos e cujos operandos são relações, constantes ou variáveis do tipo lógico. • Uma expressão lógica resulta em VERDADEIRO ou FALSO (valores lógicos) 07/04/2017 25 Operadores lógicos • E: Resulta verdadeiro se AMBAS AS PARTES forem verdadeiras; • OU: Resulta verdadeiro se UMA DAS PARTES é verdadeira; • NÃO: Nega uma afirmação. Se verdadeiro, torna-se falso; Se falso, torna-se verdadeiro. Expressões Lógicas • Exemplos: (2+5 > 4) e (3 <> 3) resulta FALSO(pois VERDADEIRO e FALSO resulta FALSO) (2=2) ou (3<1) resulta VERDADEIRO (pois VERDADEIRO ou FALSO resulta VERDADEIRO) NAO (3<1) resulta VERDADEIRO (pois FALSO resulta VERDADEIRO devido a inversão de valores definido por NÃO) Expressões Lógicas 07/04/2017 26 Tabelas-Verdade – Mostra os resultados das aplicações dos operadores lógicos conforme os valores dos operandos envolvidos: A B A E B A OU B NÃO A NÃO B V V V F F V F F Expressões Lógicas A B A E B A OU B NÃO A NÃO B V V V V F F F V F F F F A B A E B A OU B NÃO A NÃO B V V V V V F F V F V F V F F F F A B A E B A OU B NÃO A NÃO B V V V V F F V F F V V F V F V V F F F F F V Expressões Lógicas Exercício Sejam as seguintes proposições: p: OK, onde OK é uma variável lógica cujo conteúdo é verdadeiro; q: A = 0, onde o valor de A é 3; r: TESTE, onde TESTE é uma variável lógica cujo conteúdo é falso; s: B 1, onde o conteúdo de B é 2. Qual será o valor lógico (falso, verdadeiro) das conjunções: a) ps e) ps b) pr f) pr c) qs g) qs d) qr h) qr verdadeira falsa falsa falsa verdadeira verdadeira verdadeira falsa 07/04/2017 27 • Prioridade dos operadores lógicos: 1º - NÃO 2º - E 3º - OU Exemplos: a) (2>3) ou (3<2) e (2<3) resultaria FALSO b)(2>3) e (3<2) ou (2<3) resultaria VERDADEIRO Expressões Lógicas Prioridade Operador 1º 2º 3º 4º 5º Aritmético Relacional NÃO E OU Prioridade entre operadores Exercício: NOME “Ana” IDADE 20 TESTE 20 + 2 > IDADE E NÃO NOME = “Ana” OU IDADE = 20 Qual o valor de TESTE? 07/04/2017 28 Prioridade entre operadores aritméticos, relacionais e lógicos Solução: Sabemos que NOME “Ana” e IDADE 20. Logo, 20 + 2 > IDADE E NÃO NOME = “Ana” OU IDADE = 20 V V V F F V Exercício: Qual o valor de TESTE no caso abaixo? TESTE 20 + 2 > IDADE OU NÃO NOME = “Ana” E IDADE <> 20 Exercício • Escreva um algoritmo que receba dois números e calcule a média deles. • Solução: algoritmo {soma dois numeros} declare N1, N2, D inteiro escreva "Digite dois numeros” leia N1 leia N2 D (N1 + N2)/2 escreva "A soma é igual a ", D fim algoritmo
Compartilhar