aula 2 - introdução cleverton...
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](https://reader035.vdocuments.site/reader035/viewer/2022071014/5fccf6c3e3c897165c6e1455/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071014/5fccf6c3e3c897165c6e1455/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071014/5fccf6c3e3c897165c6e1455/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071014/5fccf6c3e3c897165c6e1455/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071014/5fccf6c3e3c897165c6e1455/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071014/5fccf6c3e3c897165c6e1455/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071014/5fccf6c3e3c897165c6e1455/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071014/5fccf6c3e3c897165c6e1455/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071014/5fccf6c3e3c897165c6e1455/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071014/5fccf6c3e3c897165c6e1455/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071014/5fccf6c3e3c897165c6e1455/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071014/5fccf6c3e3c897165c6e1455/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071014/5fccf6c3e3c897165c6e1455/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071014/5fccf6c3e3c897165c6e1455/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022071014/5fccf6c3e3c897165c6e1455/html5/thumbnails/15.jpg)
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);