Aula 1 – 23/02/2010

DISCIPLINA: Algoritmos e Lógica de Programação

PROFESSOR: Leandro Fernandes da Mota

EMAIL: prof.leandrofm@gmail.com

EMENTA: Conceito de lógica. Lógica aplicada à programação. Tipos de algoritmos. Conceitos de variáveis e constantes. Tipos primitivos de dados. Operadores: aritméticos, relacionais e lógicos. Estruturas de seleção. Estruturas de controle e repetição.

OBJETIVOS: Preparar o aluno para o desenvolvimento de soluções computacionais eficientes. Capacitar o aluno na elaboração de algoritmos; torná-los capazes de resolver problemas simples de forma teórica e aplicá-los na prática em uma linguagem de programação pré-definida na metodologia.

METODOLOGIA DE ENSINO: Nas aulas teóricas os conceitos devem ser apresentados na forma de Fluxograma, Pseudocódigo e Linguagem de programação Pascal. A aula prática será desenvolvida em laboratório a partir da semana 5 até a semana 20 utilizando como ferramenta a linguagem de programação PASCAL. Todas as aulas práticas serão duas das quatro aulas no período.

CONTEÚDO PROGRAMÁTICO DA PRIMEIRA AULA: Apresentação da disciplina: conteúdo programático, metodologia de ensino, critérios de avaliação e bibliografias. Conceito de Algoritmo e Lógica. Formas de Representações de Algoritmo: Descrição narrativa, Diagrama de blocos (fluxograma) e Português estruturado (Pseudocódigo).

SISTEMA DE AVALIAÇÃO: O critério de avaliação deverá ser composto por 02 notas oficiais (Av1 e Av2)

