55
LÓGICA DE PROGRAMAÇÃO Prof. Rafael Souza

Lógica de Programação - Aula 01.pdf

Embed Size (px)

Citation preview

LÓGICA DE PROGRAMAÇÃO Prof. Rafael Souza

CONTATOS:

E-mail: [email protected]

Facebook: Rafael Souza

Twitter: RafaelMatrix

Skype: rafael.net2.0

EXPERIÊNCIA ACADÊMICA

Formado em Tecnologia em Sistemas de

Informação pela Unicarioca em 2011

Formado em Robótica/Mecatrônica pelo

UFF/Cederj em 2013

Concluindo o curso de Engenharia de Softwares

pela ESAB

O QUE É LÓGICA?

A Lógica é o estudo filosófico do raciocínio válido .

Utilizada em atividades mais intelectuais, a lógica é usada

principalmente nas disciplinas de

filosofia, matemática, semântica e ciência da computação.

Ela examina de forma genérica as formas que

a argumentação pode tomar, quais dessas formas são

válidas e quais são falaciosas (Mentirosas). Em filosofia, o

estudo da lógica aplica-se na maioria dos seus principais

ramos: metafísica, ontologia, epistemologia e ética. Na

matemática, estuda-se as formas válidas de inferência de

uma linguagem formal. Por fim, a lógica também é

estudada na teoria da argumentação.

CICLO DE VIDA DO SISTEMA:

1) Estudo da Viabilidade (Estudos Iniciais)

2) Análise detalhada do sistema (Projeto Lógico)

3) Projeto preliminar do sistema (Projeto Físico)

4) Projeto detalhado do sistema (Algoritmos)

5) Implementação ou Codificação do sistema (na

Linguagem de Programação escolhida)

6) Testes do sistema

7) Instalação e Manutenção do sistema

ALGORITMO

Um algoritmo pode ser definido como um

conjunto de regras (instruções), bem definidas,

para solução de um determinado problema.

Segundo o dicionário Michaelis, o conceito de

algoritmo é a "utilização de regras para definir ou

executar uma tarefa específica ou para resolver

um problema específico."

FORMAS DE REPRESENTAÇÃO DE

ALGORITMOS

a) Através de uma língua (português, inglês, etc.): forma utilizada nos manuais de instruções, nas receitas culinárias, bulas de medicamentos, etc.

b) Através de uma linguagem de programação (Pascal, C, Delphi, etc.): esta forma é utilizada por alguns programadores experientes, que "pulam" a etapa do projeto do programa (algoritmo) e passam direto para a programação em si.

c) Através de representações gráficas: são bastante recomendáveis, já que um "desenho" (diagrama, fluxograma, etc.) muitas vezes substitui, com vantagem, várias palavras.

REGRAS PARA CONSTRUÇÃO DO ALGORITMO NA

LINGUAGEM NATURAL

Para escrever um algoritmo precisamos descrever

a sequência de instruções, de maneira simples e

objetiva. Para isso utilizaremos algumas técnicas:

*Usar preferencialmente um verbo por frase

*Imaginar que você está desenvolvendo um

algoritmo para pessoas que não trabalham com

informática

*Usar frases curtas e simples

*Ser objetivo

*Procurar usar palavras que não tenham sentido

dúbio

EXEMPLO 1: CALCULAR A MASSA CORPÓREA DE

UMA PESSOA

Informe o peso da pessoa

Informe a altura da pessoa

A massa corpórea é o peso dividido pelo dobro da

altura

Mostre a massa corpórea

EXEMPLO: CÁLCULO DA MÉDIA DE 4

NOTAS

Informe a nota da prova1

Informe a nota da prova2

Informe a nota da prova3

Informe a nota da prova4

A média final é a soma de todas as notas dividida

por 4

Mostre a média final.

CONCEITOS IMPORTANTES

Constante

Variável

Atribuição

CONSTANTES

São chamadas de constantes, as

informações (dados) que não variam com o

tempo, ou seja, permanecem sempre com o

mesmo conteúdo, é um valor fixo

(invariável). Como exemplos de constantes

pode-se citar: números, letras, palavras

etc.

VARIÁVEIS

