Programao I
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
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
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
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
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
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
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
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:
algoritmo
proposto,
faremos
trs
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
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
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