SlideShare uma empresa Scribd logo
1 de 4
Lógica da Programação.
1. Algoritmos
Sempre que vamos escrever um programa de computador estaremos tentando resolver um problema.
Um problema pode ser definido como qualquer tipo de questão levantada para se chegar a uma decisão
ou solução.
Mas por onde começar? Existe um conceito matemático que ajuda a definir soluções de problemas: o
algoritmo.
Um Algoritmo é uma sequência ordenada e finita de etapas, cuja execução passo a passo resolve um
determinado problema. Dessa forma, um algoritmo pode tanto definir uma solução para um problema
computacional quanto um problema do cotidiano.
Vejamos um problema do cotidiano:
Realizar um depósito no caixa eletrônico: digamos que você pede para alguém realizar um depósito em
dinheiro na sua conta no caixa eletrônico. Você entrega o dinheiro à pessoa mas ela nunca realizou esta
tarefa antes. Você precisa explicar passo a passo todos os procedimentos para ela realizar o depósito.
Tá vendo como o cara tá constrangido? Ele é gente boa, mas nunca fez um depósito antes. Vamos
ajudá-lo.
Vejamos como ficaria uma sequência de instruções que poderia gerar um algoritmo para resolver esse
problema:
1. Ao chegar na agência, pegue um envelope próprio para depósito em dinheiro.
2. Escreva o número da agência, da conta e o valor do depósito.
3. Coloque o dinheiro dentro do envelope e feche o mesmo.
4. Dirija-se a um caixa eletrônico, procure a tecla para "depósito sem cartão".
5. Siga as instruções da tela do caixa, inserindo os números de acordo com as solicitações.
6. Verifique se os dados estão corretos.
7. Após confirmar os dados, coloque o envelope no local indicado.
8. Aguarde a impressão do recibo.
Para alguém que esteja acostumado a realizar esta tarefa, a mesma é automática, mas para quem nunca
a realizou antes, o roteiro pode resolver o problema.
Esse é um bom conceito para algoritmo: "dar um roteiro passo a passo para a execução de determinada
tarefa".
O interessante é que existem diversas maneiras de escrever um algoritmo, portanto não existe somente
uma solução possível.
2. Lógica da Programação
Lógica é o estudo das leis do pensamento, no sentido de verificar se algo é ou não verdadeiro.
A Lógica da Programação consiste em planejar e definir corretamente os comandos a serem inseridos
em um algoritmo, visando a resolução de problemas.
Nem sempre os problemas são computacionais, mas podem surgir em qualquer âmbito. E já dissemos
que algoritmos podem definir um roteiro passo a passo para a resolução de um problema. Para fazer
uma analogia, digamos que eu precise escrever um algoritmo para resolver o problema de fritar um
ovo.
Primeiro, fazemos uma análise mental genérica sobre o problema:
Em seguida, podemos escrever um roteiro passo a passo para a resolução do problema:
1. Pegue uma frigideira e coloque sobre o fogão;
2. Pegue o óleo ou manteiga e coloque na frigideira;
3. Pegue um ovo e quebre sobre a frigideira, sem deixar cair a casca.
4. Espere o ovo fritar, retire com a escumadeira em um prato.
Aí você analisaria o algoritmo e poderia dizer:
" Ei! Seu algoritmo tem um erro de lógica! Seu ovo nunca vai fritar, pois você não acendeu a chama
do fogão para aquecer a frigideira!"
Neste caso, a solução poderia ser inserir um ou dois passos a mais, ficando dessa forma:
1. Pegue uma frigideira e coloque sobre o fogão;
2. Pegue o óleo ou manteiga e coloque na frigideira;
3. Ligue a chama do fogão abaixo da frigideira.
4. Pegue um ovo e quebre sobre a frigideira, sem deixar cair a casca.
5. Espere o ovo fritar, retire com a escumadeira em um prato.
6. Desligue a chama do fogão abaixo da frigideira.
Veja que adicionando esses passos o algoritmo ficou mais completo e detalhado, além do fato que
passos imprescindíveis estão presentes.
Este exemplo ilustra a importância do estudo da Lógica da Programação e da construção de
Algoritmos. Imagine se ao invés de escrever primeiro o algoritmo eu tivesse decidido escrever
diretamente o programa "fritar_ovo.exe". Não funcionaria e o programa teria que ser escrito
novamente. Essa é a importância dos algoritmos: planejar a execução do programa antes de escrevê-lo.
O interessante é que normalmente não existe somente uma única solução para os problemas. Por essa
razão, um algoritmo escrito por uma pessoa pode ser muito diferente da solução encontrada por outra,
mas geralmente o que importa é a resolução do problema. Hum, mais ou menos. Há controvérsias. Às
vezes uma proposta pode levar à solução de um problema mas, digamos assim..., através de "caminhos
tortuosos".
Em certas situações a simplicidade é mais importante, em outras, a especificidade. Mas teremos muitas
oportunidades de verificar essas questões quando estivermos desenvolvendo nossos programas durante
o curso!
3. Português Estruturado
Para estudar a construção de algoritmos e a lógica da programação geralmente utilizamos um código
que não pode ser executado pelos computadores.
Utilizaremos o que é chamado de pseudocódigo, também conhecido como Português Estruturado ou
Portugol.
Vamos escrever sequências de instruções que possam ser entendidas por qualquer programador,
independente da linguagem de programação utilizada. Com essas instruções (algoritmo em português
estruturado), o programador terá um roteiro para a codificação do programa.
Simultaneamente, vamos testar na prática os conceitos aprendidos, criando pequenos programas nas
linguagens de programação C++ e Java.
Todas são linguagens de programação orientadas a objetos e não estruturadas. Mas servem
perfeitamente para o estudo da lógica e dos algoritmos por sua flexibilidade e sintaxe simples.
Vejamos um exemplo de algoritmo em português estruturado:

Mais conteúdo relacionado

Mais procurados

Aula1 introdução à lógica de programação
Aula1 introdução à lógica de programaçãoAula1 introdução à lógica de programação
Aula1 introdução à lógica de programaçãoHelder Martins
 
Alg aula 04-1 - estruturas de-selecao tp1 (se)
Alg   aula 04-1 - estruturas de-selecao tp1 (se)Alg   aula 04-1 - estruturas de-selecao tp1 (se)
Alg aula 04-1 - estruturas de-selecao tp1 (se)Thalles Anderson
 
Refatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira malRefatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira malAndrei Tognolo
 
Curso De Algoritmo Aula 2
Curso De Algoritmo   Aula 2Curso De Algoritmo   Aula 2
Curso De Algoritmo Aula 2Felipe Santos
 
TDC Florianópolis 2013 - Refatorar! porque ninguém gosta de código que cheir...
TDC Florianópolis 2013  - Refatorar! porque ninguém gosta de código que cheir...TDC Florianópolis 2013  - Refatorar! porque ninguém gosta de código que cheir...
TDC Florianópolis 2013 - Refatorar! porque ninguém gosta de código que cheir...Elias Souza
 
Introdução a programação
Introdução a programaçãoIntrodução a programação
Introdução a programaçãoEdu Queiroz
 
Gerenciamento[1]
Gerenciamento[1]Gerenciamento[1]
Gerenciamento[1]elannialins
 
Grandes Verdades Sobre o Desenvolvimento de Sistemas de Gerenciamento
Grandes Verdades Sobre o Desenvolvimento de Sistemas de GerenciamentoGrandes Verdades Sobre o Desenvolvimento de Sistemas de Gerenciamento
Grandes Verdades Sobre o Desenvolvimento de Sistemas de GerenciamentoTiago de Siervo
 
Grandes Verdades sobre o Gerenciamento
Grandes Verdades sobre o GerenciamentoGrandes Verdades sobre o Gerenciamento
Grandes Verdades sobre o Gerenciamentoogerente
 

Mais procurados (17)

Aula1 introdução à lógica de programação
Aula1 introdução à lógica de programaçãoAula1 introdução à lógica de programação
Aula1 introdução à lógica de programação
 
Algoritmos com java script
Algoritmos com java scriptAlgoritmos com java script
Algoritmos com java script
 
Clean Code
Clean CodeClean Code
Clean Code
 
01 conceitos
01 conceitos01 conceitos
01 conceitos
 
Alg aula 04-1 - estruturas de-selecao tp1 (se)
Alg   aula 04-1 - estruturas de-selecao tp1 (se)Alg   aula 04-1 - estruturas de-selecao tp1 (se)
Alg aula 04-1 - estruturas de-selecao tp1 (se)
 
Aula01
Aula01Aula01
Aula01
 
Refatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira malRefatorar! Porque ninguém gosta de código que cheira mal
Refatorar! Porque ninguém gosta de código que cheira mal
 
122172 1444
122172 1444122172 1444
122172 1444
 
