Você está na página 1de 48

LGICA DE PROGRAMAO

Reviso Drio S. Andrade

OBJETIVO

Desenvolver o raciocnio lgico do aluno modelado s tcnicas e prticas recomendadas e atuais para o desenvolvimento de programao de computadores.

INTERDISCIPLINARIDADE

A disciplina possui ligao direta com a de Linguagem de programao, pois interage na forma do desenvolvimento do raciocnio lgico que em seguida o aluno o aplica na criao de programas, atravs da linguagem de programao do mdulo.

COMEANDO...

O QUE LGICA?
Cincia

que estuda as leis do raciocnio. do pensamento.

Correo/validao

Encadeamento/ordem
Arte

de idias.

de bem pensar.

LINGUAGEM DE PROGRAMAO
Tipos de Linguagens: Programao Imperativa Programao Funcional Programao baseada em Lgica Programao Orientada por Objetos

PROGRAMAO IMPERATIVA

Orientada por aes A Linguagem FORTRAN foi criada por um grupo da IBM liderado por John Backus . COBOL foi criada para aplicaes comerciais, cujo objetivo era manipular ficheiros de registros. O ALGOL, criado nos anos 60, serviu de modelo para o Pascal e C. BASIC foi criada para ser simples e usada por no-programadores.

PROGRAMAO IMPERATIVA
PL/1 foi a 1 Linguagem Generalista, embarcando conceitos do COBOL, FORTRAN e ALGOL. O PASCAL derivou do ALGOL, a linguagem dos anos 70 e 80. A Linguagem C foi orginalmente desenhada para programao de sistemas, hoje largamente utilizadas nas aplicaes.

PROGRAMAO FUNCIONAL
Os conceitos bsicos das linguagens funcionais originaram do LISP. Utilizada para processamento simblico em: Clculo diferencial e integral, teoria de circuitos eltricos, resoluo de jogos, I.A.

PROGRAMAO BASEADA EM LGICA


O PROLOG foi originalmente desenhado para processamento de linguagem natural. Tal como LISP usado para processamento simblico em todas as reas da I.A. Nessa linguagem no se descreve o algoritmo para chegar ao resultado, mas a informao base (fatos) e as regras para se pdoer deduzir o resultado.

PROGRAMAO ORIENTADA A OBJETOS


Quase todas as linguagens j existentes foram modificadas para suportar o paradigma OO (C++, MODULA 3, PROLOG++, etc.) Algumas foram originalmente projetadas para suporte a esse paradgima (SIMULA, SMALLTALK, EIFELL, JAVA), so as chamadas OO puras.

O ATO DE PROGRAMAR
Programar no um ato mecnico, consegue-se atravs do estudo e principalmente do treino!!!! O Conhecimento da linguagem necessrio, mas no de todo suficiente. Programao o simples ato de escrever idias ter essas idias, ser criativo e engenhoso!

SEQUNCIA LGICA

Sequncia Lgica so passos executados at atingir um objetivo ou soluo de um problema:

Chupar uma bala: Pegar a bala Retirar o papel Chupar a bala Jogar o papel no lixo

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 ao elementar a executar.

LINGUAGENS DE PROGRAMAO

ALGORITMO

Algoritmo um conjunto finito de regras, bem definidas, para a soluo de um problema em um tempo finito e com um nmero finito de passos.

CARACTERSTICAS DO ALGORITMO

Finitude: um algoritmo tem de terminar ao fim de um nmero finito de passos. Definitude: cada passo do algoritmo tem de ser definido com preciso. Entrada: um algoritmo pode ter zero ou mais entradas. Sadas: um algoritmo tem uma ou mais sadas. Eficcia: todas as operaes feitas por um algoritmo tm de ser bsicas.

ALGORITMOS
Regras: Variveis sos os nicos objetos manipulados pelos algoritmos Os algoritmos s podem memorizar valores em variveis

VAMOS ENTENDER VARIVEL, COMO UMA CAIXA, NA


QUAL VOC PODE DAR O NOME QUE LHE ACHAR CONVENIENTE, E GUARDAR O CONTEDO QUE DESEJAR

Ou seja, toda varivel tem um nome, valor e tipo. Mas voc no falou de tipo, o que isso? As variveis, podem sem classificadas em: numrica (numeros reais ou inteiros); caracteres (sequncias de texto); booleanas (verdadeiro ou falso);

Em portugol, temos os tipos: real, inteiro, caractere e logico

ENTO EU POSSO COLOCAR QUALQUER NOME EM MINHA VARIVEL? SIM E NO!

Certas palavras, so reservadas para o uso da linguagem, ou seja, essas palavras no podem ser utilizadas como um nome para sua varivel, pois haveria um conflito na hora de interpretar o cdigo.

Palavras reservadas do Portugol

