intodução à programação -...

129
Bacharelado em Ciência e Tecnologia Processamento da Informação Introdução à Programação de Computadores Parte 1 Introdução à Programação de Computadores Parte I Componentes Básicos do Computador e de um Programa Prof. João Henrique Kleinschmidt Material elaborado pelos professores de PI

Upload: nguyendung

Post on 10-Nov-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Introdução à Programação de

Computadores – Parte I

Componentes Básicos do Computador e

de um Programa

Prof. João Henrique Kleinschmidt

Material elaborado pelos professores de PI

Page 2: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Objetivos

Compreender os componentes básicos de um

programa ...

Conhecer a arquitetura básica de um

computador

Page 3: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Pra começar...

Um dos objetivos específicos da Disciplina:

Aprender e praticar a escrita de PROGRAMAS

de computador para resolver problemas

Page 4: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Pra começar...

Um dos objetivos específicos da Disciplina:

Aprender e praticar a escrita de PROGRAMAS

Qual é a “cara” de um programa de

computador?

Page 5: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Exemplo: um programa em JAVA

Page 6: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Um programa tem várias partes

Page 7: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Um programa tem várias partes

Processamento

Saída

Variáveis

Entrada de Dados

Page 8: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

O COMPUTADOR E SEUS COMPONENTES BÁSICOS

Page 9: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Arquitetura básica do processamento de dados

O programa é quem determina o funcionamento do computador e

ele depende da sua finalidade

Page 10: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Hardware está associado à parte física do sistema que suporta o processamento da informação (circuitos, placas, monitor, teclado...)

Sistema Computacional: Hardware e Software

Page 11: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Software corresponde ao conjunto de programasresponsáveis pelo controle do sistema para a execução das tarefas consideradas

Sistema Computacional: Hardware e Software

Page 12: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

HARDWARE

Page 13: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

A arquitetura básica proposta por John von Neumann possui quatro componentes básicos:

Hardware Básico de um Computador

Page 14: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

A arquitetura básica proposta por John von Neumann possui quatro componentes básicos:

Hardware Básico de um Computador

I - Unidade de Entrada e Saída de Dados;

Page 15: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

A arquitetura básica proposta por John von Neumann possui quatro componentes básicos:

Hardware Básico de um Computador

II - Memória;

Page 16: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

A arquitetura básica proposta por John von Neumann o possui quatro componentes básicos:

Hardware Básico de um Computador

III – Unidade Lógica Aritmética

Page 17: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

A arquitetura básica proposta por John von Neumann o possui quatro componentes básicos:

Hardware Básico de um Computador

IV – Unidade de Controle

Page 18: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

A arquitetura básica proposta por John von Neumann o possui quatro componentes básicos:

Hardware Básico de um Computador

A Unidade Central de Processamento (UCP) engloba a UC e a ULA.

Page 19: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

SOFTWARE

Page 20: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

• Software de sistema, ou sistema operacional

• Windows, Linux, etc.

• Software aplicativo

• Editores de texto: Word, WordPerfect, etc

• Planilhas eletrônicas: Excel, Lotus 123, QuatroPro, etc

• Apresentação: PowerPoint, etc

• Desenho: PaintBrush, CorelDraw, etc

• Softwares Específicos podem ser construídos:

• Folha de Pagamento, Sistemas de Vendas, Sistema Acadêmico, etc

Tipos de Software

Page 21: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

• Software de sistema, ou sistema operacional

• Windows, Linux, etc.

• Software aplicativo

• Editores de texto: Word, WordPerfect, etc

• Planilhas eletrônicas: Excel, Lotus 123, QuatroPro, etc

• Apresentação: PowerPoint, etc

• Desenho: PaintBrush, CorelDraw, etc

• Softwares Específicos podem ser construídos:

• Folha de Pagamento, Sistemas de Vendas, Sistema Acadêmico, etc

SOFTWARE PROGRAMA

Tipos de Software

Page 22: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

