59
Prof. Mauro Jansen Professor: Mauro Jansen Microprocessadores II Revisão de Linguagem de Programação

Microprocessadores ii revisão de linguagem de programação (parte1)

Embed Size (px)

Citation preview

Page 1: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Professor: Mauro Jansen

Microprocessadores II

Revisão de Linguagem de Programação

Page 2: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro JansenLinguagem de ProgramaçãoRevisão de Introdução à programação 2

Conceitos Básicos

Page 3: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Dados e informações

Dados: são os fatos em sua ordem primária. Matéria prima (bruta) Ex: preço de venda, nota, horas trabalhadas

Informação: parte utilizável dos dados, que pode ser armazenada, transmitida ou permitir a dedução de novas informações. Produto final (acabado, lapidado) Ex: orçamento, resultado acadêmico, folha de

pagamento

Linguagem de ProgramaçãoRevisão de Introdução à programação 3

INFORMAÇÃO

DADOCONHECIMENTO

Page 4: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Processamento de dados

Qualquer trabalho de manipulação de dados que tenha como finalidade obter resultados previamente estabelecidos de modo a resolver determinado problema

Tem 3 partes principais: ENTRADA, PROCESSAMENTO e SAÍDA Envolve TRANSMISSÃO, ARMAZENAMENTO, RECUPERAÇÃO,

COMPARAÇÃO, COMBINAÇÃO de informações

Linguagem de ProgramaçãoRevisão de Introdução à programação 4

ENTRADA

PROCESSAMENTO

SAÍDA

Page 5: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Dados de entrada e saída

Ao tentar resolver um problema, devemos identificar alguns dados que auxiliarão na sua resolução.

Dados de Entrada: dão suporte à solução do problema. Ponto de partida.

Dados de Saída: resultados esperados após solução.

Através de um algoritmo os dados de entrada podem ser processados e teremos a solução do problema, que gerará uma saída de dados

Linguagem de ProgramaçãoRevisão de Introdução à programação 5

Page 6: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Instrução e lógica de programação

Instrução: Informação que indica ao computador uma ação elementar a executar

Lógica de programação diz respeito à dedução de uma sequência de instruções tal que, fornecidos os dados de entrada, alcançaremos como saída a solução do problema inicialmente concebido, por meio da execução das instruções

Linguagem de ProgramaçãoRevisão de Introdução à programação 6

Page 7: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro JansenLinguagem de ProgramaçãoRevisão de Introdução à programação 7

Algoritmos

(Conceitos, características, importância e passos para criação)

Page 8: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Algoritmo

Sequência ordenada de passos (instruções) necessários para a resolução de um problema ou processo.

Procedimento passo a passo para resolução de um problema

Exemplos de possíveis problemas do mundo real solucionáveis com algoritmos: Resolver uma operação matemática seguindo passos até

chegar ao resultado final Assar uma pipoca no forno microondas Tomar medicamentos seguindo orientações médicas Cozinhar seguindo receitas culinárias

Linguagem de ProgramaçãoRevisão de Introdução à programação 8

Page 9: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Conceito formal

Linguagem de ProgramaçãoRevisão de Introdução à programação 9

“Um algoritmo é uma lista de instruções que, quando executadas, transformam dados de entrada até a saída. As instruções são um conjunto finito de etapas que podem ser executadas, numa ordem precisa, por um mecanismo determinista. Quando estas etapas são efetivamente executadas , a execução deve terminar após um tempo

finito.”(HOLLOWAY, 2006)

Page 10: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Características de um algoritmo

Ter fim;Não dar margem a dupla interpretação;

Capacidade de receber dados do mundo exterior;

Poder gerar informações de saída para o mundo externo ao ambiente do algoritmo;

Ser efetivo;

Linguagem de ProgramaçãoRevisão de Introdução à programação 10

Page 11: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Importância dos algoritmos

“A noção de algoritmo é básica para toda a programação de computadores”.

