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