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!