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

Post on 07-Apr-2016

236 views 7 download

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

Introdução à Programação

Introdução à InformáticaDCC -UFMG

Introdução à Programação

Aula 1

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.

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

Diagrama de Nassi

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ô)

Resultado

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.

Diagrama de Nassi

Programa PascaL

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

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.

Diagrama de Nassi

Programa PascaL

Resultado

Introdução à Programação

Aula 2

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

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).

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.

Diagrama de Nassi

Diagrama de Nassi com repetição

Programa PascaL

Programa PascaL

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

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;

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. 

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

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.

Diagrama de Nassi

Programa PascaL

Programa PascaL

Introdução à Programação

Aula 3

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

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.

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.

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.

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

Diagrama de Nassi para a função

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

Código PascaL da função calculaValorMulta

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;

Programa PascaL que utiliza a função calculaValorMulta

Código da função

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);

Resultado

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

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

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.

Diagrama de Nassi do procedimento para desenhar quadriláteros

Diagrama de Nassi do programa

Código PascaL do procedimento desenhaQuadrilatero

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;

Programa PascaL que utiliza o procedimento desenhaQuadriláteros

Código do procedimento

Chamadas ao procedimento

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).