Você está na página 1de 30

Universidade Estadual de Goiás

Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Aspectos fundamentais da programação:


 Construção de algoritmos;
 Representação das estruturas de dados.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Um algoritmo é uma sequência finita de instruções


bem definidas e não ambíguas, cada uma das quais
pode ser executada mecanicamente num período de
tempo finito e com uma quantidade de esforço finita.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Um algoritmo não representa, necessariamente, um


programa de computador, e sim os passos necessários
para realizar uma tarefa. Sua implementação pode ser
feita por um computador, por outro tipo de autômato ou
mesmo por um ser humano.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Aspectos complementares num algoritmo:


 Estático;
 Dinâmico.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Programação estruturada: segundo Wirth, é “a arte


ou técnica de construir e formular algoritmos de uma
forma sistemática”.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Ação:
 Evento de duração finita, com efeito intencional e
bem definido.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Processo ou processo sequencial:


 Sequência temporal de sub-ações com soma de efeitos
igual ao evento total.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Estado:
 Conjunto de propriedades que caracterizam o objeto
de estudo num determinado instante.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Evento:
 É uma ocorrência que altera o estado de um sistema
ou objeto.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Padrão de comportamento:
 É aquilo que há de comum em eventos distintos. É o
conjunto de regras que permitem identificar a
similaridade destes eventos.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• O efeito de um evento está totalmente determinado


pelo padrão de comportamento e eventualmente pelo
estado inicial.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Algoritmo:
 É a descrição de um padrão de comportamento,
expressado em termos de um repertório bem definido
e finito de ações “primitivas”, das quais damos por
certo que elas podem ser executadas.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• O algoritmo tem um caráter imperativo;


• Nome de uma ação num algoritmo é chamada de
“comando”;

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Desmembrando uma ação em suas sub-ações:


 “dona de casa descasca batatas para o jantar;
• Se transforma em:
 “traz a cesta com batatas do porão”;
 “traz a panela do armário”;
 “descasca as batatas”;
 “devolve a cesta ao porão”.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Simbolo de sequenciamento “;”


 A sequência simples é a mais simples estrutura de
fluxo de controle.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Relatos de eventos distintos podem ser diferente:


 “traz a cesta com batatas do porão”;
 “traz a panela do armário”;
 “coloca o avental”;
 “descasca as batatas”;
 “devolve a cesta ao porão”.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• ...Mas podemos escrever algoritmos que se adaptem


aos dois eventos:
 “traga a cesta com batatas do porão”;
 “traga a panela do armário”;
 Se “saia é clara” então “coloque o avental”;
 “descasque as batatas”;
 “devolva a cesta ao porão”.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Conectivo condicional “Se”:


 Representa a segunda estrutura de controle, a
alternativa, ou decisão.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada
• Os algoritmos também podem representar tarefas repetitivas:
 “traga a cesta com batatas do porão”;
 “traga a panela do armário”;
 Se “saia é clara” então “coloque o avental”;
 Se “número de batatas é insuficiente” então
 “descasque uma batata”;
 Se “número de batatas é insuficiente” então
 “descasque uma batata”;
 ...
 “devolva a cesta ao porão”.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• ... Que se tornará mais eficiente e elegante se usarmos a


estrutura de repetição:
 “traga a cesta com batatas do porão”;
 “traga a panela do armário”;
 Se “saia é clara” então “coloque o avental”;
 Enquanto “número de batatas é insuficiente” faça
 “descasque uma batata”;
 “devolva a cesta ao porão”.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Conectivo repetitivo “Enquanto...faça”:


 Executa determinadas ações se e enquanto uma
determinada condição for verdadeira.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Perigo na relação entre texto estático e eventos


dinâmicos:
 Algoritmo que não seja executável em tempo finito.
Ex: enquanto “saia é clara” faça “descasque uma
batata”.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Um algoritmo deve ser determinístico, ou seja, dadas


as mesmas condições iniciais, o resultado final deve
ser o mesmo;
• Só estamos interessados em algoritmos que terminam
em um tempo finito.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Com relação à representação de informações através


das estruturas de dados, temos três fases:
 Escolha de propriedades relevantes do objeto real a
ser representado;
 Escolha da representação com base nas operações a
serem efetuadas sobre elas;
 Demonstrar que a representação produz resultados de
acordo com os fenômenos do mundo real.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Linguagem de programação:
 É uma técnica de notação para programar, cujos
objetivos são:
• Capacidade de expressar raciocínio algoritmico;
• Execução automática de um algoritmo por um
computador.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Objetivos da Programação Estruturada:


 Facilitar escrita dos programas;
 Facilitar leitura(entendimento) dos programas;
 Permitir a verificação;
 Facilitar a manutenção.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Métodos de desenvolvimento da PE:


 Desenvolvimento em diferentes fases por refinamento
sucessivo (desenvolvimento top-down);
 Decomposição em módulos funcionais;
 Limitar número de estruturas de fluxo em cada
módulo.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Crise do Software nos anos 60:

Falta de metodologia  baixa produtividade  alto custo de


desenvolvimento.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

Conceito de Algoritmo
e Programação Estruturada

• Critérios de avaliação da qualidade de programas:


 Confiabilidade;
 Manutenibilidade;
 Flexibilidade;
 Boa documentação.

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas
Universidade Estadual de Goiás
Unidade Universitária de Goianésia

“Com organização e tempo, acha-se


o segredo de fazer tudo e bem feito.”
Pitágoras

Disciplina: Linguagem e Técnicas em Programação


Professor: Alexandre Oliveira de Freitas

Você também pode gostar