O PROGRAMA E SEUS COMPONENTES BÁSICOS

Page 23: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

É uma sequência de instruções (comandos) que, a partir de dados inseridos, obtêm um resultado que será disponibilizado por algum dispositivo de saída

Definição de Programa

Entradade Dados

Processamentodos comandos de um programa

Saída de Dados

Page 24: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

É uma sequência de instruções (comandos) que, a partir de dados inseridos, obtêm um resultado que será disponibilizado por algum dispositivo de saída

Definição de Programa

Page 25: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Entradade Dados

Processamentodos comandos de um programa

Saída de Dados

2+5 7

Analogia: Calculadora e Programa

Page 26: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Linguagens de programação são utilizadas para a construção de

programas em computadores

Como softwares e/ouprogramas são construídos?

Page 27: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Conjunto limitado de símbolos e comandos, utilizados para criar programas;

Método padronizado para expressar instruções paraum computador;

Por meio dela se estabelece uma comunicação com o computador, fazendo com que ele “compreenda” e execute o que o programador determinar.

Definição de Linguagem de Programação

Page 28: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

• Uma linguagem de programação pode

ser de baixo nível (linguagem de máquina)

Linguagem Assembler

Linguagem de Baixo Nível

Page 29: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

EXEMPLO

Linguagem de Alto Nível

class HelloWorld {

public static void main (String[] args) {

System.out.println (“Alô mundo!”);

}

}

• Linguagens de alto nível apresentam uma “sintaxe” mais próxima da linguagem natural (humana)

• Usam palavras reservadas extraídas do vocabulário corrente (int, public, if, else, while, ...)

Page 30: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Algumas linguagens de programação, e o ano em que foram desenvolvidas:

Histórico das Linguagens de Programação

Page 31: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Os programas escritos em linguagens de alto nível são convertidos para a linguagem de máquina através de um programa compilador, ou de um interpretador

Linguagem de Alto Nível

Linguagem de Máquina

Compilador ou interpretador

• Trataremos de “Compiladores” e “Interpretadores” mais adiante”

Programas Compilados ou Interpretados

Page 32: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

RESUMINDO ....

Page 33: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

• Um computador executa PROGRAMAS

• O Sistema Computacional depende do Hardware (computador) e do Software (programas)

• Programas são escritos em determinadas linguagens e são “traduzidos” para que o computador possa executar

• Um programa geralmente possui 3 partes distintas: a entradade dados, o processamento e a saída de dados

• A arquitetura básica de um computador é composta pelos: dispositivos de entrada e saída de dados, pela CPU (unidade central de processamento) que engloba a unidade de controle e a unidade lógica e aritmética, e a memóriaprincipal.

Coisas para não esquecer

Page 34: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Introdução à Programação de

Computadores – Parte II

Algoritmos do Dia-a-Dia e

Técnica de Interpretação de Enunciado

Prof. João Henrique Kleinschmidt

Page 35: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Objetivos

Aprender a redigir rotinas comuns do dia-a-dia

forma de algoritmos

Conhecer uma técnica para a construção de

algoritmos computacionais

Page 36: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Relembrando ...

O funcionamento de qualquer computador

está baseado nessa arquitetura básica:

Page 37: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

APRENDENDO A PROGRAMAR COMPUTADORES:POR ONDE COMEÇAR ?

Page 38: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

O principal componente de um programa de computador é a sua lógica, ou seja, o que o computador deve fazer para resolver um problema.

Devemos então DESCREVER essa lógica numa linguagem que o computador “entenda”

É mais fácil começar a programar (organizar a lógica) em uma linguagem de alto nível.

Qual é a linguagem de mais alto nível para um ser humano que fala naturalmente o português?

Aprendendo a Programar Computadores

Page 39: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Vamos dar os primeiros passos na arte de programar computadores, em uma linguagem mais próxima da linguagem natural.

O caminho mais tranquilo é por meio de ALGORITMOS

