Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Governo do Estado do Piauí Universidade Estadual do Piauí – UESPI Centro de Tecnologia e Urbanismo – CTU CURSO DE BACHARELADO EM ENGENHARIA ELÉTRICA DISCIPLINA: PROGRAMAÇÃO I PROFESSOR: GUILHERME ENÉAS VAZ SILVA 0. Relembrando Introdução à Computação - Por que surgiu o primeiro computador? - Hardware x Software - A história dos sistemas de numeração: o pastor e as ovelhas - Algoritmos e Linguagens de programação Linguagem Delphi Procedure Exemplo1; var i, total: integer; begin total := 0; for i := 1 to 5 do total := total + i; end; Linguagem Java public int soma() { int total = 0; for (int i=1; i <=5; i++) total = total + i; } Linguagem Assembly push ebp mov ebp, esp add esp, -$0c ... Linguagem de Máquina 01010101 000101111101100 ... - Mas... por que programar? - Everybody in this country should learn how to program a computer… because it teaches you how to think. Steve Jobs - Quem é que não sabe mexer no computador? Ou mudar os canais da televisão no controle remoto? Ou jogar qualquer tipo de jogo no videogame ou no celular? Pois bem, bastante gente deve ter respondido um “sim” para algumas dessas perguntas. Agora lá vai outra. Quem é que sabe como funcionam esses dispositivos por dentro? Para o professor e designer Gilson Domingues, a robótica e a programação precisam ser inseridas nos currículos das escolas já que, além de oferecer um novo conhecimento para os alunos, é uma maneira eficiente de contextualizar os conteúdos de exatas. - No Reino Unido, as escolas já são obrigadas a ensinar linguagem de programação para alunos a partir dos cinco anos. Quando anunciou a mudança na grade escolar, o Departamento de Educação do país afirmou que essa era uma medida para garantir que toda criança saísse do colégio preparada para a vida numa Grã-Bretanha moderna. 2 - Já na Austrália, escolas do primário substituíram as disciplinas de história e geografia por programação. Quando anunciou a reforma em maio de 2015, o ministro australiano da Indústria, Inovação e Ciência, Christopher Pyne, disse que os alunos precisam entender o pensamento computacional e como ele pode contribuir para o futuro. - Choque de realidade no mundo: a fundação Code.org publica em 2013 o vídeo: What most schools don't teach, onde personalidades como Bill Gates, Mark Zuckerberg, Will.i.am do Black Eyed Peas (???), dentre outros falam sobre a importância de ensinar computação a jovens. - “Se quisermos que os Estados Unidos continuem sendo um país de ponta, precisamos que os jovens americanos dominem as ferramentas e a tecnologia que mudarão o jeito de fazermos as coisas. Não fiquem apenas jogando no celular de vocês. Escrevam programas com ele". Barack Obama - Nosso presidente Temer deveria “seguir a deixa” e falar algo tipo: Brasileiros, menos Snaps e Stories e mais HTML e Java, por favor! - Então, se um jovem deve saber programar, imagine você, candidato a Engenheiro Eletricista!!! Por aqui precisaremos de um conhecimento de programação para aplicações em em Potência, em Telecom, em Automação... 1. Introdução - Lógica de programação - Técnica de encadear pensamentos para atingir determinado objetivo - Por que aprender? - Algoritmo - Sequência de passos finitos (ações) que levam à solução de um problema - NÃO é a solução de um problema - Exemplo: algoritmo para levantar da cama (usamos algoritmos para ações cotidianas!) - Com o algoritmo podemos ensinar uma máquina a fazer alguma tarefa específica - A receita é um algoritmo! Por exemplo: fritar um ovo 1. Pegar frigideira, ovo, óleo e sal 2. Colocar óleo na frigideira 3. Acender o fogo 4. Colocar a frigideira no fogo 5. Esperar o óleo esquentar 6. Colocar o ovo e sal 7. Retirar quando pronto - Cada linha do algoritmo corresponde a uma instrução - O algoritmo é um conjunto de instruções - Instrução: indica a um computador uma ação elementar a ser executada - Um algoritmo pode ser simples (trocar uma lâmpada) ou complicado (jogo da velha) - Programa de computador - Algoritmo escrito em uma linguagem de computador - Ou seja, é a forma com a qual nos comunicamos com o computador 3 - O mais importante de um programa é a sua lógica, o raciocínio utilizado para resolver o problema, que é exatamente o algoritmo - A única linguagem que o computador entende é a linguagem de máquina (0 e 1) - E agora? O ser humano trabalha com algoritmos e o computador com 0 e 1! Solução: linguagens de programação (C, C++, Java, Pascal, Pytron, FORTRAN, Ruby, ALGOL...) - Quem faz a tradução de um programa para linguagem de máquina é o compilador - Ele lê a primeira instrução, faz uma consistência de sua sintaxe e, se não houver erro, converte-a para linguagem de máquina; e segue para instrução seguinte 2. Variável, expressão, função, atribuição, entrada e saída 2.1 Variável - Local na memória principal - Endereço que armazena um conteúdo - Em linguagens de alto nível, nos é permitido dar nome a esse endereço para facilitar a programação - O conteúdo pode ser de vários tipos: inteiro, real, caractere (string, literal), lógico (booleano) - Uma vez definidos o nome e o tipo de uma variável, não podemos alterá-los no decorrer de um algoritmo. Entretanto, o conteúdo da variável é um objeto de constante modificação no decorrer do programa, de acordo com o fluxo de execução do mesmo - Declaração - No início do algoritmo (ou linha de código) -Ex.: int a; real raiz; tipo da variável – nome da variável string nome; lógico casado; - Alocar significa reservar uma área de memória (endereço de memória) para a variável - O algoritmo sabe os tipos de operações que cada variável pode realizar 2.2 Expressões - Conjunto de variáveis e constantes numéricas que se relacionam por meio de operadores compondo uma fórmula que, uma vez avaliada, resulta num valor. 2.2.1 Aritméticas - São aquelas cujo resultado da avaliação é do tipo numérico. Somente o uso de operadores aritméticos e variáveis numéricas é permitido em expressões deste tipo - Exemplos - Soma: a+b ; - Subtração: c-2 ; - Multiplicação: 5x7 ; - Divisão: soma/4 - Exponenciação: a**2 ou a^2 ; - Resto da divisão inteira (mod): mod ou % - Quociente da divisão inteira (div): div ou / 2.2.2 Relacional - Comparação realizada entre dois valores de mesmo tipo básico 4 Operadores Matemática Usaremos Igual Diferente Maior que Menor que Maior ou igual a Menor ou igual a 2.2.3 Lógica ou booleana - Expressões cujos operadores são lógicos e cujos operandos são relações, constantes e/ou variáveis do tipo lógico - Exemplo: suponha duas perguntas feitas a 4 pessoas. Se a resposta do candidato for falsa, deverá falar 0, caso contrário, falará 1. Suponha também que só será chamado para entrevista o candidato que dominar as duas linguagens. Qual candidato será convidado para a entrevista? 2.3 Atribuição - Principal forma de se armazenar um dado em uma variável - Fornecer um valor a uma variável onde o tipo desse valor tem de ser compatível com a variável variável = expressão;- Nessa linha de comando temos o nome da variável, o símbolo de atribuição, a expressão (que pode ser matemática, lógica ou literal) cuja avaliação (resultado) é atribuída ao identificador (variável), e, por fim, o símbolo que finaliza o comando - Exemplo 1: x = 10; - Como se lê: a variável x recebe o valor 10 O que faz o computador? - Nesse momento, na memória do computador, onde já estava alocado um espaço para a variável x (realizado na declaração da variável), essa variável recebe o valor 10 Operador Matemática Usaremos Conjunção Disjunção Negação Candidato Você conhece a linguagem C? Você conhece a linguagem Pascal? Saída 1 0 0 2 0 1 3 1 0 4 1 1 10 x Memória Principal (MP) 5 - Exemplo 2: x = a + b; - Como se lê: a variável x recebe o resultado do conteúdo da variável a somado ao conteúdo da variável b) O que faz o computador? - Nesse momento, na memória do computador, onde já estava sendo alocado espaço para as variáveis a, b e x, o conteúdo da variável x vai receber a soma do conteúdo de a e b) - No comando de atribuição em que o valor é representado por uma expressão aritmética, lógica ou literal, estas devem ser avaliadas em primeiro lugar, para que, então, o resultado obtido seja armazenado na variável - Exemplo 3: troca de valor de 2 variáveis Situação 1 – erro! 1° momento a = 10; b = 20; 2° momento a = b; 3° momento b = a; Situação 2 1° momento a = 10; b = 20; aux = a; 2° momento a = b; 3° momento b = aux; 2.4 Comando de entrada - Permite que o usuário digite dados, possibilitando um “diálogo com o computador” 2.5 Comando de saída - Enviar um resultado, uma informação ao usuário - O valor de cada variável é buscado na memória e inserido em um dispositivo de saída (tela do computador ou impressora, por exemplo) - Exemplo algoritmo IO string nome; inicio leia(nome); escreva(“Seu nome é: ”, nome); fim a b MP 2° momento a b MP 1° momento a b MP 3° momento 1° momento a b MP aux 2° momento MP a b aux 3° momento MP a b aux 6 2.6 Exercícios de algoritmos i) Criar um algoritmo que leia dois valores numéricos para as variáveis A e B, efetue a troca dos valores de forma que a variável A passe a ter o valor da variável B e que a variável B passe a ter o valor da variável A. Apresentar os valores trocados. ii) Criar um algoritmo que calcule a área de um triângulo. iii) Criar um algoritmo que imprima a média aritmética entre três números digitados pelo usuário. iv) Criar um algoritmo que possa entrar com o saldo de uma aplicação e imprima o novo saldo, considerando o reajuste de 1%. v) Antes de o racionamento de energia ser decretado, quase ninguém falava em quilowatts; mas agora, todos incorporaram essa palavra em seu vocabulário. Sabendo-se que 100 quilowatts de energia custa um sétimo do salário mínimo, fazer um algoritmo que receba o valor do salário mínimo e a quantidade de quilowatts gasta por uma residência e calcule (e imprima). a) O valor em reais de cada quilowatt; b) O valor em reais a ser pago; c) O novo valor a ser pago por essa residência com um desconto de 10%. vi) Para vários tributos, a base de cálculo é o salário mínimo. Fazer um algoritmo que leia o valor do salário mínimo e o valor do salário de uma pessoa. Calcular e imprimir quantos salários mínimos ela ganha.
Compartilhar