SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
Universidade Federal de Sergipe
Departamento de Computação
Introdução a Ciência da Computação




               Algoritmo Estruturado

Felipe J. R. Vieira




        Última Atualização em Outubro de 2011
Sumário

  ➢   Conceitos;

  ➢
      Programação Estruturada;

  ➢
      Constantes;

  ➢   Variáveis; e

  ➢   Comentários.




              103201 - Introdução a Ciência da Computação   2
Atividade da Última Aula




         103201 - Introdução a Ciência da Computação   3
Conceitos

 ➢ É uma descrição detalhada e não ambígua, de
 ações que devem ser realizadas para a solução de
 um problema; ou

 ➢
   É 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.




            103201 - Introdução a Ciência da Computação   4
Conceitos



 ➢ Frequentemente existe mais que um algoritmo
 para resolver o mesmo problema.




          103201 - Introdução a Ciência da Computação   5
Propriedades
 ➢ Um algoritmo deve ter um único ponto de “início”
 e sua execução se faz de passo a passo, até atingir o
 ponto de “parada” (fim);

 ➢
   Cada passo do algoritmo deve ser simples e
 objetivo, para que ele possa ser corretamente
 executado por uma máquina;

 ➢  Para garantir que um algoritmo termina, cada
 passo deve ser executado em um espaço de tempo
 finito;


            103201 - Introdução a Ciência da Computação   6
Propriedades

 ➢ Já que partes da descrição do algoritmo vão ser
 “lidas” e executadas mais de uma vez, um algoritmo
 contém no mínimo um ciclo. Como a execução do
 algoritmo deve terminar em um tempo finito, deve
 haver uma maneira para encerrar cada ciclo;

 ➢  Todo algoritmo deve conter no mínimo uma
 variável com um domínio de valores. Se um
 algoritmo não tem variáveis, só será necessário
 executá-lo uma única vez.



            103201 - Introdução a Ciência da Computação   7
Solução de Problema Genérico – Passo 1


  ➢  Entender completamente a descrição do
  problema;




         103201 - Introdução a Ciência da Computação   8
Solução de Problema Genérico – Passo 2


  ➢ Fazer um esboço geral do algoritmo para a
  solução do problema dado, sem se preocupar
  com detalhes específicos. Assegurar que a
  estratégia esteja correta, rastreando o
  algoritmo esboçado com amostra de dados. Se
  não estiver correta, revisá-la;




          103201 - Introdução a Ciência da Computação   9
Solução de Problema Genérico – Passo 3


  ➢ Identificar e declarar qualquer variável que
  seja necessária. Por identificação escreva o
  nome da variável, seu tipo e uma descrição de
  seu propósito. Esta lista de variáveis pode ser
  aumentada ou diminuída segundo a necessidade;




           103201 - Introdução a Ciência da Computação   10
Solução de Problema Genérico – Passo 4


  ➢  Refinar os passos individuais do algoritmo
  esboçado. O nível de detalhamento deve ser
  aquele onde as instruções descritas nos passos do
  algoritmo tenham mapeamento quase imediato
  para a linguagem de programação;




           103201 - Introdução a Ciência da Computação   11
Solução de Problema Genérico – Passo 5


  ➢ Sentindo que o algoritmo está detalhado
  adequadamente, proceda seu rastreamento a fim
  de comprovar sua obediência à especificação; e




          103201 - Introdução a Ciência da Computação   12
Solução de Problema Genérico – Passo 6


  ➢ Implementação do algoritmo numa linguagem
  de programação particular.




          103201 - Introdução a Ciência da Computação   13
Programação Estruturada
 ➢ Devido a evolução das máquinas, os sistemas
 desenvolvidos podem ser maiores e de maior
 complexidade.

 ➢
   Porém, os algoritmos são ainda desenvolvidos pelo
 ser humano, mas podem ultrapassar os limites de sua
 compreensão.

 ➢   Por esta razão, surgiram técnicas que permitem
 sistematizar e ajudar o desenvolvimento de algoritmos
 para a resolução de grandes e complexos problemas
 nos computadores.

            103201 - Introdução a Ciência da Computação   14
Motivação
➢   Facilitar a escrita dos programas;

➢
    Facilitar a leitura dos programas;

➢
    Permitir a verificação a priori dos programas;

➢   Facilitar a manutenção e modificação dos programas; e

➢  Permitir que o seu desenvolvimento possa ser
empreendido simultaneamente por uma equipe de
pessoas.


               103201 - Introdução a Ciência da Computação   15
Consequências das Técnicas

➢ Desenvolvimento do programa em diferentes fases
por refinamento sucessivo;

➢  Decomposição do programa total em módulos
funcionais, organizados num sistema hierárquico;

➢
 Dentro de cada módulo um número muito limitado
de estruturas básicas de fluxo de controle.




           103201 - Introdução a Ciência da Computação   16
Constantes



➢Caracterizam-se por não se modificarem durante a
execução do programa. Podem ser classificadas em
numérica, literal e lógica.




           103201 - Introdução a Ciência da Computação   17
Constantes - Numéricas


➢É definida a partir do sistema decimal, podendo ser
um número inteiro ou fracionário.

➢
  As constantes numéricas podem participar de
operações aritméticas.

➢   Exemplos: 25, 3.14, 8.5 x 10², -2.6




               103201 - Introdução a Ciência da Computação   18
Constantes - Literal

➢ É definida a partir de uma sequência qualquer de
caracteres (letras, dígitos ou símbolos especiais) com
algum significado para o problema em estudo.

➢ Sempre será colocada entre aspas para não seja
confundida com outro item.

➢
    Não podem participar de operações aritméticas.

➢
    Exemplos: “José da Silva”, “123456”, “teste...”



               103201 - Introdução a Ciência da Computação   19
Constantes - Lógica



➢ É um valor lógico que só pode ser verdadeiro ou
falso e são representadas pelas palavras: verdadeiro
e falso.




            103201 - Introdução a Ciência da Computação   20
Variáveis


 ➢ Grande parte dos computadores adotam o modelo
 da Máquina de Von Neumann, matemático que
 introduziu o conceito de “programa armazenado”,
 onde variáveis são usadas para representar células de
 memória e atribuições são usadas para simular
 armazenamento.




            103201 - Introdução a Ciência da Computação   21
Variáveis


 ➢ Uma variável é uma entidade que possui um valor,
 sendo conhecida no programa por um identificador.
 As variáveis são valoradas com dados do mesmo tipo.

 ➢
   Ela corresponde a uma posição de memória (RAM).
 Seu conteúdo pode variar ao longo do tempo durante
 a execução de um programa.




            103201 - Introdução a Ciência da Computação   22
Variáveis


 ➢  A variável é identificada por um nome ou
 identificador.

 ➢Exemplo: Para calcular as raízes de uma equação do
 2º grau (ax² + bx + c = 0), os identificadores a, b e c
 podem representar as posições de memória que
 armazenam os coeficientes da equação.




             103201 - Introdução a Ciência da Computação   23
Variáveis


   RAM
         A                       B                     C




             103201 - Introdução a Ciência da Computação   24
Variáveis – Regra para nomes


 ➢   Pode ser formado por um ou mais caracteres;

 ➢
  Obrigatoriamente, o primeiro caractere tem que ser
 uma letra; e

 ➢
   É permitido o uso de letras e dígitos e não o de
 símbolos especiais.




               103201 - Introdução a Ciência da Computação   25
Variáveis – Regra para nomes


       Nomes Válidos                Nomes Não Válidos
            AAA                             6NOME
              X                          RUA-ALUNO
        NOTAALUNO                        CEP ALUNO
        NOMEPECA                       SEXO%EMPREG




         103201 - Introdução a Ciência da Computação    26
Variáveis – Declaração

 ➢
   Só armazena valores de um mesmo tipo. Logo, são
 classificadas em numéricas, literais ou lógicas;

 ➢
   A declaração é utilizada para indicar o tipo da
 variável. Além disso, no momento da declaração é
 associado um nome a variável (posição de memória);
 e

 ➢Qualquer referência que se faça a variável implica
 na referência ao seu conteúdo do local da memória
 que a representa.


            103201 - Introdução a Ciência da Computação   27
Variáveis - Sintaxe




  ➢
      declare listadevariaveis tipo




              103201 - Introdução a Ciência da Computação   28
Variáveis – Sintaxe


 ➢   declare: palavra-chave do algoritmo;

 ➢listadevariaveis : nomes escolhidos para as variáveis,
 usar vírgulas; e

 ➢   tipo: palavra-chave que indica o tipo das variáveis .




               103201 - Introdução a Ciência da Computação   29