[KNUTH - Professor da Universidade de Stanford, autor da coleção “The art of computer programming”

“O conceito central da programação e da ciência da computação é o conceito de algoritmo”.[WIRTH - Professor da Universidade de Zurique, autor de diversos livros na área

e responsável pela criação de linguagens de programação como ALGOL, PASCAL e MODULA-2]

Linguagem de ProgramaçãoRevisão de Introdução à programação 11

Page 12: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Passos para escrever um algoritmo

Segundo ASCENCIO e CAMPOS (2002), os passos para a construção de algoritmos são os seguintes: Ler atentamente o enunciado, destacando os

pontos mais importantes; Definir os dados de entrada; Definir o processamento; Definir os dados de saída; Construir o algoritmo uma das técnicas descritas

a seguir; Testar o algoritmo realizando simulações.

Linguagem de ProgramaçãoRevisão de Introdução à programação 12

Page 13: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro JansenLinguagem de ProgramaçãoRevisão de Introdução à programação 13

Linguagens de Programação

(Aonde queremos chegar com os algoritmos)

Page 14: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Linguagem de máquina

O computador, nativamente, só entende uma linguagem: a linguagem (ou código) de máquina, que é uma linguagem que: Tem grau de dificuldade acentuado Requer do programador um conhecimento da

arquitetura interna do hardware Exemplo de programa em código de máquina:

Linguagem de ProgramaçãoRevisão de Introdução à programação 14

C000:C100 BF 00 74 68 51 66 56 57-1E 06 53 66 50 E8 BC 00C000:C110 8B D9 D1 E1 16 5E 8E DE-8E C6 83 C5 02 8B C5 83C000:C120 ED 16 8B F5 8B FD 2B F9-8B E8 B9 0C 00 FC F3 A5

C000 10111111C001 00000000C002 01110100C003 01101000...

Page 15: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Linguagens de programação (LP’s)

As linguagens de programação existem para tornar a programação mais próxima da nossa linguagem natural Maior facilidade Maior produtividade

Linguagem de ProgramaçãoRevisão de Introdução à programação 15

Código de máquina X linguagem de alto nível:

Page 16: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Linguagens de programação (exemplo de programa)

Exemplo de programa em uma linguagem de programação (Pascal):

Linguagem de ProgramaçãoRevisão de Introdução à programação 16

(* Programa CONTADOR – conta de 1 a 10*)Var c: integer;Begin for c:=1 to 10 do writeln(c); writeln(‘Fim!’);End.

Page 17: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Linguagens de programação (LP’s)

São programas (softwares) usados para criar outros programas.

Transformam um conjunto de instruções de uma linguagem acessível em instruções da linguagem do computador (linguagem de máquina)

Exemplos:

Linguagem de ProgramaçãoRevisão de Introdução à programação 17

Pascal Delphi Visual Basic Java

C C++ C# PHP Javascript

Page 18: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Características das LP’s

Rigidez sintática: Idioma limitado e construções bem definidas A ordem dos termos ou uma vírgula a mais ou a

menos faz diferença (a sintaxe deve ser seguida à risca)

Rigidez semântica: não pode haver ambiguidades. O computador não tem idéia do que executa e

nem inteligência para analisar a ordem Você deve ser bem claro em relação ao que quer

que o computador execute

Linguagem de ProgramaçãoRevisão de Introdução à programação 18

Page 19: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Tipos de linguagens de programação

Quanto ao nível de abstração (facilidade de aprendizado) Alto nível Médio nível Baixo nível

Quanto à forma de execução Compiladas Interpretadas

Linguagem de ProgramaçãoRevisão de Introdução à programação 19

Page 20: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Nível de abstração das LPs

Alto nível: separa os detalhes da máquina. É mais próxima da linguagem humana

Médio nível: separa os detalhes da máquina, mas permite o acesso aos mesmos

Baixo nível: diretamente relacionadas com a arquitetura do hardware

Linguagem de ProgramaçãoRevisão de Introdução à programação 20

Page 21: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Nível de abstração das LPs

Linguagem de ProgramaçãoRevisão de Introdução à programação 21

MÁQUINA

Homem / linguagem humana

Linguagens de alto nível:ASP, C/C++, C#, Pascal/Object Pascal, Java,PHP, Python, Tcl, Basic/Visual Basic, Delphi

Linguagens de médio nível:C, C++

Linguagens de baixo nível: Assembly e Linguagem de máquina

Page 22: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Linguagem compilada – visão geral

Linguagem compilada Converte o programa na linguagem de alto nível (programa fonte) para a linguagem de máquina (programa executável)

Funcionamento:

Linguagem de ProgramaçãoRevisão de Introdução à programação 22

Programafonte Compilador Linkeditor

Programa executável

Códigoobjeto

bibliotecas

Page 23: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Linguagem compilada - elementos

Programa fonte: (ou código fonte) instruções e símbolos de uma linguagem de programação escritos de forma lógica e ordenada, com o objetivo de comandar um computador na execução de uma função Normalmente são arquivos tipo texto com

extensão definida pela LP: .C , .PAS , .JAVA , .PHP , etc

Compilador: (ou tradutor) programa que traduz um programa fonte em uma linguagem para um código objeto ou linguagem de mais baixo nível

Código objeto: (ou código intermediário). Código resultante da compilação. Ainda não é executável diretamente pelo computador. Linguagem de Programação

Revisão de Introdução à programação 23

Page 24: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Linguagem compilada - elementos

Linkeditor: (ou ligador) programa que liga os objetos gerados pelo compilador, criando o arquivo executável

Bibliotecas: conjuntos de sub-programas, ou objetos previamente existentes que serão (re)utilizados na criação do programa executável

Programa executável: arquivo final, que pode ser executado pelo computador através do sistema operacional Normalmente são arquivos com a extensão .EXE

ou .COM

Linguagem de ProgramaçãoRevisão de Introdução à programação 24

Page 25: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Linguagem compilada - exemplos

DelphiPascal/Object PascalCVisual BasicAssembler, etc.

Linguagem de ProgramaçãoRevisão de Introdução à programação 25

Page 26: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Linguagem interpretada – visão geral

Linguagem interpretada Executa os comandos sem converter para a linguagem de máquina (não gera programa executável)

Funcionamento: Ou:

Linguagem de ProgramaçãoRevisão de Introdução à programação 26

Programafonte

Interpretador(executa)

Interpretadorou

Máquina virtual(executa)

Códigoobjeto

Programafonte Compilador

Page 27: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Linguagem interpretada – exemplos:

Java HTML ASPPHPJavascript

Linguagem de ProgramaçãoRevisão de Introdução à programação 27

Page 28: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Ambientes de desenvolvimento

São ambientes de desenvolvimento que integram diversas ferramentas para a criação de programas em uma linguagem de programação

Também chamados de IDE´s (Integrated Development Environment)

Exemplo de ferramentas encontradas nos IDE´s: Editor de textos adequado para a programação Ajuda (Help) on-line Compilador, linkeditor e depurador integrados Ferramentas para desenho de janelas

(formulários) Linguagem de ProgramaçãoRevisão de Introdução à programação 28

Page 29: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Desenvolvimento de software

Segue algumas fases Análise: definição do QUÊ o programa deverá fazer

Projeto: definição de COMO o programa executará seu objetivo

Implementação: codificação (criação de um ou mais programas em uma linguagem)

Testes: testes isolados e de integração

Linguagem de ProgramaçãoRevisão de Introdução à programação 29

Page 30: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

O que preciso saber para programar?

Noções de algoritmos e lógica de programação

Conhecer a estrutura, comandos e símbolos da linguagem de programação escolhida

Para linguagens de baixo nível, conhecer também a arquitetura do hardware

Prática... Muita prática

Linguagem de ProgramaçãoRevisão de Introdução à programação 30

Page 31: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro JansenLinguagem de ProgramaçãoRevisão de Introdução à programação 31

Estruturação de Algoritmos(Estruturas básicas para criação e representação

de algoritmos)

Page 32: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Estruturação de algoritmos

São formas possíveis de resolução e representação de algoritmos Resolução

Sequencial Condicional Repetição

Representação Linguagem natural / descrição narrativa Fluxograma Pseudocódigo

Linguagem de ProgramaçãoRevisão de Introdução à programação 32

Page 33: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Estruturas de resolução

Ao buscar uma solução de um problema criando um algoritmo, sempre teremos pelo menos uma das seguintes estruturas: Resolução Sequencial: sequência linear de

instruções, uma após a outra Resolução Condicional: existência de

“condições” para executar algumas instruções.

Resolução com Repetição: algumas instruções precisam ser executadas várias vezes. Linguagem de Programação

Revisão de Introdução à programação 33

Page 34: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Estruturas de representação

Linguagem natural / descrição narrativa

FluxogramaDiagrama de ChapinPseudocódigo

Linguagem de ProgramaçãoRevisão de Introdução à programação 34

Page 35: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Linguagem natural

Apesar de ser possível escrever algoritmos para pessoas usando a linguagem natural, ela não é adequada para a construção de algoritmos para o computador

Não tem características das LP´s: Não têm rigidez sintática:

Traga caneta azul ou preta. Traga caneta (Azul ou preta)

Não tem rigidez semântica: A velhinha ouviu o barulho da janela

Linguagem de ProgramaçãoRevisão de Introdução à programação 35

Page 36: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Fluxograma: exemplo

Linguagem de ProgramaçãoRevisão de Introdução à programação 36

Algoritmo em forma de fluxograma, para solicitar dois números e mostrar qual o maior:

Início

Leia num1, num2

Num1>num2?

Maior num1

sim não

Maior num2

Escreva Maior

Fim

Page 37: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Diagrama de Chapin: exemplo

Linguagem de ProgramaçãoRevisão de Introdução à programação 37

Leia num1, num2

sim não

maior num1 maior num2

Escreva “O maior é: ”,maior

Fim

Algoritmo referente ao problema do maior número, representado em diagrama de Chapin:

num1>num2

Page 38: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Pseudocódigo

Assemelha-se à forma como os programas são escritos.

Para traduzir o pseudocódigo para uma linguagem de programação, basta conhecer o vocabulário e regras sintáticas da linguagem.

Busca a rigidez sintática e semântica, porém sem o detalhamento exigido nas linguagens de programação

Linguagem de ProgramaçãoRevisão de Introdução à programação 38

Forma para a representação de algoritmos rica em detalhes, como a definição dos tipos das variáveis usadas no algoritmo.

Page 39: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Pseudocódigo – estrutura básica

Linguagem de ProgramaçãoRevisão de Introdução à programação 39

Algoritmo <nome do Algoritmo>Variáveis <lista de variáveis>Início <bloco de comandos>Fim

Page 40: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Pseudocódigo - exemplo

Pseudocódigo referente ao problema do maior número:

Linguagem de ProgramaçãoRevisão de Introdução à programação 40

Algoritmo “Maior”Var num1, num2, maior: inteiroInicio Escreva(“Digite o 1° numero:”) Leia(num1) Escreva(“Digite o 2° numero:”) Leia(num2) se (num1>num2) entao maior <- num1 senao maior <- num2 fimse escreva(maior)FimAlgoritmo

Page 41: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro JansenLinguagem de ProgramaçãoRevisão de Introdução à programação 41

Tipos de dados, variáveis, expressões e

operadores

Page 42: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Introdução a tipos de dados

Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória

Estas informações podem ser classificadas em dois tipos: As instruções, que comandam o funcionamento

da máquina e determinam a maneira como devem ser tratados os dados

Os dados propriamente ditos, que correspondem à porção das informações a serem processadas pelo computador

Linguagem de ProgramaçãoRevisão de Introdução à programação 42

Page 43: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Introdução a tipos de dados

Internamente, essas informações (dados e instruções), ficam registradas na memória na forma binária

Porém, para facilitar, as linguagens de programação oferecem a noção de TIPOS DE DADOS, que nos permite manipular as informações de forma mais parecida com o modo como fazemos no mundo real

Linguagem de ProgramaçãoRevisão de Introdução à programação 43

Page 44: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Conceito de tipos de dados

Podemos definir tipos de dados como um conjunto de objetos que têm em comum o mesmo comportamento diante de um conjunto definido de operações

Exemplos: Pessoas Z (conjunto dos números inteiros) R (conjunto dos números reais) Letras

Linguagem de ProgramaçãoRevisão de Introdução à programação 44

Page 45: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Tipos de dados básicos das linguagens de programação

Linguagem de ProgramaçãoRevisão de Introdução à programação 45

Tipos de Dados

Numérico

inteiro real

Literal

caractere String

Lógico

OBS: Além dos tipos básicos, as linguagens podem oferecer variações dos mesmos ou outros tipos como Data, Hora, etc.

Page 46: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Tipos de dados básicos

Numéricos: somente números, positivos ou negativos Inteiros: não possuem parte fracionária. Ex: 10,

-9, 0 Reais: podem ter parte fracionária. Ex: 15.25 , -15

Literais: letras, dígitos ou símbolos Caractere: um único caractere. Ex: ‘a’, ‘7’, ‘@’ String: conjunto de caracteres, formando uma

palavra, frase ou parágrafo. Ex: “Algoritmos”, “** ABC **”

Lógicos (ou booleanos): somente dois valores possíveis: verdadeiro ou falso

Linguagem de ProgramaçãoRevisão de Introdução à programação 46

Page 47: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Variáveis : conceito e características

Podemos imaginar uma variável como o nome de um local na memória principal do computador onde se pode colocar qualquer valor do conjunto de valores possíveis do tipo básico associado

Características: um nome (ou identificador) um tipo de dado associado à mesma e o dado (valor) por ela guardado.

Linguagem de ProgramaçãoRevisão de Introdução à programação 47

tipo de

dado

Nome da variável

valor

Page 48: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Declaração de variáveis

Declarar uma variável corresponde à criação de um local na memória rotulado com o nome da variável (identificador) e marcado com o tipo de valores que ela pode conter:

Linguagem de ProgramaçãoRevisão de Introdução à programação 48

Memória RAMtipo de dadotipo de dado

Nome da variável

valorNome da variável

valorNome da variável

valor

Page 49: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Regras para definir nomes de variáveis

O primeiro caractere do nome deve ser uma letra.

Se houver mais de um caractere, só se deve usar letra ou algarismo.

Há diferença em usar letras maiúsculas e minúsculas.

Não usar palavras que sejam reservadas Às Linguagens de Programação.

Devemos dar nomes representativos para as variáveis.

Linguagem de ProgramaçãoRevisão de Introdução à programação 49

Page 50: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Declaração de variáveis em pseudocódigo

Colocamos o identificador do tipo de dado seguido do nome da variável

Identificadores de tipos de dados:

Exemplos:int valor;real salario, taxa;char opcao;

Linguagem de ProgramaçãoRevisão de Introdução à programação 50

Inteiro – int ou integerReal – real, float ou doubleLiteral – char (caractere) ou string (cadeia de caracteres)Lógico – boolean ou lógico

Variáveis do mesmo tipo podem ser declaradas juntas, bastando separar os identificadores por vírgula.

Page 51: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Expressão

Combinação de operandos (valores ou variáveis), operadores, e chamadas de funções que são interpretadas (avaliadas) de acordo com as regras de precedência e de associatividade particulares a uma determinada linguagem de programação, que calcula e, em seguida, produz (retorna) um valor

O tipo da expressão é o tipo do dado resultante:

Linguagem de ProgramaçãoRevisão de Introdução à programação 51

Tipo de expressão

Exemplos

Aritmética 2+2

salario * reajuste / 100

Literal “Algoritmos”+” e programação”

Lógica 5 > 3

Page 52: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Operadores e operandos

Operadores são elementos que atuam sobre operandos e produzem um resultado

Operandos são valores ou variáveis de um dos tipos de dados

Operadores binários: exigem dois operandos Ex: 3 + 6

Operadores unários: exigem um único operando Ex: -2

Linguagem de ProgramaçãoRevisão de Introdução à programação 52

Page 53: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Operadores aritméticos

Usados em expressões aritméticas

Linguagem de ProgramaçãoRevisão de Introdução à programação 53

Page 54: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Operadores lógicos e de comparação

São usados em expressões lógicasOperadores lógicos:

Operadores de comparação:

Linguagem de ProgramaçãoRevisão de Introdução à programação 54

Page 55: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro JansenLinguagem de ProgramaçãoRevisão de Introdução à programação 55

Sub-Algoritmos

Page 56: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Sub-algoritmos

São blocos de instruções que realizam tarefas específicas, que são executadas várias vezes ou parte de uma tarefa maior

Um algoritmo completo é dividido em: Um algoritmo principal Diversos sub-algoritmos

Linguagem de ProgramaçãoRevisão de Introdução à programação 56

Page 57: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Sub-algoritmos – ilustração do funcionamento:

Linguagem de ProgramaçãoRevisão de Introdução à programação 57

Subalgoritmo 1instrução 1Subalgoritmo 2instrução 2

Algoritmo Principalinstrução 1instrução 2Subalgoritmo 1instrução 3

Subalgoritmo 2instrução 1instrução 2

A execução inicial aqui e segue a sequência das instruções.

A execução do Algoritmo Principal é interrompida até que o Subalgoritmo 1 seja executado, continuando em seguida a partir da instrução 3.

Executado no momento em que é invocado pelo Algoritmo Principal.

A execução do Subalgoritmo 1 é interrompida até que o Subalgoritmo 2 seja executado, continuando em seguida a partir da instrução 2.

Executado no momento em que é invocado pelo Subalgoritmo 1.

Terminada a execução, volta para continuar o Subalgoritmo 1. Quando terminar o Subalgoritmo 1, volta para continuar com a execução do Algoritmo Principal.

Page 58: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Tipos de sub-algoritmos

PROCEDIMENTO: é um sub-algoritmo que não retorna valor ao algoritmo chamador ou que retorna dois ou mais valores Exemplos: solicita_valores, lista_resultados

FUNÇÃO: é um sub-algoritmo que calcula um valor a partir de outros fornecidos a ela, retornando o valor calculado Exemplos: primo(<número>),

fatorial(<número>)

Linguagem de ProgramaçãoRevisão de Introdução à programação 58

Page 59: Microprocessadores ii revisão de linguagem de programação (parte1)

Prof. Mauro Jansen

Exemplo de pseudocódigo com sub-algoritmo

Linguagem de ProgramaçãoRevisão de Introdução à programação 59

Algoritmo SomaDeDoisNumerosVariáveis num1, num2, s: Inteiro

Função soma (x, y: Inteiro)Variáveis adicao: InteiroInício adicao x + y Retorne adicaoFim

Início Escreva “Digite o Primeiro Numero” Leia num1 Escreva “Digite o Segundo Numero” Leia num2 s soma(num1, num2) Escreva sFim

Aqui se inicia o algoritmo principal, que solicita dois números ao usuário e, em seguida, chama a função que realiza a soma dos números. Guarda a soma retornada pela função na variável s e mostra o valor na tela.

Quando a função é chamada, a execução do algoritmo principal fica parada até que a função seja finalizada e retorne o resultado.