SlideShare uma empresa Scribd logo
1 de 46
ALGORITMOS
Rodrigo Kiyoshi Saito / rodrigok@anchieta.br
Necessidade de Usar a Lógica
• Usar a lógica é um favor a ser considerado por
todos, principalmente pelos profissionais da
área de Tecnologia da Informação, pois seu
dia-a-dia dentro das organizações é solucionar
problemas e atingir os objetivos apresentados
por seus usuários com eficiência e eficácia,
utilizando recursos computacionais e/ou
automatizados mecatronicamente.
Necessidade de Usar a Lógica
• Saber lidar com problemas de ordem
administrativa, de controle, de planejamento
e de estratégia requer atenção e boa
performance de conhecimento de nosso
raciocínio. Porém, é necessário considerar que
ninguém ensina ninguém a pensar, pois todas
as pessoas normais possuem esse “dom”.
(MANZANO e OLIVEIRA, 2007, p. 4)
Aplicabilidade da Lógica no
Auxílio do Desenvolvimento de
Programas
• Diagrama de blocos é um instrumento que
visa estabelecer visualmente a sequencia de
operações a ser efetuada por um programa de
computador.
Aplicabilidade da Lógica no
Auxílio do Desenvolvimento de
Programas
• A técnica de desenvolvimento de diagrama de blocos
permite ao profissional de desenvolvimento uma
grande facilidade na posterior codificação do programa
em qualquer uma das linguagens de programação
existentes, pois na sua elaboração não se leva em
conta o detalhamento sintático e estrutural que uma
linguagem utiliza.
Aplicabilidade da Lógica no
Auxílio do Desenvolvimento de
Programas
• O diagrama de blocos é uma ferramenta que,
possibilita definir o detalhamento operacional
que um programa deve executar, sendo um
instrumento tão valioso quanto é uma planta
de um arquiteto.
A técnica de programação
estruturada
Consiste em uma metodologia, tendo os seguintes
objetivos:
• Agilizar a codificação da escrita da programação;
• Facilitar a depuração de sua leitura;
• Permitir a verificação de possíveis falhas
apresentadas pelos programas;
• Facilitar as alterações e atualizações dos
programas;
A técnica de programação
estruturada
Deve ser composta por quatro passos
fundamentais:
• Escrever as instruções em sequência ligadas
entre si apenas por estruturas sequenciais,
repetitivas ou de selecionamento;
• Escrever instruções em grupos e combiná-las;
A técnica de programação
estruturada
Deve ser composta por quatro passos
fundamentais:
• Distribuir módulos do programa entre os
diferentes programadores que trabalharão sob a
supervisão de um programador sênior, ou chefe
de programação;
• Revisar o trabalho executado em reuniões
regulares e previamente programadas, em que
compareçam apenas programadores de um
mesmo nível;
Diferenciação de
nomenclaturas - Fluxograma
É uma ferramenta usada e desenvolvida pelos
profissionais de sistemas de informação. Tem
como finalidade descrever o fluxo de ação de
um determinado trabalho lógico, seja manual ou
mecânico, especificando os suportes usando
para os dados e para as informações.
Diferenciação de
nomenclaturas - Fluxograma
Usa símbolos convencionais (norma ISO 5807:
1985), permitindo poucas variações. Representados
por alguns desenhos geométricos básicos, os quais
indicarão os símbolos de entrada de dados, do
processamento de dados e da saída, acompanhados
dos procedimentos requeridos pelo analista de
sistemas a serem realizados pelo programador por
meio do desenvolvimento do raciocínio lógico
(diagrama de blocos e codificação).
Diferenciação de
nomenclaturas – Diagrama de
Blocos
Pode ser referenciado como diagrama de fluxo
(não confundir com fluxograma). O objetivo do
uso dessa ferramenta é descrever o método e a
sequência das ações a serem estabelecidas para
um computador.
Diferenciação de
nomenclaturas – Diagrama de
Blocos
Pode ser desenvolvido em qualquer
detalhamento que seja necessário. Essa
ferramenta usa diversos símbolos geométricos,
os quais estabelecerão as sequências de
operações a serem efetuadas em
processamento computacional.
Diferenciação de
nomenclaturas – Algoritmos
Do ponto de vista matemático, pode ser
definido como um conjunto de regras formais
que serão utilizadas para a resolução de um
grupo de problemas semelhantes. Pode-se dizer
também que é um conjunto de regras formais
que serão utilizadas para a resolução de um
grupo de problemas semelhantes.
Diferenciação de
nomenclaturas – Algoritmos
Pode-se dizer também que é um conjunto de
regras formais para a obtenção de um resultado
ou da solução de um problema (FORBELLONE e
EBERSPACHER, 2000), englobando formulas e
expressões aritméticas
Diferenciação de
nomenclaturas – Algoritmos
Do ponto de vista computacional, um algoritmo
pode ser descrito basicamente de duas formas:
uma gráfica e outra textual (BERG E FIGUERÓ,
1998), sendo considerado gráfico quando se
utiliza de diagrama de blocos, ou textual quando
baseado em um algoritmo natural (semelhante
a uma receita culinária) ou numa linguagem de
projeto de programação.
Diferenciação de
nomenclaturas – Algoritmos
Algoritmo pode ser entendido, do ponto de vista
computacional, como a definição de passos a
partir do entendimento lógico de um problema
realizado por um programador com o objetivo
de transformar esse problema em um elemento
(um programa) que seja possível de ser tratado
e executado por um computador.
Noções de Lógica
O uso corriqueiro da palavra lógica está
normalmente relacionado à coerência e à
racionalidade. Frequentemente se associa lógica
apenas à matemática, não se percebendo sua
aplicabilidade e a sua relação com as demais
ciências.
Noções de Lógica
Podemos relacionar a lógica com a “correção de
pensamento”, pois uma de suas preocupações é
determinar quais operações são válidas e quais
não, fazendo análises das formas e leis do
pensamento.
Noções de Lógica
Devemos ressaltar que, apesar de aparente
coerência de um encadeamento lógico, ele pode
ser válido ou não em sua estrutura.
Existe lógica no dia-a-dia?
Sempre que pensamos, a lógica e a ilógica
necessariamente nos acompanham. Quando
falamos ou escrevemos, estamos expressando
nosso pensamento, logo, precisamos usar a
lógica nessas atividades.
Existe lógica no dia-a-dia?
Podemos perceber a importância da lógica em
nossa vida, não só na teoria, como na prática, já
que, quando queremos pensar, falar, escrever ou
agir corretamente, precisamos colocar “ordem
no pensamento”, isto é, utilizar lógica.
O que é um algoritmo?
O objetivo principal do estudo da Lógica de
Programação é a construção de algoritmos
coerentes e válidos. Um algoritmo pode ser
definido como uma sequencia de passos que
visam a atingir um objetivo bem definido
O que é um algoritmo?
Quando elaboramos um algoritmo, devemos
especificar ações claras e precisas, que a partir
de um estado inicial, após um período de tempo
finito, produzem um estado final previsível e
bem definido.
O que é um algoritmo?
Isso significa que o algoritmo fixa um padrão de
comportamento a ser seguido, uma norma de
execução a ser trilhada, com vistas a alcançar,
como resultado final, a solução de um
problema, garantindo que sempre que
executado, sob as mesmas condições, produza o
mesmo resultado.
Por que é importante construir
um algoritmo?
Um algoritmo tem por objetivo representar mais
fielmente o raciocínio envolvido na Lógica de
Programação e, dessa forma, permite-nos
abstrair de uma série de detalhes
computacionais, que podem ser acrescentados
mais tarde.
Por que é importante construir
um algoritmo?
Outra importância da construção dos algoritmos
é que em vez concebida uma solução
algorítmica para um problema, esta pode ser
traduzida para qualquer linguagem de
programação a ser agregada das funcionalidades
disponíveis nos diversos ambientes;
costumamos denominar esse processo de
codificação
Por que é importante construir
um algoritmo?
Podemos escrever um primeiro algoritmo de
exemplo, utilizando português coloquial, que
descreva o comportamento na resolução de
uma determinada atividade, como, por exemplo,
a troca de uma lâmpada.
Por que é importante construir
um algoritmo?
Apesar de aparentemente óbvia demais, muitas
vezes realizamos esse tipo de atividade
inconscientemente, sem percebermos seus
pequenos detalhes que são as ações que nos
levam a alavancar o objetivo proposto.
Por que é importante construir
um algoritmo?
Algoritmo 1 – Troca da lâmpada
• pegar uma escada;
• posicionar a escada embaixo da lâmpada;
• buscar uma lâmpada nova;
• subir na escada;
• retirar a lâmpada velha;
• colocar a lâmpada nova;
História
• Linguagem de programação criada por Dennis Ritchie
entre 1969 e 1973 na Bell Labs, hoje AT&T.
• Desenvolvido para auxiliar no desenvolvimento do UNIX,
antes escrito em Assembly.
• C foi baseado na linguagem B, criada por Ken
Thompson, que por sua vez foi baseado na linguagem
BCLP (Basic Combined Programming Language).
Compilação X Interpretação
A conversão ou tradução de um algoritmo escrito
em uma determinada linguagem de programação
para a linguagem de máquina pode ser feita de
duas maneiras, por compilação ou por
interpretação. Isso dependerá da linguagem.
Compilação X Interpretação
Linguagens compiladas dependem de um programa (compilador)
que leia o algoritmo escrito e o convertam para um formato
pronto para ser executado. Este processo gera um arquivo que
poderá ser executado sempre que necessário.
Programas compilados são rápidos, mas não são mutiplataforma
e dependem de uma alteração depende de nova compilação
para o funcionamento. Exemplos de linguagens compiladas: C e
Pascal.
Compilação X Interpretação
Linguagens interpretadas dependem de um programa
(interpretador) que faz a tradução do algoritmo escrito na
medida em que vai sendo executado.
Programas interpretados são lentos, mas normalmente são
multiplataformas e trazem agilidade nas alterações por serem
flexíveis, não necessitando de uma nova compilação. Exemplos
de linguagens interpretadas: PHP, Pearl e Javascript.
Compilação X Interpretação
Embora haja esta distinção, nem sempre isso
é tão claro.
Algumas linguagens são compiladas para
máquinas virtuais e depois interpretadas.
Exemplos: Java e C#.
Compilação X Interpretação
Compiladores são programas que traduzem o
texto de uma linguagem de programação em um
arquivo que contém código de máquina.
• Linkeditores juntam diversos arquivos contendo
código de máquina para gerar um arquivo
executável.
Compilação X Interpretação
Tipos de Arquivos
Fonte. Arquivo em formato texto puro, contendo o programa escrito em
uma linguagem.
Objeto. Arquivo em código de máquina, criado pelo compilador usando
um arquivo fonte.
Executável. Programa pronto para ser executado, criado pelo linkeditor,
juntando o arquivo objeto criado pelo programador com as bibliotecas da
linguagem e do SO.
Exercício 1 – Três senhoras
1 – Três senhoras – dona Branca, dona Rosa e dona
Violeta – passeavam pelo parque quando dona Rosa
disse:
- Não é curioso que estejamos vestidas de cores branca,
rosa e violeta, embora nenhuma de nós esteja usando um
vestido de cor igual ao seu nome?
- Uma simples coincidência – respondeu a senhora com o
vestido violeta.
Qual a cor do vestido de cada senhora?
Exercício 2 – Travessia segura
Um homem precisa atravessar um rio com um
barco que possui capacidade apenas para carregar
ele mesmo e mais uma de suas três cargas, que são:
um lobo, um bode e um maço de alfafa. O que o
homem deve fazer para conseguir atravessar o rio
sem perder suas cargas? Escreva um algoritmo
mostrando a resposta, ou seja, indicando todas as
ações necessárias para efetuar uma travessia
segura.
Exercício 3 – Torre de Hanoi
Elabore um algoritmo que mova três discos de uma Torre de
Hanoi, que consiste em 3 hastes (a, b, c), uma das quais serve
de suporte para três discos de tamanhos diferentes (1, 2, 3),
os menores sobre os maiores. Pode-se mover um disco de
cada vez para qualquer haste, contanto que nunca seja
colocado um disco maior sobre um menor. O objetivo é
transferir os três discos para outra haste.
Jogo da Torre De Hanoi em:
http://www.gameson.com.br/Jogos-
Online/ClassicoPuzzle/Torre-de-Hanoi.html
Exercício 4 – Jesuítas e
Canibais
Três jesuítas e três canibais precisam atravessar um rio;
para tal, dispõem de um barco com capacidade para duas
pessoas. Por medida de segurança, não se deve permitir
que em alguma margem a quantidade de jesuítas seja
inferior à de canibais. Qual a solução para efetuar a
travessia com segurança? Elabore um algoritmo
mostrando a resposta, indicando as ações que
concretizam a solução deste problema.
Jogo dos Canibal e Missionarios em:
http://rachacuca.com.br/jogos/missionarios-e-canibais/
Referência de Sites
Jogo do Campones, Ovelha e Lobo,
http://rachacuca.com.br/jogos/o-lobo-e-a-
ovelha/
Jogo do Preso, Policial, Pai e Mae,
http://www.japones.net.br/teste-de-qi-japones/
Resolução Exercício 1
Se a senhora com vestido violeta respondeu a dona
Rosa, então ela não é a própria dona Rosa. Além
disso, como ela não tem o vestido da mesma cor de
seu nome, ela também não é a dona Violeta. Logo,
é a dona Branca que está com o vestido violeta.
Dona Rosa não está usando rosa nem o violeta,
portanto só pode estar usando o branco.
Consequentemente, dona Violeta veste o vestido
Rosa.
Resolução Exercício 2
• levar o bode para o outro lado do rio;
• voltar sem carga nenhuma;
• levar o lobo para o outro lado do rio;
• voltar com o bode;
• levar a alfafa para o outro lado do rio;
• voltar sem carga nenhuma;
• levar o bode para o outro lado do rio;
Resolução Exercício 3
• mover o disco 1 da torre A para a torre B;
• mover o disco 2 da torre A para a torre C;
• mover o disco 1 da torra B para a torre C;
• mover o disco 3 da torre A para a torre B;
• mover o disco 1 da torre C para a torre A;
• mover o disco 2 da torre C para a torre B;
• mover o disco 1 da torre A para a torre B;
Resolução Exercício 4
• atravessar um jesuíta e um canibal para a margem B;
• voltar o jesuíta para a margem A;
• atravessar dois canibais para a margem B;
• voltar um canibal para a margem A;
• atravessar dois jesuítas para a margem B;
• voltar um jesuíta e um canibal para a margem A;
• atravessar dois jesuítas para a margem B;
• voltar um canibal para a margem A;
• atravessar dois canibais para a margem B;
• voltar um canibal para a margem A;
• atravessar dois canibais para a margem B;

Mais conteúdo relacionado

Mais procurados (20)

Correlação Estatística
Correlação EstatísticaCorrelação Estatística
Correlação Estatística
 
Porcentagem 2016
Porcentagem 2016Porcentagem 2016
Porcentagem 2016
 
Estatística
EstatísticaEstatística
Estatística
 
Matrizes ppt
Matrizes pptMatrizes ppt
Matrizes ppt
 
Plano cartesiano ppt
Plano cartesiano pptPlano cartesiano ppt
Plano cartesiano ppt
 
Aula04
Aula04Aula04
Aula04
 
Funcoes trigonometricas.ppt
Funcoes trigonometricas.pptFuncoes trigonometricas.ppt
Funcoes trigonometricas.ppt
 
Matrizes
MatrizesMatrizes
Matrizes
 
Conjuntos
ConjuntosConjuntos
Conjuntos
 
Geometria Analítica - Distância entre dois pontos
Geometria Analítica - Distância entre dois pontosGeometria Analítica - Distância entre dois pontos
Geometria Analítica - Distância entre dois pontos
 
Porcentagem Slides
Porcentagem SlidesPorcentagem Slides
Porcentagem Slides
 
Mru movimento retilineo uniforme
Mru   movimento retilineo uniformeMru   movimento retilineo uniforme
Mru movimento retilineo uniforme
 
