410 likes | 541 Views
Desenvolvimento Web Lógica de Programação. Introdução a Programacão. Humberto Moura humberto@humbertomoura.com.br. Agenda. Lógica de Programação Algoritmos Operadores Aritméticos Operadores Relacionais Expressões Aritméticas Variáveis Operadores Lógicos
E N D
Desenvolvimento Web Lógica de Programação Introdução a Programacão • Humberto Moura • humberto@humbertomoura.com.br
Agenda • Lógica de Programação • Algoritmos • Operadores Aritméticos • Operadores Relacionais • Expressões Aritméticas • Variáveis • Operadores Lógicos • Estrutura de Seleção Se-Então
Lógica de Programação "Técnica de encadear pensamentos para atingir determinado objetivo Necessária para desenvolver programas e sistemas, pois permite definir a sequência lógica para a solução de um problema.”
Sequência Lógica - Estes pensamentos podem ser descritos como uma sequência de instruções, que devem ser seguidas para se cumprir uma determinada tarefa - Passos executados até se atingir um objetivo ou solução de um problema • ? 1. -> 2. -> 3. -> !
Instrução Cada um dos passos, cada uma das ações a tomar (obedecendo a seqüência lógica) para ir resolvendo o problema, ou para ir executando a tarefa Em informática, é a informação que indica a um computador uma operação elementar a executar. Ex.: “somar”, “subtrair”, “comparar se é maior”, etc Uma só instrução não resolve problemas Executar um conjunto de instruções Executar em uma seqüêncialógica
Exemplo - Omelete Instruções: “quebrar ovos”, “bater ovos”, “pôr sal”, “ligar fogão”, “pôr óleo na frigideira”, “pôr frigideira no fogo”, “fritar ovos batidos”, etc… Quanto às instruções isoladas: Só “quebrar ovos”, ou só “pôr óleo na frigideira”, não é suficiente para cumprir a tarefa “fazer omelete” Quanto à seqüência lógica: Se executarmos “fritar ovos batidos” antes de “bater ovos”, ou pior, antes de “quebrar ovos”, não iremos cumprir a tarefa “fazer omelete”
Algoritmo "Sequência de passos finita e ordenada necessária para se chegar a um objetivo." • “somar dois números”: • Passo 1: Escrever primeiro número no retângulo A • Passo 2: Escrever segundo número no retângulo B • Passo 3: Somar o número do retângulo A com o número do retângulo B e escrever o resultado no retângulo C • A • B • C • + • =
Algoritmo - Exemplo • Quando uma dona de casa prepara um bolo, segue uma receita, que nada mais é do que um algoritmo em que cada instrução é um passo a ser seguido para que o prato fique pronto com sucesso: • 1. Bata 4 claras em neve • 2. Adicione 2 xícaras de açúcar • 3. 3. Adicione 2 colheres de farinha de trigo, 4 gemas, uma colher de fermento e duas colheres de chocolate • 4. 4. Bata por 3 minutos • 5. 5. Unte uma assadeira com margarina e farinha de trigo • 6. 6. Coloque o bolo para assar por 20minutos
Algoritmo - Exemplo • Um motorista que necessita efetuar a troca de um pneu furado segue uma rotina para realizar essa tarefa: • 1. Verifica qual pneu está furado • 2. Posiciona o macaco para levantar o carro • 3. Pega o estepe • 4. Solta os parafusos • 5. Substitui o pneu furado • 6. Recoloca os parafusos • 7. Desce o carro • 8. Guarda o macaco e o pneu furado
Programa • Algoritmo escrito em uma linguagem de computador (linguagem de programação - C, Pascal, COBOL, Fortran, Basic, Java, etc.) • - Interpretado e executado por um computador • - Interpretação rigorosa, exata, do computador. • - A escrita do algoritmo na linguagem de programação tem que seguir regras mais rigorosas.
Tipos de Algoritmos • PSEUDOCÓDIGO: • Facilita descrever o algoritmo antes de passá-lo para uma linguagem de programação • Intermediária: linguagem natural – linguagem de programação • Pseudocódigo = “códigofalso” • FLUXOGRAMA: • É uma forma universal de representação, pois se utiliza de figuras geométricas para ilustrar passos a serem seguidos para a resolução de problemas
Código Fonte • É o algoritmo escrito através da sintaxe de uma linguagem de programação. • É armazenado em um arquivo de texto puro (TXT). • Linguagens de • Programação:
Compilador • Software utilizado para transformar o código fonte escrito em uma linguagem de programação em código executável pelo computador. • -Compilar: • Verbo que significa a ação de utilizar o compilador. • -Depurar • Corrigir o código fonte de forma a não deixá-lo com erros.
Pseudocódigo • Descrição do algoritmo, menos rigorosa que na linguagem de programação (código fonte) • Fácil de entender e fácil de codificar depois • Independente da linguagem de programação • Simples e objetivo Técnicas:
Resolução • FASES para desenvolver o algoritmo: • Determinar o problema, definí-lo bem • Dividir a solução nas três fases: • Exemplo: • Problema: calcular a média de quatro números • Dados de entrada: os números, N1, N2, N3 e N4 • Processamento: somar os quatro números e dividir a soma por 4 • Dados de saída: a média final
Algoritmo - Pseudocódigo • - Receber o primeiro número • - Receber o segundo número • - Receber o terceiro número • - Receber o quarto número • - Somar todos os números • - Dividir a soma por 4 • - Mostrar o resultado da divisão
Exercício • Escreva os passos necessários para uma pessoa efetuar um saque em um caixa eletrônico. • 2) Identifique os dados de entrada, processamento e saída no algoritmo abaixo • · Receba código da peça • · Receba valor da peça • · Receba Quantidade de peças • · Calcule o valor total da peça (Quantidade * Valor da peça) • · Mostre o código da peça e seu valor total • 3) Faça um algoritmo para “Calcular o estoque médio de uma peça”, sendo que • ESTOQUEMÉDIO = (QUANTIDADE MÍNIMA + QUANTIDADE MÁXIMA) /2
Teste de Mesa • Todo algoritmo deve ser testado • Usar dados e resultados previamente calculados, seguir precisamente as instruções do algoritmo e verificar se o procedimento está correto ou não • Exemplo: Fazer teste de mesa para o algoritmo da média
Operadores Aritméticos • São utilizados para calcular expressões aritméticas. Obedecem a mesmas regras da matemática.
Exercícios • Calcule as seguintes operações aritméticas: • 2 + 3 * 4 - 2 • 7 * 5 + (3 % 2) + 4 * 8 • 1.4 + 3.6 / 2.3 - 3.3 + 2.8 • ((2 + 4) + (6 - 3) + (7 * (4 + 23)))
Operadores Relacionais • São utilizados para calcular expressões relacionais. O resultado é sempre verdadeiro ou falso.
Exercícios • Calcule as seguintes operações relacionais: • 2> 3 • 7 < 5 • 1.4 == 3.6 • 2 !=9 • 23 <= 56 • 45 >= 44
Exercícios • Qual o tipo de dados mais adequado para representar as seguintes informações: • A idade de uma pessoa • Sua altura • Seu peso • Sexo • Tipo sanguínio • Nome da pessoa • Se é PCNE.
Variáveis • Local da memória para armazenar os dados de forma dinâmica: • As variáveis devem: • Possuir um tipo de dado • Ter um nome • Ter um conteúdo • Ser declaradas antes de utilizar
Exemplo Variável Inteira • int main(int argc, char** argv) • { • int numero; • numero = 5; • printf(“%i”,numero); • numero = numero + 5; • printf(“%i”, numero); • }
Exemplo Variável Real • int main(int argc, char** argv) • { • float numero; • numero = 2.75; • printf(“%f”,numero); • numero = numero + 8.76; • printf(“%0.2f”, numero); • }
Exemplo Variável Caractere • int main(int argc, char** argv) • { • char letra; • letra = ‘b’; • printf(“%c”,letra); • letra = ‘c’; • printf(“%c”, letra); • }
Exemplo Variável Literal • int main(int argc, char** argv) • { • char* nome; • nome = “Maria”; • printf(“%s”,nome); • printf(“%c”, nome[0]); • printf(“%c”, nome[1]); • printf(“%c”, nome[2]); • }
Exemplo Variável Lógica • int main(int argc, char** argv) • { • boolchovendo; • chovendo = TRUE; • printf(“%i”,chovendo); • chovendo = FALSE; • printf(“%i”,chovendo); • }
Entrada de Dados • Utilizamos a função scanf para entrada de dados. • // inteiro • intidade; • scanf(“%i”, &idade); // Lê um inteiro (%i) do teclado
Entrada de Dados • // real ou ponto flutuante • float altura; • scanf(“%f”, &altura); // Lê um float (%f) do teclado
Entrada de Dados • // caractere • char letra; • scanf(“%c”, &letra); // Lê um char (%c) do teclado
Entrada de Dados • // literal ou sequência de caracteres • char* nome; • scanf(“%s”, nome); // Lê uma string (%s) do teclado
Operadores Lógicos • São utilizados para calcular expressões relacionais e lógicas em conjunto. O resultado é sempre verdadeiro ou falso.
Estrutura de Seleção • Se (Condição for Verdadeira) Então • { • comando(); • comando(); • }
Estrutura de Seleção • intidade = 30; • if(idade >= 18) • { • printf(“Maior de idade”); • }
Estrutura de Seleção / Senão • Se (Condição for Verdadeira) Então • { • comando(); • comando(); • } • senão • { • outroComando(); • outroComando(); • }
Estrutura de Seleção If / Else • if(idade >= 18) • { • printf(“Maior de idade!”); • } • else • { • printf(“Menor de idade!”); • }
Exercícios – Se • Faça um programa para calcular a média de 4 números e exibir se o aluno foi reprovado (média menor que 7) ou aprovado. • Faça um programa para ler 5 números e exibir o maior e o menor deles. • Faça um programa para ler 3 ângulos e saber se um triângulo é isosceles, escaleno ou equilátero.