Variáveis – Sintaxe


 ➢
     Exemplos:
     •
       declare NOTA, CODIGO, X5 numerico
     • declare TESTE, SIM logico

     ➢ declare NOME, ENDERECO literal




              103201 - Introdução a Ciência da Computação   30
Comentários

➢
  A clareza é uma das principais características de um
algoritmo e o comentário é um dos instrumentos para
cumprir esta finalidade. O comentário pode ser um
texto ou uma frase, deve vir delimitado por chaves e
podem ser colocados em qualquer parte do
algoritmo.

➢   Exemplo: Mat, {Número da Matrícula},
            Nota, {Nota do aluno}
            Cod {Código do Curso}



              103201 - Introdução a Ciência da Computação   31
Referências

  ➢
    Material Base: Programação I – Lógica de
  Programação (Material do Curso Técnico de
  Desenvolvimento de Sistemas do IFS).
  http://qacademico.cefetse.edu.br/Uploads/MATERIAIS_AULAS/435-PI_Programa%C3%A7%C3%A3o_I_Prof._Sozzi.pdf




                     103201 - Introdução a Ciência da Computação                                            32

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Como usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramasComo usar algoritmos e fluxogramas
Como usar algoritmos e fluxogramas
 
Algoritmia
AlgoritmiaAlgoritmia
Algoritmia
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
 
Algoritmos - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
 
Aula 1 lpa
Aula 1   lpaAula 1   lpa
Aula 1 lpa
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Logica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A LogicaLogica Algoritmo 01 Introducao A Logica
Logica Algoritmo 01 Introducao A Logica
 
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicionalICC - Aula 05 - Estrutura de controle, sequencial e condicional
ICC - Aula 05 - Estrutura de controle, sequencial e condicional
 
Algoritimo - Raul
Algoritimo - RaulAlgoritimo - Raul
Algoritimo - Raul
 
Algoritmos - Lógica de Programação
Algoritmos - Lógica de ProgramaçãoAlgoritmos - Lógica de Programação
Algoritmos - Lógica de Programação
 
Guia para traducao algoritmos x l ps
Guia para traducao algoritmos x l psGuia para traducao algoritmos x l ps
Guia para traducao algoritmos x l ps
 
Visualg
VisualgVisualg
Visualg
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
01 logica
01 logica01 logica
01 logica
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Módulo 2 pascal
Módulo 2  pascalMódulo 2  pascal
Módulo 2 pascal
 
aula 03 - Lógica de programação
aula 03 - Lógica de programaçãoaula 03 - Lógica de programação
aula 03 - Lógica de programação
 
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridadeICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
ICC - Aula 03 - Expressões aritméticas, lógicas e prioridade
 
Aulas 13 e 14 - Algoritmos
Aulas 13 e 14 - AlgoritmosAulas 13 e 14 - Algoritmos
Aulas 13 e 14 - Algoritmos
 
Logica Programação. ...
Logica Programação. ...Logica Programação. ...
Logica Programação. ...
 

Destaque

2a -conceitos_operacionais_variaveis_e_tipos_de_dados_numeri
2a  -conceitos_operacionais_variaveis_e_tipos_de_dados_numeri2a  -conceitos_operacionais_variaveis_e_tipos_de_dados_numeri
2a -conceitos_operacionais_variaveis_e_tipos_de_dados_numeriDisys do Brasil
 
Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4Saulo Arruda
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Saulo Arruda
 
Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3Saulo Arruda
 
Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2Saulo Arruda
 
Introdução ao desenvolvimento de apps para iOS
Introdução ao desenvolvimento de apps para iOSIntrodução ao desenvolvimento de apps para iOS
Introdução ao desenvolvimento de apps para iOSJorge Henrique
 
Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6Saulo Arruda
 
Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Saulo Arruda
 
PráTica De Ensino De Algoritmo Volume 1 e 2
PráTica De Ensino De Algoritmo Volume 1 e 2PráTica De Ensino De Algoritmo Volume 1 e 2
PráTica De Ensino De Algoritmo Volume 1 e 2Albérico Henrique
 
Introdução ao apple watch
Introdução ao apple watchIntrodução ao apple watch
Introdução ao apple watchJorge Henrique
 