Porcentagem
PorcentagemPorcentagem
Porcentagem
 
Gráficos
GráficosGráficos
Gráficos
 
Domínio, contradomínio e imagem de uma função
Domínio, contradomínio e imagem de uma funçãoDomínio, contradomínio e imagem de uma função
Domínio, contradomínio e imagem de uma função
 
Circunferência
CircunferênciaCircunferência
Circunferência
 
Plano cartesiano animado
Plano cartesiano animadoPlano cartesiano animado
Plano cartesiano animado
 
Moda, Média e Mediana
Moda, Média e MedianaModa, Média e Mediana
Moda, Média e Mediana
 
Juros simples e compostos
Juros simples e compostosJuros simples e compostos
Juros simples e compostos
 
Sistemas lineares
Sistemas linearesSistemas lineares
Sistemas lineares
 

Semelhante a Algoritmos - Aula 03 - Necessidade Do Uso da Logica

mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmiadiogoa21
 
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdfTREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdfssuser059c2c1
 
Apostila algoritmos mar2007
Apostila algoritmos mar2007Apostila algoritmos mar2007
Apostila algoritmos mar2007orvel
 
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big dataLógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big dataRodrigofn
 
Apresentaçao - Introdução à Computação.pptx
Apresentaçao - Introdução à Computação.pptxApresentaçao - Introdução à Computação.pptx
Apresentaçao - Introdução à Computação.pptxscoffee633
 