Uma variável, é um espaço da memória do

computador que "reservamos" para guardar

informações (dados). Como o próprio nome

sugere, as variáveis, podem conter valores

diferentes a cada instante de tempo, ou seja, seu

conteúdo pode variar de acordo com as instruções

do algoritmo.

REGRAS PARA A FORMAÇÃO DE NOMES DE

VARIÁVEIS

O nome de variável é formado por um ou mais

caracteres;

Os caracteres permitidos são letras de “A” a “Z”,

números de “0” a “9”, e o caracter especial

underline(_);

O primeiro caracter deve, obrigatoriamente, ser

uma letra e os caracteres seguintes, letras ou

dígitos;

O underline(_), quando permitido, somente pode

aparecer entre caracteres ou dígitos, nunca no

início ou no final;

O tamanho de um nome de variável varia

de linguagem para linguagem de

programação;

Não pode ser uma palavra chave ou

palavra reservada.

Não pode haver espaços em branco entre

os caracteres.

VÁLIDAS E INVÁLIDAS:

Variáveis válidas: NOME, FONE,

IDADE_FILHO, IdadeFilho, NOTA1, Est_Civil

Variáveis inválidas: 3Endereco, Estado Civil,

PARA, algoritmo, numero/complemento, Média

TIPOS DE DADOS DAS VARIÁVEIS

As variáveis podem armazenar basicamente de três tipos

básicos de dados: Numéricas, Alfanuméricas(Literais ou

caracter) ou lógicas.

Numéricas Específicas para armazenamento de números,

que posteriormente poderão ser utilizados para cálculos.

Podem ser ainda classificadas como Inteiros ou Reais.

Inteiro: admite somente números inteiros. Geralmente é

usado para representar contagem (quantidade). Ex: idade,

número de sapato, número de casa, apto, etc

Real : admite números com ou sem casas decimais, onde a

vírgula é substituída por ponto. Geralmente é usado

para representar medição, valores monetários, etc.

Alfanuméricas Específicas para dados que

contenham letras, números ou caracteres de

pontuação. Pode em determinados momentos

conter somente dados numéricos ou somente

literais. Se usado somente para armazenamento

de números, não poderá ser utilizada para

operações matemáticas.. Ex: endereço, data, etc

Lógicas Armazenam somente dados lógicos que

podem ser Verdadeiro ou Falso.

ATRIBUIÇÃO

A atribuição é uma notação utilizada para

atribuir um valor a uma variável, ou seja, para

armazenar um determinado conteúdo em uma

variável. A operação de atribuição, normalmente,

é representada por uma seta apontando para a

esquerda, mas existem outros símbolos para

representar a atribuição, depende da forma de

representação do algoritmo.

EXEMPLOS

OPERADOR DE ATRIBUIÇÃO

Uma variável nunca é eternamente igual a um valor, seu conteúdo pode ser alterado a qualquer momento. Portanto para “colocar” valores em variáveis devemos usar o sinal de uma seta( ) apontando para esquerda.

Exemplo 1 (correto)

Peso 78.7 // Este comando atribui à variável Peso o valor 78.7.

Nome João da Silva // Este comando atribui à variável Nome o valor João da Silva.

Exemplo 2 (incorreto)

É importante lembrar que só se pode atribuir às variáveis, valores do mesmo tipo da variável. Assim, o seguinte comando seria inválido:

Salario Insuficiente

A variável Salário é do tipo real não pode armazenar

conteúdo literal

Exemplo 3 (incorreto)

Deve estar claro, também, que sempre à esquerda

do comando de atribuição deve haver um (e somente

um) identificador de variável. Assim, são incorretos

os seguintes comandos:

2060 NumeroConta

NumeroAgencia+digitoControle 2345 + 0

OPERADORES ARITMÉTICOS

Muitas vezes, ao desenvolvermos

algoritmos, é comum utilizarmos

expressões matemáticas para a resolução

de cálculos. Neste etápa são apresentados

os operadores aritméticos necessários

para determinadas expressões.

EXEMPLOS OPERAÇÃO SÍMBOLO SINTAXE

Adição +

CA+B

Subtração -

CA-B

Multiplicação *

CA*B

Divisão / CA/B

Exponenciação ^

CA^B

Raiz Quadrada SQRT

CSQRT(A)

Parte inteira de nº TRUNC

CTRUNC(A)

Arredondamento de nº ROUND

CROUND(A)

HORIZONTALIZAÇÃO

Para o desenvolvimento de algoritmos que

possuam cálculos matemáticos, as

expressões aritméticas devem estar

horizontalizadas, ou seja, linearizadas e

também não esquecendo de utilizar os

operadores corretamente.

EXEMPLO

OPERADORES RELACIONAIS

Operações relacionais são as comparações

permitidas entres valores, variáveis,

expressões e constantes.

OPERADORES DE COMPARAÇÃO

EXEMPLOS

OPERADORES LÓGICOS

Os operadores lógicos permitem que mais

de uma condição seja testada em uma

única expressão, ou seja, pode-se fazer

mais de uma comparação (teste) ao mesmo

tempo.

OPERADORES LÓGICOS

EXEMPLO

EXEMPLOS DE TESTES UTILIZANDO

OPERADORES LÓGICOS:

ESTRUTURA DO ALGORITMO

Todo algoritmo é escrito em uma

estrutura chamada TOP-DOWN. Ou seja,

a leitura e a escrita e feita de cima para

baixo.

COMANDOS EM ALGORITMO

Leia

Escreva

Se

Senão

Enquanto

Para

COMANDOS DE I/O (INPUT/OUTPUT):

São os comandos que representam a comunicação entre o usuário e a máquina.

LEIA é o comando de entrada que permite a leitura de Variáveis de Entrada.

Nem todos os dados que um algoritmo manipula são gerados por ele. Um algoritmo (programa) de caixa automático, por exemplo, tem que obter do usuário o número da conta, a senha, a opção de serviço desejada, etc. Assim, deve haver um meio para que sejam digitados (ou fornecidos de outra maneira) dados para o algoritmo. Mais uma vez, todas as linguagens de programação permitem isto, e no nosso Português Estruturado usamos o comando leia. A sintaxe deste comando é:

Leia (nome da variável de entrada)

ESCREVA é o comando de saída que exibe uma informação

a qual pode ser o resultado de uma variável ou mensagem na

tela do monitor.

Em geral, um programa que faz seu processamento e

não tem como mostrar seus resultados é inútil (imagine,

por exemplo, uma calculadora que realiza uma infinidade

de operações matemáticas, mas não tem um display para

mostrar os resultados!). Portanto, em algum ponto do

algoritmo geralmente deve ocorrer à exibição de valores,

e todas as linguagens de programação têm comandos

para este fim. Em Português Estruturado usamos o

comando escreva. A sintaxe deste comando é:

Escreva (nome da variável de saida) ou

Escreva(‘mensagem’, variável de saida)

CORPO GERAL DE UM PROGRAMA

PROGRAMA nomedoprograma

VAR

Listar as variaveis entre vírgula definir o

tipo de dado

ÍNICIO

COMANDOS DE ENTRADA

PROCESSAMENTO

COMANDOS DE SAÍDA

FIM.

ALGORITMO CALCULA E ESCREVE A MÉDIA

OBTIDA.

PROGRAMA MEDIA_FINAL

VAR

NOTA1, NOTA2, NOTA3, NOTA4, MEDIA: INTEIRO

NOME : CARACTERE [35]

INICIO

LEIA (NOME)

LEIA (NOTA1, NOTA2, NOTA3, NOTA4)

MEDIA (NOTA1 + NOTA2 + NOTA3 + NOTA4) / 4

ESCREVA (NOME, MEDIA)

FIM.

ESTRUTURAS DE DECISÃO

Em algumas situações verificamos que na

maioria das vezes necessitamos tomar

decisões no andamento do algoritmo.

Essas decisões interferem diretamente no

andamento do programa. Trabalharemos

com dois tipos de estrutura. A estrutura

de Decisão e a estrutura de Repetição

COMANDOS DE DECISÃO

Os comandos de decisão ou desvio fazem

parte das técnicas de programação que

conduzem a estruturas de programas que

não são totalmente seqüenciais. Com as

instruções de SALTO ou DESVIO pode-se

fazer com que o programa proceda de uma

ou outra maneira, de acordo com as

decisões lógicas tomadas em função dos

dados ou resultados anteriores. As

principais estruturas de decisão são: “Se

Então”, “Se então Senão”.

SE... ENTÃO / IF ... THEN

A instrução se...então tem por finalidade

tomar uma decisão e efetuar um desvio no

processamento, dependendo, é claro, da

condição atribuída ser verdadeira ou falsa.

Sendo a condição verdadeira, será

executada a instrução que estiver escrita

após a instrução se..então. Se a instrução

for falsa, serão executadas as instruções

que estejam após as instruções

consideradas verdadeiras.

SINTAXE:

Sintaxe:

se <condição> então

<instrução para condição verdadeira>;

<instrução para condição falsa ou após condição ser

verdadeira>;

Vejamos um exemplo de um trecho de programa

com o uso da instrução se..então:

se (x > 10) então

escreva(„O valor da variável X é maior que 10‟);

Caso venha a existir mais de uma instrução verdadeira para uma determinada condição, estas deverão estar inseridas em um bloco. Um bloco é o conjunto de instruções estar entre inicio e fim

Sintaxe:

se <condição> então

inicio

<instrução para condição verdadeira>

<instrução para condição verdadeira>

<instrução para condição verdadeira>

<instrução para condição verdadeira>

fim;

<instrução para condição falsa ou após condição ser verdadeira>

SE... ENTÃO... SENÃO / IF ... THEN ...

ELSE

Assim como a instrução se...então, a

instrução se...então...senão tem por

finalidade tomar uma decisão e efetuar

um desvio no processamento. Se a

condição for verdadeira será executada a

instrução logo abaixo do se. Sendo a

condição falsa, será executada a instrução

que estiver posicionada logo após a

instrução senão. O conceito de blocos de

instruções vale também para esta

instrução.

SINTAXE: se <condição> então

<instruções para condição verdadeira>

senão

<instruções para condição falsa>;

Caso venha a existir mais de uma instrução verdadeira ou falsa para uma condição, estas deverão estar inseridas em um bloco.

Sintaxe:

se <condição> então

inicio

<instruções para condição verdadeira>;

<instruções para condição verdadeira>;

fim

senão

inicio

<instruções para condição falsa>;

<instruções para condição falsa>;

fim;

Observe que nos dois casos abordados acima, qualquer instrução que antecede a instrução senão está escrita sem o ponto-e-vírgula (;). Isto ocorre pelo fato de a instrução senão ser uma extensão da instrução se...então, e sendo assim, o final da condição somente ocorre após o processamento da instrução senão executado.

Em algoritmo ficaria assim:

SE MÉDIA >= 5.0 ENTÃO

Escreva(‘ALUNO APROVADO’)

SENÃO

Escreva(‘ALUNO REPROVADO’)

ESTRUTURA DE REPETIÇÃO:

ENQUANTO-FAÇA / WHILE - DO

Na estrutura Enquanto-Faça as

instruções a serem repetidas podem não

ser executadas nenhuma vez, pois o teste

fica no início da repetição, então a

execução das instruções (que estão

"dentro" da repetição) depende do teste.

Nesta estrutura, a repetição é finalizada

quando o teste é Falso (F), ou seja,

enquanto o teste for Verdadeiro as

instruções serão executadas e, quando for

Falso, o laço é finalizado.

SINTAXE

Início

Instruções

Enquanto teste faça

Instruções

Fim_enquanto

Instruções

Fim.

ESTRUTURA DE REPETIÇÃO: PARA-

ATÉ-FAÇA / FOR-TO-DO

A estrutura de repetição Para-Até-Faça é

um pouco diferente das outras duas

(Repita-Até e Enquanto-Faça), pois possui

uma variável de controle, ou seja, com

esta estrutura é possível executar um

conjunto de instruções um número

determinado de vezes. Através da variável

de controle, define-se a quantidade de

repetições que o laço fará.

SINTAXE

Início

Instruções

Para VarControle:=1 até N faça

Instruções

Fim_para

Instruções

Fim.

FIM!.... POR ENQUANTO... KKK