Lógica de Programação - Unimep/Pronatec - Aula11

49
Lógica de Programação Unimep/Pronatec 2° Semestre/2014 AULA 11 - Prof. André Bertoletti - [email protected]

Transcript of Lógica de Programação - Unimep/Pronatec - Aula11

Lógica de Programação

Unimep/Pronatec

2° Semestre/2014

AULA 11

- Prof. André Bertoletti -

[email protected]

Aula de hoje

• Modularização e reuso de programas

• Passagem de parâmetros

• Exercícios Portugol/C#

NÃO ESQUEÇA DA SUA Hora do Código

Acesse, identifique-se e faça os exercícios!

abre.ai/horadocodigo

Modularização

Uma técnica de desenvolvimento de software que consiste na

divisão da solução de um problema em “partes”

Dando “nome aos bois”

módulos = métodos = funções = procedimentos = subprogramas = subrotinas

= TRECHOS DO PROGRAMA

PRINCIPAL

Mas por que modularizar um

software?

Vantagens da modularização

No mundo real o software precisa ser mais robusto

Dividir para conquistar

O código fica mais legível e fácil de dar manutenção

Facilita o trabalho em equipe

Permite o reaproveitamento de código (bibliotecas)

Evite copiar e colar código! Ao invés disso, implemente o seu REUSO!

Na prática!

Veja como seria um programa modularizado

Programa não modularizado

Programa principal Inicio comando1; comando2; comando3; comando4; comando5; comando6; comando7; comando8; comando9; comando10; comando11; comando12; comando13; comando14; comando15; comando16; comando17; comando18; Fim

Programa modularizado

Programa principal() Inicio comando1; comando2; comando3; MétodoA(); comando5; comando6; comando7; comando8; comando9; MétodoB(); comando14; MétodoXYZ(); comando18; Fim

MétodoA() Inicio comando991; comando4; comando992; Fim

MétodoB() Inicio comando10; comando11; comando12; comando13; comando9991; Fim

MétodoXYZ() Inicio comando15; comando16; comando17; Fim

Vamos ver ao vivo!

Um exemplo em Portugol e C#

Retorno dos módulos

Um método pode retornar um valor ou então retornar vazio

Sintaxe para declarar um método

Portugol Studio C#

//método com retorno vazio funcao XYZ() { }

//método com retorno vazio void XYZ () { }

//método com retorno inteiro funcao inteiro XYZ () { retorna 0; }

//método com retorno inteiro int XYZ () { return 0; }

Passagem de parâmetros

Um método pode receber valores

de quem o chamou

Sintaxe para passagem de parâmetros

Portugol Studio C#

//recebendo valores por valor funcao XYZ(real P1, texto P2) { }

//recebendo valores por valor void XYZ (decimal P1, string P2) { }

//recebendo valores por referência funcao XYZ(real &P1, texto &P2) { }

//recebendo valores por referência void XYZ (ref decimal P1, ref string P2) { }

Vamos treinar um pouco?!

Exercício_M1

Desenvolva um programa modular que leia dois números, faça a soma entre eles, e no final diga se o resultado desta soma resultou num número impar ou par.

Exercício_M1 (em Portugol Studio, sem módulos)

Exercício_M1 (em Portugol Studio, com módulos)

Exercício_M1 (em C#, sem módulos)

Exercício_M1 (em C#, com módulos)

Exercício_M2

Escreva um método que receba um número inteiro por parâmetro e imprima o nome do mês correspondente ao número. Por exemplo, se passar o valor 2 deverá retornar “fevereiro”. O método também deverá mostrar uma mensagem de erro caso o número recebido não faça sentido. Por fim, o método principal deverá ler conter um algoritmo que leia um valor do usuário e chame o método criado.

Exercício_M2 (em Portugol Studio, sem módulos)

Exercício_M2 (em Portugol Studio, COM módulos)

Exercício_M2 (em C#, sem módulos)

Exercício_M2 (em C#, COM módulos)

Exercício_M3

Cria um programa modular que apresente um menu de opções para o usuário escolher qual sub-rotina gostaria de executar. Ao finalizar a execução da sub-rotina escolhida, possibilitar que o usuário escolha se deseja voltar ao menu principal e execute novamente.

Exercício_M3 (em Portugol Studio, sem módulos)

(página 1/4)

Exercício_M3 (em Portugol Studio, sem módulos)

(página 2/4)

Exercício_M3 (em Portugol Studio, sem módulos)

(página 3/4)

Exercício_M3 (em Portugol Studio, sem módulos)

(página 4/4)

Exercício_M3 (em Portugol Studio, COM módulos)

Visão resumida de todos os módulos deste programa. Confira a visão detalhada nos próximos slides.

Exercício_M3 (em Portugol Studio, COM módulos)

(página 1/4)

Exercício_M3 (em Portugol Studio, COM módulos)

(página 2/4)

Exercício_M3 (em Portugol Studio, COM módulos)

(página 3/4)

Exercício_M3 (em Portugol Studio, COM módulos)

(página 4/4)

Exercício_M3 (em C#, sem módulos)

(página 1/3)

Exercício_M3 (em C#, sem módulos)

(página 2/3)

Exercício_M3 (em C#, sem módulos)

(página 3/3)

Exercício_M3 (em C#, COM módulos)

Visão resumida de todos os módulos deste programa. Confira a visão detalhada nos próximos slides.

Exercício_M3 (em C#, COM módulos)

(página 1/4)

Exercício_M3 (em C#, COM módulos)

(página 2/4)

Exercício_M3 (em C#, COM módulos)

(página 3/4)

Exercício_M3 (em C#, COM módulos)

(página 4/4)

Por hoje é só...

Agora é hora de estudar!

Acesse mais exercícios aqui: http://abre.ai/exercicos-modulos