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