Introdução à Programação Introdução à Informática DCC -UFMG.

52
Introdução à Programação Introdução à Informática DCC -UFMG

Transcript of Introdução à Programação Introdução à Informática DCC -UFMG.

Page 1: Introdução à Programação Introdução à Informática DCC -UFMG.

Introdução à Programação

Introdução à InformáticaDCC -UFMG

Page 2: Introdução à Programação Introdução à Informática DCC -UFMG.

Introdução à Programação

Aula 1

Page 3: Introdução à Programação Introdução à Informática DCC -UFMG.

Introdução Programa:

conjunto de comandos com uma determinada seqüência lógica, permitindo o processamento de dados.

PascaL: Implementação quase completa de um

compilador Pascal no Logo Facilidade para a produção de figuras a partir de

comandos. Ele usa um “robô triangular” que aparece na tela, como metáfora para um robô real.

Page 4: Introdução à Programação Introdução à Informática DCC -UFMG.

Problema – Desenhar retângulo

Descrição: Desenvolver um programa para desenhar

um retângulo com o lado maior de tamanho 100 e o lado menor de tamanho 50.

1 Passo: Identificar uma seqüência de comandos a

ser seguida pelo computador para resolver o problema Diagrama de Nassi

Page 5: Introdução à Programação Introdução à Informática DCC -UFMG.

Diagrama de Nassi

Page 6: Introdução à Programação Introdução à Informática DCC -UFMG.

Programa PascaL

Comandos

Utilizar Lápis

Limpar Tela

Desenhar traço de comprimento 50 na direção do robô

Alterar na direção do robô em 90 para direitaFaz com que o robô não seja mostrado (Desapareça Robô)

Page 7: Introdução à Programação Introdução à Informática DCC -UFMG.

Resultado

Page 8: Introdução à Programação Introdução à Informática DCC -UFMG.

Problema – Desenhar retângulo de tamanho variável

Descrição: O tamanho dos lados do retângulo deve

ser variável, e o tamanho do lado maior deve ser o dobro do tamanho do lado menor.

Page 9: Introdução à Programação Introdução à Informática DCC -UFMG.

Diagrama de Nassi

Page 10: Introdução à Programação Introdução à Informática DCC -UFMG.

Programa PascaL

Page 11: Introdução à Programação Introdução à Informática DCC -UFMG.

Conceitos Básicos Tipos de variáveis:

Integer: (...,-1, 0, 1,...) Real: (..., -1.99, ..., -1.9, ..., 0, ..., 0.3, ...) Char: (“a”, “A”, “z”, “ ”) String: (“palavra”, “maria”)

Comandos de entrada e saída: Readln Writeln Write

Page 12: Introdução à Programação Introdução à Informática DCC -UFMG.

Problema: Calcular área do retângulo

Descrição: Além de desenhar um retângulo com o

tamanho do lado variável, calcular sua área e seu perímetro.

Page 13: Introdução à Programação Introdução à Informática DCC -UFMG.

Diagrama de Nassi

Page 14: Introdução à Programação Introdução à Informática DCC -UFMG.

Programa PascaL

Page 15: Introdução à Programação Introdução à Informática DCC -UFMG.

Resultado

Page 16: Introdução à Programação Introdução à Informática DCC -UFMG.

Introdução à Programação

Aula 2

Page 17: Introdução à Programação Introdução à Informática DCC -UFMG.

Cenário 1: Desenhar quadrado ou retângulo

Problema: Desenhar um quadrado ou um retângulo

reaproveitando o código o máximo possível.

A informação sobre o que deve ser desenhado deve vir do usuário, bem como o tamanho do lado menor do retângulo como visto no exercício anterior

Page 18: Introdução à Programação Introdução à Informática DCC -UFMG.

Descrição do Problema Dados de Entrada

Tamanho do lado do quadrilátero caso seja um retângulo é o tamanho do lado

menor, o lado maior tem o dobro deste comprimento.

Quadrado ou um retângulo (1 = quadrado e 2 = retângulo).

Page 19: Introdução à Programação Introdução à Informática DCC -UFMG.

Descrição do Problema Processamento

Ler os dados de entrada Calcular o tamanho do lado maior  Se for um quadrado, o lado maior é igual ao

lado menor. Se for um retângulo, o lado maior é o dobro do

lado menor. Desenhar o quadrilátero.

Dados de Saída Desenho do quadrilátero.

Page 20: Introdução à Programação Introdução à Informática DCC -UFMG.

Diagrama de Nassi