Av1 = (Prova (13/04/2010) + Trabalho1 – Grupo de 5 alunos(13/04/2010) + pontos (Exercícios)

2

Av1 = (Prova (15/06/2010) + Trabalho2 – Grupo de 5 alunos(15/06/2010) + pontos (Exercícios)

2

Média = (Av1 + Av2) / 2

Trabalho1 (Grupo de 5) para o dia 13/04/2010

– O que são linguagens de programação.

– Classificação das linguagens de programação quanto à geração (1º, 2º, 3º, 4º e 5º geração) e exemplos de linguagens presentes em cada geração.

– Classificação das linguagens de programação quanto ao grau de abstração (nível baixo, intermediário e alto).

– Classificação das linguagens de programação quanto ao paradigma (pesquisar apenas o paradigma de programação estruturada)

BIBLIOGRAFIA BÁSICA:

MANZANO, José Augusto Navarro Garcia & OLIVEIRA, Jair Figueiredo de. Algoritmos: Lógica para o desenvolvimento de programação. São Paulo: Ed. Érica, 2004.

FORBELLONE, André Luiz Villar & EBERSPACHER, Henri Frederico. Lógica de Programação. Ed. Pearson Brasil, 2000. A1:D560

ASCENCIO, Ana Fernanda Gomes. Lógica de programação com Pascal. Ed. Makron Books, 1999.

BIBLIOGRAFIA COMPLEMENTAR:

ARRER & BECKER, Cristiano Gonçalves & FARIA, Eduardo Chaves. Algoritmos Estruturados. Ed. LTC, 1999

PREISS, Bruno R. Estrutura de dados e Algoritmos. Ed. Campos, 2001.

HORÁRIO:

7:50 às 9:30 (1ª Aula)

9:30 às 9:50 (Intervalo)

9:50 às 11:30 (2ª Aula)

Obs: Faltas reprovam!

INTRODUÇÃO A ALGORTIMOS

ALGORITMOS COMPUTACIONAIS – DEFINIÇÃO

A palavra Algoritmos é aplicada e emprega, segundo o dicionário Aurélio, em matemática e computação. Na matemática está associada a um processo de cálculo, ou resolução de um grupo de problemas semelhantes. Na ciência da computação está associado ao um conjunto de regras e operações bem definidas e ordenadas, destinadas à solução de um problema, ou de uma classe de problemas, em um número finito de passos.

Um algoritmo é formalmente uma seqüência finita de passos que levam a execução de uma tarefa e/ou resolução de um problema.

Na medida em que precisamos especificar um sequência de passos, é necessário utilizar ordem, ou seja, “pensar com ordem”, portanto precisamos utilizar lógica.

Um algoritmo é um processo sistemático para a resolução de um problema, ou de uma sequência ordenada de passos a ser observada para a realização de uma tarefa. (Manzano e Oliveira, 2009)

Algoritmo é a definição de regras formais, sequenciais e bem definidas a partir do entendimento lógico de um problema a ser resolvido por um programador com o objetivo de transformá-lo em um programa que seja possível de ser tratado e executado por um computador.

DESCRIÇÃO DE ALGORITMO

Um algoritmo pode ser descrito ou representado basicamente de três formas:

1 – Descrição narrativa;

2 – Diagramas de blocos;

3 – Em linguagem de projeto de programação, conhecida como Português estruturado

ou Portugol ou pseudocódigo.

1 – DESCRIÇÃO NARRATIVA

Nada mais é do que descrever, utilizando uma linguagem natural (língua portuguesa) os algoritmos, as ações a serem realizadas no tratamento dos dados de entrada para os resultados de saída na resolução do problema proposto.

Exemplo não computacional Exemplo computacional
Receita de Bolo Soma de 2 números
– Providencie manteiga, ovos, 2 Kg de massa, etc.

– Misture os ingredientes

– Despeje a mistura na fôrma de bolo

– Leve a fôrma ao forno

– Espere 20 minutos

– Retire a fôrma do forno

– Deixe esfriar

– Prove

– Leia numero1, numero2

– Some o numero1 com o numero2

– Escreva a soma

2 – DIAGRAMA DE BLOCOS

Representação gráfica utilizada no projeto de programação, baseada na norma internacional ISSO 5807:1985. Possibilita demonstrar de forma concreta a linha de raciocínio lógico que o profissional de desenvolvimento usou para escrever um programa de computador.

O Diagrama de blocos estabelece visualmente a seqüência de operações a ser efetuada por um programa de computador.

Um diagrama de blocos é basicamente a especificação de um algoritmo, enquanto que um fluxograma serve para descrever qualquer coisa, não necessariamente um fluxo de um algoritmo, seria uma definição mais genérica.

Na elaboração dos diagramas não se leva em consideração particularidades e detalhamentos sintáticos e estruturais utilizados por uma linguagem de computador, e sim apenas ações a serem realizadas. É um instrumento tão valioso quanto é uma planta para um arquiteto ou engenheiro.

Após a elaboração do diagrama de blocos é realizada a codificação do programa.

Simbologia

Existem diversos símbolos em um diagrama de bloco. Abaixo são apresentados alguns:

Entradas

Saídas

Dentro do símbolo sempre terá algo escrito, pois somente os símbolos não nos dizem nada. Veja no exemplo a seguir:

Diagrama de Blocos e Fluxograma

Dentro do contexto de lógica de programação de computadores, existem dois profissionais de destaque: o analista de informação (analista de sistemas) e o programador de computador.

O papel do analista de sistema é semelhante o papel de um arquiteto. O analista de sistema é responsável por uma visão macro que o sistema deve executar e passa para a equipe de programação que deve delineá-la. Assim como o arquiteto, o analista de sistemas precisa desenhar a planta do sistema (planta estrutural), a qual é chamada genericamente de fluxograma. Os fluxogramas são diagramas que fornecem a representação esquemática de um processo computacional de sua organização funcional. Em hipótese nenhuma um fluxograma, como ferramenta de projeto, é usado para demonstrar a funcionalidade lógica de um programa, pois isso é feito apenas com diagramas de blocos.

Se o analista de sistema tem papel semelhante a de um arquiteto, o programador é semelhante a um pedreiro altamente especializado, pois é responsável por construir o programa empilhando as instruções de comando de uma linguagem de programação como se fossem tijolos e, inclusive, fazer o acabamento da construção com a elaboração do projeto visual chamado interface gráfica.

Além de interpretar o fluxograma desenhado pelo analista o programador precisar de atentar aos detalhes lógicos que o programa deve executar para atender o que foi solicitado pelo analista de sistema, consequentemente atendendo a necessidade dos usuários. É nesta fase que o programador deve desenhar em um nível micro a planta operacional conhecida como diagrama de blocos. Ou seja, o diagrama de blocos e construído a partir de um fluxograma. (Manzano & Oliveira, 2010)

3 – PORTUGUÊS ESTRUTURADO, PORTUGOL OU PSEUDOCÓDIGO

Permite descrever de forma simples e sem o rigor técnico de uma linguagem de programação formal as etapas que o programa de computador deve executar, desde que essas etapas definidas e delineadas com as ferramentas gráficas existentes.

O Portugol ou Português Estruturado, que é uma pseudolinguagem (pseudo = Falso, falsa linguagem) de programação, que permite pensarmos no problema e não na máquina que vai executar o algoritmo, é uma linguagem de projeto de programação e não uma linguagem de programação real, servindo como propósito inclusive de documentação. Tem como vantagem da passagem quase imediata do algoritmo para uma linguagem de programação qualquer.

O português estruturado é formado pelas instruções:

LÓGICA DE PROGRAMAÇÃO DE COMPUTADORES

Lógica é a ciência que estuda as leis e os critérios de validade que regem o pensamento e demonstração, ou seja, ciência dos princípios formais do raciocínio (Manzano e Oliveira, 2009)

Lógica de programação significa o uso correto do pensamento, da ‘ordem da razão’ e de processos de raciocínio, objetivando a racionalidade e o desenvolvimento de soluções válidas e coerentes, que resolvam com qualidade os problemas que se deseja programar.

Exemplo do uso correto do pensamento, ou seja, usando lógica:

Problema: Quem é mais velho, Anacleto ou Marivaldo?

Dados:

Anacleto é mais velho que Felisberto

Felisberto é mais velho que Marivaldo

Resultado:

Portanto, Anacleto é mais velho que Marivaldo.

O objetivo principal do estudo da Lógica de Programação é a construção de algoritmos coerentes e válidos. Algoritmos como visto anteriormente, pode ser definido como uma seqüência de passos finitos que visam a atingir um objetivo bem definido, resolução de um problema ou conclusão de uma tarefa. Na medida em que precisamos especificar uma sequência de passos, é necessário utilizar ordem, ou seja, “pensar com ordem”, portanto precisamos utilizar a lógica.

FIM DA PRIMEIRA AULA

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

%d bloggers like this: