apostila de fundamentos de programação i prof.: andré luiz ... · apostila de fundamentos de...

12
Apostila de Fundamentos de Programação I Prof.: André Luiz Montevecchi Introdução O mundo atual é dependente da tecnologia. O uso intenso de diversos aparatos tecnológicos é parte integrante do nosso dia-a-dia. Qualquer tipo de ferramenta que venha a facilitar nossas vidas pode também ser considerada um exemplo de tecnologia. Uma simples caneta pode ser considerada uma “tecnologia da escrita” (Vilarim, 2004). O desenvolvimento dos primeiros computadores está relacionando às necessidades do homem de fazer cálculos. Programação consiste no conjunto de métodos, das técnicas e dos procedimentos em computação para a elaboração de programas de computador. A necessidade de existência de “bons”programas, fáceis de serem entendidos por outros programadores, com o mínimo de erros, que sejam executados em tempo aceitável, fez disseminar-se uma metodologia em programação, a Programação Estruturada. Nela aplicamos técnicas que permitam fazer programas corretos, fáceis de se entender e modificar (Vilarim, 2004). Mais do que ter conhecimento de linguagens e detalhes sobre este ou aquele equipamento, a programação é uma atividade diretamente ligada à resolução de problemas. Quando elaboramos um programa de computador, no fundo queremos ensinar a máquina a resolver um problema, e a eletrônica permite que a máquina chegue a uma resposta de maneira mais rápida e mais precisa do que nós (Vilarim, 2004). Quando os computadores passaram a ter os programas funcionando na memória, percebeu-se que era possível utilizar um conceito matemático para definir soluções de problemas os algoritmos. Um algoritmo é uma seqüência ordenada e finita de etapas, cuja execução passo a passo resolve um determinado problema (Boratti & Oliveira, 2004). Português Estruturado para representar algoritmos A maior parte dos nossos algoritmos será feita no que chamados de português estruturado (também chamado “portugol”). O português estruturado possui as seguintes características. Utiliza um conjunto muito mais limitado de comandos do que a língua normal, mas que podem ser combinados para se construir desde algoritmos simples até outros bem complexos; Estabelece um rigor na construção do algoritmo que impede a existência de ambigüidades. Cada comando tem uma interpretação única para a máquina; O algoritmo torna-se uma lista ordenada de comandos combinados, cujo seqüenciamento de execução é uma solução do problema.

Upload: phamquynh

Post on 20-Jan-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Apostila de Fundamentos de Programação I Prof.: André Luiz ... · Apostila de Fundamentos de Programação I ... O mundo atual é dependente da ... O desenvolvimento dos primeiros

Apostila de Fundamentos de Programação I

Prof.: André Luiz Montevecchi

Introdução

O mundo atual é dependente da tecnologia. O uso intenso de diversos aparatos

tecnológicos é parte integrante do nosso dia-a-dia. Qualquer tipo de ferramenta que venha a

facilitar nossas vidas pode também ser considerada um exemplo de tecnologia. Uma simples

caneta pode ser considerada uma “tecnologia da escrita” (Vilarim, 2004).

O desenvolvimento dos primeiros computadores está relacionando às necessidades do

homem de fazer cálculos.

Programação consiste no conjunto de métodos, das técnicas e dos procedimentos em

computação para a elaboração de programas de computador. A necessidade de existência de

“bons”programas, fáceis de serem entendidos por outros programadores, com o mínimo de

erros, que sejam executados em tempo aceitável, fez disseminar-se uma metodologia em

programação, a Programação Estruturada. Nela aplicamos técnicas que permitam fazer

programas corretos, fáceis de se entender e modificar (Vilarim, 2004).

Mais do que ter conhecimento de linguagens e detalhes sobre este ou aquele

equipamento, a programação é uma atividade diretamente ligada à resolução de problemas.

Quando elaboramos um programa de computador, no fundo queremos ensinar a máquina a

resolver um problema, e a eletrônica permite que a máquina chegue a uma resposta de

maneira mais rápida e mais precisa do que nós (Vilarim, 2004).

Quando os computadores passaram a ter os programas funcionando na memória,

percebeu-se que era possível utilizar um conceito matemático para definir soluções de

problemas – os algoritmos. Um algoritmo é uma seqüência ordenada e finita de etapas,

cuja execução passo a passo resolve um determinado problema (Boratti & Oliveira, 2004).

Português Estruturado para representar algoritmos

A maior parte dos nossos algoritmos será feita no que chamados de português

estruturado (também chamado “portugol”). O português estruturado possui as seguintes

características.

Utiliza um conjunto muito mais limitado de comandos do que a língua normal, mas que

podem ser combinados para se construir desde algoritmos simples até outros bem

complexos;

Estabelece um rigor na construção do algoritmo que impede a existência de

