Anda di halaman 1dari 38

INSTITUTO SUPERIOR DE TRANSPORTES E COMUNICAES

Programao I

Lgica de Programao Algoritmos

Eng Micas Rafael, MSc


1

Lgica

A lgica de programao necessria para pessoas que desejam trabalhar com desenvolvimento de sistemas e programas, ela permite definir a sequncia lgica para o desenvolvimento. Ento o que lgica? Lgica de programao a tcnica de encadear pensamentos para atingir determinado objectivo.

Sequncia lgica

Estes pensamentos, podem ser descritos como uma sequncia de instrues, que devem ser seguidas para se cumprir uma determinada tarefa. Sequncia Lgica so passos executados at atingir um objectivo ou soluo de um problema.

Instrues

Na linguagem comum, entende-se por instrues um conjunto de regras ou normas definidas para a realizao ou emprego de algo. Em informtica, porm, instruo a informao que indica a um computador uma aco elementar a executar. Convm ressaltar que uma ordem isolada no permite realizar o processo completo, para isso necessrio um conjunto de instrues colocadas em ordem sequencial lgica.
4

Instrues

Por exemplo, se quisermos fazer uma omelete de batatas, precisaremos colocar em prtica uma srie de instrues: descascar as batatas, bater os ovos, fritar as batatas, etc... evidente que essas instrues tem que ser executadas em uma ordem adequada no se pode descascar as batatas depois de frit-las. Dessa maneira, uma instruo tomada em separado no tem muito sentido; para obtermos o resultado, precisamos colocar em prtica o conjunto de todas as instrues, na ordem correcta.
5

Instrues

Instrues so um conjunto de regras ou normas definidas para a realizao ou emprego de algo. Em informtica, o que indica a um computador uma aco elementar a executar.

Algoritmo

Um algoritmo formalmente uma sequncia finita de passos que levam a execuo de uma tarefa. Podemos pensar em algoritmo como uma receita, uma sequncia de instrues que tem como objectivo atingir uma meta especfica. Estas tarefas no podem ser redundantes nem subjectivas na sua definio, devem ser claras e precisas.

Algoritmo

Como exemplos de algoritmos podemos citar os algoritmos das operaes bsicas (adio, multiplicao, diviso e subtraco) de nmeros reais decimais. Outros exemplos seriam os manuais de aparelhos electrnicos, como um gravador de DVD, que explicam passo-a-passo como, por exemplo, gravar um evento. At mesmo as coisas mais simples, podem ser descritas por sequncias lgicas. Por exemplo:
8

Algoritmo

Exemplos: Chupar um rebuado Pegar o rebuado Retirar o papel Chupar o rebuado Jogar o papel no lixo

Algoritmo

Somar dois nmeros quaisquer. Escreva o primeiro nmero no rectngulo A Escreva o segundo nmero no rectngulo B Some o nmero do rectngulo A com nmero do rectngulo B e coloque o resultado no rectngulo C

10

Programa

Os programas de computadores nada mais so do que algoritmos escritos numa linguagem de computador (Java, Pascal, C, Cobol, Fortran, Visual Basic entre outras) e que so interpretados e executados por uma mquina, no caso um computador. Notem que dada esta interpretao rigorosa, um programa por natureza muito especfico e rgido em relao aos algoritmos da vida real.

11

Exerccios 1

1. Crie uma sequncia lgica para tomar banho. 2. Faa um algoritmo para somar dois nmeros e multiplicar o resultado pelo primeiro nmero. 3. Descreva com detalhes a sequncia lgica para Trocar um pneu de um carro. 4. Faa um algoritmo para trocar uma lmpada. Descreva com detalhes.

12

Pseudocdigo

Os algoritmos so descritos em uma linguagem chamada pseudocdigo. Utiliza uma linguagem simples (nativa a quem o escreve, de forma a ser entendido por qualquer pessoa) sem necessidade de conhecer a sintaxe de nenhuma linguagem de programao. , como o nome indica, um pseudocdigo e, portanto, no pode ser executado num sistema real (computador) de outra forma deixaria de ser pseudo.
13

Pseudocdigo

Por isso os algoritmos so independentes das linguagens de programao. Ao contrrio de uma linguagem de programao no existe um formalismo rgido de como deve ser escrito o algoritmo. O algoritmo deve ser fcil de se interpretar e fcil de codificar. Ou seja, ele deve ser o intermedirio entre a linguagem falada e a linguagem de programao.

14

Pseudocdigo Constante e Variveis

Uma mquina computacional essencialmente uma mquina de entrada/sada de dados. Podemos definir dois tipos de dados: Constante, que um determinado valor fixo que no se altera at o trmino do programa e; Varivel que corresponde a uma posio na memria do computador que armazena um determinado dado que pode ser modificado ao longo do programa.

15

Pseudocdigo Tipos de variveis

Ao determinarmos uma varivel ela aloca uma determinada posio na memria do computador. Assim h a necessidade de determinarmos o tipo da varivel de modo a se ter espao suficiente para a alocao de qualquer dado do tipo declarado. Numrico: varivel que armazena dados de nmeros. Alguns pseudocdigos segmentam este tipo de varivel em real e inteiro, i.e. dados numricos reais (com casas decimais) e inteiros.

16

Pseudocdigo Tipos de variveis

Caractere: varivel que armazena dados do jeito que so digitados assim podem alocar letras, letras e nmeros ou somente nmeros, mas tratando estes nmeros como texto e no como nmeros em si mesmos. Lgico: varivel que pode assumir apenas dois valores Verdadeiro ou Falso.

17

Pseudocdigo Modelo