Escrever ALGORITMOS é mais simples porque focam na solução do problemas e não consideram “detalhes” de linguagem, etc.

Aprendendo a Programar Computadores

Page 40: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

ALGORITMOS

Page 41: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

É uma sequência finita de instruções, ordenada de

forma lógica para a resolução de uma determinada

tarefa ou problema.

Um algoritmo fixa um padrão de comportamento a ser seguido, umanorma de execução, com o objetivo de resolver um determinado problema.

Definição de ALGORITMO

Page 42: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

No dia-a-dia dizemos que é algo queé coerente, óbvio, correto.

Lógica Logos + Ica

Razão Ciência

Estuda o raciocínio/pensamento humano.

Estudo de argumentos

Argumento é uma sequência de enunciados, na qual um dosenunciados é a conclusão, derivado a partir dos outros enunciados(premissas).

É o oposto de

“Isso não tem Lógica”

O que é LÓGICA?

Page 43: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Todos os peixes vivem na água. (premissa1)

Golfinhos são peixes. (premissa 2)

.·. Golfinhos vivem na água. (conclusão)

Tanto a forma de argumento quando a conclusão são verdadeiras,apesar de esta última ter sido deduzida a partir de uma premissafalsa (golfinhos são peixes).

Um silogismo representa um argumento composto de

duas premissas e uma conclusão. E estabelece umaconclusão, que pode ser válida ou não.

Silogismo - Aristóteles

Page 44: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

LÓGICA DE PROGRAMAÇÃO

Page 45: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Falar em lógica de programação significa contextualizar

a lógica na construção de programas.

Lógica de programação está relacionada ao raciocínioque precisamos desenvolver para resolver um problema cuja solução deverá ser implementada em um computador.

Encadear pensamentos para atingir determinado objetivo.

Como pensar como um

programador ?

Lógica de Programação

Page 46: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

A habilidade mais importante para um cientista da computação é a solução de problemas;

A solução de problemas é a habilidade de formular questões, pensar criativamente sobre soluções possíveis e expressar uma solução de forma clara e precisa;

E aprender a programar é uma excelenteoportunidade de praticar as habilidades dasolução de problemas.

Solução de Problemas

Page 47: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Diagnosticar a doença de um paciente a partir da descrição dos sintomas, e medicá-lo.

Criar um sistema de informação que permita gerir as entradas/saídas (cargas/descargas) de navios em um porto marítimo.

Desenvolver um programa para controle da movimentação de um robô.

Exemplo de Problemas

Page 48: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Um algoritmo é uma forma de representar a solução de um problema por meio de uma

sequência de passos.

São exemplos de algoritmos:

Receitas de bolos

Manuais técnicos

Guias de montagem

Programas de computadores

Algoritmo

Page 49: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

EXEMPLO DE CONSTRUÇÃO DE ALGORITMO

Page 50: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Fazer um bolo de chocolate.

Problema

Page 51: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Qual o resultado esperado?

Saída

Page 52: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Saída

Page 53: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

O que é preciso para se obter o resultado desejado?

Ingredientes

Passos

Page 54: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Ingredientes:

5 ovos.

250 gramas de margarina cremosa.

2 xícaras (chá) de açúcar.

1 xícara (chá) de farinha de trigo.

1 xícara (chá) de chocolate.

200 gramas de côco ralado.

1 copo de leite.

1 colher (sopa) de fermento.

Dados de Entrada

Page 55: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Qual a sequência necessária (de uso dos ingredientes) para se obter o resultado desejado?

Passos

Page 56: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Modo de Preparo

Bata a margarina, as gemas e o açúcar até ficar cremoso.

Junte o leite, o coco e a farinha e continue batendo.

Acrescente o fermento e, por último, as claras em neve.

Unte uma forma com manteiga e leve ao forno para assar.

Processamento

Page 57: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

OUTRO EXEMPLO DE ALGORITMO

Page 58: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

???

???

???

???

???

???

???

Algoritmo