Inglês, Espanhol e Francês: a importância das línguas estrangeiras no mercado...
Inglês, Espanhol e Francês: a importância das línguas estrangeiras no mercado...Inglês, Espanhol e Francês: a importância das línguas estrangeiras no mercado...
Inglês, Espanhol e Francês: a importância das línguas estrangeiras no mercado...liliandsferreira
 
Física - Exercícios Resolvidos de Cinemática
Física - Exercícios Resolvidos de CinemáticaFísica - Exercícios Resolvidos de Cinemática
Física - Exercícios Resolvidos de CinemáticaJoana Figueredo
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoWesley R. Bezerra
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoRegis Magalhães
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Gercélia Ramos
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1engenhariadecomputacao
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOMicrosoft
 

Destaque (20)

2a -conceitos_operacionais_variaveis_e_tipos_de_dados_numeri
2a  -conceitos_operacionais_variaveis_e_tipos_de_dados_numeri2a  -conceitos_operacionais_variaveis_e_tipos_de_dados_numeri
2a -conceitos_operacionais_variaveis_e_tipos_de_dados_numeri
 
Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4Desenvolvimento iOS - Aula 4
Desenvolvimento iOS - Aula 4
 
Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1Desenvolvimento iOS - Aula 1
Desenvolvimento iOS - Aula 1
 
Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3Desenvolvimento iOS - Aula 3
Desenvolvimento iOS - Aula 3
 
Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2Desenvolvimento iOS - Aula 2
Desenvolvimento iOS - Aula 2
 
A história do trakto
A história do traktoA história do trakto
A história do trakto
 
Introdução ao desenvolvimento de apps para iOS
Introdução ao desenvolvimento de apps para iOSIntrodução ao desenvolvimento de apps para iOS
Introdução ao desenvolvimento de apps para iOS
 
Algoritmos - capítulo 6
Algoritmos - capítulo 6Algoritmos - capítulo 6
Algoritmos - capítulo 6
 
Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6Desenvolvimento iOS - Aula 6
Desenvolvimento iOS - Aula 6
 
Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5Desenvolvimento iOS - Aula 5
Desenvolvimento iOS - Aula 5
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
PráTica De Ensino De Algoritmo Volume 1 e 2
PráTica De Ensino De Algoritmo Volume 1 e 2PráTica De Ensino De Algoritmo Volume 1 e 2
PráTica De Ensino De Algoritmo Volume 1 e 2
 
Introdução ao apple watch
Introdução ao apple watchIntrodução ao apple watch
Introdução ao apple watch
 
Inglês, Espanhol e Francês: a importância das línguas estrangeiras no mercado...
Inglês, Espanhol e Francês: a importância das línguas estrangeiras no mercado...Inglês, Espanhol e Francês: a importância das línguas estrangeiras no mercado...
Inglês, Espanhol e Francês: a importância das línguas estrangeiras no mercado...
 
Física - Exercícios Resolvidos de Cinemática
Física - Exercícios Resolvidos de CinemáticaFísica - Exercícios Resolvidos de Cinemática
Física - Exercícios Resolvidos de Cinemática
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetição
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
 

Semelhante a UFSE algoritmo introdução ciência computação

ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaFelipe J. R. Vieira
 
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasFelipe J. R. Vieira
 
ICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de RepetiçãoICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de RepetiçãoFelipe J. R. Vieira
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturadoNaldo Falaschi
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009starley lobo
 
UC_ 9 Desenvolver Algoritmos ( Vinicios Cararine Coelho ) 26_02.pdf
UC_ 9 Desenvolver Algoritmos ( Vinicios Cararine Coelho ) 26_02.pdfUC_ 9 Desenvolver Algoritmos ( Vinicios Cararine Coelho ) 26_02.pdf
UC_ 9 Desenvolver Algoritmos ( Vinicios Cararine Coelho ) 26_02.pdfvinicioscararine95
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cMaicon Rodrigues
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmosslashmelhor
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativoTony Alexander Hild
 
Fundamento da ciência da computação
Fundamento da ciência da computaçãoFundamento da ciência da computação
Fundamento da ciência da computaçãoMarcos Gregorio
 
4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmo4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmoEugenio Caetano
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoJose Augusto Cintra
 
Apostila algoritmos
Apostila algoritmosApostila algoritmos
Apostila algoritmosPedro Nelson
 

Semelhante a UFSE algoritmo introdução ciência computação (20)

ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
 
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas EstruturasICC - Aula 15 - Ambiente Pascal e Suas Estruturas
ICC - Aula 15 - Ambiente Pascal e Suas Estruturas
 
ICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de RepetiçãoICC – Aula 09 – Estrutura de Repetição
ICC – Aula 09 – Estrutura de Repetição
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturado
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009
 
UC_ 9 Desenvolver Algoritmos ( Vinicios Cararine Coelho ) 26_02.pdf
UC_ 9 Desenvolver Algoritmos ( Vinicios Cararine Coelho ) 26_02.pdfUC_ 9 Desenvolver Algoritmos ( Vinicios Cararine Coelho ) 26_02.pdf
UC_ 9 Desenvolver Algoritmos ( Vinicios Cararine Coelho ) 26_02.pdf
 
Aula 05 subprogramas
Aula 05   subprogramasAula 05   subprogramas
Aula 05 subprogramas
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
 
Aula02
Aula02Aula02
Aula02
 
Analise Algoritmos
Analise AlgoritmosAnalise Algoritmos
Analise Algoritmos
 
Lista exercicios algoritmos
Lista exercicios algoritmosLista exercicios algoritmos
Lista exercicios algoritmos
 
Introdução ao paradigma imperativo
Introdução ao paradigma imperativoIntrodução ao paradigma imperativo
Introdução ao paradigma imperativo
 
Fundamento da ciência da computação
Fundamento da ciência da computaçãoFundamento da ciência da computação
Fundamento da ciência da computação
 
FC-Logic
FC-LogicFC-Logic
FC-Logic
 
4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmo4. metodos de contrucao de algoritmo
4. metodos de contrucao de algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
 
Apostila algoritmos
Apostila algoritmosApostila algoritmos
Apostila algoritmos
 

Mais de Felipe J. R. Vieira

POO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e InterfacePOO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e InterfaceFelipe J. R. Vieira
 
MC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas OperacionaisMC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas OperacionaisFelipe J. R. Vieira
 
MC – Aula 09 – Sistemas Operacionais (Introdução)
MC – Aula 09 – Sistemas Operacionais (Introdução)MC – Aula 09 – Sistemas Operacionais (Introdução)
MC – Aula 09 – Sistemas Operacionais (Introdução)Felipe J. R. Vieira
 
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras InformaçõesMC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras InformaçõesFelipe J. R. Vieira
 
MC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de ArmazenamentoMC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de ArmazenamentoFelipe J. R. Vieira
 
POO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de AcessoPOO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de AcessoFelipe J. R. Vieira
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClasseFelipe J. R. Vieira
 
ICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional MúltiplaICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional MúltiplaFelipe J. R. Vieira
 
POO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e VetoresPOO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e VetoresFelipe J. R. Vieira
 
MC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e MemóriaMC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e MemóriaFelipe J. R. Vieira
 
POO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosPOO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosFelipe J. R. Vieira
 
MC - Aula 03 - Conceitos Iniciais
MC - Aula 03 -  Conceitos IniciaisMC - Aula 03 -  Conceitos Iniciais
MC - Aula 03 - Conceitos IniciaisFelipe J. R. Vieira
 
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao Java
POO - Aula 02 -  Fatores de Qualidade de Software e Introdução ao JavaPOO - Aula 02 -  Fatores de Qualidade de Software e Introdução ao Java
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao JavaFelipe J. R. Vieira
 
MC - Aula 02 - Histórico da Computação
MC - Aula 02 - Histórico da ComputaçãoMC - Aula 02 - Histórico da Computação
MC - Aula 02 - Histórico da ComputaçãoFelipe J. R. Vieira
 
POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa
POO – Aula 01 – Plano de Ensino e Revisão de Programação ImperativaPOO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa
POO – Aula 01 – Plano de Ensino e Revisão de Programação ImperativaFelipe J. R. Vieira
 
MC - Aula 01 - Plano de Ensino e Histórico da Computação
MC - Aula 01 - Plano de Ensino e Histórico da ComputaçãoMC - Aula 01 - Plano de Ensino e Histórico da Computação
MC - Aula 01 - Plano de Ensino e Histórico da ComputaçãoFelipe J. R. Vieira
 
ICC - Aula 01 - Plano de Ensino e Processamento de Dados
ICC - Aula 01 - Plano de Ensino e Processamento de DadosICC - Aula 01 - Plano de Ensino e Processamento de Dados
ICC - Aula 01 - Plano de Ensino e Processamento de DadosFelipe J. R. Vieira
 

Mais de Felipe J. R. Vieira (20)

POO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e InterfacePOO - Aula 13 - Classe Abstrata e Interface
POO - Aula 13 - Classe Abstrata e Interface
 
MC – Aula 11 – Aplicativos
MC – Aula 11 – AplicativosMC – Aula 11 – Aplicativos
MC – Aula 11 – Aplicativos
 
MC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas OperacionaisMC – Aula 10 – Sistemas Operacionais
MC – Aula 10 – Sistemas Operacionais
 
MC – Aula 09 – Sistemas Operacionais (Introdução)
MC – Aula 09 – Sistemas Operacionais (Introdução)MC – Aula 09 – Sistemas Operacionais (Introdução)
MC – Aula 09 – Sistemas Operacionais (Introdução)
 
POO - Aula 10 - Polimorfismo
POO - Aula 10 - PolimorfismoPOO - Aula 10 - Polimorfismo
POO - Aula 10 - Polimorfismo
 
POO - Aula 09 - Herança
POO - Aula 09 - HerançaPOO - Aula 09 - Herança
POO - Aula 09 - Herança
 
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras InformaçõesMC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
 
MC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de ArmazenamentoMC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de Armazenamento
 
POO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de AcessoPOO - Aula 06 - Modificadores de Acesso
POO - Aula 06 - Modificadores de Acesso
 
POO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de ClassePOO - Aula 07 - Construtores e Atributos de Classe
POO - Aula 07 - Construtores e Atributos de Classe
 
ICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional MúltiplaICC – Aula 07 – Condicional Múltipla
ICC – Aula 07 – Condicional Múltipla
 
POO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e VetoresPOO - Aula 05 - Referências e Vetores
POO - Aula 05 - Referências e Vetores
 
MC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e MemóriaMC – Aula 04 – Unidade central de processamento e Memória
MC – Aula 04 – Unidade central de processamento e Memória
 
POO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetosPOO - Aula 04 - Introdução a classes e objetos
POO - Aula 04 - Introdução a classes e objetos
 
MC - Aula 03 - Conceitos Iniciais
MC - Aula 03 -  Conceitos IniciaisMC - Aula 03 -  Conceitos Iniciais
MC - Aula 03 - Conceitos Iniciais
 
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao Java
POO - Aula 02 -  Fatores de Qualidade de Software e Introdução ao JavaPOO - Aula 02 -  Fatores de Qualidade de Software e Introdução ao Java
POO - Aula 02 - Fatores de Qualidade de Software e Introdução ao Java
 
MC - Aula 02 - Histórico da Computação
MC - Aula 02 - Histórico da ComputaçãoMC - Aula 02 - Histórico da Computação
MC - Aula 02 - Histórico da Computação
 
POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa
POO – Aula 01 – Plano de Ensino e Revisão de Programação ImperativaPOO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa
POO – Aula 01 – Plano de Ensino e Revisão de Programação Imperativa
 
MC - Aula 01 - Plano de Ensino e Histórico da Computação
MC - Aula 01 - Plano de Ensino e Histórico da ComputaçãoMC - Aula 01 - Plano de Ensino e Histórico da Computação
MC - Aula 01 - Plano de Ensino e Histórico da Computação
 
ICC - Aula 01 - Plano de Ensino e Processamento de Dados
ICC - Aula 01 - Plano de Ensino e Processamento de DadosICC - Aula 01 - Plano de Ensino e Processamento de Dados
ICC - Aula 01 - Plano de Ensino e Processamento de Dados
 

UFSE algoritmo introdução ciência computação

  • 1. Universidade Federal de Sergipe Departamento de Computação Introdução a Ciência da Computação Algoritmo Estruturado Felipe J. R. Vieira Última Atualização em Outubro de 2011
  • 2. Sumário ➢ Conceitos; ➢ Programação Estruturada; ➢ Constantes; ➢ Variáveis; e ➢ Comentários. 103201 - Introdução a Ciência da Computação 2
  • 3. Atividade da Última Aula 103201 - Introdução a Ciência da Computação 3
  • 4. Conceitos ➢ É uma descrição detalhada e não ambígua, de ações que devem ser realizadas para a solução de um problema; ou ➢ É 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. 103201 - Introdução a Ciência da Computação 4
  • 5. Conceitos ➢ Frequentemente existe mais que um algoritmo para resolver o mesmo problema. 103201 - Introdução a Ciência da Computação 5
  • 6. Propriedades ➢ Um algoritmo deve ter um único ponto de “início” e sua execução se faz de passo a passo, até atingir o ponto de “parada” (fim); ➢ Cada passo do algoritmo deve ser simples e objetivo, para que ele possa ser corretamente executado por uma máquina; ➢ Para garantir que um algoritmo termina, cada passo deve ser executado em um espaço de tempo finito; 103201 - Introdução a Ciência da Computação 6
  • 7. Propriedades ➢ Já que partes da descrição do algoritmo vão ser “lidas” e executadas mais de uma vez, um algoritmo contém no mínimo um ciclo. Como a execução do algoritmo deve terminar em um tempo finito, deve haver uma maneira para encerrar cada ciclo; ➢ Todo algoritmo deve conter no mínimo uma variável com um domínio de valores. Se um algoritmo não tem variáveis, só será necessário executá-lo uma única vez. 103201 - Introdução a Ciência da Computação 7
  • 8. Solução de Problema Genérico – Passo 1 ➢ Entender completamente a descrição do problema; 103201 - Introdução a Ciência da Computação 8
  • 9. Solução de Problema Genérico – Passo 2 ➢ Fazer um esboço geral do algoritmo para a solução do problema dado, sem se preocupar com detalhes específicos. Assegurar que a estratégia esteja correta, rastreando o algoritmo esboçado com amostra de dados. Se não estiver correta, revisá-la; 103201 - Introdução a Ciência da Computação 9
  • 10. Solução de Problema Genérico – Passo 3 ➢ Identificar e declarar qualquer variável que seja necessária. Por identificação escreva o nome da variável, seu tipo e uma descrição de seu propósito. Esta lista de variáveis pode ser aumentada ou diminuída segundo a necessidade; 103201 - Introdução a Ciência da Computação 10
  • 11. Solução de Problema Genérico – Passo 4 ➢ Refinar os passos individuais do algoritmo esboçado. O nível de detalhamento deve ser aquele onde as instruções descritas nos passos do algoritmo tenham mapeamento quase imediato para a linguagem de programação; 103201 - Introdução a Ciência da Computação 11
  • 12. Solução de Problema Genérico – Passo 5 ➢ Sentindo que o algoritmo está detalhado adequadamente, proceda seu rastreamento a fim de comprovar sua obediência à especificação; e 103201 - Introdução a Ciência da Computação 12
  • 13. Solução de Problema Genérico – Passo 6 ➢ Implementação do algoritmo numa linguagem de programação particular. 103201 - Introdução a Ciência da Computação 13
  • 14. Programação Estruturada ➢ Devido a evolução das máquinas, os sistemas desenvolvidos podem ser maiores e de maior complexidade. ➢ Porém, os algoritmos são ainda desenvolvidos pelo ser humano, mas podem ultrapassar os limites de sua compreensão. ➢ Por esta razão, surgiram técnicas que permitem sistematizar e ajudar o desenvolvimento de algoritmos para a resolução de grandes e complexos problemas nos computadores. 103201 - Introdução a Ciência da Computação 14
  • 15. Motivação ➢ Facilitar a escrita dos programas; ➢ Facilitar a leitura dos programas; ➢ Permitir a verificação a priori dos programas; ➢ Facilitar a manutenção e modificação dos programas; e ➢ Permitir que o seu desenvolvimento possa ser empreendido simultaneamente por uma equipe de pessoas. 103201 - Introdução a Ciência da Computação 15
  • 16. Consequências das Técnicas ➢ Desenvolvimento do programa em diferentes fases por refinamento sucessivo; ➢ Decomposição do programa total em módulos funcionais, organizados num sistema hierárquico; ➢ Dentro de cada módulo um número muito limitado de estruturas básicas de fluxo de controle. 103201 - Introdução a Ciência da Computação 16
  • 17. Constantes ➢Caracterizam-se por não se modificarem durante a execução do programa. Podem ser classificadas em numérica, literal e lógica. 103201 - Introdução a Ciência da Computação 17
  • 18. Constantes - Numéricas ➢É definida a partir do sistema decimal, podendo ser um número inteiro ou fracionário. ➢ As constantes numéricas podem participar de operações aritméticas. ➢ Exemplos: 25, 3.14, 8.5 x 10², -2.6 103201 - Introdução a Ciência da Computação 18
  • 19. Constantes - Literal ➢ É definida a partir de uma sequência qualquer de caracteres (letras, dígitos ou símbolos especiais) com algum significado para o problema em estudo. ➢ Sempre será colocada entre aspas para não seja confundida com outro item. ➢ Não podem participar de operações aritméticas. ➢ Exemplos: “José da Silva”, “123456”, “teste...” 103201 - Introdução a Ciência da Computação 19
  • 20. Constantes - Lógica ➢ É um valor lógico que só pode ser verdadeiro ou falso e são representadas pelas palavras: verdadeiro e falso. 103201 - Introdução a Ciência da Computação 20
  • 21. Variáveis ➢ Grande parte dos computadores adotam o modelo da Máquina de Von Neumann, matemático que introduziu o conceito de “programa armazenado”, onde variáveis são usadas para representar células de memória e atribuições são usadas para simular armazenamento. 103201 - Introdução a Ciência da Computação 21
  • 22. Variáveis ➢ Uma variável é uma entidade que possui um valor, sendo conhecida no programa por um identificador. As variáveis são valoradas com dados do mesmo tipo. ➢ Ela corresponde a uma posição de memória (RAM). Seu conteúdo pode variar ao longo do tempo durante a execução de um programa. 103201 - Introdução a Ciência da Computação 22
  • 23. Variáveis ➢ A variável é identificada por um nome ou identificador. ➢Exemplo: Para calcular as raízes de uma equação do 2º grau (ax² + bx + c = 0), os identificadores a, b e c podem representar as posições de memória que armazenam os coeficientes da equação. 103201 - Introdução a Ciência da Computação 23
  • 24. Variáveis RAM A B C 103201 - Introdução a Ciência da Computação 24
  • 25. Variáveis – Regra para nomes ➢ Pode ser formado por um ou mais caracteres; ➢ Obrigatoriamente, o primeiro caractere tem que ser uma letra; e ➢ É permitido o uso de letras e dígitos e não o de símbolos especiais. 103201 - Introdução a Ciência da Computação 25
  • 26. Variáveis – Regra para nomes Nomes Válidos Nomes Não Válidos AAA 6NOME X RUA-ALUNO NOTAALUNO CEP ALUNO NOMEPECA SEXO%EMPREG 103201 - Introdução a Ciência da Computação 26
  • 27. Variáveis – Declaração ➢ Só armazena valores de um mesmo tipo. Logo, são classificadas em numéricas, literais ou lógicas; ➢ A declaração é utilizada para indicar o tipo da variável. Além disso, no momento da declaração é associado um nome a variável (posição de memória); e ➢Qualquer referência que se faça a variável implica na referência ao seu conteúdo do local da memória que a representa. 103201 - Introdução a Ciência da Computação 27
  • 28. Variáveis - Sintaxe ➢ declare listadevariaveis tipo 103201 - Introdução a Ciência da Computação 28
  • 29. Variáveis – Sintaxe ➢ declare: palavra-chave do algoritmo; ➢listadevariaveis : nomes escolhidos para as variáveis, usar vírgulas; e ➢ tipo: palavra-chave que indica o tipo das variáveis . 103201 - Introdução a Ciência da Computação 29
  • 30. Variáveis – Sintaxe ➢ Exemplos: • declare NOTA, CODIGO, X5 numerico • declare TESTE, SIM logico ➢ declare NOME, ENDERECO literal 103201 - Introdução a Ciência da Computação 30
  • 31. Comentários ➢ A clareza é uma das principais características de um algoritmo e o comentário é um dos instrumentos para cumprir esta finalidade. O comentário pode ser um texto ou uma frase, deve vir delimitado por chaves e podem ser colocados em qualquer parte do algoritmo. ➢ Exemplo: Mat, {Número da Matrícula}, Nota, {Nota do aluno} Cod {Código do Curso} 103201 - Introdução a Ciência da Computação 31
  • 32. Referências ➢ Material Base: Programação I – Lógica de Programação (Material do Curso Técnico de Desenvolvimento de Sistemas do IFS). http://qacademico.cefetse.edu.br/Uploads/MATERIAIS_AULAS/435-PI_Programa%C3%A7%C3%A3o_I_Prof._Sozzi.pdf 103201 - Introdução a Ciência da Computação 32