Utilizaremos como padro o seguinte modelo de pseudocdigo: 1. Todo programa deve ser iniciado com programa SeuNome 2. O Incio e Fim do programa sero limitados pelos marcadores Inicio e Fim 3. As variveis sero declaradas no incio do programa como NomeVarivel:tipo da varivel 4. Variveis no podem ter espao em branco e no podem ter seu nome iniciado por nmero 5. Caracteres especiais no devem ser utilizadas nos nomes das variveis (,`, ~, ,- e afins)
18

Pseudocdigo Modelo

6. Deve-se evitar o uso de palavras-reservadas (i.e. Inicio e Fim at agora). Para facilitar colocaremos estas palavras em negrito 7. Consideraremos que os nomes das variveis so case sensitive, i.e. diferencia maisculas e minsculas. Desta forma, o nome declarado de uma varivel deve ser exactamente o mesmo, incluindo maisculas e minsculas at o final. 8. Usaremos os comandos leia para receber dados do usurio e escreva para exibir dados ao usurio.
19

Pseudocdigo Modelo

9. Os textos a serem exibidos na tela ou que tenham de ser inseridos como caractere sero colocados entre "aspas". 10. Os comentrios sobre o cdigo podem ser inseridos {entre chaves} servindo apenas para efeito de informao, mas no alterando o cdigo.

20

Pseudocdigo Exemplo

Vamos agora criar um programa em pseudocdigo que defina os tipos de variveis relacionadas ao cadastro de um livro e receba estes dados do usurio e imprima na tela. programa Livro {definio do nome do programa} Inicio CODIGODOLIVRO:inteiro TITULO,AUTOR, EDITORA:caractere {declarao de variveis} escreva "Este um programa em pseudocdigo que exibe na tela os dados de um livro escreva "Digite o cdigo do livro"
21

Pseudocdigo Exemplo

leia CODIGODOLIVRO escreva "Digite o ttulo do livro leia TITULO escreva "Digite o autor do livro leia AUTOR escreva "Digite a editora do livro leia EDITORA escreva "O cdigo do livro ", CODIGODOLIVRO escreva "O ttulo do livro ", TITULO escreva "O autor do livro ", AUTOR escreva "A Editora do livro ", EDITORA Fim
22

Pseudocdigo Atribuio de variveis

As variveis recebem valores do mesmo tipo de sua declarao no processamento do programa. No exemplo anterior associamos o valor digitado pelo usurio s variveis. Se quisermos associar valores podemos utilizar <- que associa um valor a um identificador. programa Livro {definio do nome do programa} Inicio CODIGODOLIVRO:inteiro TITULO, AUTOR, EDITORA:caractere {declarao de variveis} escreva Este o pseudocdigo do programa
23

Pseudocdigo Atribuio de variveis

CODIGODOLIVRO <- 1 TITULO <- "O Senhor dos Anis AUTOR <- "J.R.R.Tolkien EDITORA <- " Editora Tralal escreva "O cdigo do livro ", CODIGODOLIVRO {ir exibir 1} escreva "O ttulo do livro ", TITULO {ir exibir O Senhor dos Anis} escreva "O autor do livro ", AUTOR {ir exibir J.R.R.Tolkien} escreva "A Editora do livro ", EDITORA {ir exibir Editora Tralal} Fim
24

Pseudocdigo

Clculo do zero da equao ax+b=0 Exemplo de Algoritmo em cdigo natural: 1. Incio de programa 2. ler a, b 3. se a diferente de 0 ento calcula o valor de x (ax+b=0) imprimir valor de x seno imprimir No h zero 4. Fim de programa
25

Pseudocdigo

Clculo do zero da equao ax+b=0 Exemplo de Algoritmo pseudocdigo: 1. Incio de programa 2. ler a, b 3. se a0 ento x=-b/a imprimir valor do zero x seno imprimir No h zero m de se 4. Fim de programa
26

Regras para construo do Algoritmo

Para escrever um algoritmo precisamos descrever a sequncia de instrues, de maneira simples e objectiva. Para isso utilizaremos algumas tcnicas: Usar somente um verbo por frase; Imaginar que voc est desenvolvendo um algoritmo para pessoas que no trabalham com informtica; Usar frases curtas e simples; Ser objectivo; Procurar usar palavras que no sejam ambguas.

27

Fases

Na seco anterior vimos que ALGORITMO uma sequncia lgica de instrues que podem ser executadas. importante ressaltar que qualquer tarefa que siga determinado padro pode ser descrita por um algoritmo, como por exemplo: COMO FAZER ARROZ DOCE ou ento CALCULAR O SALDO FINANCEIRO DE UM STOCK
28

Fases

Entretanto ao montar um algoritmo, precisamos primeiro dividir o problema apresentado em trs fases fundamentais.

ENTRADA: So os dados de entrada do algoritmo PROCESSAMENTO: So os procedimentos utilizados para chegar ao resultado final SADA: So os dados j processados
29

Fases

Analogia com o homem

30

Exemplo de Algoritmo

Imagine o seguinte problema: Calcular a mdia final dos alunos da 5 Classe. Os alunos realizaro quatro avaliaes: P1, P2, P3 e P4. Onde:

Para montar perguntas:

algoritmo

proposto,

faremos

trs

a) Quais so os dados de entrada? R: Os dados de entrada so P1, P2, P3 e P4


31

Exemplo de Algoritmo

b) Qual ser o processamento a ser utilizado? R: O procedimento ser somar todos os dados de entrada e dividi-los por 4 (quatro).

32

Exemplo de Algoritmo

c) Quais sero os dados de sada? R: O dado de sada ser a mdia final.

Algoritmo: 1. 2. 3. 4. 5. 6. Receber a nota da prova1 Receber a nota de prova2 Receber a nota de prova3 Receber a nota da prova4 Somar todas as notas e divida o resultado por 4 Mostrar o resultado da diviso
33

Teste de Mesa

Aps desenvolver um algoritmo ele dever sempre ser testado. Este teste chamado de TESTE DE MESA, que significa, seguir as instrues do algoritmo de maneira precisa para verificar se o procedimento utilizado est correcto ou no. Veja o exemplo: Nota da Prova 1 Nota da Prova 2 Nota da Prova 3 Nota da Prova 4
34

Teste de Mesa

Utilize a tabela abaixo:

35

Exerccios 2

1) Identifique os dados de entrada, processamento e sada no algoritmo abaixo Receber cdigo da pea Receber valor da pea Receber Quantidade de peas Calcular o valor total da pea (Quantidade * Valor da pea) Mostrar o cdigo da pea e seu valor total

36

Exerccios 2

2) Faa um algoritmo para Calcular o stock mdio de uma pea, sendo que Stock Mdio = (Quantidade Mnima + Quantidade Mxima) /2 3) Teste o algoritmo anterior com dados definidos por voc.

37

Referncias Bibliogrficas

38

Anda mungkin juga menyukai