aula 2 - introdução cleverton...

15
Aula 2 - Introdução Cleverton Hentz

Upload: others

Post on 22-Aug-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 2 - Introdução Cleverton Hentzcleverton-ifrn.wdfiles.com/local--files/algoritmos/Alg.Aula2.pdf · Sumário de Aula 2 ! Programas ! Linguagens de Programação ! Formas de Estruturação

Aula 2 - Introdução Cleverton Hentz

Page 2: Aula 2 - Introdução Cleverton Hentzcleverton-ifrn.wdfiles.com/local--files/algoritmos/Alg.Aula2.pdf · Sumário de Aula 2 ! Programas ! Linguagens de Programação ! Formas de Estruturação

Sumário de Aula

2

}  Programas }  Linguagens de Programação }  Formas de Estruturação de Algoritmos

Page 3: Aula 2 - Introdução Cleverton Hentzcleverton-ifrn.wdfiles.com/local--files/algoritmos/Alg.Aula2.pdf · Sumário de Aula 2 ! Programas ! Linguagens de Programação ! Formas de Estruturação

Programas

3

}  Os algoritmos são utilizados na construção de programas de computador;

}  Um programa de computador é composto por um conjunto de comandos que irão indicar o que deve ser feito pelo computador;

}  Os programas de computador são construídos através do uso de uma linguagem de programação;

}  Estes programas geralmente são executados por um sistema operacional;

Page 4: Aula 2 - Introdução Cleverton Hentzcleverton-ifrn.wdfiles.com/local--files/algoritmos/Alg.Aula2.pdf · Sumário de Aula 2 ! Programas ! Linguagens de Programação ! Formas de Estruturação

Linguagens de Programação

4

}  O hardware de um computador disponibiliza um conjunto de comandos que podem ser utilizados, esse conjunto é chamado de linguagem de máquina;

}  As linguagens de programação podem ser classificadas de acordo com sua proximidade da linguagem de máquina: }  Linguagens de baixo nível; }  Linguagens de alto nível.

}  As linguagens de baixo nível, por estarem mais próximas do hardware, dependem de suas particularidades; }  Exemplos: x86, PowerPC e Arm.

}  As linguagens de alto nível, por estarem mais longe do hardware, dependem mais dos sistemas operacionais; }  Exemplos: Windows, Linux e MacOS.

Page 5: Aula 2 - Introdução Cleverton Hentzcleverton-ifrn.wdfiles.com/local--files/algoritmos/Alg.Aula2.pdf · Sumário de Aula 2 ! Programas ! Linguagens de Programação ! Formas de Estruturação

Processo de Produção de um Programa

5

}  Um programa é gerado a partir de uma linguagem de alto nível através de uma tradução;

}  Código-fonte: Texto que define o programa descrito na linguagem de alto nível;

}  Tradução: Processo de transformação do código-fonte em código de máquina;

}  Código de Máquina: Código do programa descrito em linguagem de máquina.

}  A tradução pode ser realizada de duas formas: }  Compilação: acontece antes da execução do programa; }  Interpretação: acontece durante a execução do programa.

Código-fonte Tradução Código de Máquina

Page 6: Aula 2 - Introdução Cleverton Hentzcleverton-ifrn.wdfiles.com/local--files/algoritmos/Alg.Aula2.pdf · Sumário de Aula 2 ! Programas ! Linguagens de Programação ! Formas de Estruturação

Exemplos de Linguagens de Programação

}  Linguagem de baixo nível }  Assembly

}  Linguagens de alto nível }  Linguagens Estruturadas

}  Pascal, C, Fortran e Cobol.

}  Linguagens Orientadas à Objetos }  Java, .Net e C++.

6

Page 7: Aula 2 - Introdução Cleverton Hentzcleverton-ifrn.wdfiles.com/local--files/algoritmos/Alg.Aula2.pdf · Sumário de Aula 2 ! Programas ! Linguagens de Programação ! Formas de Estruturação

Estruturação de Algoritmos }  Existem várias linguagens para especificar (escrever) um

algoritmo de computador; }  Algumas delas são:

}  Linguagem Natural }  Fácil de utilizar; }  Difícil de ser entendido por um computador;

}  Fluxograma }  Fácil de aprender e entender; }  Ocupa muito espaço para algoritmos grandes.

}  Pseudocódigo }  Fácil de aprender; }  Fácil de ser traduzido para uma linguagem de programação;