Quais os passos para realizar a troca de uma lâmpada ?

• Para quem troca lâmpadas com frequência (ou já viu trocar) os passos podem ser feitos automaticamente

• Mas e se essa mesma pessoa tiver que deixar uma RECEITA para uma pessoa que nunca trocou uma lâmpada efetuar essa tarefa ?

Page 59: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Pegar uma escada.

Posicionar a escada embaixo da lâmpada.

Buscar uma lâmpada nova.

Subir na escada.

Retirar a lâmpada velha.

Colocar a lâmpada nova.

Algoritmo

Quais os passos para realizar a troca de uma lâmpada ?

Page 60: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

1. ???

2. ???

3. ???

Algoritmo

E se a lâmpada não estiver queimada?

Page 61: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

1. Acionar o interruptor.

2. Se a lâmpada não acender, então:

Pegar uma escada.

Posicionar a escada embaixo da lâmpada.

Buscar uma lâmpada nova.

Subir na escada.

Retirar a lâmpada queimada.

Colocar a lâmpada nova.

Algoritmo

E se a lâmpada não estiver queimada?

Page 62: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Pode haver vários algoritmos para resolver um mesmo problema.

Afinal, cada pessoa pensa e age de forma diferente.

O desenvolvimento de algoritmos é um exercício de

Criatividade

Experiência

Diversas soluções para um problema

Page 63: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Diferentes algoritmos podem estar corretos, se levarem ao alcance do objetivo final.

Entretanto, deve-se procurar desenvolver

algoritmos que resolvam o problema com menos

esforço e maiorobjetividade.

Diversas soluções para um problema

Page 64: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

ESCREVENDO ALGORITMOS

Page 65: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Instrução/Comando: São frases que indicam as ações a

serem executadas. São compostas de um verbo noimperativo, ou no infinitivo, mais um complemento.

Exemplo:

Bata (Bater) duas claras em neve.

Ligue (Ligar) os faróis.

Some (Somar) dois números.

Imprima (Imprimir) resultado da soma.

Para escrever ALGORITMOS (programas) é necessário o

uso de INSTRUÇÕES / COMANDOS.

ALGORITMO: instruções ou comandos

Page 66: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Formalizar a escrita de

algoritmos.

Escrita na

forma de pseudocódigo.

Problema Pseudolinguagem

se...

então...

senão...

Linguagemde

programação

Java, C,

Pascal, etc

Linguagemde máquina

Zeros e uns...

Pseudolinguagem

Page 67: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Uma linguagem (ou pseudolinguagem) possui duas características:

Sintaxe - como escrever os comandos e seus componentes;

Semântica - o significado de cada comando e conceito.

A sintaxe e a semântica de uma linguagem de programação englobam várias ações, como, por exemplo:

Declarações de Variáveis;

Operadores;

Comandos de entrada e de saída;

Comandos de seleção, repetição etc.

Pseudolinguagem

Page 68: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Bloco de execução é um conjunto de ações que possui uma função bem definida.

O início de um bloco é marcado pela palavra início.

O fim de um bloco é marcado pela palavra fim.

início

<declaração de variáveis>

<comandos>

fim

Bloco de Execução

Page 69: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

O próprio algoritmo é um bloco de execução. A sintaxe da definição do bloco de um algoritmo é:

Algoritmo <NomeDoAlgoritmo>

início

<declaração de variáveis>

<comandos>

fimalgoritmo.

Bloco de Execução

Page 70: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

TÉCNICA PARA A CONSTRUÇÃO DEALGORITMOS

Page 71: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

O que

preciso?

(Entrada)

Como chegar ao

que quero?

(Processamento)

O que

quero?

(Saída)

ALGORITMO – Sequência do Programa

Page 72: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

O que

preciso?

(Entrada)

Como chegar ao

que quero?

(Processamento)

O que

quero?

(Saída)

ALGORITMO – Passos para construção

Na construção do algoritmos devemos identificar primeiro a SAÍDA de dados, para então pensar nos passos necessários para chegar nessa saída

Page 73: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Identificar o problema (objetivo) mediante leitura atenta de seu enunciado (entendimento) .

Identificar os resultados que devem ser gerados na solução(saída de dados) .

Identificar no enunciado os dados a serem fornecidos para o algoritmo (entrada de dados) .

Determinar o que deve ser feito para transformar as entradas nas saídas desejadas (processamento) .

ALGORITMO – Passos para a construção

Page 74: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Escreva um algoritmo para somar dois números quaisquer.

ALGORITMO – EXEMPLO

Page 75: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Escreva um algoritmo para somar dois números quaisquer.

ALGORITMO – EXEMPLO

Identificar os resultados que devem ser gerados na solução(saída de dados)

Page 76: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Escreva um algoritmo para somar dois números quaisquer

ALGORITMO – EXEMPLO

Identificar os resultados que devem ser gerados na solução(saída de dados)

O resultado da soma

Page 77: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Escreva um algoritmo para somar dois números quaisquer

ALGORITMO – EXEMPLO

Identificar no enunciado os dados a serem fornecidos para o algoritmo (entrada de dados)

Page 78: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Escreva um algoritmo para somar dois números quaisquer.

ALGORITMO – EXEMPLO

Identificar no enunciado os dados a serem fornecidos para o algoritmo (entrada de dados).

Os dois números.

Page 79: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Escreva um algoritmo para somar dois números quaisquer.

ALGORITMO – EXEMPLO

Determinar o que deve ser feito para transformar as entradas nas saídas desejadas (processamento) .

Somar os dois números.

Page 80: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Escreva um algoritmo para somar dois números quaisquer.

ALGORITMO – EXEMPLO

Organizando o ALGORITMO numa ordem

coerente.

Page 81: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Escreva um algoritmo para somar dois números quaisquer.

1. Leia o número X

2. Leia o número Y

3. Some X e Y

4. Mostre o resultado da soma

Entrada SaídaProcessamento

Número X

Número YSomar X e Y Resultado

da soma

ALGORITMO – EXEMPLO

Page 82: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

FORBELLONE, A. L. V.; EBERSPACHER, H. F., Lógica de Programação – A Construção de Algoritmos e Estruturas de Dados, Prentice Hall, 2005

• CAPÍTULO 1 – Introdução a Lógica de Programação

Leituras Sugeridas

Page 83: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

RESUMINDO...

Page 84: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

• As rotinas do dia-a-dia podem ser descritas na forma de Algoritmos

• Escrever algorimos é mais ou menos como escrever um MANUAL para que algúem execute uma tarefa

• Um algoritmo computacional (para ser executado por um computador) precisa seguir alguns padrões de linguagem

• A construção de algoritmos a partir de um enunciado de um problema requer técnicas de compreensão e refinamento da solução

• Qual a SAÍDA de dados requerida ?

• Qual a ENTRADA de dados necessária?

• Qual o PROCESSAMENTO necessário para transformar ENTRADA em SAÍDA ?

Coisas para não esquecer:

Page 85: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

EXERCÍCIOS DE LÓGICA

Page 86: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Um lobo, uma cabra e uma couve têm de atravessar um rioem um barco que transporta um de cada vez, incluindo obarqueiro. Como o barqueiro os levará para o outro lado deforma que a cabra não coma a couve e o lobo não coma acabra?

Exercício 1

Page 87: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Dois homens seguiam por um caminho. Um levava 8 litros devinho em um garrafão e o outro levava 8 litros de vinho emdois garrafões, um com cinco litros e um com três.

Eles beberam o vinho do garrafão maior, de 8 litros, e agoraquerem dividir os 8 litros de vinho restante igualmente, paranenhum dos dois carregar mais peso que o outro. Entretanto,eles só podem usar como medida, os próprios garrafões: umde 8 litros, um de 5 e um de 3. Como fazer?

Exercício 2

Page 88: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

EXERCÍCIOS DE ALGORITMOS

Page 89: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Descreva a sequência de passos necessária para:

Colocar um carro em movimento.

Exercício 1

Page 90: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Descreva a sequência de passos necessária para:

Jogar o jogo da velha.

Exercício 2

Page 91: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Algoritmos Computacionais:

Técnica para Interpretação de Enunciado

Page 92: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Calcular a média aritmética a partir de 3 notas.

Qual a SAÍDA de Dados?[que resultado o algoritmo deve produzir?]

média

• Qual a ENTRADA de Dados?[quais os insumos necessários para produzir a saída?]

– 3 notas (nota1, nota2, nota3)

Identificando a solução:

ENTRADA, PROCESSAMENTO, SAÍDA!

Técnica de Interpretação de Enunciado

Page 93: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Calcular a média aritmética a partir de 3 notas.

Qual a PROCESSAMENTO necessário?[para transformar as 3 notas na média?]

Somar as 3 notas

(soma = nota1 + nota2 + nota3)

Dividir a soma por 3

(media = soma / 3)

• O passo seguinte é organizar as “instruções” numa sequência coerente: Entrada, Processamento e Saída

Técnica de Interpretação de Enunciado

Page 94: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Quais as “instruções” necessárias para fazer:

ENTRADA DE DADOS ?

PROCESSAMENTO?

SAÍDA DE DADOS ?

Comecemos pelo mais simples:

SAÍDA DE DADOS

Para começar vamos aprender as instruções

na linguagem “PORTUGOL”

PORTUGOL = “Português” + “Algoritmo”

Escrevendo o Algoritmo

Page 95: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

SAÍDA DE DADOS

Page 96: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

EXIBE UMA MENSAGEM OU RESULTADO PARA O

USUÁRIO NA TELA DO COMPUTADOR.

A instrução para saída de dados em

“PORTUGOL” é:

escreva ( < mensagem>, <identificador>)

EXEMPLO:

• escreva(“Alô Mundo“)

• escreva(“A soma é igual a“, soma)

SAÍDA DE DADOS

Note que a mensagem está entre

ASPAS DUPLAS

Page 97: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

ENTRADA DE DADOS

Page 98: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

INTERAGE COM O “TECLADO” DO COMPUTADOR

OBTENDO INFORMAÇÕES QUE O USUÁRIO DIGITA

A instrução para entrada de dados em

“PORTUGOL” é:

leia (<identificador>)

EXEMPLO:

• leia (nota1)

ENTRADA DE DADOS

Page 99: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

EXEMPLO:

• leia (nota1)

ENTRADA DE DADOS

É sempre recomendado ANTES de um LEIA, emitir

uma mensagem para o usuário indicando o que ele

deve digitar

EXEMPLO:

• escreva (“Digite a primeira nota: “)

• leia (nota1)

Page 100: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

EXEMPLO:

• leia (nota1)

• ATENÇÃO: Qualquer “dado” digitado no teclado precisa ser armazenado na memória do computador!

• Para tal, faz-se necessário a RESERVA DE MEMÓRIA

através de DECLARAÇÃO DE VARIÁVEIS

ENTRADA DE DADOS

Page 101: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

DECLARAÇÃO DE VARIÁVEIS(reserva de memória)

Page 102: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

As linguagens de programação permitem que osusuário atribuam nomes (identificadores) para asposições de memória da máquina

Armário Memória do computador

nome

idade

nacionalidade

profissao

MEMÓRIA – Declaração de Variáveis

Page 103: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Uma variável é um endereço da memóriaRAM, representada por um identificador(nome da variável), criado pelo usuário, cujoconteúdo pode se alterar no decorrer daexecução do programa

nome

Uma variável é composta por dois elementos:

Identificador: nome dado pelo programador à variável

Conteúdo: valor atual da variável

MEMÓRIA – Declaração de Variáveis

Page 104: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

nome

idade

salario

Maria Carla

nomeIdentificador

17