No se preocupe em decorar essa tabela, no necessrio! A medida em que voc for aprendendo a programar em portugol, voc saber exatamente qual palavra , e qual no reservada pela linguagem.

Outras restries para o nome de sua varivel :

O primeiro caractere de sua varivel, deve ser necessariamente letra ou underline _. No pode comear em nmeros

Nomes de variveis no podem ter espaos em branco. Nada de Coca Cola por exemplo. Uma varivel correta seria ArgoHost, tudo junto e sem espaos.
Essa aqui chega a ser difcil No permitido variveis com mais de 127 caracteres (pasmem! quem criaria uma varivel desse tamanho?) E por fim, em Portugol, diferente de outras linguagens de programao, as variveis no so case sensivity, ou seja, elas no diferenciam maisculas de minsculas. Logo, BrUnO = bruno.

A TABELA ABAIXO, EXEMPLIFICA QUE TIPO DE CONTEDO VAI EM CADA VARIVEL.

PSEUDOCDIGO
Os algoritmos so descritos em uma linguagem chamada pseudocdigo, que uma aluso posterior implementao em uma linguagem de programao Assim 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.

REGRAS PARA SE CRIAR O ALGORITMO:


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 objetivo Procurar usar palavras que no tenham sentido dbio

MONTAGEM DO ALGORITMO

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

EXEMPLO 1
Os alunos faro 2 provas: P1 e P2. Calcular a mdia dos alunos do 1 ano: (P1+P2) / 2 Quais os dados de entrada? Qual o processamento? Qual o dado de sada?

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 correto ou no.
Utilize a tabela abaixo:
P1 P2 Mdia

DIAGRAMA DE BLOCOS
O diagrama de blocos uma forma padronizada e eficaz para representar os passos lgicos de um determinado processamento. Com o diagrama podemos definir uma sequncia de smbolos, com significado bem definido, portanto, sua principal funo a de facilitar a visualizao dos passos de um processamento.

O DIAGRAMA DE BLOCOS

EXEMPLO 1 DE DIAGRAMA

EXEMPLO 2 DE DIAGRAMA

REPRESENTAO DE UM ALGORITMO:
Algoritmo <nome_do_algoritmo> <declarao_de_variveis> <subalgoritmos> Incio <corpo_do_algoritmo> Fim.

COMPUTACIONAL

NO COMPUTACIONAL

PSEUDOCDIGO:

Algoritmo Mdia VAR N1, N2, Mdia : real Incio Leia N1, N2 Mdia <- (N1+N2)/2 Se (Mdia >= 7) Escreva Aprovado Ento Escreva Aprovado Seno Escreva Reprovado Fim.

ESTRUTURAS BSICAS:
Tipos de Dados Constantes Variveis

TIPOS DE DADOS:

Inteiros: So caracterizados por dados numricos positivos ou negativos. Excluindo-se destes qualquer nmero fracionrio. Como exemplo deste tipo de dado, tem-se os valores: 35, 0, -56, 1024 entre outros.

TIPOS DE DADOS:

Reais: So os dados numricos positivos e negativos e nmeros fracionrios. Como exemplo deste tipo de dado, tem-se os valores: 35, 0, -56, 1.2, -45.987 entre outros.

TIPOS DE DADOS:

Caracteres: So as sequncias contendo letras, nmeros e smbolos especiais. Uma sequncia de caracteres deve ser indicada entre aspas (). Este tipo de dado tambm conhecido como alfanumrico, string, literal ou cadeia. Como exemplo deste tipo de dado, tem-se os valores: Programao, Rua Alfa, 52 Apto 1, Fone 574-9988, 04387-030, , 7 entre outros.

TIPOS DE DADOS:

Lgicos: So os dados com valor verdadeiro e falso, sendo que este tipo de dado poder representar apenas um dos dois valores. Ele chamado por alguns de tipo booleano, devido contribuio do filsofo e matemtico ingls George Boole na rea da lgica matemtica.

CONSTANTES:

Tm-se como definio de constante tudo aquilo que fixo ou estvel. Existiro vrios momentos em que este conceito dever estar em uso, quando desenvolvermos programas.
EX: CONST pi = 3.14159

VARIVEIS:

Todas as variveis utilizadas em algoritmos devem ser definidas antes de serem utilizadas. Isto se faz necessrio para permitir que o compilador reserve um espao na memria para as mesmas. Ex:
VAR nome: caracter[30] idade: inteiro salrio: real tem_filhos: lgico

EXPRESSES E OPERADORES:

Operadores Aritmticos:

Hierarquia das Operaes Aritmticas: 1 ( ) Parnteses 2 Exponenciao 3 Multiplicao, diviso (o que aparecer primeiro) 4 + ou (o que aparecer primeiro)

EXPRESSES E OPERADORES:

Operadores Operacionais:

EXPRESSES E OPERADORES:
Operadores Lgicos: E-AND, OU-OR, NO-NOT

DVIDAS