ambigüidades. Cada comando tem uma interpretação única para a máquina;

O algoritmo torna-se uma lista ordenada de comandos combinados, cujo

seqüenciamento de execução é uma solução do problema.

Page 2: Apostila de Fundamentos de Programação I Prof.: André Luiz ... · Apostila de Fundamentos de Programação I ... O mundo atual é dependente da ... O desenvolvimento dos primeiros

Tipos de Dados

Em nosso algoritmo classificaremos os valores nos seguintes tipos básicos:

Inteiro;

Real;

Caractere;

Literal;

Lógico ou Booleano.

Valores tipo Inteiro

São valores que representam quantidades numéricas inteiras, tais como a idade de uma

pessoa, o número de funcionários de uma empresa, etc.

Exemplos: 17, -5, 90,0.

Valores tipo Real

São valores que representam quantidades reais, ou seja, valores que apresentam parte

decimal, tais como salário de um funcionário, a altura de uma pessoa, etc.

Exemplos: 4.5, 1200.93, -0.0005, 15.0, 0.0.

Valores tipo Caractere

São valores utilizados para representar informações onde apenas um caractere é

necessário, tais como o valor do sexo de uma pessoa (M ou F), uma letra do alfabeto, etc.

Todo valor do tipo caractere apresenta apenas um caractere.

Exemplos: “*”, “I”, “i”, “5”, “ “ (espaço).

Valores do tipo Literal

São utilizados na representação de informações onde se faz necessária a utilização de

zero ou mais caracteres, tais como nome de uma pessoa, o nome de uma cidade, uma frase,

etc.

Exemplos: “Roberval Moreira”, “Avenida Amazonas”, “1234”.

Valores tipo Lógico ou Booleano

São apenas dois valores: Verdadeiro e Falso. São utilizados na representação do valor

de uma expressão lógica ou afirmações, tais como 6>4 (Verdadeiro) ou “A Terra gira em torno

da Lua” (Falso).

Page 3: Apostila de Fundamentos de Programação I Prof.: André Luiz ... · Apostila de Fundamentos de Programação I ... O mundo atual é dependente da ... O desenvolvimento dos primeiros

Variáveis

Uma variável é um local com um nome dentro da memória do computador, criado em

um algoritmo para se armazenar um determinado dado (Boratti & Oliveira, 2004).

Uma analogia muito comum é imaginar uma variável como uma gaveta dentro da

memória do computador. Esta gaveta tem capacidade de guardar um dado de certo tipo, e o

nome da variável é como uma etiqueta colada na frente da gaveta. Ela possui o nome de

variável porque o dado nela armazenado pode se modificar durante a execução do algoritmo

(Boratti & Oliveira, 2004).

Toda variável precisa ter um nome definido pelo programador, que deve ser único

dentro de um mesmo algoritmo.

Na nossa sintaxe, todo nome de variável deve começar por uma letra e não poderá

ter espaço em branco ou acentos.

Exemplos de nomes de variável válidos:

Valor_pago

Soma

AA

k

num

contador.

Declaração de variáveis

Toda variável usada em um algoritmo precisa ser declarada. Isto deve ser feito no início

do algoritmo. A sintaxe de declaração de variáveis é:

<variável1>, <variável2>, ... : <tipo>;

Os tipos básicos a serem declarados são Inteiro, Real, Booleano ou Literal.

Exemplos:

quant_latas, quant_garrafas : Inteiro;

saldo, taxa, bônus : Real;

nome_funcionario: Literal;

Page 4: Apostila de Fundamentos de Programação I Prof.: André Luiz ... · Apostila de Fundamentos de Programação I ... O mundo atual é dependente da ... O desenvolvimento dos primeiros

Uma variável só pode armazenar um dado de cada vez! Qualquer valor armazenado em

uma variável sempre vai apagar outro valor guardado anteriormente dentro dela, no mesmo

algoritmo.

Sintaxe geral de um algoritmo

Os algoritmos em português estruturado sempre têm uma estrutura básica de descrita.

Constantes

<constante1> : <tipo1>;

<constante2> : <tipo2>;

Variáveis

<variável1> : <tipo1>;

<variável2> : <tipo2>;

<variável3> : <tipo3>;

Início

<comando1>;

<comando2>;

<comando3>;

Fim

Este molde indica que, ao construirmos um algoritmo, faremos primeiro as declarações

de quais variáveis serão utilizadas, e depois escreveremos os comandos que ensinarão o

computador a fazer algo.

Expressões

Uma expressão constitui-se em um conjunto de variáveis e/ou valores, separados por

caracteres especiais, que indicam as operações que devem ser executadas. Assim, a

expressão:

Valor_a + Valor_b + Valor_c

Indica o cálculo da soma dos conteúdos das variáveis, Valor_a, Valor_b e Valor_c. Já o