idadeIdentificador

1342.50

salarioIdentificador

• Uma variável assume apenas UM único valor por vez

• Ao alterar o salário, por exemplo, perde-se o valor anterior

conteúdo

conteúdo

conteúdo

MEMÓRIA – Declaração de Variáveis

Page 105: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

17

idadeIdentificador

• O identificador deve ser uma palavra que reflita o conteúdo

• Por exemplo: idade ao invés de numero

conteúdo

MEMÓRIA – Declaração de Variáveis

17

numeroIdentificador

conteúdo

Page 106: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

TIPOS

DE DADOS

Page 107: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Ao declarar uma variável é necessário informar ao

computador que tipo de dado aquela “gaveta” pode

armazenar

Os tipos de dados básicos são:

Inteiro - armazena números inteiros

Real - armazena números com casas

decimais

Logico - armazena verdadeiro ou falso

Caracter - armazena UMA letra ou UM

caracter especial, etc.

Cadeia - armazena VÁRIAS letras ou caracteres

Declaração de Variáveis – TIPOS DE DADOS

Page 108: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Os tipos de dados básicos são:

inteiro, real

logico

caracter, cadeia

Forma Geral: <tipo_de_dado> <Identificador>

Declaração de Variáveis – TIPOS DE DADOS

Exemplos:• inteiro idade

• real nota1, nota2, nota3

• caracter conceito

• cadeia sobrenome

Page 109: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

PROCESSAMENTOOPERADORES BÁSICOS

Page 110: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

O processamento de dados geralmente é

realizado com o uso de operadores

Os símbolos dos operadores aritméticos são:

adição +

subtração -

multiplicação *

divisão /

Processamento - OPERAÇÕES

Exemplos:• nota1 + nota2

• soma / 2

A PRECEDÊNCIA DE OPERADORES É A MESMA

DA MATEMÁTICA:

• Multiplicação e divisão tem prioridade sobre

• Adição e subtração

Assim na expressão 5 + 3 * 2

Primeiro processa 3 * 2 e depois soma com 5

Parênteses mudam a prioridade:

Ou seja, (5+3)*2 faz com que a soma ocorra

primeiro

Page 111: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Um operador importante é o de operador de atribuição

que possibilita armazenar “valores” e “resultados” nas

variáveis

O símbolo do operador de atribuição é = (sinal de igual)

Processamento - OPERAÇÕES

Exemplos:• soma = nota1 + nota2

• media = soma / 2

• conceito = „A‟

Variáveis• real nota1, nota2, soma

• caracter conceito

• Lê-se “recebe” (exemplo: conceito “recebe” o valor A)

• Note que sendo “conceito” do tipo caracter é necessário o uso da aspas simples no conteúdo.

Page 112: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

x = a + b

y = (a * 4) + b

z = y / x

k = x / 2

h = x / 2

a

5

b

10

x

15

y

30

z

2.0

Variáveis• inteiro a, b, x, y, k

• real z, h

Exemplo de OPERAÇÕES

k

7Atenção: Note que k é inteiro e o resultado foi

TRUNCADO (ficando 7 ao invés de 7.5)

h

7.0

Atenção: Note que mesmo h sendo real o

resultado foi TRUNCADO (ficando 7 ao invés

de 7.5) pois tanto x como 2 são INTEIROS.

Page 113: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

RETOMANDO O PROBLEMA

Calcular média de 3 notas

Page 114: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Calcular a média aritmética a partir de 3 notas.

SAÍDA de Dados: Média

ENTRADA de Dados: 3 notas (nota1, nota2, nota3)

Técnica de Interpretação de Enunciado

PROCESSAMENTO:

Somar as 3 notas

(soma = nota1 + nota2 + nota3)

Dividir a soma por 3

(media = soma / 3)

Page 115: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

real nota1, nota2, nota3, soma, media

1. leia (nota1)

2. leia (nota2)

3. leia (nota3)

4. soma = nota1 + nota2 + nota3