7

Page 8: Aula 2 - Introdução Cleverton Hentzcleverton-ifrn.wdfiles.com/local--files/algoritmos/Alg.Aula2.pdf · Sumário de Aula 2 ! Programas ! Linguagens de Programação ! Formas de Estruturação

Fluxograma

8

}  É uma técnica de diagramação que permite demonstrar o fluxo de um programa;

}  Fácil de entender no caso de programas pequenos; }  Para programas maiores é estimulado o uso de

pseudocódigo.

Page 9: Aula 2 - Introdução Cleverton Hentzcleverton-ifrn.wdfiles.com/local--files/algoritmos/Alg.Aula2.pdf · Sumário de Aula 2 ! Programas ! Linguagens de Programação ! Formas de Estruturação

Aula 1 9

Fluxograma

}  Início/Fim: Representa o Início ou fim do algoritmo.

}  Entrada/Saída: Representa processo de leitura/escrita do ambiente externo.

}  Processo: Conjunto de instruções para execução.

}  Decisão: Ponto de decisão em que as ações serão executadas dependendo da avaliação da condição de decisão.

Início/Fim

Entrada/Saída

Processo

Decisão

Page 10: Aula 2 - Introdução Cleverton Hentzcleverton-ifrn.wdfiles.com/local--files/algoritmos/Alg.Aula2.pdf · Sumário de Aula 2 ! Programas ! Linguagens de Programação ! Formas de Estruturação

Fluxograma

Início

num1 > num2

maior <- num1 maior <- num2

Fim

Sim Não

10

escrever maior

ler num1, num2

Page 11: Aula 2 - Introdução Cleverton Hentzcleverton-ifrn.wdfiles.com/local--files/algoritmos/Alg.Aula2.pdf · Sumário de Aula 2 ! Programas ! Linguagens de Programação ! Formas de Estruturação

Exercício

11

}  Utiliza a notação de fluxogramas para escrever um algoritmo para a troca de pneu. Nota importante: As etapas da elaboração de um algoritmo devem ser utilizadas.

Page 12: Aula 2 - Introdução Cleverton Hentzcleverton-ifrn.wdfiles.com/local--files/algoritmos/Alg.Aula2.pdf · Sumário de Aula 2 ! Programas ! Linguagens de Programação ! Formas de Estruturação

Resposta

12

Início

Pneu furado ?

Fim

Afrouxar porcas

Suspender o carro

Retirar porcas e pneu furado

Colocar estepe e porcas

Abaixar o carro e apertar porcas

Sim

Não

Page 13: Aula 2 - Introdução Cleverton Hentzcleverton-ifrn.wdfiles.com/local--files/algoritmos/Alg.Aula2.pdf · Sumário de Aula 2 ! Programas ! Linguagens de Programação ! Formas de Estruturação

Pseudocódigo }  É uma linguagem estruturada que se aproxima bastante da

linguagem natural; }  Permite escrever um algoritmo sem se preocupar com

detalhes de implementação; }  Não existe uma padronização da linguagem; }  É fácil de entender; }  Aproxima-se de uma “linguagem de programação”:

}  Mais “formal” e restrita que a linguagem natural; }  Palavras com forma (sintaxe) e significado (semântica) bem

definidos; }  As palavras que fazem parte da linguagem são ditas como reservadas,

isto quer dizer que não podem ser utilizadas para nomes dentro do algoritmo.

13

Page 14: Aula 2 - Introdução Cleverton Hentzcleverton-ifrn.wdfiles.com/local--files/algoritmos/Alg.Aula2.pdf · Sumário de Aula 2 ! Programas ! Linguagens de Programação ! Formas de Estruturação

Pseudocódigo

14

inicio leia num1, num2 se num1 > num2 então maior = num1 senão maior = num2 escreva maior fim

Page 15: Aula 2 - Introdução Cleverton Hentzcleverton-ifrn.wdfiles.com/local--files/algoritmos/Alg.Aula2.pdf · Sumário de Aula 2 ! Programas ! Linguagens de Programação ! Formas de Estruturação

Exemplo de Código-fonte Ling. Java

15

Scanner scn = new Scanner(System.in); int num1 = scn.nextInt(); int num2 = scn.nextInt(); int maior = 0; if (num1 > num2) { maior = num1; } else { maior = num2; } System.out.println(maior);