Introdução a Lógica de Programação O processo de programação é uma conversa controlada entre um ser humano (tecnicamente preparado) e um computador Linguagem Linguagem de baixo nível Grande dificuldade, pouco convencional Linguagem de alto nível Maior facilidade de comunicação com o computador
Linguagens Linguagens de programação Baixo nível: linguagem de máquina e assembly Alto nível: FORTRAN, COBOL, BASIC, PASCAL, C, JAVA, C++, PHYTON, RUBY
Linguagens Site: The Language List Qual é a melhor linguagem de programação? É aquela em que o desenvolvedor sabe programar e se sente mais confortável
Algoritmo Algoritmo: Conjunto de regras e operações bem definidas e ordenadas destinadas a solução de um problema.
Primeira programadora e Algorítmo Linguagens do final da década 1950 Linguagens da década de 1960 Características e linguagens da década de 1970 Linguagens da década de 1980 Linguagens da década de 1990 e 2000
Algoritmo x Cozinha A receita culinária, tem dois blocos de ação: Ingredientes Modo de preparo Qualquer pessoa de posse de uma receita consegue seguir os passos e preparar a refeição sem grandes dificuldades
Algoritmo x Cozinha Mestre-cuca ou Chef Cozinheiro Ajudantes de cozinha
Raciocínio lógico Conhecimento, versatilidade, experiência, criatividade, responsabilidade, ponderação, calma, auto-disciplina A ARTE DE PENSAR
Programação ou desenvolvimento Para aprender a programar um computador é necessário executar REPETIDAMENTE diversos exercícios e praticá-los constantemente. Isso leva a uma exaustão física e mental. DETERMINAÇÃO PERSISTENCIA AUTODISCIPLINA
Uso de Lógica na programação de computadores PROGRAMAÇÃO ESTRUTURADA Projeto lógico Ferramentas gráficas Diagrama de blocos (não fluxograma Ferramentas textuais (pseudocódigo) PDL (Program Design Language) Português estruturado
Programação estruturada Objetivos: Agilizar a codificação da escrita de programação Facilitar a depuração da leitura Permitir a verificação de falhas no código Permitir a reutilização do código Facilitar as alterações e atualizações do programa
NORMA ISO 5807:1985 (E) Permite demonstrar de forma clara, a linha de raciocínio lógico utilizada por um desenvolvedor Permite que seja fácil a que não conhece programação entender o que se pretende de um determinado programa.
Diagrama de blocos
2.4-Exemplo de Algoritmo Imagine o seguinte problema: Calcular a média final dos alunos da 3ª Série. Os alunos realizarão quatro provas: P1, P2, P3 e P4. Onde: Média Final = P1 + P2 + P3 + P4 / 4
Para montar o algoritmo proposto, faremos três perguntas: a) Quais são os dados de entrada? R: Os dados de entrada são P1, P2, P3 e P4 b) Qual será o procedimento a ser utilizado? (processamento) R: O procedimento será somar todos os dados de entrada e dividi-los por 4 (quatro) P1 + P2 + P3 + P4 / 4 c) Quais serão os dados de saída? R: O dado de saída será a média final
Algoritmo: Receba a nota da prova1 Receba a nota de prova2 Receba a nota de prova3 Receba a nota da prova4 Some todas as notas e divida o resultado por 4 Mostre o resultado da divisão
Exercícios
LPP (Linguagem de projeto de programação) LINGUAGEM DE COMUNICAÇÃO HUMANO- MÁQUINA INÍCIO ATÉ_QUE LEIA ESCREVA REPITA
LPP Regras para escrita do LPP Letras MAIÚSCULAS e de FORMA ZERO = ø
LPP O projeto de um programa de computador concluído é transformado num software. TRADUÇÃO DO PROJETO PROGRAMAÇÃO FORMAL LINGUAGEM DE
Tipos de dados INTEIRO: Números positivos e negativos, excluídos desta categoria qualquer valor numérico fracionário Ex: 35, 0, 234, -56, -9 Representação: INTEIRO Utilizado em operações de processamento matemático
Tipos de dados REAL: Dados numéricos positivos e negativos que pertencem ao conjunto de números reais fracionários e inteiros. Ex: 35, 0, 234, -56, -9, -45.999, 3.1416 Representação: REAL Utilizado em operações de processamento matemático
Tipos de dados CARACTERE/CADEIA: Caracteres delimitados pelos símbolos aspas ( ). São representados por letras (A até Z), números (0 até 9), símbolos (todos os do teclado). Conhecidos como: alfanumérico, string, literal. Ex: PROGRAMAÇÃO, RUA ALFA, 52, (11)55546789, ESPAÇO EM BRANCO, 7 Representação: CARACTERE OU CADEIA Caractere: utilizado para se referir a um único caractere delimitado por aspas. Cadeia: utilizado para se referir a um conjunto de caracteres delimitados por aspas.
Tipos de dados LÓGICO (ou booleano): São dados com valores binários em que apenas um valor pode ser escolhido Ex: sim/não, 0 e 1, verdadeiro/falso Representação: LÓGICO Para se utilizar um dado lógico é necessário estabelecer a forma de representação VERDADEIRO.VERDADEIRO. ou.v. FALSO.FALSO. ou.f. SIM.SIM. ou.s.
Uso de variáveis O nome da variável: Pode assumir qualquer nome O primeiro caractere de identificação não pode ser numérico ou símbolo gráfico Não podem haver espaços em branco Não pode ser usado nenhum nome atribuído a outro comando ou instrução de uma linguagem de programação * vale para LPP e Linguagem de programação
Declaração de variáveis Exemplo de sintaxe var <nome da variável> : <tipo de dado> ex: VAR P5: INTEIRO JUQUINHA: CADEIA
CONSTANTES Constante é um valor que não se altera ex: SAÍDA = ENTRADA + 1.23 (constante)
Declaração de Constantes Ex: CONST PI = 3.14159265 SAIDA=ENTRADA + PI
5-Operadores Os operadores são meios pelo qual incrementamos, decrementamos, comparamos e avaliamos dados dentro do computador. Temos três tipos de operadores: Operadores Aritméticos Operadores Relacionais Operadores Lógicos
Operadores Aritméticos OPERADOR OPERAÇÃO DESCRIÇÃO + +n ou n Manutenção de sinal - -n Inversão de sinal x n Atribuição de valor n a x x n Exponenciação de x n (1/n) x (1/n) Radiciação / x/n Divisão de x por n * x*n Multiplicação de x por n + x+n Adição - x-n subtração div x div n Divisão com quocientes inteiros
Hierarquia das Operações Aritméticas: 1º ( ) Parênteses 2º Exponenciação 3º Multiplicação, divisão (o que aparecer primeiro) 4º + ou (o que aparecer primeiro) TOTAL = PREÇO * QUANTIDADE 1+7 * 2 2 1 = 28 3 * (1-2) + 4 * 2 = 5
Expressões aritméticas Uma operação muito comum em programação de computadores é usar expressões aritméticas para estabelecimento de processamentos matemáticos. Ex: Calcular a área de uma circunferência ÁREA = π RAIO 2 variáveis: ÁREA e RAIO constantes: π ÁREA 3.14159265 * RAIO
Expressões matemáticas Ex: x = {200. [57 : (40+ 2) -51 ] } x (200* (57 / (40 + 2) -51) )
Expressões matemáticas Calcular a área de um triângulo: Fórmula: A = b. h 2 A (b * h) /2
Regras para escrever programas Os comandos do LPP não podem ser escritos dentro dos símbolos do diagrama de blocos A codificação de programas escritos a mão devem ser feitas em letras maiúsculas e de forma Todo valor atribuído diretamente a uma variável será escrito por meio do símbolo de atribuição ( ) Todo valor atribuído diretamente a uma constante será escrito por meio do símbolo de atribuição ( = )
Entrada: LEIA Processamento: Saída: ESCREVA
Exercícios de aprendizagem 1- Desenvolver um programa de computador que efetue a leitura de dois valores numéricos inteiros. Processe a operação de adição dos dois valores e apresente na sequência a soma obtida com a operação. O programador estará sempre diante de um problema, o qual deve ser resolvido primeiramente por ele para depois ser implementado em um computador e então utilizado por um usuário
Fases para resolução do problema ENTENDIMENTO: 1-Ler dois valores desconhecidos, representados pelas variáveis A e B 2-Efetuar a adição das variáveis A e B, cujo resultado será atribuído a variável X 3-Apresentar o valor da variável X, que é o resultado da soma realizada.
Fases para resolução do problema DIAGRAMAÇÃO: INÍCIO A, B X A + B X FIM
Fases para resolução do problema CODIFICAÇÃO: 1-DETERMINAR O NOME PARA O PROGRAMA Ex: PROGRAMA SOMA_NÚMEROS 2-DETERMINAR O TIPO DE DADOS DAS VARIÁVEIS A : INTEIRO B : INTEIRO X : INTEIRO
Fases para resolução do problema PROGRAMA SOMA_NÚMEROS VAR A : INTEIRO B : INTEIRO X : INTEIRO
Fases para resolução do problema Fase de montagem do que está estabelecido no diagrama de blocos: A parte indicada entre os símbolos terminal se chama bloco. As ações do bloco devem ser traduzidas para o LPP. Como foi dito antes temos entrada (leia), processamento ( ) e saída (escreva). O código ficaria assim: INÍCIO LEIA A LEIA B X A + B ESCREVA X FIM
PROGRAMA SOMA_NÚMEROS VAR A : INTEIRO B : INTEIRO X : INTEIRO INÍCIO LEIA A LEIA B X A + B ESCREVA X FIM
2-Elaborar um programa de computador que calcule a área de uma circunferência e apresente a medida da área calculada 3-Desenvolver um programa que calcule o salário líquido de um professor. Para elaborar o programa, é necessário possuir alguns dados, tais como, valor da hora aula, número de horas trabalhadas no mês e percentual de desconto do INSS. Em primeiro lugar, deve-se estabelecer o seu salário bruto para fazer o desconto e ter o salario líquido
Operadores Relacionais DESCRIÇÃO SÍMBOLO Igual a = Diferente de: < > Maior que > Menor que < Maior ou igual a >= Menor ou igual a <=
Condições e Decisões Condição: uma obrigação que se impõe e se aceita Decisão: optar, escolher um caminho O ato de se tomar uma decisão se baseia no fato de haver uma condição
Condições e Decisões Do ponto de vista computacional, uma condição é uma expressão booleana cujo resultado é um valor lógico falso ou verdadeiro.
Condições e Decisões Exemplo: Tendo duas variáveis A = 5 e B = 3 Os resultados das expressões seriam: EXPRESSÃO A = B A <> B A > B A < B A >= B A <= B RESULTADO FALSO VERDADEIRO VERDADEIRO FALSO VERDADEIRO FALSO
Desvio condicional simples COD=COD2 SIM NOME= COD=COD2 JOÃO SIM NÃO COD=COD2 > 1000 SIM NÃO NÃO
Desvio condicional simples No português estruturado: SE ( condição ) ENTÃO [instruções executadas após condição verdadeira] FIM_SE [instruções executadas após condição ser falsa ou após executar instruções da concondição verdadeira]
Exercícios de aprendizagem Elaborar um programa de computador que leia dois valores numéricos reais desconhecidos. Em seguida o programa deve efetuar a adição dos dois valores lidos e apresentar o resultado caso seja maior que 10 ENTENDIMENTO Definir a entrada de 2 valores (variáveis A e B) Efetuar a adição dos valores A e B e atribuir o resultado da adição à variável X Apresentar o resultado da soma armazenada na variável X, caso a variável tenha seu valor maior que 10
Exercícios de aprendizagem DIAGRAMAÇÃO INÍCIO A, B X A + B N X > 10 S X FIM
Exercícios de aprendizagem PROGRAMA ADIÇÃO_DE_NÚMEROS_1 VAR A, B, X : REAL INÍCIO LEIA A, B X A + B SE (X > 10) ENTÃO ESCREVA X FIM_SE FIM
Desvio Condicional Composto No português estruturado: SE ( condição ) ENTÃO [instruções executadas após condição verdadeira] SENÃO [instruções executadas após condição falsa] FIM_SE [instruções executadas após condição ser verdadeira ou falsa]
Exercício de aprendizagem Elaborar um programa de computador que leia dois valores numéricos reais desconhecidos. Em seguida o programa deve efetuar a adição dos dois valores lidos e caso o resultado seja maior ou igual a 10, deve ser somado a 5. Caso contrário o valor do resultado deve ser subtraído de 7. Após a obtenção de um dos novos resultados o novo resultado deve ser apresentado.
ENTENDIMENTO Definir a entrada de 2 valores (variáveis A e B) Efetuar a adição dos valores A e B e atribuir o resultado da adição à variável X Verificar se o resultado é maior ou igual a 10. Se for maior ou igual a 10 somar 5 ao resultado Se for menor que 10 subtrair 7 do resultado Atribuir o resultado à variável R e mostrar
DIAGRAMAÇÃO INÍCIO A, B X A + B N X >= 10 S R X -7 R X + 5 R FIM
PROGRAMA ADIÇÃO_DE_NÚMEROS_2 VAR A, B, X, R : REAL INÍCIO LEIA A, B X A + B SE (X >= 10) ENTÃO R X + 5 SENÃO R X - 7 FIM_SE ESCREVA R FIM