5. media = soma / 3

6. escreva (media)

Calcular a média aritmética a partir de 3 notas.

Note que para as operações não é

necessário o uso de um verbo imperativo

SOLUÇÃO: ALGORITMO em PORTUGOL

Page 116: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

real nota1, nota2, nota3, soma, media

1. escreva(“Digite a primeira nota :”)leia (nota1)

2. escreva(“Digite a segunda nota :”) leia (nota2)

3. escreva(“Digite a terceira nota :”) leia (nota3)

4. soma = nota1 + nota2 + nota3

5. media = soma / 3

6. escreva (“A média é = “, media)

ALGORITMO – Solução mais completaEntrada de Dados com Mensagem para o Usuário

5.0

nota1

6.0

nota2

7.0

nota3

18.0

soma

6.0

media

Page 117: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

SOLUÇÃO NO AMBIENTE

PORTUGOL STUDIO

Page 118: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

O PortugolStudio é um software interpretador de

programas escritos em PORTUGOL

Declaração de

Variáveis

Page 119: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

RESUMINDO...

Page 120: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

• DECLARAÇÃO DE VARIÁVEIS

• Identificador e Tipo de Dados

• Exemplo: inteiro idade

Coisas para não esquecer:

• SAÍDA DE DADOS

• Comando ESCREVA

• Exemplo: escreva (“Digite sua Idade:”)

• ENTRADA DE DADOS

• Comando LEIA

• Exemplo: leia (idade)

Page 121: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

• OPERADORES ARITMÉTICOS

• ARITMÉTICOS: + / - *

• Exemplo: (nota1 + nota2) / 2

Coisas para não esquecer:

• OPERADOR DE ATRIBUIÇÃO

• ATRIBUIÇÃO: =

• Exemplo: media = (nota1 + nota2) / 2

AGORA É PRATICAR!!!

Page 122: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Algoritmos Computacionais – Parte II

Exercícios Resolvidos

Page 123: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Objetivos

Aplicar a técnica de interpretação de

enunciados para a escrita de algoritmos

computacionais em PORTUGOL

Page 124: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Exercícios

Escreva um algoritmo para calcular

a distância entre duas cidades.

Page 125: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Calcular a distância entre duas cidades.

Qual a SAÍDA de Dados?[que resultado o algoritmo deve produzir?]

distancia

• Qual a ENTRADA de Dados?[quais os insumos necessários para produzir a saída?]

(*) Para simplificar considerar que as cidades estão numa mesma rodovia

– Localização das duas cidades(cidade1, cidade2)

Identificando a solução:

ENTRADA, PROCESSAMENTO, SAÍDA!

Page 126: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Calcular a distância entre duas cidades.

Qual a PROCESSAMENTO necessário?[para transformar as duas localizações em distancia?]

Subtrair as duas quilometragens

distancia = cidade2 – cidade1(*) desconsiderar o sinal negativo caso ocorra

• O passo seguinte é organizar as “instruções” numa sequência coerente: Entrada, Processamento e Saída

Page 127: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

Solução em PORTUGOL

Page 128: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

real cidade1, cidade2, distancia

1. escreva(“Digite a localização (km) da cidade 1:”)leia (cidade1)

2. escreva(“Digite a localização (km) da cidade 2:”) leia (cidade2)

3. distancia = cidade2 – cidade1

4. escreva (“A distancia entre as duas cidade é = “, distancia)

5. escreva (“ATENÇÃO: desconsidere sinal negativo”)

Calcular a distância entre duas cidades.

162

cidade1

267

cidade2

105

distancia

Page 129: Intodução à Programação - professor.ufabc.edu.brprofessor.ufabc.edu.br/~joao.kleinschmidt/aulas/pi/algoritmo.pdf · Introdução à Programação de Computadores –Parte 1 A

Bacharelado em Ciência e Tecnologia

Processamento da Informação

Introdução à Programação de Computadores – Parte 1

AGORA É PRATICAR!!!