41
Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura [email protected]

Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura [email protected]

Embed Size (px)

Citation preview

Page 1: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Desenvolvimento WebLógica de Programação

Introdução a Programacão

Humberto [email protected]

Page 2: 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

Page 3: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

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.”

Page 4: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

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. -> !

Page 5: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

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 tarefaEm informática, é a informação que indica a um computador uma operação elementar a executar.

Ex.: “somar”, “subtrair”, “comparar se é maior”, etcUma só instrução não resolve problemas

Executar um conjunto de instruçõesExecutar em uma seqüência lógica

Page 6: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

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”

Page 7: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

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 APasso 2: Escrever segundo número no retângulo BPasso 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

Page 8: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

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

Page 9: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

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á furado2. Posiciona o macaco para levantar o carro3. Pega o estepe4. Solta os parafusos5. Substitui o pneu furado6. Recoloca os parafusos7. Desce o carro8. Guarda o macaco e o pneu furado

Page 10: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

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.

Page 11: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Tipos de Algoritmos

PSEUDOCÓDIGO: Facilita descrever o algoritmo antes de passá-lo para uma linguagem de

programaçãoIntermediária: linguagem natural – linguagem de programaçãoPseudocó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

Page 12: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

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:

Linguagem Extensão Linguagem Extensão

Java .java Objective-C .h .m

C .c Pyton .py

Pascal .pas Clipper .clp

C# .cs Cobol .cob

PHP .php VB .Net .vb

Page 13: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

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.

Page 14: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

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 depoisIndependente da linguagem de programaçãoSimples e objetivo Técnicas:

Page 15: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Resolução

FASES para desenvolver o algoritmo:Determinar o problema, definí-lo bemDividir a solução nas três fases:

Exemplo:Problema: calcular a média de quatro númerosDados de entrada: os números, N1, N2, N3 e N4Processamento: somar os quatro números e dividir a soma por 4

Dados de saída: a média final

Page 16: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

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

Page 17: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Exercício1) 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

Page 18: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Teste de Mesa

Todo algoritmo deve ser testadoUsar 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

Page 19: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Operadores AritméticosSão utilizados para calcular expressões aritméticas. Obedecem a mesmas regras da matemática.

Operação Símbolo Exemplo Resposta

Adição + 5 + 3 8

Subtração - 7 - 3 4

Multiplicação

* 7 * -2 -14

Divisão / 5 / 2 2.5

Resto % 7 % 2 1

Page 20: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

ExercíciosCalcule as seguintes operações aritméticas:

1) 2 + 3 * 4 - 22) 7 * 5 + (3 % 2) + 4 * 83) 1.4 + 3.6 / 2.3 - 3.3 + 2.84) ((2 + 4) + (6 - 3) + (7 * (4 + 23)))

Page 21: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Operadores RelacionaisSão utilizados para calcular expressões relacionais. O resultado é sempre verdadeiro ou falso.

Operação Símbolo Exemplo Resposta

Maior que > 5 > 3 verdadeiro

Menor que < 7 < 3 falso

Maior ou Igual >= 7 >= -2 verdadeiro

Diferente != 12 != 4 verdadeiro

Menor ou Igual <= 5 <= 2 false

Igual == 7 == 2 falso

Page 22: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

ExercíciosCalcule as seguintes operações relacionais:

1) 2 > 32) 7 < 53) 1.4 == 3.64) 2 !=95) 23 <= 566) 45 >= 44

Page 23: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Tipos de Dados

Tipo C/C++ símbulo Exemplo

Inteiro int %i12, 78, -67, 0,

654

Real ou ponto flutuante

float %f 3.45, 56.89, 8.9

Caractere char %c ‘a’, ‘u’, ‘@’, ‘9’

Lógico bool - TRUE, FALSE

Literal char* %s“teste”, “uma

frase”

Page 24: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

ExercíciosQual o tipo de dados mais adequado para representar as seguintes informações:

1) A idade de uma pessoa2) Sua altura3) Seu peso4) Sexo5) Tipo sanguínio 6) Nome da pessoa7) Se é PCNE.

Page 25: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Variáveis

Local da memória para armazenar os dados de forma dinâmica:

As variáveis devem:1) Possuir um tipo de dado2) Ter um nome3) Ter um conteúdo4) Ser declaradas antes de utilizar

Page 26: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Exemplo Variável Inteiraint main(int argc, char** argv){

int numero;numero = 5;printf(“%i”,numero);numero = numero + 5;printf(“%i”, numero);

}

Page 27: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Exemplo Variável Realint main(int argc, char** argv){

float numero;numero = 2.75;printf(“%f”,numero);numero = numero + 8.76;printf(“%0.2f”, numero);

}

Page 28: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Exemplo Variável Caractere

int main(int argc, char** argv){

char letra;letra = ‘b’;printf(“%c”,letra);letra = ‘c’;printf(“%c”, letra);

}

Page 29: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Exemplo Variável Literalint main(int argc, char** argv){

char* nome;nome = “Maria”;printf(“%s”,nome);printf(“%c”, nome[0]);printf(“%c”, nome[1]);printf(“%c”, nome[2]);

}

Page 30: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Exemplo Variável Lógicaint main(int argc, char** argv){

bool chovendo;

chovendo = TRUE;printf(“%i”,chovendo);chovendo = FALSE;printf(“%i”,chovendo);

}

Page 31: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Entrada de DadosUtilizamos a função scanf para entrada de dados.

// inteiro

int idade;scanf(“%i”, &idade); // Lê um inteiro (%i) do teclado

Page 32: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Entrada de Dados

// real ou ponto flutuante

float altura;scanf(“%f”, &altura); // Lê um float (%f) do teclado

Page 33: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Entrada de Dados

// caractere

char letra;scanf(“%c”, &letra); // Lê um char (%c) do teclado

Page 34: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Entrada de Dados

// literal ou sequência de caracteres

char* nome;scanf(“%s”, nome); // Lê uma string (%s) do teclado

Page 35: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Operadores LógicosSão utilizados para calcular expressões relacionais e lógicas em conjunto. O resultado é sempre verdadeiro ou falso.

Operação Símbolo Exemplo Resposta

E && (5 > 3) && (2 < 8) verdadeiro

OU || (7 < 3) || (6 < 9) verdadeiro

XOU ^ (7 >= -2) ^ (7 == 7) falso

Não ! ! (5 < 9) falso

Page 36: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Tabela Verdade

A B && || ^ !A !B

V V V V F F F

V F V V V F V

F V V V V V F

F F V F F V V

Page 37: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Estrutura de Seleção

Se (Condição for Verdadeira) Então{

comando();comando();

}

Page 38: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Estrutura de Seleção

int idade = 30;

if(idade >= 18){

printf(“Maior de idade”);

}

Page 39: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Estrutura de Seleção / SenãoSe (Condição for Verdadeira) Então{

comando();comando();

}senão{

outroComando();outroComando();

}

Page 40: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Estrutura de Seleção If / Elseif(idade >= 18){

printf(“Maior de idade!”);}else{

printf(“Menor de idade!”);}

Page 41: Desenvolvimento Web Lógica de Programação Introdução a Programacão Humberto Moura humberto@humbertomoura.com.br

Exercícios – Se

1) 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.

2) Faça um programa para ler 5 números e exibir o maior e o menor deles.

3) Faça um programa para ler 3 ângulos e saber se um triângulo é isosceles, escaleno ou equilátero.