Curso De Algoritmo Aula 2
Curso De Algoritmo   Aula 2Curso De Algoritmo   Aula 2
Curso De Algoritmo Aula 2
 
TDC Florianópolis 2013 - Refatorar! porque ninguém gosta de código que cheir...
TDC Florianópolis 2013  - Refatorar! porque ninguém gosta de código que cheir...TDC Florianópolis 2013  - Refatorar! porque ninguém gosta de código que cheir...
TDC Florianópolis 2013 - Refatorar! porque ninguém gosta de código que cheir...
 
122172 1445
122172 1445122172 1445
122172 1445
 
Aula01
Aula01Aula01
Aula01
 
O que é programar
O que é programarO que é programar
O que é programar
 
Introdução a programação
Introdução a programaçãoIntrodução a programação
Introdução a programação
 
Gerenciamento[1]
Gerenciamento[1]Gerenciamento[1]
Gerenciamento[1]
 
Grandes Verdades Sobre o Desenvolvimento de Sistemas de Gerenciamento
Grandes Verdades Sobre o Desenvolvimento de Sistemas de GerenciamentoGrandes Verdades Sobre o Desenvolvimento de Sistemas de Gerenciamento
Grandes Verdades Sobre o Desenvolvimento de Sistemas de Gerenciamento
 
Grandes Verdades sobre o Gerenciamento
Grandes Verdades sobre o GerenciamentoGrandes Verdades sobre o Gerenciamento
Grandes Verdades sobre o Gerenciamento
 

Semelhante a Lógica da Programação e Algoritmos

Aula 2 - Introducao a Algoritmo.pptx
Aula 2 - Introducao a Algoritmo.pptxAula 2 - Introducao a Algoritmo.pptx
Aula 2 - Introducao a Algoritmo.pptxJadna Almeida
 
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.pptINFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.pptPatricaNascimento1
 
Linguagem visualg2.0
Linguagem visualg2.0Linguagem visualg2.0
Linguagem visualg2.0Lucas Emanuel
 
Aula 1 - Lógica de Programação.pptx
Aula 1 - Lógica de Programação.pptxAula 1 - Lógica de Programação.pptx
Aula 1 - Lógica de Programação.pptxAnalderMagalhaes
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Gercélia Ramos
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascalangelicamenegassi
 
VisualAlg - Criando algoritmos
VisualAlg - Criando algoritmosVisualAlg - Criando algoritmos
VisualAlg - Criando algoritmosvilmardesouza
 
Curso de logica de programação aula 1
Curso de logica de programação aula 1Curso de logica de programação aula 1
Curso de logica de programação aula 1Antonio Tadeu Segat
 
Curso de logica de programação aula 1
Curso de logica de programação aula 1Curso de logica de programação aula 1
Curso de logica de programação aula 1Antonio Tadeu Segat
 
Algoritmos visualg
Algoritmos visualgAlgoritmos visualg
Algoritmos visualgDiego Sales
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Alex Camargo
 
Apostila algorítimos
Apostila algorítimosApostila algorítimos
Apostila algorítimosLuis Luisao
 
Apostila algorítimos
Apostila algorítimosApostila algorítimos
Apostila algorítimosMarcos Nori
 
Algoritmo apresentação
Algoritmo   apresentaçãoAlgoritmo   apresentação
Algoritmo apresentaçãopronatecvja
 

Semelhante a Lógica da Programação e Algoritmos (20)

Aula 2 - Introducao a Algoritmo.pptx
Aula 2 - Introducao a Algoritmo.pptxAula 2 - Introducao a Algoritmo.pptx
Aula 2 - Introducao a Algoritmo.pptx
 
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.pptINFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
INFORMATICA LOGICA DE PROGRAMAÇÃO E ALGORITIMOS AULA- 01.ppt
 
Visu alg ref (2)
Visu alg ref (2)Visu alg ref (2)
Visu alg ref (2)
 
Linguagem visualg2.0
Linguagem visualg2.0Linguagem visualg2.0
Linguagem visualg2.0
 
Aula 1 - Lógica de Programação.pptx
Aula 1 - Lógica de Programação.pptxAula 1 - Lógica de Programação.pptx
Aula 1 - Lógica de Programação.pptx
 
Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
Algoritmos e linguagem pascal
Algoritmos e linguagem pascalAlgoritmos e linguagem pascal
Algoritmos e linguagem pascal
 
VisualAlg - Criando algoritmos
VisualAlg - Criando algoritmosVisualAlg - Criando algoritmos
VisualAlg - Criando algoritmos
 
Aula 1 lpa
Aula 1   lpaAula 1   lpa
Aula 1 lpa
 
Curso de logica de programação aula 1
Curso de logica de programação aula 1Curso de logica de programação aula 1
Curso de logica de programação aula 1
 
Algorítimos
AlgorítimosAlgorítimos
Algorítimos
 
Curso de logica de programação aula 1
Curso de logica de programação aula 1Curso de logica de programação aula 1
Curso de logica de programação aula 1
 
Algoritmos visualg
Algoritmos visualgAlgoritmos visualg
Algoritmos visualg
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Apostila algorítimos
Apostila algorítimosApostila algorítimos
Apostila algorítimos
 
Apostila algorítimos
Apostila algorítimosApostila algorítimos
Apostila algorítimos
 
Apostila algoritimos
Apostila algoritimosApostila algoritimos
Apostila algoritimos
 
Algoritmo apresentação
Algoritmo   apresentaçãoAlgoritmo   apresentação
Algoritmo apresentação
 

Mais de Thiago Luis Colozio Casácio (20)

Ti nas organizações e wms
Ti nas organizações e wmsTi nas organizações e wms
Ti nas organizações e wms
 
Ti nas organizações e wms
Ti nas organizações e wmsTi nas organizações e wms
Ti nas organizações e wms
 
Questões wallmart
Questões wallmartQuestões wallmart
Questões wallmart
 
Estudo de caso wal mart
Estudo de caso wal martEstudo de caso wal mart
Estudo de caso wal mart
 
Banco de dados [ aula 2 ]
Banco de dados [ aula 2 ]Banco de dados [ aula 2 ]
Banco de dados [ aula 2 ]
 
Pj 2009 avioes_overflow
Pj 2009 avioes_overflowPj 2009 avioes_overflow
Pj 2009 avioes_overflow
 
Pj 2010 pneu_sedex
Pj 2010 pneu_sedexPj 2010 pneu_sedex
Pj 2010 pneu_sedex
 
Erp
ErpErp
Erp
 
Material
MaterialMaterial
Material
 
P r o j e t o
P r o j e t oP r o j e t o
P r o j e t o
 
Estrutura condicional
Estrutura condicionalEstrutura condicional
Estrutura condicional
 
Apostila hdw
Apostila hdwApostila hdw
Apostila hdw
 
Lab inf 1_ aula_4
Lab  inf 1_ aula_4Lab  inf 1_ aula_4
Lab inf 1_ aula_4
 
Lab inf 1_ aula_3
Lab  inf 1_ aula_3Lab  inf 1_ aula_3
Lab inf 1_ aula_3
 
C++
C++C++
C++
 
Fontes e no break
Fontes e no breakFontes e no break
Fontes e no break
 
Apostila complementar
Apostila complementarApostila complementar
Apostila complementar
 
1 2 fontes_estab_gab_nobreak
1 2  fontes_estab_gab_nobreak1 2  fontes_estab_gab_nobreak
1 2 fontes_estab_gab_nobreak
 
Estudo de caso wal mart
Estudo de caso wal martEstudo de caso wal mart
Estudo de caso wal mart
 
Lógica da programação
Lógica da programaçãoLógica da programação
Lógica da programação
 