Page 21: Introdução à Programação Introdução à Informática DCC -UFMG.

Diagrama de Nassi com repetição

Page 22: Introdução à Programação Introdução à Informática DCC -UFMG.

Programa PascaL

Page 23: Introdução à Programação Introdução à Informática DCC -UFMG.

Programa PascaL

Page 24: Introdução à Programação Introdução à Informática DCC -UFMG.

Comando de Decisão Caso a condição seja

verdadeira, os comandos após o then serão executados.

Caso seja falsa, os comandos após o else serão executados.

Você delimita esses dois blocos de comando com um begin e um end.

if [condicao] then   begin     [bloco de comandos a serem executados caso a condição seja verdadeira]   endelse  begin    [bloco de comandos a serem executados caso a condição seja falsa]  end

Page 25: Introdução à Programação Introdução à Informática DCC -UFMG.

Comando de Repetição Condição: expressão

que deve ter como resultado verdadeiro ou falso.

Os comandos serão executados enquanto a condição for verdadeira.

while [condição] do   begin     [bloco de comandos a serem executados enquanto a condição for verdadeira]   end;

Page 26: Introdução à Programação Introdução à Informática DCC -UFMG.

Cenário 2 - Cálculo do valor de multa em biblioteca

Programa para calcular: Valor da multa para os livro de

um determinado usuário Valor total da soma de todas as

multas para o usuário Média dos dias de atraso.

O programa deve ler, até que seja digitado um código de livro negativo (FLAG):

Código de cada livro Número de dias de atraso Se o livro está reservado ou

não

Se o livro não estiver reservado:

Multa de R$ 1,00 por dia Caso contrário

Multa de R$ 2,00 por dia. Caso o número de dias

de atraso seja superior a 15 dias

Adicionar multa extra de 10% sobre o valor total da multa. 

Page 27: Introdução à Programação Introdução à Informática DCC -UFMG.

Descrição do Problema Dados de Entrada

Código do livro Número de dias de

atraso Informação se o

livro está reservado ou não

Dados de Saída Valor da multa para

cada livro. Valor total das

multas. Média dos dias de

atraso

Page 28: Introdução à Programação Introdução à Informática DCC -UFMG.

Descrição do Problema Processamento

Ler repetidamente os dados de entrada Calcular o valor da multa para um livro sabendo que:

Se o livro não estiver reservado, a multa é de R$ 1,00 por dia.

Se o livro estiver reservado, a multa é de R$ 2,00 por dia. Se o número de dias em atraso for maior que 15, o valor

total da multa deve ser acrescido em 10%. Calcular o valor total das multas para todos os livros. Calcular a média dos dias de atraso. Exibir os dados de saída.

Page 29: Introdução à Programação Introdução à Informática DCC -UFMG.

Diagrama de Nassi

Page 30: Introdução à Programação Introdução à Informática DCC -UFMG.

Programa PascaL

Page 31: Introdução à Programação Introdução à Informática DCC -UFMG.

Programa PascaL

Page 32: Introdução à Programação Introdução à Informática DCC -UFMG.

Introdução à Programação

Aula 3

Page 33: Introdução à Programação Introdução à Informática DCC -UFMG.

Cenário 3 - Tabela de valor de multas

Fazer uma tabela com o valor de multas para atrasos entre 10 e 20 dias, estando o livro reservado ou não.

Exemplo: 2 primeiras linhas

Page 34: Introdução à Programação Introdução à Informática DCC -UFMG.

Descrição do Problema Dados de Entrada

Não tem. Dados de Saída

Tabela como valor da multa para livros reservados e não reservados variando-se o número de dias entre 10 e 20.

Page 35: Introdução à Programação Introdução à Informática DCC -UFMG.

Descrição do Problema Processamento

Para número de dias entre 10 e 20, calcular o valor da multa para livros reservados e não reservados de acordo com as seguintes regras:

Se o livro não estiver reservado, a multa é de R$ 1,00 por dia.

Se o livro estiver reservado, a multa é de R$ 2,00 por dia.

Se o número de dias em atraso for maior que 15, o valor total da multa deve ser acrescido em 10%.

Exibir os dados de saída.

Page 36: Introdução à Programação Introdução à Informática DCC -UFMG.

Módulo de programa Utilizar um módulo para calcular do valor

da multa, evitando a replicação do código Módulo:

Grupo de comandos, constituindo um trecho de algoritmo, com uma função bem definida e o mais independente possível em relação ao resto do programa. 

