Introdução à Programação
Introdução à Informática
DCC -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
Utilizar Lápis
Limpar Tela
Desenhar traço de
comprimento 50 na
direção do robô
Comandos
Alterar na direção do
robô em 90 para direita
Faz 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
if [condicao] then
begin
[bloco de comandos a serem
executados caso a condição
seja verdadeira]
end
else
begin
[bloco de comandos a serem
executados caso a condição seja
falsa]
end



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.
Comando de Repetição
while [condição] do
begin
[bloco de comandos a serem
executados enquanto a
condição for verdadeira]
end;


Condição: expressão
que deve ter como
resultado verdadeiro
ou falso.
Os comandos serão
executados enquanto
a condição for
verdadeira.
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:


Caso contrário


Multa de R$ 1,00 por dia
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)


Processamento


Calcular o valor da multa de
acordo com as seguintes regras:
Se o livro não estiver reservado


Caso contrário



Multa de R$ 2,00 por dia.
Se o número de dias em atraso
for maior que 15

Valor da multa.
Multa de R$ 1,00 por dia.
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
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;

Nome da função:


Lista de parâmetros:


Parâmetros, com seu tipo especificado. Não são obrigatórios.
Comandos da função:


Deve indicar o que a função faz. Retorna o valor calculado.
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.
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
procedure [nome do procedimento] ([lista de parâmetros]);
[declarações de variáveis]
begin
[comandos]
end;

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
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).
Download

Programação