Baixe o app para aproveitar ainda mais
Prévia do material em texto
Unidade I PROGRAMAÇÃO DE COMPUTADORES Prof. Dr. Bruno Honda Introdução A informática está presente em todos os níveis da sociedade. Sociedade completamente dependente da tecnologia. Pergunta: qual a importância da programação? “esconder os códigos binários”; criação e criatividade; acesso e controle de informação Lógica de programação Presenter Presentation Notes Bom, o termo informática é um termo completamente inserido na sociedade atual, em todos os níveis. Tecnologia de código de barra, compras online, entretenimento, quase todos o que fazemos é baseado em informática. Principalmente hoje, onde o acesso à informação é muito rápida, e pode ser feita de praticamente qualquer local que tenha acesso à internet. Qual a importância da informática na sociedade? A resposta é muito vaga, pois inclui diversos fatores, por exemplo na parte de diversão, aparelhos que nos fazem trabalhar menos e até como fator social (o poder das marcas). Porém eu gostaria de focarno seguinte aspecto: informática é algo que nos dáacesso e controle de informações, que na minha opinião é a palavra chave para o começo desse século. “TROCA DE INFORMAÇÃO” Neste curso, que é voltado para o curso de exatas, o objetivo é utilizar o computador e uma ferramenta chamada planilha eletrônica, que como vamos ver no decorrer da aul, faz um número muito grande de tarefas e é bastante intuitivo para se trabalhar. Programação: introdução O programa é construído através de um código: linguagem própria. Ex. C++, Phyton, JavaScript, Pascal, Fortran, Julia. Arduíno e Raspberry PI (hardwre). Computador: linguagem binária. Tradução: compilador (código em executável). Nesta disciplina: português estruturado (PORTUGOL). “Lógica de programação”. Dica Fins didáticos: VisualG. Domínio público (gratuito). Mesmos comandos que utilizamos no curso. Vários exemplos gratuitos na internet. Excelente ferramenta para iniciar a programar! Exemplo de programa (visualG) Histórico Necessidade: contas muito extensas, ou números grandes; contagem de números muito grandes; precisão e rapidez nas contas; ábaco – E.N.I.A.C. – transistor; atualmente: alto processamento – facilidade de uso. Variáveis Unidade básica para se construir um programa. Espaço físico real: ex.: trilha magnética. Conceito: caixa com tampa. Etiqueta: identificador. Variáveis: identificador Declaração de variáveis: nome, tipo. Regras: nome de variável não pode começar com algarismos e é “case sensitive” (a≠A). Dica: evitar acentos, símbolos matemáticos, símbolos especiais. Variáveis Como utilizar variáveis? Armazenar informação. Tipos: número (inteiro, real); caractere; lógica ou booleana: V ou F. Declaração de variáveis PORTUGOL (VAR); Sintaxe: nome_da_variavel:tipo; Tipos: inteiro, real, lógico, caracter; VAR i, j, k: inteiro; num, x, y: real; texto1: caractere; n1, n2: logico; OBS.: ; como “token” de encerramento. Variáveis: atribuição Como atribuir uma informação a uma variável? Comando de atribuição. Exemplos: A:=7; A<-7; A←7; Variáveis Exemplos: A:=3; A:=A+2; Variáveis: exemplos Problema: desejamos calcular a média aritmética de duas provas, np1 e np2. Quantas variáveis são necessárias? Em princípio, o próprio problema sugere o número de variáveis no enunciado. Prova1, Prova2 e média são as informações relevantes. Logo, precisamos de pelo menos 3 variáveis segundo a lógica adotada: VAR np1,np2,media:real; Interatividade Considere as atribuições abaixo: K:=10 K:=K+2 K:=0 Qual o valor final armazenado na variável K? a) 10 b) 12 c) 0 d) 2 e) Nenhuma das anteriores. Interatividade Considere as atribuições abaixo: K:=10 K:=K+2 K:=0 Qual o valor final armazenado na variável K? a) 10 b) 12 c) 0 d) 2 e) Nenhuma das anteriores. Linguagens: matemática e computador Como realizar cálculos no computador? Matemática: símbolos. Linguagem matemática – linguagem computador. Exemplos: frações; expoentes; raiz quadrada. Pergunta: como representar as operações aritméticas? Presenter Presentation Notes A primeira coisa que a gente precisa saber, é como se comunicar com o computador. Na área de exatas, mais especificamente, querermos saber como realizar cálculos no computador? Como fazer contas no computador? Em princpipio, sabemos como realizar esses cálculos matematicamente, pois conhecemos a linguagem da matemática. Sabemos os símbolos das operações básicas (+, -) e algumas eperações mais complexas como raiz quadrada, três elevado ao quadrado entre várias. Para todas essas operações, sabemos usalar a linguagem simbólica da matemática. Porém, como fazer para entrar com essas informações no computador? Como fazer o computador reconhecer a linguagem matemática? Como representar frações, expoentes, e raiz quadrada usando o teclado alfa numérico do computador? Linguagens: matemática no computador Operadores aritméticos: Exemplos: 3,25+10,75 370-129 3*4 4/5 3^2 Presenter Presentation Notes Resposta: fazendo uma tradução dos símbolos, da matemática para o computador. Vamos começar com as operações básicas: soma, subtração, divisão, multiplicação e exponenciação. Soma e subtração são fáceis, pois esses símbolos existem no teclado. EX> 3,25+10,17. EX>370-129. Como não temos os outros símbolos, o asterisco faz o papel da multiplicação, por exemplo 5*4 e usamos a barra simples para divisão, EX> três quintos – 3/5. Para escrever expoentes, por exemplo três ao quadrado, usamos o símbolo “acento circunflexo”, onde os alunos costumam chamar informalmente de chapeuzinho. Então três ao quadrado se escreve Operadores aritméticos REGRA: prioridade (hierarquia): 1) Exponenciação ^ 2) Multiplicação e divisão *, / 3) Adição e subtração +, - Exemplo: 5*5+5= 5*5+5=25+5=30 Presenter Presentation Notes Precisamos apenas saber duas informações para acertar todas as contas que vamos fazer no computador. O primeiro é o conceito de prioridade das operações em matemática. Porém em informática, o termo hierarquia é mais adequado, e a hierarquia é a seguinte: primeiro realizamos as operações com exponenciação. Sempre. Dois, em segunda ordem de hierarquia, multiplicação e divisão, na ordem que aparecerem! E por último soma e subtração. Notem que é recorrente aparecer em redes sociais problemas do tipo essa expressão mostrada ao lado: sete mais sete dividido por sete mais sete menos sete. Qual o resultado correto? Existrem várias manteiras de proceder o cálculo? Não! Precisamos respeitar a hierarquia! Portanto, primeiro a divisão deve ser feita em prioridade à soma e subtração. Então 7/7=1 e a conta fica 7+1+7-7=8 Próximo exemplo: -1 mais três elevado à dois mais quatro elevado à dois mais um. Primeiro realizamos os exmpoentes, 3^2=9, 4^=16 e então podemos somar e subtrair: -1+9+16+1=25 Alterar a hierarquia Quebra de hierarquia: parênteses. Matemática: chaves { }, colchetes [ ] e parênteses (). Computador: somente (). Exemplo: 5*5+5=25+5=30 5*(5+5)=5*(10)=50 (5*5)+5=25+5=30 Presenter Presentation Notes Segunda informação relevante para jamais errarmos os cálculos no computador: o uso de parênteses pode alterar a hierarquia. Ou seja, podemos forçar a quebra de hierarquia através da utilização de parênteses. Em matemáticas, temos três símbolos usados para quebrar hierarquia, chamados chaves, colchetes, e parênteses, que são resolvidos nesta ordem, de dentro para fora, mas no computador somente faremos uso de parêntees, OK? Vejamos os exemplos ao lado: O primeiro, está escrito 5*5+5 e por questão de hierarquia resolvo primiro o 5*5=25 e depois somo com 5 =30. Porém veja a segunda expressão, com parênteses: desta vez sou obrigado a fazer a conta dentro do parênteses primeiro! Ou seja, a conta de dentro é 5+5 e5*10=50. No terceiro exemplo, preciso fazer a operação em parênteses em primeiro lugar 2+1=3. Desta forma, reescrevendo a expressão e realizando os cálculos segundo a hierarquia, primeiro divisão e multiplicação na ordem que aparecerem, e depois as somas. Ou seja, 2+(3/3)*5=2+1*5=2+5= Alterar a hierarquia Exemplo: 7+7/7+7*7-7=7+1+49-7=50 (7+7)/7+7*7-7=14/7+7*7-7=2+49-7=44 7+7/7+7*(7-7)=7+1+7*0=8 Presenter Presentation Notes Segunda informação relevante para jamais errarmos os cálculos no computador: o uso de parênteses pode alterar a hierarquia. Ou seja, podemos forçar a quebra de hierarquia através da utilização de parênteses. Em matemáticas, temos três símbolos usados para quebrar hierarquia, chamados chaves, colchetes, e parênteses, que são resolvidos nesta ordem, de dentro para fora, mas no computador somente faremos uso de parêntees, OK? Vejamos os exemplos ao lado: O primeiro, está escrito 5*5+5 e por questão de hierarquia resolvo primiro o 5*5=25 e depois somo com 5 =30. Porém veja a segunda expressão, com parênteses: desta vez sou obrigado a fazer a conta dentro do parênteses primeiro! Ou seja, a conta de dentro é 5+5 e 5*10=50. No terceiro exemplo, preciso fazer a operação em parênteses em primeiro lugar 2+1=3. Desta forma, reescrevendo a expressão e realizando os cálculos segundo a hierarquia, primeiro divisão e multiplicação na ordem que aparecerem, e depois as somas. Ou seja, 2+(3/3)*5=2+1*5=2+5= Operador raiz Para qualquer tipo de raiz: Ou seja, podemos sempre escrever: Porém, cuidado com a hierarquia: Presenter Presentation Notes Uma dica: ainda não comentei sobre operação de radiação, por exemplo, raiz quadrada de dois. Para isso, vou usar uma identidade matemática bastente conhecida: se vc não se lembra ou ainda tem dúvidas, faça uma pesquisa! A propriedade diz que se eu extraio a raiz b-ésima de um número x elevado à uma potência a, posso escrever então que x elevado a a/b. Por exemplo, raiz de três. Quando não aparecenenhum número no radical, geralmente estamos falando de raiz quadrada, ou seja, embora não seja necessário escrever existe um índice dois. O número 3 também, embora não apareça explicitamente, ele está elevado à potência 1. Portanto raiz quadrada de 3 é 3 elevado à ½.. Da mesma maneira, raiz quarta de 77 elevado ao cubo pode ser escreita como 77 elevado a ¾. Mas tome cuidado com a hierarquia! Dois elvado a ½, sem parênteses, é 2^1/2=2/2=1. Com parênteses, forçamos a hierarquia ser quebrada, e lemos a segunda expressão como dois elevado a ½ ou seja, raiz quadrada de dois. Exemplos de DIV e MOD DIV: quociente inteiro de uma divisão. MOD: resto inteiro de uma divisão. Exemplos: 5 DIV 2 5 MOD 2 Funções matemáticas Operadores lógicos Operadores lógicos conectam duas sentenças: V ou F. Operador E (“AND”) Juntar duas sentenças: V ou F. Exemplo: “estamos estudando programação E estamos estudando música”. Operador OU (“OR”) Juntar duas sentenças: V ou F Exemplo: “estamos estudando programação OU estamos estudando música”. Operador NÃO (“NOT”) Inverte a sentença: V ou F. Exemplo: “estamos estudando programação”. “estamos estudando música”. Variáveis e cálculos Podemos agora utilizar as variáveis em cálculos matemáticos: area:=3,14*raio^2; x:=w+y+z; b:= (N MOD 2); i:=i+1; Interatividade Qual o valor numérico da expressão abaixo, considerando que: A:=2; B:=5; C:=1 D:=10 A*B*C/D+D/B^C/A a) 0,91 b) 1 c) 2 d) 5,47 e) 5 Resposta Qual o valor numérico da expressão abaixo, considerando que: A:=2; B:=5; C:=1 D:=10 A*B*C/D+D/B^C/A a) 0,91 b) 1 c) 2 d) 5,47 e) 5 2*5*1/10+10/5^1/2=2 Algoritmo É o passo a passo envolvido na resolução de um problema. É um procedimento definido, com etapas finitas, no qual se recebem um ou mais valores (dados de entrada) e geram-se um ou mais valores (informações de saída). Ferramenta: lógica. Algoritmo O algoritmo deve ser uma sequência finita de etapas efetivamente definidas, ou seja, deve ter começo e fim. Podem ser representados, por exemplo: Fluxograma (estruturação); Português Estruturado (Portugol); Como construir programas? Etapas: nome do programa; declaração de variáveis; início; processamento (entrada e saída); fim; Estrutura de um programa Em fluxograma: Estrutura de um programa Em português estruturado: nome_do_programa VAR a,b,c:real; i.j:inteiro; inicio <estrutura do programa>; fim. Entrada e saída Programação: Como inserir uma informação? Como mostrar (imprimir) na tela uma informação? Como inserir uma informação e armazenar (atribuir) essa informação em uma variável? Como imprimir na tela um texto personalizado, ou como imprimir na tela uma informação armazenada em uma variável? Comandos: leia() Comando de entrada: leia(); O comando leia é um comando onde se pede ao computador que atribua um valor digitado pelo usuário á uma variável. Note que é um comando de entrada, ou seja, espera-se que o usuário literalmente digite um valor e aperte a tecla “return” (“enter”). Ex: leia(R); Comando leia Ex.: Leia(R); Computador espera o usuário digitar um valor, e após o usuário pressionar “enter”, a informação é armazenada na variável R. Comandos: escreva() Comando de saída: escreva( ); O comando escreva, literalmente, imprime um texto na tela do computador. O texto impresso pode ser digitado pelo usuário, e será colocado entre aspas “ ”. Sempre. O comando escreva também imprime o valor de variáveis, e essas devem ser separadas por vírgula, e não devem aparecer entre aspas. escreva (“saída de dados”); escreva(A); Comandos: escreva() Ex.: Escreva(“Olá mundo!”); Escreve uma informação na tela: texto (“entre aspas”) ou valor armazenado em uma variável (nome da variável). Exemplo de entrada e saída Escreva(“Digite um valor:”); Leia(x); Escreva(“x=”, x); Interatividade Considere o fluxograma abaixo. Qual o comando a ser utilizado em PORTUGOL para a linha 3? a) Escreva(N); b) Escreva(“N”); c) Leia (N); d) Leia (“N”); e) Nenhuma das anteriores. Resposta Considere o fluxograma abaixo. Qual o comando a ser utilizado em PORTUGOL para a linha 3? a) Escreva(N); b) Escreva(“N”); c) Leia (N); d) Leia (“N”); e) Nenhuma das anteriores. Algorítmos: exemplo Programa que, dado um número inteiro, retorno o triplo deste valor. Variáveis: Número (N), triplo (3*N). Triplo:=3*N Exemplo: fluxograma Exemplo: Portugol Triplo_de_um _numero VAR N,triplo:real; Inicio Escreva(“Entre com um número inteiro”); Leia(N); triplo:=3*N; Escreva(triplo); Fim. Simulação para N=1000 Escreva(“Entre com um número inteiro”); Leia(N); triplo:=3*N; Escreva(triplo); Exemplo: Portugol Triplo_de_um _numero VAR N,triplo:real; Inicio Escreva(“Entre com um número inteiro”); Leia(N); triplo:=3*N; Escreva(“O triplo do número é:”, triplo); Fim Simulação para N=200 Escreva(“Entre com um número inteiro”); Leia(N); triplo:=3*N; Escreva(“O triplo do produto é:”, triplo); Algorítmos: exemplos Dados dois números reais, escreva um programa em Português Estruturado e um fluxograma que realize a soma desses dois números. Variáveis: Primeiro número (N1), segundo número (N2), soma; Soma:=N1+N2; Fluxograma Português estruturado media_de_dois_numeros VAR N1,N2,soma:real; Inicio Escreva(“Digite dois números reais:”); Leia(N1,N2); Soma:=N1+N2; Escreva(“A soma é:”, soma); Fim Simulação para N1=1 e N2=2 Escreva(“Digite dois números reais:”); Leia(N1,N2); Soma:=N1+N2; Escreva(“A soma é:”, soma); Interatividade Considere o programa a seguir. Qual a saída do programa se o usuário digitaros números 4 e 5? a) 4 b) 5 c) 20 d) 17 e) 27 Resposta Considere o programa a seguir. Qual a saída do programa se o usuário digitar os números 4 e 5? a) 4 b) 5 c) 20 d) 17 e) 27 ATÉ A PRÓXIMA! Slide Number 1 Introdução Programação: introdução Dica Exemplo de programa (visualG) Histórico Variáveis Variáveis: identificador Variáveis Declaração de variáveis Variáveis: atribuição Variáveis Variáveis: exemplos Interatividade Interatividade Linguagens: matemática e computador Linguagens: matemática no computador Operadores aritméticos Alterar a hierarquia Alterar a hierarquia Operador raiz Exemplos de DIV e MOD Funções matemáticas Operadores lógicos Operador E (“AND”) Operador OU (“OR”) Operador NÃO (“NOT”) Variáveis e cálculos Interatividade Resposta Algoritmo Algoritmo Como construir programas? Estrutura de um programa Estrutura de um programa Entrada e saída Comandos: leia() Comando leia Comandos: escreva() Comandos: escreva() Exemplo de entrada e saída Interatividade Resposta Algorítmos: exemplo Exemplo: fluxograma Exemplo: Portugol Simulação para N=1000 Exemplo: Portugol Simulação para N=200 Algorítmos: exemplos Fluxograma Português estruturado Simulação para N1=1 e N2=2 Interatividade Resposta Slide Number 56
Compartilhar