Lógica da Programação e Algoritmos

  • 1. Lógica da Programação. 1. Algoritmos Sempre que vamos escrever um programa de computador estaremos tentando resolver um problema. Um problema pode ser definido como qualquer tipo de questão levantada para se chegar a uma decisão ou solução. Mas por onde começar? Existe um conceito matemático que ajuda a definir soluções de problemas: o algoritmo. Um Algoritmo é uma sequência ordenada e finita de etapas, cuja execução passo a passo resolve um determinado problema. Dessa forma, um algoritmo pode tanto definir uma solução para um problema computacional quanto um problema do cotidiano. Vejamos um problema do cotidiano: Realizar um depósito no caixa eletrônico: digamos que você pede para alguém realizar um depósito em dinheiro na sua conta no caixa eletrônico. Você entrega o dinheiro à pessoa mas ela nunca realizou esta tarefa antes. Você precisa explicar passo a passo todos os procedimentos para ela realizar o depósito. Tá vendo como o cara tá constrangido? Ele é gente boa, mas nunca fez um depósito antes. Vamos ajudá-lo. Vejamos como ficaria uma sequência de instruções que poderia gerar um algoritmo para resolver esse problema: 1. Ao chegar na agência, pegue um envelope próprio para depósito em dinheiro. 2. Escreva o número da agência, da conta e o valor do depósito. 3. Coloque o dinheiro dentro do envelope e feche o mesmo. 4. Dirija-se a um caixa eletrônico, procure a tecla para "depósito sem cartão". 5. Siga as instruções da tela do caixa, inserindo os números de acordo com as solicitações. 6. Verifique se os dados estão corretos.
  • 2. 7. Após confirmar os dados, coloque o envelope no local indicado. 8. Aguarde a impressão do recibo. Para alguém que esteja acostumado a realizar esta tarefa, a mesma é automática, mas para quem nunca a realizou antes, o roteiro pode resolver o problema. Esse é um bom conceito para algoritmo: "dar um roteiro passo a passo para a execução de determinada tarefa". O interessante é que existem diversas maneiras de escrever um algoritmo, portanto não existe somente uma solução possível. 2. Lógica da Programação Lógica é o estudo das leis do pensamento, no sentido de verificar se algo é ou não verdadeiro. A Lógica da Programação consiste em planejar e definir corretamente os comandos a serem inseridos em um algoritmo, visando a resolução de problemas. Nem sempre os problemas são computacionais, mas podem surgir em qualquer âmbito. E já dissemos que algoritmos podem definir um roteiro passo a passo para a resolução de um problema. Para fazer uma analogia, digamos que eu precise escrever um algoritmo para resolver o problema de fritar um ovo. Primeiro, fazemos uma análise mental genérica sobre o problema: Em seguida, podemos escrever um roteiro passo a passo para a resolução do problema: 1. Pegue uma frigideira e coloque sobre o fogão; 2. Pegue o óleo ou manteiga e coloque na frigideira; 3. Pegue um ovo e quebre sobre a frigideira, sem deixar cair a casca. 4. Espere o ovo fritar, retire com a escumadeira em um prato. Aí você analisaria o algoritmo e poderia dizer:
  • 3. " Ei! Seu algoritmo tem um erro de lógica! Seu ovo nunca vai fritar, pois você não acendeu a chama do fogão para aquecer a frigideira!" Neste caso, a solução poderia ser inserir um ou dois passos a mais, ficando dessa forma: 1. Pegue uma frigideira e coloque sobre o fogão; 2. Pegue o óleo ou manteiga e coloque na frigideira; 3. Ligue a chama do fogão abaixo da frigideira. 4. Pegue um ovo e quebre sobre a frigideira, sem deixar cair a casca. 5. Espere o ovo fritar, retire com a escumadeira em um prato. 6. Desligue a chama do fogão abaixo da frigideira. Veja que adicionando esses passos o algoritmo ficou mais completo e detalhado, além do fato que passos imprescindíveis estão presentes. Este exemplo ilustra a importância do estudo da Lógica da Programação e da construção de Algoritmos. Imagine se ao invés de escrever primeiro o algoritmo eu tivesse decidido escrever diretamente o programa "fritar_ovo.exe". Não funcionaria e o programa teria que ser escrito novamente. Essa é a importância dos algoritmos: planejar a execução do programa antes de escrevê-lo. O interessante é que normalmente não existe somente uma única solução para os problemas. Por essa razão, um algoritmo escrito por uma pessoa pode ser muito diferente da solução encontrada por outra, mas geralmente o que importa é a resolução do problema. Hum, mais ou menos. Há controvérsias. Às vezes uma proposta pode levar à solução de um problema mas, digamos assim..., através de "caminhos tortuosos". Em certas situações a simplicidade é mais importante, em outras, a especificidade. Mas teremos muitas oportunidades de verificar essas questões quando estivermos desenvolvendo nossos programas durante o curso! 3. Português Estruturado Para estudar a construção de algoritmos e a lógica da programação geralmente utilizamos um código que não pode ser executado pelos computadores. Utilizaremos o que é chamado de pseudocódigo, também conhecido como Português Estruturado ou Portugol.
  • 4. Vamos escrever sequências de instruções que possam ser entendidas por qualquer programador, independente da linguagem de programação utilizada. Com essas instruções (algoritmo em português estruturado), o programador terá um roteiro para a codificação do programa. Simultaneamente, vamos testar na prática os conceitos aprendidos, criando pequenos programas nas linguagens de programação C++ e Java. Todas são linguagens de programação orientadas a objetos e não estruturadas. Mas servem perfeitamente para o estudo da lógica e dos algoritmos por sua flexibilidade e sintaxe simples. Vejamos um exemplo de algoritmo em português estruturado: