Upload
rogerio-de-aquino
View
230
Download
5
Embed Size (px)
Citation preview
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.
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.
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.
OPERADORES RELACIONAIS
Operações relacionais são as comparações
permitidas entres valores, variáveis,
expressões e constantes.
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.
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 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.
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á.