Objetivo: Desenvolver algoritmos a partir de problemas Definição de Lógica Definição de Algoritmo Algoritmo x Lógica Diagrama de Blocos e Portugol Portugol: Estrutura da Linguagem Exemplos de Diagramas x Portugol Conclusões
Definição de Lógica O que é Lógica? A lógica não possui uma definição específica. Inicialmente era ligada à matemática (lógica formal) e atualmente está relacionada a todas as áreas do conhecimento humano. Com o desenvolvimento da Ciência da Computação, necessidade da linguagem de programação, a aplicação do raciocínio lógico passou a ser muito importante nesta área.
Definição de Lógica A lógica formal nem sempre está relacionada ao bom senso. Veja os argumentos abaixo. Penso, logo existo. Amarelo é uma cor, Japonês tem uma cor, Portanto japonês é amarelo
Definição de Algoritmo O que é Algoritmo? Também há muitas definições, mas o algoritmo consiste no processo de resolução de um problema com número finito de passos precisos e bem definidos.
Definição de Algoritmo Problema!!! Claras e Precisas Objetivo Ações Processo com n de Passos Finito Conclusão
Algoritmo x Lógica A reunião destes conceitos possibilita o uso fiel do raciocínio lógico na programação. O algoritmo corretamente desenvolvido permite sua aplicação em qualquer linguagem de programação. Os algoritmos podem ser gráficos ou textuais. Algoritmos gráficos são auto explicativos e de fácil compreensão.
Algoritmo x Lógica Algoritmos textuais são desenvolvidos em linguagem formal estruturada e no idioma do desenvolvedor para que seja de fácil compreensão.
Diagrama de Blocos e Portugol A tabela apresentada abaixo refere-se ao diagrama de blocos de acordo com a norma internacional ISO 5807:1985 (E). Além disso, será apresentado o comando em portugol (denominação dada por Guimarães & Lages), linguagem de programação regional escrita em português para ensino de programação estruturada.
Diagrama de Blocos e Portugol Símbolo Comando em Portugol Inicio/ fim Descrição Terminal: indica inicio ou fim de um programa leia a,b Escreva b, texto leia a,b aab+c Entrada/Saída: qualquer função de um dispositivo de entrada ou saída Entrada manual: Normalmente é entrada via teclado Processamento: qualquer função que indica uma ação. Ex: atribição, incremento, cálculos matemáticos.
Diagrama de Blocos e Portugol Símbolo Comando em Portugol Escreva a, texto Se x=10 então... senão... fim_se Descrição Saída de monitor: indica que a saída de dados é via monitor Condicional: verifica se uma operação é satisfeita. Único símbolo (operação) que permite duas saídas. para i de 1 até 5 faça... Fim_para Preparação: indica a preparação para um laço de repetição incondicional
Diagrama de Blocos e Portugol Símbolo Comando em Portugol Descrição Conexão: uma entrada ou uma saída de ou para uma outra parte do dagrama. Sentido do fluxo: é a interligação entre os blocos indicando o sentido de processamento.
Portugol: Estrutura da Linguagem É uma linguagem de programação estruturada, com comandos em português. Caracteriza-se por ser uma linguagem formal, sem ambiguidades, para que se possa definir exatamente a tarefa a ser desenvolvida. Veremos como é a estrutura básica da linguagem:
Portugol: Estrutura da Linguagem programa... const... var... Inicio...... fim Escreve-se o nome do programa Identifica-se a constante e seu valor Identifica-se a variável e seu tipo Bloco de programação onde são colocados os comandos a serem executados
Portugol: Estrutura da Linguagem Desenvolva um programa em que o usuário o raio e mesmo calcule a área do círculo correspondente programa Area_do_Circulo const pi = 3.14159265 var A: real R: real Inicio leia R Aapi*R^2 Escreva A fim A = p x R 2
Exemplos de Diagramas x Portugol Adição de dois valores inteiros.
Exemplos de Diagramas x Portugol Uso do condicional.
Exemplos de Diagramas x Portugol Uso do condicional. se...então...senão.
Exemplos de Diagramas x Portugol Uso do condicional. Uso do operador lógico
Exemplos de Diagramas x Portugol Uso do condicional. Uso do operador lógico
Exemplos de Diagramas x Portugol Loop condicional
Exemplos de Diagramas x Portugol Loop incondicional
Conclusões Todos os exemplos acima foram extraídos do livro do Manzano e serão cobrados posteriormente como exercícios utilizando a linguagem C de acordo com o momento necessário. O desenvolvimento em portugol está representado apenas para fim didático para que o aluno verifique como se escreve um programa em linguagem estruturada.