comando:

Soma Valor_a + Valor_b + Valor_c

Indica que o valor da expressão Valor_a + Valor_b + Valor_c deve ser armazenado na

variável Soma.

Os operadores básicos utilizados em uma expressão podem ser classificados em:

Aritméticos, Relacionais e Lógicos. Os operadores aritméticos especificam operações

Page 5: Apostila de Fundamentos de Programação I Prof.: André Luiz ... · Apostila de Fundamentos de Programação I ... O mundo atual é dependente da ... O desenvolvimento dos primeiros

aritméticas, tal como em Valor_a + Valor_b. Os operadores relacionais especificam uma

relação, tal como Valor_a < 10.

Operadores Aritméticos

Operador Significado Exemplo Tipo dos operandos

+ Adição a + b Reais e/ou Inteiros

- Subtraçào a - b Reais e/ou Inteiros

* Multiplicação a * b Reais e/ou Inteiros

/ Divisão Real a / b Reais e/ou Inteiros

DIV Divisão Inteira a DIV b Inteiros

RESTO Resto da Divisão

Inteira

a RESTO b Inteiros

** Exponenciação a ** b Reais e/ou Inteiros

Veja os exemplos de operações aritméticas no algoritmo a seguir:

Algoritmo Exemplo

Variáveis

a, b, d, Sobra : Inteiro;

c, f : Real;

Início

a 22; /*Armazena o valor 22 na variável a.*/

b 4;

/*O comando a seguir faz a divisão real do conteúdo da variável a pelo conteúdo

de b. A variável c receberá o valor 5.5*/

c a / b;

/*O comando a seguir faz a divisão inteira do conteúdo de a pelo conteúdo de b.

A variável d receberá o valor 5.*/

d a DIV b;

/*No próximo comando é calculado o resto da divisão inteira do conteúdo de

uma variável a pelo conteúdo da variável b. A variável Sobra receberá o valor 2*/

Sobra a RESTO b;

F 2.0 ** b; /*Armazenará na variável f o valor 16.0*/

Fim

Operadores relacionais

Page 6: Apostila de Fundamentos de Programação I Prof.: André Luiz ... · Apostila de Fundamentos de Programação I ... O mundo atual é dependente da ... O desenvolvimento dos primeiros

Operador Significado Exemplo

> Maior que Idade > 18

>= Maior ou igual que Num_Dep >= 2

< Menor que Nota < 6.0

<= Menor ou igual que X <= 25

= Igual que Nome = “Antonio”

<> Diferente de Sexo <> “F”

Constantes

Em muitas situações, ao escrevermos um algoritmo, necessitamos trabalhar com

valores que não se alterarão durante toda a execução do algoritmo. A esses valores

denominamos Constantes. Constante é uma quantidade fixa, invariável, cujo valor é definido no

início do algoritmo, não podendo ser alterado durante sua execução.

Exemplo:

Algoritmo Exemplo_de_Constante

Constantes

Sal_minimo = 420.00;

Mensagem = “Resultados”;

Variáveis

Salario : Real;

Quantidade : Inteiro;

Início

Leia Salario;

Quantidade Salario DIV Sal_minimo;

Escreva Mensagem;

Escreva “O funcionário tem salário de: “, Salario;

Escreva “O qual equivale a “, Quantidade;

Escreva “Valor do salário mínimo: “, Sal_minimo;

Fim

Estruturas de Seleção

Comando Se

Freqüentemente na construção de algoritmos vamos nos defrontar com problemas,

onde é necessário selecionar uma, entre duas ou mais situações possíveis (Boratti & Oliveira,

Page 7: Apostila de Fundamentos de Programação I Prof.: André Luiz ... · Apostila de Fundamentos de Programação I ... O mundo atual é dependente da ... O desenvolvimento dos primeiros

2004). Suponha, por exemplo, um algoritmo em que se necessite mostrar o conteúdo de uma

variável do tipo Inteiro, somente se seu conteúdo for maior que 10. Considerando uma variável

de nome Nota, poderíamos escrever:

Se Nota > 10 Então

Escreva Nota;

Fim Se

Suponha outro algoritmo que mostre, para dois valores inteiros, qual o maior deles:

Algoritmo Mostra_maior

Variáveis

Valor_a : Inteiro;

Valor_b : Inteiro;

Início

Leia Valor_a;

Leia Valor_b;

Se Valor_a > Valor_b Então

Escreva “Maior valor: “, Valor_a;

Senão

Escreva “Maior valor: “, Valor_b;

Fim Se

Fim

Sintaxes para o Comando Se:

a) Comando Se sem a cláusula Senão

Se <expressão lógica> Então

<comando1>

<comando2>

<comando3>

.

.

.

<comandoN>

Fim Se

b) Comando Se com a cláusula Senão

Se <expressão lógica> Então

<comando1>

<comando2>

.

.

Page 8: Apostila de Fundamentos de Programação I Prof.: André Luiz ... · Apostila de Fundamentos de Programação I ... O mundo atual é dependente da ... O desenvolvimento dos primeiros

Senão

<comando_a>

<comando_b>

.

.

Fim Se

Dentro de um comando de seleção (Comando Se), podemos colocar qualquer tipo de

comando. Assim, dentro de um Se, pode-se ter outros comando de seleção.

Exemplo:

Algoritmo Mostra_maior

Variáveis

Valor_a : Inteiro;

Valor_b : Inteiro;

Início

Leia Valor_a;

Leia Valor_b;

Se Valor_a > Valor_b Então

Escreva “Maior valor: “, Valor_a;

Senão

Se Valor_a < Valor_b Então

Escreva “Maior valor: “, Valor_b;

Senão

Escreva “Os dois valores são iguais.”;

Fim Se

Fim Se

Fim

Comando Escolha

O comando Escolha possibilita a escolha de uma alternativa entre as várias possíveis.

Algoritmo Conceito

Variáveis

Nota : Inteiro;

Conceito : Literal;

Início

Page 9: Apostila de Fundamentos de Programação I Prof.: André Luiz ... · Apostila de Fundamentos de Programação I ... O mundo atual é dependente da ... O desenvolvimento dos primeiros

Leia Nota;

Escolha Nota

0..49 : Conceito “Insuficiente”;

50..64 : Conceito “Regular”;

65..84 : Conceito “Bom”;

Senão

Conceito “Ótimo”;

Fim Escolha

Fim

A forma geral do Escolha pode ser colocada como:

Escolha <expressão>

Op1 : <Instruções relativas a Op1>;

Op2 : <Instruções relativas a Op2>;

.

.

Opn : <Instruções relativas a Opn>;

Senão

<instruções>

Fim Escolha

Estruturas de Repetição

Existem situações em que, para se obter a solução do problema, é necessário fazer

com que o conjunto de instruções seja executado vários vezes.

Comando Enquanto-Faça

Uma das formas de fazermos com que um conjunto de instruções seja executado várias

vezes é utilizando o comando Enquanto-Faça.

Sua forma geral pode ser escrita como segue.

Page 10: Apostila de Fundamentos de Programação I Prof.: André Luiz ... · Apostila de Fundamentos de Programação I ... O mundo atual é dependente da ... O desenvolvimento dos primeiros

Enquanto <expressão lógica> Faça

<conjunto de instruções>

Fim Enquanto

Se quisermos um algoritmo que faça a análise de dez contas bancárias, podemos

escrever a solução conforme a apresentada abaixo.

Algoritmo Banco

Variáveis

Saldo :Real;

Numero_conta: Inteiro;

Contador : Inteiro;

Início

Contador 0;

Enquanto Contador < 10 Faça

Contador Contador + 1;

Leia Numero_conta;

Leia Saldo;

Se Saldo < 0 Então

Escreva Numero_conta, “ Conta estourada!”;

Senão

Escreva Numero_conta, “Conta normal!”;

Fim Se

Fim Enquanto

Fim

Diagrama de Blocos

Um bloco pode ser definido como um conjunto de comandos com uma função bem

definida.

Início

Fim

Page 11: Apostila de Fundamentos de Programação I Prof.: André Luiz ... · Apostila de Fundamentos de Programação I ... O mundo atual é dependente da ... O desenvolvimento dos primeiros

f

Se <expressão lógica> Então v

<comando1>;

<comando2>;

Fim Se

Exemplo (Guimarães, et al., 1994):

Algoritmo Exemplo

Variáveis

A : Inteiro;

B: Inteiro;

Início

A 1;

B 2;

Se A > B Então v f

A 5;

C1

C2

Início

A 1

B 2

A > B

Page 12: Apostila de Fundamentos de Programação I Prof.: André Luiz ... · Apostila de Fundamentos de Programação I ... O mundo atual é dependente da ... O desenvolvimento dos primeiros

Senão

A 10;

Fim Se

Fim

Referências bibliográficas

Boratti, Isaias Camilo and Oliveira, Álvaro Borges. 2004. Introdução à Programaçao - Algoritmos.

Florianópolis : Visual Books, 2004.

Guimarães, Ângelo de Moura and Lages, Newton Alberto de Castilho. 1994. Algoritmos e Estrutura de

Dados. Rio de Janeiro : LTC - Livros Técnicos e Científicos Editora, 1994.

Vilarim, Gilvan. 2004. Algoritmos Programação para Iniciantes. Rio de Janeiro : Editora Ciência

Moderna, 2004.

A 10

A 5

Fim