42
Introdução a programação Visão geral Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais Campus Ponte Nova

Introdução a programação Visão geral - sauloifmg.com.brsauloifmg.com.br/Disciplinas/Intro/Aula 1.pdf · ... Utiliza-se das operações fundamentais para o ... Exercícios •

  • Upload
    lamanh

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

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

CAMINHO DAS LINGUAGENS DE PROGRAMAÇÃO ATE AQUI...

7

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

Linguagens de alto nível

11

int r0, r1, r2, r3, r4; r0 = r2; r0 = r0 + r3;

PORTUGOL – ESTRUTURA E O PORQUE USAR???

12

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

14

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 – COMANDOS BÁSICOS

18

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

26

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

29

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