Podem ser classificados como procedimentos ou funções

Parâmetros: dados que o módulo recebe para sua execução.

Page 37: Introdução à Programação Introdução à Informática DCC -UFMG.

Descrição da função para calcular valor da multa

Dados de Entrada (Parâmetros) Número de dias de

atraso Informação se o livro

está reservado ou não Dado de Saída (Valor

de retorno) Valor da multa.

Processamento Calcular o valor da multa de

acordo com as seguintes regras:

Se o livro não estiver reservado Multa de R$ 1,00 por dia.

Caso contrário Multa de R$ 2,00 por dia.

Se o número de dias em atraso for maior que 15

Valor total da multa deve ser acrescido em 10%.

Retornar o valor de saída no nome da função

Page 38: Introdução à Programação Introdução à Informática DCC -UFMG.

Diagrama de Nassi para a função

Page 39: Introdução à Programação Introdução à Informática DCC -UFMG.

Diagrama de Nassi para o programa que utiliza a função

Page 40: Introdução à Programação Introdução à Informática DCC -UFMG.

Código PascaL da função calculaValorMulta

Page 41: Introdução à Programação Introdução à Informática DCC -UFMG.

Função

Nome da função: Deve indicar o que a função faz. Retorna o valor calculado.

Lista de parâmetros: Parâmetros, com seu tipo especificado. Não são obrigatórios.

Comandos da função: Utilizados para calcular o valor a ser retornado pela função.

O valor a ser retornado pela função deve ser atribuído ao nome desta ao fim do processamento.

function [nome da função] ([lista de parâmetros]): [tipo do valor de retorno];   [declarações de variáveis]    begin       [comandos da função]       [nome da funcao] := [valor a ser retornado]    end;

Page 42: Introdução à Programação Introdução à Informática DCC -UFMG.

Programa PascaL que utiliza a função calculaValorMulta

Código da função

Page 43: Introdução à Programação Introdução à Informática DCC -UFMG.

Utilização de Função Para utilizar a função basta realizar

uma chamada passando como parâmetros os valores desejados, conforme o exemplo abaixo.

multaReservado := calculaValorMulta(numDias, 1);

Page 44: Introdução à Programação Introdução à Informática DCC -UFMG.

Resultado

Page 45: Introdução à Programação Introdução à Informática DCC -UFMG.

Cenário 4 - Programa para desenhar quadriláteros.

Programa para desenhar a figura abaixo utilizando um procedimento para desenhar quadrados e retângulos:

Page 46: Introdução à Programação Introdução à Informática DCC -UFMG.

Descrição do Problema Dados de Entrada

Não tem Dados de Saída

Figura semelhante à apresentada abaixo

Processamento Posicionar o robô. Desenhar retângulo maior. Posicionar o robô. Desenhar quadrado da

esquerda. Posicionar o robô. Desenhar retângulo do centro

da figura. Posicionar o robô. Desenhar quadrado da direita. Posicionar o robô. Desenhar retângulo pequeno

na parte superior da figura.

Page 47: Introdução à Programação Introdução à Informática DCC -UFMG.

Diagrama de Nassi do procedimento para desenhar quadriláteros

Page 48: Introdução à Programação Introdução à Informática DCC -UFMG.

Diagrama de Nassi do programa

Page 49: Introdução à Programação Introdução à Informática DCC -UFMG.

Código PascaL do procedimento desenhaQuadrilatero

Page 50: Introdução à Programação Introdução à Informática DCC -UFMG.

Procedimento

Nome do procedimento: Deve indicar o que ele faz.

Lista de parâmetros: parâmetros, com seu tipo especificado. Não são

obrigatórios

procedure [nome do procedimento] ([lista de parâmetros]);  [declarações de variáveis]  begin     [comandos]   end;

Page 51: Introdução à Programação Introdução à Informática DCC -UFMG.

Programa PascaL que utiliza o procedimento desenhaQuadriláteros

Código do procedimento

Chamadas ao procedimento

Page 52: Introdução à Programação Introdução à Informática DCC -UFMG.

Utilização de Procedimentos

Para se executar o procedimento basta inserir uma chamada no bloco de comandos do programa. Um exemplo de chamada a procedimento pode ser

visto abaixo:desenharQuadrilatero(200, 2);

Os parâmetros devem ser colocados entre parênteses, separados por vírgulas, em ordem. No exemplo acima, o primeiro parâmetro é o

tamanho do lado menor e o segundo é o tipo do quadrilátero (quadrado ou retângulo).