(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programaçãoCarlos Santos
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturadodasko
 
Tópicos - Computacao Paralela Programação (Visão geral)
Tópicos - Computacao Paralela Programação (Visão geral)Tópicos - Computacao Paralela Programação (Visão geral)
Tópicos - Computacao Paralela Programação (Visão geral)Luiz Arthur
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosJocelma Rios
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programaçãoAlbertoVach
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmosslashmelhor
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009starley lobo
 

Semelhante a Algoritmos - Aula 03 - Necessidade Do Uso da Logica (20)

Cap02
Cap02Cap02
Cap02
 
Cap02
Cap02Cap02
Cap02
 
Cap02
Cap02Cap02
Cap02
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmia
 
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdfTREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
TREINAMENTO EM LOGICA DE PROGRAMAÇÃO (Sandra Rita) (z-lib.org).pdf
 
Apostila algoritmos mar2007
Apostila algoritmos mar2007Apostila algoritmos mar2007
Apostila algoritmos mar2007
 
Lógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big dataLógica de programação, algoritmos e big data
Lógica de programação, algoritmos e big data
 
Apresentaçao - Introdução à Computação.pptx
Apresentaçao - Introdução à Computação.pptxApresentaçao - Introdução à Computação.pptx
Apresentaçao - Introdução à Computação.pptx
 
(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação(A02) LabMM3 - Introdução à programação
(A02) LabMM3 - Introdução à programação
 
134
134134
134
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Aula01
Aula01Aula01
Aula01
 
Aula01
Aula01Aula01
Aula01
 
Tópicos - Computacao Paralela Programação (Visão geral)
Tópicos - Computacao Paralela Programação (Visão geral)Tópicos - Computacao Paralela Programação (Visão geral)
Tópicos - Computacao Paralela Programação (Visão geral)
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmos
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 

Mais de Rodrigo Kiyoshi Saito

Algoritmos - Aula 16 B - Arquivos - Exercicios
Algoritmos - Aula 16 B - Arquivos - ExerciciosAlgoritmos - Aula 16 B - Arquivos - Exercicios
Algoritmos - Aula 16 B - Arquivos - ExerciciosRodrigo Kiyoshi Saito
 
Algoritmos - Aula 16 - Registros - Exercicio Enunciado
Algoritmos - Aula 16 - Registros - Exercicio EnunciadoAlgoritmos - Aula 16 - Registros - Exercicio Enunciado
Algoritmos - Aula 16 - Registros - Exercicio EnunciadoRodrigo Kiyoshi Saito
 
BD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelasBD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelasRodrigo Kiyoshi Saito
 
BD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelasBD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelasRodrigo Kiyoshi Saito
 
BD I - Aula 14 B - Exercicios - Enunciado
BD I - Aula 14 B - Exercicios - EnunciadoBD I - Aula 14 B - Exercicios - Enunciado
BD I - Aula 14 B - Exercicios - EnunciadoRodrigo Kiyoshi Saito
 
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub SelectsBD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub SelectsRodrigo Kiyoshi Saito
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...Rodrigo Kiyoshi Saito
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de VariaveisAlgoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de VariaveisRodrigo Kiyoshi Saito
 
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando Dados  - Parte 04 - Exercicios EnunciadoBD I - Aula 13 B - Agrupando Dados  - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios EnunciadoRodrigo Kiyoshi Saito
 
BD I - Aula 13 B - Agrupando Dados - Parte 04
BD I - Aula 13 B - Agrupando Dados  - Parte 04BD I - Aula 13 B - Agrupando Dados  - Parte 04
BD I - Aula 13 B - Agrupando Dados - Parte 04Rodrigo Kiyoshi Saito
 
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando dados  - Parte 04 - Exercicios EnunciadoBD I - Aula 13 B - Agrupando dados  - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios EnunciadoRodrigo Kiyoshi Saito
 
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03Rodrigo Kiyoshi Saito
 
Algoritmos - Aula 13 C - Matrizes em C
Algoritmos - Aula 13 C - Matrizes em CAlgoritmos - Aula 13 C - Matrizes em C
Algoritmos - Aula 13 C - Matrizes em CRodrigo Kiyoshi Saito
 
Algoritmos - Aula 13 B - Vetores em C
Algoritmos - Aula 13 B - Vetores em CAlgoritmos - Aula 13 B - Vetores em C
Algoritmos - Aula 13 B - Vetores em CRodrigo Kiyoshi Saito
 
Algoritmos - Aula 12 B - Traducao Ling C - Condicoes
Algoritmos - Aula 12 B - Traducao Ling C - CondicoesAlgoritmos - Aula 12 B - Traducao Ling C - Condicoes
Algoritmos - Aula 12 B - Traducao Ling C - CondicoesRodrigo Kiyoshi Saito
 
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc SaidaAlgoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc SaidaRodrigo Kiyoshi Saito
 

Mais de Rodrigo Kiyoshi Saito (20)

Algoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - ArquivosAlgoritmos - Aula 16 B - Arquivos
Algoritmos - Aula 16 B - Arquivos
 
Algoritmos - Aula 16 B - Arquivos - Exercicios
Algoritmos - Aula 16 B - Arquivos - ExerciciosAlgoritmos - Aula 16 B - Arquivos - Exercicios
Algoritmos - Aula 16 B - Arquivos - Exercicios
 
Algoritmos - Aula 16 - Registros - Exercicio Enunciado
Algoritmos - Aula 16 - Registros - Exercicio EnunciadoAlgoritmos - Aula 16 - Registros - Exercicio Enunciado
Algoritmos - Aula 16 - Registros - Exercicio Enunciado
 
Algoritmos - Aula 16 - Registros
Algoritmos - Aula 16 - RegistrosAlgoritmos - Aula 16 - Registros
Algoritmos - Aula 16 - Registros
 
BD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelasBD I - Aula 15 C - Manutencao de tabelas
BD I - Aula 15 C - Manutencao de tabelas
 
BD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelasBD I - Aula 15 B - Criacao de tabelas
BD I - Aula 15 B - Criacao de tabelas
 
BD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DMLBD I - Aula 15 A - Comandos DML
BD I - Aula 15 A - Comandos DML
 
BD I - Aula 14 B - Exercicios - Enunciado
BD I - Aula 14 B - Exercicios - EnunciadoBD I - Aula 14 B - Exercicios - Enunciado
BD I - Aula 14 B - Exercicios - Enunciado
 
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub SelectsBD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis - Exercicios Enunc...
 
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de VariaveisAlgoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
Algoritmos - Aula 15 - Modularizacao e Escopo de Variaveis
 
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando Dados  - Parte 04 - Exercicios EnunciadoBD I - Aula 13 B - Agrupando Dados  - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando Dados - Parte 04 - Exercicios Enunciado
 
BD I - Aula 13 B - Agrupando Dados - Parte 04
BD I - Aula 13 B - Agrupando Dados  - Parte 04BD I - Aula 13 B - Agrupando Dados  - Parte 04
BD I - Aula 13 B - Agrupando Dados - Parte 04
 
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando dados  - Parte 04 - Exercicios EnunciadoBD I - Aula 13 B - Agrupando dados  - Parte 04 - Exercicios Enunciado
BD I - Aula 13 B - Agrupando dados - Parte 04 - Exercicios Enunciado
 
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
BD I - Aula 13 A - Funcoes de string datas numeros e conversao - parte 03
 
Algoritmos - Aula 13 C - Matrizes em C
Algoritmos - Aula 13 C - Matrizes em CAlgoritmos - Aula 13 C - Matrizes em C
Algoritmos - Aula 13 C - Matrizes em C
 
Algoritmos - Aula 13 B - Vetores em C
Algoritmos - Aula 13 B - Vetores em CAlgoritmos - Aula 13 B - Vetores em C
Algoritmos - Aula 13 B - Vetores em C
 
Algoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em CAlgoritmos - Aula 13 A - Lacos em C
Algoritmos - Aula 13 A - Lacos em C
 
Algoritmos - Aula 12 B - Traducao Ling C - Condicoes
Algoritmos - Aula 12 B - Traducao Ling C - CondicoesAlgoritmos - Aula 12 B - Traducao Ling C - Condicoes
Algoritmos - Aula 12 B - Traducao Ling C - Condicoes
 
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc SaidaAlgoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
Algoritmos - Aula 12 A - Traducao ling C - Ent Proc Saida
 

Último

A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfjanainadfsilva
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfAlissonMiranda22
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasRosalina Simão Nunes
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdflucassilva721057
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?Rosalina Simão Nunes
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxRonys4
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxBeatrizLittig1
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptxANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptxlvaroSantos51
 

Último (20)

A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
RedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdfRedacoesComentadasModeloAnalisarFazer.pdf
RedacoesComentadasModeloAnalisarFazer.pdf
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicasCenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
Cenários de Aprendizagem - Estratégia para implementação de práticas pedagógicas
 
Noções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdfNoções de Farmacologia - Flávia Soares.pdf
Noções de Farmacologia - Flávia Soares.pdf
 
E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?E agora?! Já não avalio as atitudes e valores?
E agora?! Já não avalio as atitudes e valores?
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Mapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docxMapa mental - Classificação dos seres vivos .docx
Mapa mental - Classificação dos seres vivos .docx
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptxANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
ANATOMIA-EM-RADIOLOGIA_light.plçkjkjiptx
 

Algoritmos - Aula 03 - Necessidade Do Uso da Logica

  • 1. ALGORITMOS Rodrigo Kiyoshi Saito / rodrigok@anchieta.br
  • 2. Necessidade de Usar a Lógica • Usar a lógica é um favor a ser considerado por todos, principalmente pelos profissionais da área de Tecnologia da Informação, pois seu dia-a-dia dentro das organizações é solucionar problemas e atingir os objetivos apresentados por seus usuários com eficiência e eficácia, utilizando recursos computacionais e/ou automatizados mecatronicamente.
  • 3. Necessidade de Usar a Lógica • Saber lidar com problemas de ordem administrativa, de controle, de planejamento e de estratégia requer atenção e boa performance de conhecimento de nosso raciocínio. Porém, é necessário considerar que ninguém ensina ninguém a pensar, pois todas as pessoas normais possuem esse “dom”. (MANZANO e OLIVEIRA, 2007, p. 4)
  • 4. Aplicabilidade da Lógica no Auxílio do Desenvolvimento de Programas • Diagrama de blocos é um instrumento que visa estabelecer visualmente a sequencia de operações a ser efetuada por um programa de computador.
  • 5. Aplicabilidade da Lógica no Auxílio do Desenvolvimento de Programas • A técnica de desenvolvimento de diagrama de blocos permite ao profissional de desenvolvimento uma grande facilidade na posterior codificação do programa em qualquer uma das linguagens de programação existentes, pois na sua elaboração não se leva em conta o detalhamento sintático e estrutural que uma linguagem utiliza.
  • 6. Aplicabilidade da Lógica no Auxílio do Desenvolvimento de Programas • O diagrama de blocos é uma ferramenta que, possibilita definir o detalhamento operacional que um programa deve executar, sendo um instrumento tão valioso quanto é uma planta de um arquiteto.
  • 7. A técnica de programação estruturada Consiste em uma metodologia, tendo os seguintes objetivos: • Agilizar a codificação da escrita da programação; • Facilitar a depuração de sua leitura; • Permitir a verificação de possíveis falhas apresentadas pelos programas; • Facilitar as alterações e atualizações dos programas;
  • 8. A técnica de programação estruturada Deve ser composta por quatro passos fundamentais: • Escrever as instruções em sequência ligadas entre si apenas por estruturas sequenciais, repetitivas ou de selecionamento; • Escrever instruções em grupos e combiná-las;
  • 9. A técnica de programação estruturada Deve ser composta por quatro passos fundamentais: • Distribuir módulos do programa entre os diferentes programadores que trabalharão sob a supervisão de um programador sênior, ou chefe de programação; • Revisar o trabalho executado em reuniões regulares e previamente programadas, em que compareçam apenas programadores de um mesmo nível;
  • 10. Diferenciação de nomenclaturas - Fluxograma É uma ferramenta usada e desenvolvida pelos profissionais de sistemas de informação. Tem como finalidade descrever o fluxo de ação de um determinado trabalho lógico, seja manual ou mecânico, especificando os suportes usando para os dados e para as informações.
  • 11. Diferenciação de nomenclaturas - Fluxograma Usa símbolos convencionais (norma ISO 5807: 1985), permitindo poucas variações. Representados por alguns desenhos geométricos básicos, os quais indicarão os símbolos de entrada de dados, do processamento de dados e da saída, acompanhados dos procedimentos requeridos pelo analista de sistemas a serem realizados pelo programador por meio do desenvolvimento do raciocínio lógico (diagrama de blocos e codificação).
  • 12. Diferenciação de nomenclaturas – Diagrama de Blocos Pode ser referenciado como diagrama de fluxo (não confundir com fluxograma). O objetivo do uso dessa ferramenta é descrever o método e a sequência das ações a serem estabelecidas para um computador.
  • 13. Diferenciação de nomenclaturas – Diagrama de Blocos Pode ser desenvolvido em qualquer detalhamento que seja necessário. Essa ferramenta usa diversos símbolos geométricos, os quais estabelecerão as sequências de operações a serem efetuadas em processamento computacional.
  • 14. Diferenciação de nomenclaturas – Algoritmos Do ponto de vista matemático, pode ser definido como um conjunto de regras formais que serão utilizadas para a resolução de um grupo de problemas semelhantes. Pode-se dizer também que é um conjunto de regras formais que serão utilizadas para a resolução de um grupo de problemas semelhantes.
  • 15. Diferenciação de nomenclaturas – Algoritmos Pode-se dizer também que é um conjunto de regras formais para a obtenção de um resultado ou da solução de um problema (FORBELLONE e EBERSPACHER, 2000), englobando formulas e expressões aritméticas
  • 16. Diferenciação de nomenclaturas – Algoritmos Do ponto de vista computacional, um algoritmo pode ser descrito basicamente de duas formas: uma gráfica e outra textual (BERG E FIGUERÓ, 1998), sendo considerado gráfico quando se utiliza de diagrama de blocos, ou textual quando baseado em um algoritmo natural (semelhante a uma receita culinária) ou numa linguagem de projeto de programação.
  • 17. Diferenciação de nomenclaturas – Algoritmos Algoritmo pode ser entendido, do ponto de vista computacional, como a definição de passos a partir do entendimento lógico de um problema realizado por um programador com o objetivo de transformar esse problema em um elemento (um programa) que seja possível de ser tratado e executado por um computador.
  • 18. Noções de Lógica O uso corriqueiro da palavra lógica está normalmente relacionado à coerência e à racionalidade. Frequentemente se associa lógica apenas à matemática, não se percebendo sua aplicabilidade e a sua relação com as demais ciências.
  • 19. Noções de Lógica Podemos relacionar a lógica com a “correção de pensamento”, pois uma de suas preocupações é determinar quais operações são válidas e quais não, fazendo análises das formas e leis do pensamento.
  • 20. Noções de Lógica Devemos ressaltar que, apesar de aparente coerência de um encadeamento lógico, ele pode ser válido ou não em sua estrutura.
  • 21. Existe lógica no dia-a-dia? Sempre que pensamos, a lógica e a ilógica necessariamente nos acompanham. Quando falamos ou escrevemos, estamos expressando nosso pensamento, logo, precisamos usar a lógica nessas atividades.
  • 22. Existe lógica no dia-a-dia? Podemos perceber a importância da lógica em nossa vida, não só na teoria, como na prática, já que, quando queremos pensar, falar, escrever ou agir corretamente, precisamos colocar “ordem no pensamento”, isto é, utilizar lógica.
  • 23. O que é um algoritmo? O objetivo principal do estudo da Lógica de Programação é a construção de algoritmos coerentes e válidos. Um algoritmo pode ser definido como uma sequencia de passos que visam a atingir um objetivo bem definido
  • 24. O que é um algoritmo? Quando elaboramos um algoritmo, devemos especificar ações claras e precisas, que a partir de um estado inicial, após um período de tempo finito, produzem um estado final previsível e bem definido.
  • 25. O que é um algoritmo? Isso significa que o algoritmo fixa um padrão de comportamento a ser seguido, uma norma de execução a ser trilhada, com vistas a alcançar, como resultado final, a solução de um problema, garantindo que sempre que executado, sob as mesmas condições, produza o mesmo resultado.
  • 26. Por que é importante construir um algoritmo? Um algoritmo tem por objetivo representar mais fielmente o raciocínio envolvido na Lógica de Programação e, dessa forma, permite-nos abstrair de uma série de detalhes computacionais, que podem ser acrescentados mais tarde.
  • 27. Por que é importante construir um algoritmo? Outra importância da construção dos algoritmos é que em vez concebida uma solução algorítmica para um problema, esta pode ser traduzida para qualquer linguagem de programação a ser agregada das funcionalidades disponíveis nos diversos ambientes; costumamos denominar esse processo de codificação
  • 28. Por que é importante construir um algoritmo? Podemos escrever um primeiro algoritmo de exemplo, utilizando português coloquial, que descreva o comportamento na resolução de uma determinada atividade, como, por exemplo, a troca de uma lâmpada.
  • 29. Por que é importante construir um algoritmo? Apesar de aparentemente óbvia demais, muitas vezes realizamos esse tipo de atividade inconscientemente, sem percebermos seus pequenos detalhes que são as ações que nos levam a alavancar o objetivo proposto.
  • 30. Por que é importante construir um algoritmo? Algoritmo 1 – Troca da lâmpada • pegar uma escada; • posicionar a escada embaixo da lâmpada; • buscar uma lâmpada nova; • subir na escada; • retirar a lâmpada velha; • colocar a lâmpada nova;
  • 31. História • Linguagem de programação criada por Dennis Ritchie entre 1969 e 1973 na Bell Labs, hoje AT&T. • Desenvolvido para auxiliar no desenvolvimento do UNIX, antes escrito em Assembly. • C foi baseado na linguagem B, criada por Ken Thompson, que por sua vez foi baseado na linguagem BCLP (Basic Combined Programming Language).
  • 32. Compilação X Interpretação A conversão ou tradução de um algoritmo escrito em uma determinada linguagem de programação para a linguagem de máquina pode ser feita de duas maneiras, por compilação ou por interpretação. Isso dependerá da linguagem.
  • 33. Compilação X Interpretação Linguagens compiladas dependem de um programa (compilador) que leia o algoritmo escrito e o convertam para um formato pronto para ser executado. Este processo gera um arquivo que poderá ser executado sempre que necessário. Programas compilados são rápidos, mas não são mutiplataforma e dependem de uma alteração depende de nova compilação para o funcionamento. Exemplos de linguagens compiladas: C e Pascal.
  • 34. Compilação X Interpretação Linguagens interpretadas dependem de um programa (interpretador) que faz a tradução do algoritmo escrito na medida em que vai sendo executado. Programas interpretados são lentos, mas normalmente são multiplataformas e trazem agilidade nas alterações por serem flexíveis, não necessitando de uma nova compilação. Exemplos de linguagens interpretadas: PHP, Pearl e Javascript.
  • 35. Compilação X Interpretação Embora haja esta distinção, nem sempre isso é tão claro. Algumas linguagens são compiladas para máquinas virtuais e depois interpretadas. Exemplos: Java e C#.
  • 36. Compilação X Interpretação Compiladores são programas que traduzem o texto de uma linguagem de programação em um arquivo que contém código de máquina. • Linkeditores juntam diversos arquivos contendo código de máquina para gerar um arquivo executável.
  • 37. Compilação X Interpretação Tipos de Arquivos Fonte. Arquivo em formato texto puro, contendo o programa escrito em uma linguagem. Objeto. Arquivo em código de máquina, criado pelo compilador usando um arquivo fonte. Executável. Programa pronto para ser executado, criado pelo linkeditor, juntando o arquivo objeto criado pelo programador com as bibliotecas da linguagem e do SO.
  • 38. Exercício 1 – Três senhoras 1 – Três senhoras – dona Branca, dona Rosa e dona Violeta – passeavam pelo parque quando dona Rosa disse: - Não é curioso que estejamos vestidas de cores branca, rosa e violeta, embora nenhuma de nós esteja usando um vestido de cor igual ao seu nome? - Uma simples coincidência – respondeu a senhora com o vestido violeta. Qual a cor do vestido de cada senhora?
  • 39. Exercício 2 – Travessia segura Um homem precisa atravessar um rio com um barco que possui capacidade apenas para carregar ele mesmo e mais uma de suas três cargas, que são: um lobo, um bode e um maço de alfafa. O que o homem deve fazer para conseguir atravessar o rio sem perder suas cargas? Escreva um algoritmo mostrando a resposta, ou seja, indicando todas as ações necessárias para efetuar uma travessia segura.
  • 40. Exercício 3 – Torre de Hanoi Elabore um algoritmo que mova três discos de uma Torre de Hanoi, que consiste em 3 hastes (a, b, c), uma das quais serve de suporte para três discos de tamanhos diferentes (1, 2, 3), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre um menor. O objetivo é transferir os três discos para outra haste. Jogo da Torre De Hanoi em: http://www.gameson.com.br/Jogos- Online/ClassicoPuzzle/Torre-de-Hanoi.html
  • 41. Exercício 4 – Jesuítas e Canibais Três jesuítas e três canibais precisam atravessar um rio; para tal, dispõem de um barco com capacidade para duas pessoas. Por medida de segurança, não se deve permitir que em alguma margem a quantidade de jesuítas seja inferior à de canibais. Qual a solução para efetuar a travessia com segurança? Elabore um algoritmo mostrando a resposta, indicando as ações que concretizam a solução deste problema. Jogo dos Canibal e Missionarios em: http://rachacuca.com.br/jogos/missionarios-e-canibais/
  • 42. Referência de Sites Jogo do Campones, Ovelha e Lobo, http://rachacuca.com.br/jogos/o-lobo-e-a- ovelha/ Jogo do Preso, Policial, Pai e Mae, http://www.japones.net.br/teste-de-qi-japones/
  • 43. Resolução Exercício 1 Se a senhora com vestido violeta respondeu a dona Rosa, então ela não é a própria dona Rosa. Além disso, como ela não tem o vestido da mesma cor de seu nome, ela também não é a dona Violeta. Logo, é a dona Branca que está com o vestido violeta. Dona Rosa não está usando rosa nem o violeta, portanto só pode estar usando o branco. Consequentemente, dona Violeta veste o vestido Rosa.
  • 44. Resolução Exercício 2 • levar o bode para o outro lado do rio; • voltar sem carga nenhuma; • levar o lobo para o outro lado do rio; • voltar com o bode; • levar a alfafa para o outro lado do rio; • voltar sem carga nenhuma; • levar o bode para o outro lado do rio;
  • 45. Resolução Exercício 3 • mover o disco 1 da torre A para a torre B; • mover o disco 2 da torre A para a torre C; • mover o disco 1 da torra B para a torre C; • mover o disco 3 da torre A para a torre B; • mover o disco 1 da torre C para a torre A; • mover o disco 2 da torre C para a torre B; • mover o disco 1 da torre A para a torre B;
  • 46. Resolução Exercício 4 • atravessar um jesuíta e um canibal para a margem B; • voltar o jesuíta para a margem A; • atravessar dois canibais para a margem B; • voltar um canibal para a margem A; • atravessar dois jesuítas para a margem B; • voltar um jesuíta e um canibal para a margem A; • atravessar dois jesuítas para a margem B; • voltar um canibal para a margem A; • atravessar dois canibais para a margem B; • voltar um canibal para a margem A; • atravessar dois canibais para a margem B;