Buscar

Slide de Aula - Unidade I

Prévia do material em texto

Prof. Dr. Bruno Honda
UNIDADE I
Programação de 
Computadores
 Informática está presente em todos os níveis da sociedade;
 Sociedade completamente dependente da tecnologia.
Pergunta: qual a importância da programação?
 “Era dos Dados” – era da informação;
 Inteligência artificial e machine learning;
 Programação – nova linguagem!
 Resolução de problemas cotidianos.
Introdução
 Programa é construído por meio de instruções (código): linguagem própria;
 Ex.: C++, Python, JavaScript, Pascal, Fortran, R, Julia;
 Computador: linguagem binária (0 e 1);
 Tradução: compilador (código em executável);
 Nesta disciplina: português estruturado (PORTUGOL);
 Linguagem didática;
 “Lógica de programação”.
Programação: introdução
 Fins didáticos: VisualG (última versão 3.0);
 Programa para se escrever e visualizar os códigos;
 Domínio público (gratuito);
 Mesmos comandos que utilizamos no curso;
 Vários exemplos gratuitos na internet;
 Excelente ferramenta para iniciar a programar!
Dica – VisualG
Fonte: https://sourceforge.net/projects/visualg30/
Exemplo de programa (visualG)
Fonte: https://sourceforge.net/projects/visualg30/
 Processo sequencial: jamais pular passos!
 Escrever todos os códigos (evitar copiar e colar).
 Testar sempre: um programa é construído em etapas, teste todas, sempre!
 Procurar respostas...
Zen of python’
Bonito é melhor que feio.
Explícito é melhor que implícito.
Simples é melhor que complexo.
Complexo é melhor que complicado.
Dicas (sugestões) para uma boa programação...
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 (acessível!).
Histórico
 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
 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: identificador
 Como utilizar variáveis?
 Armazenar informação.
Tipos:
 Número (inteiro, real);
 ‘string’ (caracteres);
 Lógica ou booleana: V ou F.
Variáveis
Tipos:
 Inteiro (int) – 0; 1; 2; -1; 12000; 
 Real (float) – 0.0; 1.1; 0.3333; 12000.0; 
 Caracteres (‘strings’ – str) – qualquer conjunto 
de caracteres, incluindo algarismos.
“Olá Mundo!”
“Aula de Programação de Computadores – mod. 1” 
“RG 12345678”
“1+2”
Variáveis
Use ponto ‘.’ para separar decimais!
Use aspas “ ” para textos
Declaração de variáveis
 PORTUGOL – Comando VAR;
 Sintaxe: nome_da_variavel:tipo;
 Tipos: inteiro, real, lógico, caracter;
VAR
i, j, k:inteiro;
num, x, y: real;
texto1: caracter;
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;
Atenção: geralmente é usado == para 
‘igualdade’ e != para ‘diferente’
Variáveis
Exemplos:
A:=3;
A:=A+2;
3
3 +2 = 5
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. Vamos chamar de np1, np2 media.
 PORTUGOL: escrever VAR seguido dos nomes e dos tipos de variáveis:
VAR
np1,np2,media:real;
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) 1.
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) 1.
e) Nenhuma das anteriores.
Resposta
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?
Linguagens: matemática no computador
 Operadores aritméticos:
Exemplos:
3,25+10,75
370-129
3*4
4/5
3^2
Exemplo: 5 x 5 + 5
5*5+5= 5*5+5=25+5=30
Operadores aritméticos
 Regra: prioridade (hierarquia):
1) exponenciação ^
2) multiplicação e divisão *, / 
3) adição e subtração +, -
 Quebra de hierarquia: parênteses
 Matemática: chaves { }, colchetes [ ] e parênteses ()
 Computador: somente ()
Alterar a hierarquia
Exemplo:
 5*5+5=25+5=30
 5*(5+5)=5*(10)=50
 (5*5)+5=25+5=30
 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
Alterar a hierarquia
 Para qualquer tipo de raiz:
 Ou seja, podemos sempre escrever:
 Porém cuidado com a hierarquia:
 Porém cuidado com a hierarquia:
Operador raiz
 DIV: quociente inteiro de uma divisão
 MOD: resto inteiro de uma divisão
Exemplos:
 5 DIV 2
 5 MOD 2
Exemplos de DIV e MOD
Funções matemáticas
Atenção: geralmente são usadas bibliotecas com as 
funções. Ex.: math, numpy, sympy etc.
Função Sintaxe
Cosseno COS (argumento)
Seno SEN (argumento)
Tangente TAN (argumento)
Exponencial de base 𝑒 EXP (argumento)
Logaritmo neperiano LN (argumento)
Módulo ABS (argumento)
 Operadores lógicos conectam duas sentenças: V (‘True’) ou F (‘False’)
Operadores lógicos
 Juntar duas sentenças: V ou F
Operador E (“AND”)
Exemplo:
 “estamos estudando programação E
estamos estudando música”
 Juntar duas sentenças: V ou F
Operador OU (“OR”)
Exemplo:
 “estamos estudando programação OU
estamos estudando música”
 Inverte a sentença: V ou F
Operador NÃO (“NOT”)
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; 
Qual o valor numérico da expressão abaixo, considerando que:
A:=2; B:=5; C:=1 D:=10
a) 0,91.
b) 1.
c) 2.
d) 5,47.
e) 5.
Interatividade
A*B*C/D+D/B^C/A
Qual o valor numérico da expressão abaixo, considerando que:
A:=2; B:=5; C:=1 D:=10
a) 0,91.
b) 1.
c) 2.
d) 5,47.
e) 5.
Resposta
A*B*C/D+D/B^C/A 2*5*1/10+10/5^1/2=2
 É 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 gera-se um ou mais valores (informações de saída);
 Ferramenta: lógica.
Algoritmos
 O algoritmo deve ser uma sequência finita de etapas efetivamente definidas, ou seja, deve 
ter começo e fim;
Pode ser representado por exemplo:
 Fluxograma (estruturação).
 Português estruturado (Portugol). 
Algoritmo
Etapas:
 Nome do programa;
 Declaração de variáveis;
 Início;
 Processamento (entrada e saída);
 Fim.
Como construir um programa?
Estrutura de um programa
 Em fluxograma:
Início/fim
Entrada de dados
Saída de dados
Cálculo/processamento
Estrutura de um programa
 Em português estruturado:
nome_do_programa
VAR
inicio
<estrutura do programa>;
fim.
Entrada e saída
Programação: 
 Como inserir uma informação no computador? (ENTRADA)
 Como mostrar (imprimir) na tela uma informação? (SAÍDA)
 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 ‘input’
Comando de entrada: leia();
O comando leia é um comando em que se pede ao computador que atribua um valor digitado 
pelo usuário a 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);R 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.
Comando: escreva() – comando ‘print’ 
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, as quais devem ser separadas por 
vírgula, e não devem aparecer entre aspas.
escreva (“saída de dados”)
escreva(A)
“saída de dados” A
Comando: escreva() 
Ex.: escreva(“Olá mundo!”)
Escreva 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);
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.
Interatividade
Início
“Entre com um número inteiro:”
N
3ºN
Fim
(1)
(2)
(3)
(4)
(5)
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
Início
“Entre com um número inteiro:”
N
3ºN
Fim
(1)
(2)
(3)
(4)
(5)
Algoritmos: exemplo
 Vamos montar um programa que, dado um número inteiro, retorne o triplo desse valor.
Variáveis:
 Número (N), triplo (3*N)
 Triplo:=3*N
Exemplo: fluxograma
 Passo 1: entrar com informação
 Passo 2: processar a informação
 Passo 3: mostrar na tela o resultado
Início
Escreva (“Entre com um número inteiro:”)
Leia (N)
triplo:=3*N
Escreva (triplo)
Fim
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);
Algoritmos: 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
Início
Escreva (“Entre com dois número reais.”)
Leia (N1,N2)
soma:=N1+N2
Escreva (“A soma é”, soma)
Fim
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);
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) C.
d) 17.
e) 27.
Interatividade
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) C.
d) 17.
e) 27.
Resposta
ATÉ A PRÓXIMA!

Continue navegando