introdução a programação visão geral - sauloifmg.com.brsauloifmg.com.br/disciplinas/intro/aula...
TRANSCRIPT
Introdução a programação – Visão geral
Professor: Saulo Henrique Cabral Silva
Instituto Federal de Minas Gerais Campus Ponte Nova
Conceitos – lógica/algoritmo
• A lógica é usada no dia a dia das pessoas para solucionar problemas de forma eficiente.
• Algoritmo representa de forma estruturada, uma sequência de ações, que levam a um resultado esperado. – Algoritmo: exercício de raciocínio (definir o problema).
– Técnicas de programação: exercício da implementação.
2
Vamos deixar tudo fácil…
• De forma genérica, a construção de um algoritmo se resume as seguintes etapas:
1. Entendimento do problema;
3
Vamos deixar tudo fácil…
• De forma genérica, a construção de um algoritmo se resume as seguintes etapas:
1. Entendimento do problema;
2. Elaboração da solução;
4
Vamos deixar tudo fácil…
• De forma genérica, a construção de um algoritmo se resume as seguintes etapas:
1. Entendimento do problema;
2. Elaboração da solução;
3. Codificação da solução.
5
É importante sempre se lembrar que…
• Para cada ação ocorrer, é necessário que as ações anteriores a esta já tenham sido executadas.
• Cada ação pode conter outros eventos associados (outros algoritmos).
6
Linguagens de Baixo Nível
• São Linguagens totalmente dependentes da máquina (computador). Não é portável... – Linguagem de máquina: Utiliza-se das operações fundamentais para o
seu funcionamento. Consiste na combinação de 0’s e 1’s para formar os “comandos” entendíveis pelo processador da máquina.
– Linguagem Assembler: Derivação da Linguagem de máquina. Formada por abreviaturas de letras e números (chamados de mnemotécnicos). Esta linguagem foi prelúdio dos programas
tradutores de códigos implementados
em assembler para código de máquina.
8
Escovador de Bit!!!
Linguagens e Baixo Nível - exemplos
9
0x 60 00 00 80 0x A4 00 00 00 0x 60 01 00 84 0x A4 01 01 00 0x 60 02 00 00 0x 60 03 00 04 0x 60 04 00 00 0x 08 00 00 02 0x 20 00 00 03
IMM R0, 0x80 LOAD R0, R0 IMM R1, 0x84 LOAD R1, R1 IMM R2, 0x0 IMM R3, 0x4 IMM R4, 0x0 STORE R0, R2 ADD R0, R0, R3
Código de máquina Código Assembler (mips variação simples)
Linguagens de alto nível
• São Linguagens que se encontram mais “próximas” à linguagem natural.
• Aqui não nos preocupamos com a arquitetura (desenho e instruções) dos processadores. – Código parcialmente portável para várias plataformas.
• Terceira geração de Linguagens
orientadas a objetos.
10
Nível 1
Nível 2
Nível 3
Nível 4
Orientação a Objetos
Portugol - Estrutura
• É uma pseudolinguagem que permite ao programador pensar no problema em si e não na tecnologia (linguagens/ frameworks) que serão utilizadas para a construção/execução do algoritmo.
• Estrutura geral do portugol: Programa {
função inicio ( ) { ...
COMANDOS SÃO INSERIDOS AQUI!!!! ... }
}
13 https://sourceforge.net/projects/portugolstudio
Portugol - Estrutura
• Declaração de variáveis – É um local que armazena um tipo específico de
conteúdo.
– Contém um valor que se modifica durante a execução de um programa.
– Possui um identificador (nome), que pode ser representado:
15
TIPO Identificador
Portugol - Estrutura
16
inteiro: sem a parte decimal (idade)
real: números que exigem sua representação decimal (preço)
caracter: nomes em geral (endereço)
logico: verdadeiro
Portugol – nunca faça!!!
• Não é possível definir variáveis de diferentes tipos com o mesmo identificador.
• Tomar cuidado em relação a sintaxe da linguagem. Não é possível ter identificadores com o nome de palavras reservadas e caracteres de operações.
• Letras maiúsculas e minúsculas são
tratadas de forma diferente.
17
Portugol – comados básicos
• O comando de atribuição é utilizado para atribuir um valor a uma variável.
• Para isso utilizamos o símbolo “ = ”
• X = 10
19 0x11FF
=
Portugol – comandos básicos
• A notação usada para expressões é basicamente a mesma utilizada na matemática... Alguns operadores que usaremos em breve:
– Aritméticos: +,-, =, *, /, %
– Lógicos: e, ou, nao
– Relacionais: =, !=, >, >=, <, <=
20
Portugol – Operadores específicos
• Para operações mais específicas utilizamos o pacote Matemática: inclua biblioteca Matematica --> mat
potencia = mat.potencia( base, potencia)
raiz_quadrada = mat.raiz ( radicando, indice)
• Existe ainda outra biblioteca que vamos utilizar
muito: Util
inclua biblioteca Util --> u
21
Portugol – Exemplos (como fazer…)
– Atribuição de expressões
programa {
funcao inicio () {
inteiro valor
inteiro x, y
x = 10
y = 5
valor = x + y * 2
}
}
22
Portugol – Exercícios
• Desenvolva um algoritmo em portugol para somar dois valores inteiros (10 + 5). Para “treinar” utilize: – 2 variáveis para armazenar os dois valores informados no enunciado...
– 1 variável para armazenar o resultado do calculo.
23
Portugol – Exercícios
• Desenvolva um algoritmo em portugol para somar dois valores inteiros (10 + 5)
inteiro x, y, z
x = 10
y = 5
z = x + y
24
Portugol – Exercícios
• Qual o valor de D, ao final do processo...
logico: a, b, c, d, y, z
a = verdadeiro
b = falso
c = falso
d = falso
y = falso
z = verdadeiro
d = (nao (a e b)) ou ((d e c) ou (y ou z))
25
Portugol – Entrada e saída de dados
• Interação com dispositivos de entrada e saída.
• Um programa pode receber um dado informado através de um comando de leitura.
• Também pode ser necessário conhecer o resultado de uma determinada operação.
27
Portugol – Entrada e saída de dados
– Leia Inteiro x
leia(x)
– Escreva
escreva (“informacao”)
escreva(x)
28
Exemplo para ser sempre consultado
• Calcular a soma de dois números informados pelo usuário: – Etapa 1
Sabemos que vamos calcular a soma de dois números
30
Exemplo para ser sempre consultado
• Calcular a soma de dois números informados pelo usuário: – Etapa 1
Sabemos que vamos calcular a soma de dois números
– Etapa2
Os dados necessários serão os dois valores, que colocaremos em duas variáveis A e B, de tipo inteiro, e uma terceira...
31
Exemplo para ser sempre consultado
• Calcular a soma de dois números informados pelo usuário: – Etapa 1
Sabemos que vamos calcular a soma de dois números
– Etapa2
Os dados necessários serão os dois valores, que colocaremos em duas variáveis A e B, de tipo inteiro, e uma terceira...
– Etapa3
A obtenção dos dados é simples e direta pelo usuário
32
Exemplo para ser sempre consultado
• Calcular a soma de dois números informados pelo usuário: – Etapa 1
Sabemos que vamos calcular a soma de dois números
– Etapa2
Os dados necessários serão os dois valores, que colocaremos em duas variáveis A e B, de tipo inteiro, e uma terceira...
– Etapa3
A obtenção dos dados é simples e direta pelo usuário
– Etapa4
O processo será realizado pelo operador soma, e o resultado da operação será armazenado na terceira variável.
33
Exemplo para ser sempre consultado
• Calcular a soma de dois números: – Etapa 1
Sabemos que vamos calcular a soma de dois números
– Etapa2 Os dados necessários serão os dois valores, que colocaremos em duas variáveis A e
B, de tipo inteiro, e uma terceira... – Etapa3 A obtenção dos dados é simples e direta pelo usuário – Etapa4 O processo será realizado pelo operador soma, e o resultado da operação será
armazenado na terceira variável. – Etapa5 Exibir o conteúdo da terceira variável.
34
Exemplo Soma
35
Inteiro x, y, soma
escreva(“Inserir dois números: ”)
leia (x)
leia (y)
soma = x + y
escreva (“A soma entre ”+x + “ e ” + y + “ é ” + soma)
Exercício 1
• Elaborar um programa para calcular o Montante final (dinheiro final) de um capital inicial durante n meses a uma taxa de juros i.
Mf = C * (1 + i)^n
36
Exercício 1
• Elaborar um programa para calcular o Montante final (dinheiro final) de um capital inicial durante n meses a uma taxa de juros i.
Mf = C * (1 + i) ^ n
• 1 – entender o problema
• 2 – elencar as variáveis
• 3 – receber os dados
• 4 – calcular
• 5 – mostrar o resultado
37
Exercício 2
• Desenvolva um programa que calcule o volume de uma esfera de raio r, fornecido pelo usuário.
38
Exercício 3
• Desenvolva um algoritmo para encontrar a média aritmética entre 4 valores fornecidos pelo usuário...
39
N1 + N2 + N3 + N4 + ... Nm
m Média =
Exercício 4
• Faça um algoritmo para ler dois inteiros (variáveis A e B) e efetuar operações de adição, subtração, multiplicação e divisão de A por B... Apresentando ao final os quatro resultados.
40
+ - / *
Exercício 5
• Escreva um programa que receba a hora atual em horas, minutos e segundos. Determinar quantos segundos passaram desde o início do dia até a hora atual.
41