Baixe o app para aproveitar ainda mais
Prévia do material em texto
ALGORITMO E PROGRAMAÇÃO Jeferson Faleiro Leon Introdução a algoritmos e lógica de programação Objetivos de aprendizagem Ao final deste texto, você deve apresentar os seguintes aprendizados: Criar, reconhecer, interpretar e aplicar os algoritmos e sua lógica de programação na solução de problemas. Identificar, diferenciar e aplicar a representação e os tipos de dados na construção de algoritmos e na solução de problemas. Operar de forma correta os tipos de dados e suas relações. Introdução Neste capítulo, você estudará o conceito de lógica, verá o que é um algoritmo e como ele está relacionado com a lógica. Além disso, aprenderá a identificar e definir o que são tipos de dados, operadores aritméticos, operadores relacionais, operadores lógicos, expressões aritméticas e expressões relacionais. Conceitos de lógica de programação A lógica não tem uma defi nição específi ca: inicialmente, era ligada à ma- temática (lógica formal) e, atualmente, está relacionada a todas as áreas do conhecimento humano. Podemos relacionar a lógica com a “correção do pensamento”, pois uma de suas preocupações é determinar quais operações são válidas e quais não são, fazendo análises das formas e leis do pensamento. Como filosofia, ela procura saber por que pensamos assim e não de outro jeito; como arte ou técnica, ela nos ensina a usar corretamente as leis do pensamento (FORBELLONE; EBERSPACHER, 2005). C01_Algoritmos_Progr_Introducao.indd 1 04/05/2018 17:05:03 Algoritmos Para Forbellone e Ebersoacher (2005), algoritmo é um conjunto fi nito de regras, bem defi nidas, que nos levam à solução de um problema em um tempo fi nito. Segundo Berg e Figueiró (2002), algoritmo é a descrição de um conjunto de ações que, obedecidas, resultam numa sucessão fi nita de passos, atingindo o objetivo. Para que se tenha um algoritmo, é preciso: a) que se tenha um número finito de passos; b) que cada passo esteja precisamente definido, sem possíveis ambiguidades; c) que existam zero ou mais entradas; d) que existam uma ou mais saídas; e) que exista uma condição de fim, sempre atingida em tempo finito, para quaisquer entradas. Os algoritmos são criados e reconhecidos por sua lógica de programação. Segundo Forbellone e Eberspacher (2005), a lógica está relacionada à coerência e à racionalidade; lógica de programação é a racionalização dos processos formais da programação de computadores e algoritmo é a sequência de passos que visam atingir um objetivo bem definido. Os algoritmos podem ser visualizados por meio de um fluxograma convencional ou por meio de um fluxograma do tipo Chapin. Forbellone e Eberspacher (2005) fornecem um exemplo básico da diferença entre ambos e destacam que há uma série de vantagens e desvantagens para cada um desses fluxogramas. Por exemplo, o fluxograma convencional é mais fácil de desenhar e é previsto em etapas, enquanto o fluxograma Chapin pode compactar as perguntas de F e V ou S e N em somente um bloco, sendo considerado mais técnico e formal. Na Figura 1, você pode observar essas diferenças. Introdução a algoritmos e lógica de programação2 C01_Algoritmos_Progr_Introducao.indd 2 04/05/2018 17:05:03 Figura 1. Fluxograma convencional e fluxograma Chapin. Fonte: Forbellone e Eberspacher (2005). Tipos de dados (primitivos) Para entender os tipos primitivos, voltemos nossa atenção para um conceito muito importante: a informação. Antes disso, vamos entender o que é um 3Introdução a algoritmos e lógica de programação C01_Algoritmos_Progr_Introducao.indd 3 04/05/2018 17:05:04 dado? Dados são códigos que constituem a matéria-prima da informação, ou seja, é a informação não tratada que ainda não apresenta relevância. A informação é constituída pelos dados tratados – o resultado do processa- mento de dados são as informações. As informações têm significado e podem contribuir no processo de tomada de decisões. Os dados podem ser classificados conforme seu tipo e os principais serão descritos a seguir. Tipos numéricos Inteiros: é um número que não possui casas decimais; por exemplo, a idade de uma pessoa ou uma quantidade de itens num estoque. Real: é um número que possui casas decimais, ou seja, é um número fracionário; por exemplo, a altura de uma pessoa ou o peso de um determinado produto. Tipos alfanuméricos Literal ou String: são os textos, que podem conter letras, números e caracteres especiais. Não são utilizados para cálculos. Tipos lógicos Booleano: é um dado que só pode conter 2 informações (verdadeiro ou falso). Expressões Expressões, no sentido matemático, são representações simbólicas de sequ- ências de operações a serem feitas sobre determinados operandos visando a obtenção de um resultado. Necessitam-se de dois tipos de expressões para a elaboração de algoritmos: expressões aritméticas e expressões lógicas. Introdução a algoritmos e lógica de programação4 C01_Algoritmos_Progr_Introducao.indd 4 04/05/2018 17:05:04 Expressões aritméticas Expressões aritméticas são aquelas cujos operadores são aritméticos e cujos operandos são constantes e/ou variáveis do tipo numérico (inteiro ou real). Operadores aritméticos Soma + Divisão / Quociente da divisão inteira Div Radiciação // Subtração - Multiplicação · Resto da divisão inteira Mod 10 div 3 = 3 10 mod 3 = 1 3 div 5 = 0 25 div 5 = 5 25 mod 5 = 0 3 mod 5 = 3 5Introdução a algoritmos e lógica de programação C01_Algoritmos_Progr_Introducao.indd 5 04/05/2018 17:05:04 Funções matemáticas Função Descrição Exemplo sqr (x) Quadrado de x (x2) sqr (4) = 16 sqrt (x) Raiz quadrada de x ( ) sqrt (25) = 5 sen (x) Seno de x sen (90) = 1 cos (x) Cosseno de x cos (90) = 0 tg (x) Tangente de x tg (45) = 1 int (x) Parte inteira de x int (23,49) = 23 frac (x) Parte fracionária de x frac (23,49) = 49 pot (x,y) X na potência y (xy) pot (3, 2) = 9 abs (x) Valor absoluto de x abs ( -39) = 39 Sinal (x) Fornece o valor –1, +1 ou zero conforme o valor de x seja negativo, positivo pu nulo. Sinal (-44) = -1 Precedência entre os operadores Os operadores de mesma precedência na tabela são resolvidos da esquerda para a direita, na ordem que aparecerem na expressão. Introdução a algoritmos e lógica de programação6 C01_Algoritmos_Progr_Introducao.indd 6 04/05/2018 17:05:05 5 + 9 + 7 + 8 / 4 5 + 9 + 7 + 2 = 23 1 - 4 · 3 / 6 - 2 · 3 1 - 4 · 3 / 6 - 8 1 - 12 / 6 - 8 1 - 2 - 8 = -9 3 · 2 - 4 / 2 + abs (5 - 3 · 5) / 2 3 · 2 - 4 / 2 + abs (5 - 15) / 2 3 · 2 - 4 / 2 + abs (-10) / 2 3 · 2 - 4 / 2 + 10 / 2 9 - 4 / 2 + 10 / 2 9 - 2 + 5 = 12 Expressões lógicas Expressões lógicas são aquelas cujos operadores são lógicos e/ou relacionais e cujos operandos são relações e/ou constantes e/ou variáveis de tipo lógico. O resultado de uma expressão lógica sempre é uma constante lógica (F - falso ou V - verdadeiro). Operadores relacionais = Igual < > Diferente > Maior >= Maior ou igual < Menor <= Menor ou igual 7Introdução a algoritmos e lógica de programação C01_Algoritmos_Progr_Introducao.indd 7 04/05/2018 17:05:05 2 · 4 = 24 / 3 = 8 V 2 + (8 – 7) > = 3 · 6 - 15 2 + 1 > = 18 - 15 3 > = 3 V Operadores lógicos Símbolo Função E Conjunção Ou Disjunção (não-exclusiva) Não Negação O operador lógico E é utilizado quando dois ou mais relacionamentos lógicos de uma determinada condição necessitam ser verdadeiros. O operador lógico E faz com que somente seja executada uma determinada operação se todos as condições mencionadas forem simultaneamente verdadeiras, gerando, assim, um resultado lógico verdadeiro. SE (NÚMERO > = 20) E (NÚMERO < = 90) Então, escrever “Número válido no intervalo” Se NÃO, escrever “Número inválido, não está no intervalo” Fim-SE Introdução a algoritmos e lógica de programação8 C01_Algoritmos_Progr_Introducao.indd 8 04/05/2018 17:05:06 O operador lógico OU é utilizado quando pelo menos um dos relaciona- mentos lógicos (quando houver mais de um relacionamento) de uma condição necessitaser verdadeiro. O operador lógico OU faz com que seja executada uma determinada operação se pelo menos uma das condições mencionadas gerar um resultado lógico verdadeiro. SE (SEXO = ‘Masculino’) OU (SEXO = ‘Feminino’) Então, escrever “O seu sexo é válido” Se não, escrever “O seu sexo é inválido” Fim-SE O operador lógico NÃO é utilizado quando se necessita estabelecer que uma determinada condição dever ser não verdadeira ou deve ser não falsa. O operador lógico NÃO se caracteriza por inverter o estado lógico de uma condição, isto é, inverte o resultado lógico da condição. Algoritmo prog1 Var A, B, C, X: Inteiro Início Ler (X, A, B) SE NÃO (X > 5) Então C: = (A + B) · X Se não C: = (A – B) · X Fim-SE Escrever (C) Fim 9Introdução a algoritmos e lógica de programação C01_Algoritmos_Progr_Introducao.indd 9 04/05/2018 17:05:06 Tabelas verdade Tabela verdade é o conjunto de todas as possibilidades combinatórias entre os valores de diversas variáveis lógicas, as quais se encontram em apenas duas situações, e um conjunto de operadores lógicos. Operador E A B A e B V V V V F F F V F F F F Operador OU A B A ou B V V V V F V F V V F F F Operador NÃO A A não B V F F V Introdução a algoritmos e lógica de programação10 C01_Algoritmos_Progr_Introducao.indd 10 04/05/2018 17:05:06 Prioridades Entre operadores lógicos: Entre todos os operadores: BERG, A.; FIGUEIRÓ, J. Lógica de programação. 3. ed. Canoas: Ed. ULBRA, 2002. FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de programação: a construção de algoritmos e estruturas de dados. 3. ed. São Paulo: Pearson, 2005. Leituras recomendadas CHAPRA, S. C. Métodos numéricos aplicados com MATLAB® para engenheiros e cientistas. 3. ed. Porto Alegre: AMGH, 2013. OLIVEIRA, A. B.; BORATTI, I. C. Introdução à programação de algoritmos. Florianópolis: Visual Books, 2004. SOUZA, M. A. F. et al. Algoritmos e lógica de programação. 2. ed. São Paulo: Cengage, 2012. 11Introdução a algoritmos e lógica de programação C01_Algoritmos_Progr_Introducao.indd 11 04/05/2018 17:05:06
Compartilhar