Vous êtes sur la page 1sur 46

LGICA DE

PROGRAMA
O1
IFSP Por Claudia Miyuki Werhmuller
CONTEDO
PROGRAMTICO
Introduo aos conceitos bsicos de lgica de programao
Fundamentos da Lgica de Programao
Tipos e estrutura de dados, variveis, constantes, operadores e frmulas
Tcnicas de programao
Anlise do problema
Estrututras lgicas dos Algoritmos
Projeto de programa e implementao
Verificao de programas

Tomada de decises
Estruturas de Desvios
Operadores lgicos

Laos de repetio
Estruturas de Loopings
Loopings controlados por condies

CONTEDO
PROGRAMTICO
Matriz de uma dimenso
Matrizes de uma dimenso ou vetores
Operaes com matrizes
Aplicaes prticas com matrizes: Classificao e pesquisa de elementos em
uma matriz.

Matriz com duas dimenses
Matrizes de 2 dimenses
Operaes com matrizes

Tabela com registros


Estrutura de um registro
Estrutura de um registro de conjuntos
Estrutura de um conjunto de registros

Utilizao de sub-rotinas
As sub-rotinas
O mtodo Top-Down
Sub-rotinas do tipo Procedimento e do tipo Funo
OBJETIVO
Desenvolver o raciocnio lgico do aluno modelado
s tcnicas e prticas recomendadas e atuais
para o desenvolvimento de programao de
computadores.
INTERDISCIPLINARIDAD
E
A disciplina possui ligao direta com a de
Linguagem de programao 1, 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.
BIBLIOGRAFIA
Livros de Linguagem C++
Estudo Dirigido Algoritmos, Jos Augusto
Manzano e Jayr Figueiredo, Editora rica
Algoritmos, Dirceu Salvetti e Lisbete Madsen

Apostilas
AVALIAO
Duas provas com nota de 0 a 10 , que abrangem os
conceitos tericos
Trabalho individual, cuja nota chegar at 10 pontos
Uma nica prova substitutiva ao final do semestre para
os alunos que faltarem no dia da prova.
O curso em regime presencial o que impe a necessidade
de 75% de freqncia que ser controlada pelo professor
atravs de chamada ou lista. Os abonos de faltas sero os
previstos na legislao e no regulamento da Instituio,
desde que oficializados regularmente e nos prazos
estabelecidos cabendo ao professor aplicar os exerccios de
recuperao de contedos das aulas perdidas, na forma
mais adequada a este objetivo.
A mdia final ser obtida pela soma da nota da prova com
a(as) notas de trabalhos
MF = (P1 + P2 + T) / 3
DATAS DAS AVALIAES
Prova P1: 14/04/09
Prova P2: 16/06/09

Trabalho T1: 23/06/09


COMEANDO...
O QUE LGICA?
Cincia que estuda as leis do
raciocnio.
Correo/validao do pensamento.
Encadeamento/ordem de idias.
Arte 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 de outrem: ter essas
idias, ser criativo e engenhoso!
SEQUNCIA LGICA
Seqncia 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
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 seqncia
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
DIAGRAMA DE CHAPLIN

O diagrama foi criado por Ned Chapin, no qual


substituia o fluxograma tradicional por um
diagrama que apresenta uma viso hierrquica
e estruturada da lgica do programa.
A grande vantagem de usar este tipo de
diagrama a representao das estruturas que
tem um ponto de entrada e um ponto de sada e
so compostas pelas estruturas bsicas de
controle de seqncia, seleo e repartio
O DIAGRAMA DE CHAPLIN
REPRESENTAO DE UM
ALGORITMO:

Algoritmo <nome_do_algoritmo>
<declarao_de_variveis>

<subalgoritmos>

Incio

<corpo_do_algoritmo>

Fim.
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 seqncias contendo letras, nmeros e


smbolos especiais. Uma seqncia 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