A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional.

Apresentações semelhantes


Apresentação em tema: "Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional."— Transcrição da apresentação:

1 Conceitos Básicos Luis Antonio Tavares

2 Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional Linearização de Expressões FluxogramaCondições PseudocódigoLaços de repetição Estrutura de um programa Funções

3  O QUE É LÓGICA? Estudo das leis do raciocínio e do modo de aplicá-las corretamente na demonstração da verdade.  Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo.  A lógica de programação é necessária para pessoas que desejam trabalhar com desenvolvimento de sistemas, ela permite definir a seqüência lógica de operação do programa.

4 O QUE É ALGORITMO? Seqüência de passos que visam atingir um objetivo pré-definido e bem definido. O algoritmo formado e bem definido que pode ser seguido por qualquer pessoa, e o objetivo será alcançado com certeza.

5 Cada linha de um algoritmo é uma instrução. Instruções são um conjunto de regras ou normas definidas para a realização ou emprego de algo. Em informática, é o que indica a um computador uma ação elementar a executar. Um programa é, nada mais, que um conjunto de instruções que executadas cumprem uma finalidade.

6 O que é Programação: Processo de escrita, teste e manutenção de um programa de computador. Os programas de computadores nada mais são do que algoritmos escritos numa linguagem de computador (Pascal, C, Delphi, Java, PHP entre outras) e que são interpretados e executados por um computador. O algoritmo deve ser fácil de se interpretar e fácil de codificar. Ou seja, ele deve ser o intermediário entre a linguagem falada e a linguagem de programação.

7 ALGORITMO CÓDIGO-FONTE EM LINGUAGEM DE PROGRAMAÇÃO ADAPTAÇÃO LINGUAGEM NATURAL INSTRUÇÕES COMPILAÇÃO (EXECUTÁVEL) LINGUAGEM DE MÁQUINA TRADUÇÃO PORTUGUÊS, INGLÊS... ALTO NÍVEL BAIXO NÍVEL

8  Linguagem natural não pode ser interpretada por um computador;  Porém a linguagem algorítmica é similar a uma linguagem de programação e próxima à linguagem natural;  Logo, aprendendo a criar algoritmos, teremos facilidade em aprender uma linguagem de programação.

9 Para montar um algoritmo, precisamos primeiro dividir o problema apresentado em três fases fundamentais ENTRADA: São os dados de entrada do algoritmo PROCESSAMENTO: São os procedimentos utilizados para chegar ao resultado final SAÍDA: São os dados já processados

10

11  Fluxograma ou Diagrama de Blocos.  Pseudocódigo, Português Estruturado ou Portugol. SUBJETIVIDADE PRECISÃO

12 Fluxograma é um tipo de diagrama, e pode ser entendido como uma representação esquemática de um processo. Podemos entendê-lo, na prática, como a documentação dos passos necessários para a execução de um processo qualquer.

13

14

15  O pseudocódigo é uma maneira intermediária entre a linguagem natural e uma linguagem de programação de representar um algoritmo.  Ela utiliza um conjunto restrito de palavras- chave, em geral na língua nativa do programador.

16 Algoritmo PROGRAMA_EXEMPLO Variáveis A, B, SOMA: Inteiros; Inicio ESCREVA("Digite o primeiro número:"); LEIA(A); ESCREVA("Digite o segundo número:"); LEIA(B); SOMA  A + B; ESCREVA (“A SOMA É: “, SOMA); Fim

17  ESCREVA(); - Responsável por escrever uma mensagem na tela.  LEIA(); - Responsável por ler um valor do teclado e armazenar numa variável, ou seja, num espaço em memória.  VARIÁVEIS – Responsável por definir todos as variáveis que serão necessárias no programa.  Início e Fim – Delimitam o corpo do programa.

18   Ex.: Resultado  Preco * Qtd

19  As variáveis do exemplo anterior são A, B e SOMA.  Variáveis são espaços em memória usados para armazenar valores. A, B e SOMA são somente o nome desses espaços.  No programa, as variáveis A e B estão, por exemplo, usando um espaço em memória para armazenar os valores lidos do teclado. Assim, sempre que os nomes A e B forem mencionados, estarão fazendo referência a esses valores lidos.

20  Inteiros(Ex. de uso: armazenar idade) Ex.: (números sem casa decimal)  Reais (Ex. de uso: preço, altura) Ex.: (números com casa decimal)  Caracteres (Ex. de uso: nomes, endereços, CPF) Ex.: “IFSULDEMINAS”, “Rua da Casas, nº 25” (valores literais)

21 1. Sempre começa com uma letra 2. Não se pode utilizar o Ç e letras acentuadas 3. Não se mistura letras maiúsculas e minúsculas 4. Podem ser utilizados algarismos de 0 a 9 5. Dos caracteres especiais, só pode ser utilizado o sublinhado ou underscore ( _ ) 6. Não pode haver espaço em branco 7. Não se pode utilizar palavras reservadas, ou seja, palavras que significam comandos (escreva, leia, inteiro, real).

22  É boa prática escolher nomes que significam alguma coisa no contexto do programa e indiquem a função da variável;  Recomenda-se que os nomes de variáveis sejam em letras minúsculas.

23 1. O que é uma variável? 2. Classifique os conteúdos abaixo em [C] caractere, [I] inteiro ou [R] real: a) b) Yuri c) 127 d) A e) Casa f) g) 10 h) 4.0

24 3. Quais dos seguintes nomes são válidos para uma variável: a) 3abb) inteiro c) X**X d) _sim e) _Af) A123 g) N_a_o h) Y_2 i) y-2j) 00fim k) \meu l) 6y2 m) n_2n) nota2 o) n4t p) &casa

25  As linguagens de programação não entendem uma expressão matemática da maneira que nós escrevemos.  Portanto é necessário converter uma expressão matemática para uma expressão de computador.  Por exemplo, converter: RESULTADO = N1 x N2 Para: RESULTADO  N1 * N2

26  Para construção de algoritmos que realizam cálculos matemáticos, TODAS expressões aritméticas devem ser linearizadas;  Linearizadas = Colocadas em uma únicas linha;

27  Numa expressão para computador, não deve haver {} ou []. Somente parênteses. Exemplos:  {80-[(5x4+1)÷3]} expressão matemática  (80-((5*4+1)/3))expressão linearizada  80 + (2 x 3)expressão matemática 40  80/40+(2*3)expressão linearizada

28  Ordem de precedência dos operadores:  1º () Parênteses  2º ^ Potência  3º */ Multiplicação ou Divisão (o que aparecer primeiro)  4º +- Adição ou Subtração (o que aparecer primeiro)

29  Passe as expressões abaixo para forma computacional:  a) {5 + [3x2 – (4+1)]}  b) 5 x { [(4 + 2) x 2] – 3 x 2}  c) 80 – 7 x 3 + [(5 – 1) + 8] x 3  d) [5 + (8+4 – 4x2)] 2

30 Condições Luis Antonio Tavares

31  Condições serão usadas sempre que precisarmos testar o valor de uma variável.  Desta forma podemos definir instruções que serão executadas caso uma condição seja verdadeira e instruções alternativas, caso a condição não seja verdadeira.

32

33

34 Início Escreva o 1º número: A Escreva o 2º número: B A > B B A Fim Verdadeiro Falso

35 Algoritmo MAIOR_NUMERO Variaveis A, B: REAIS; Inicio ESCREVA ("Digite o primeiro numero: "); LEIA ( A ); ESCREVA ("Digite o segundo numero: "); LEIA ( B ); SE ( A > B ) ENTAO ESCREVA (“O maior numero eh: ”, A); SENAO ESCREVA (“O maior numero eh: ”, B); FIM_SE Fim

36 Início Escreva o 1º número: A Escreva o 2º número: B MEDIA  (A+B) / 2 MEDIA MEDIA >= 60 Reprovado Aprovado Fim Verdadeiro Falso

37 Algoritmo PROGRAMA_EXEMPLO Variaveis A, B, MEDIA: REAIS; Inicio ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( B ); MEDIA  (A + B) / 2; ESCREVA (“A MEDIA EH: “, MEDIA); SE (MEDIA >= 60) ENTAO ESCREVA (“APROVADO!”); SENAO ESCREVA (“REPROVADO!”); FIM_SE Fim

38  Maior>Ex.: A > B  Maior Igual>=Ex.: A >= B  Menor

39  Operador EEx.: A > 60 && B < 40  Operador OUEx.: A > 60 || B < 40  Operador NÃOEx.: ! (A > 60)

40  Exemplo Operador E: SE ( NUM > 20 && NUM < 30 ) ENTAO ESCREVA (“O NUMERO EH MAIOR QUE 20 E MENOR QUE 30!”); FIM_SE  Exemplo Operador OU: SE ( NUM > 20 || NUM < 30 ) ENTAO ESCREVA (“O NUMERO EH MAIOR QUE 20 OU MENOR QUE 30!”); FIM_SE

41 Algoritmo PROGRAMA_EXEMPLO Variaveis A, B, MEDIA: REAIS; Inicio ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( B ); MEDIA  (A + B) / 2; ESCREVA (“A MEDIA EH: “, MEDIA); SE ( MEDIA >= 60 ) ENTAO ESCREVA (“Aprovado!”); SENAO SE ( MEDIA >= 30 ) ENTAO ESCREVA (“Recuperação!”); SENAO ESCREVA (“Reprovado!”); FIM_SE Fim

42 1. Sabendo que A = 3, B = 7 e C = 4, informe se as expressões abaixo são verdadeiras ou falsas: a) (A + C) > B_______________ b) B >= (A + 2)_______________ c) C == (B – A)_______________ d) (B + A) <= C_______________ e) (C + A) > B_______________

43 2. Sabendo que A = 5, B = 4, C = 3 e D = 6, informe se as expressões abaixo são verdadeiras ou falsas: a) (A > C) && (C <= D)_______________ b) (A + B) == (C + D)_______________ c) (A < B) || (D <= C)_______________ d) (A = C)_______________ e) (C A)_______________ f) (B > C) && (C >= A)_______________ g) (B > C) || (C >= A)_______________

44 Laços de Repetição Luis Antonio Tavares

45  Os laços de repetição se encarregam de repetir determinado bloco de instruções enquanto uma condição for verdadeira.  Esses laços também podem ser chamados de loops.  Temos basicamente dois tipos de loops: O para e o enquanto.

46  O primeiro loop que vamos conhecer é o enquanto. Pois se trata do loop mais simples.  Funcionamento: O bloco de código definido no loop enquanto fica em execução enquanto uma determinada condição for verdadeira. Cada vez que o bloco é iniciado, a condição é novamente testada, quando não for mais verdadeira, o loop é encerrado.

47 ALGORITMO LOOP_ENQUANTO VARIAVEIS CONT : INTEIRO; INICIO CONT  1; ENQUANTO ( CONT < 5 ) FAÇA ESCREVA (“Numero: ”, CONT); CONT  CONT + 1; FIM_ENQUANTO FIM

48 ALGORITMO PROGRAMA_MEDIA_COM_LOOP VARIAVEIS MEDIA, N1, N2: REAIS; NUM: INTEIRO; INICIO NUM  1; ENQUANTO ( NUM == 1 ) FAÇA ESCREVA (“Informe a primeira nota: ”); LEIA ( N1 ); ESCREVA (“Informe a segunda nota: ”); LEIA ( N2 ); MEDIA  ( N1 + N2 ) / 2; ESCREVA (“Sua media eh: ”, MEDIA); ESCREVA (“Digite 1 se deseja continuar no programa”); LEIA ( NUM ); FIM_ENQUANTO FIM

49  O loop para trabalha de uma forma um pouco diferente do loop enquanto.  Funcionamento: No loop para, uma variável pode ser inicializada com um valor qualquer, e o bloco de código definido neste loop vai ser executado até que a variável atinja um determinado valor. No loop também definidos um passo, ou seja, um valor que será incrementado na variável cada vez que o loop rodar.

50 ALGORITMO LOOP_PARA VARIAVEIS CONT : INTEIRO; INICIO PARA CONT  1 ATÉ 5, PASSO 1, FAÇA ESCREVA (“IF Sul de Minas”); FIM_PARA FIM A cada execução do loop dá-se o nome de iteração (iteração sem o N mesmo, não confunda com interação.)

51 ALGORITMO ESCREVE_ATE_5 VARIAVEIS CONT: INTEIRO; INICIO PARA CONT  1 ATÉ 5, PASSO 1, FAÇA ESCREVA (“Numero: ”, CONT); FIM_PARA FIM

52 ALGORITMO EXIBE_PARES VARIAVEIS CONT: INTEIRO; INICIO PARA CONT  2 ATÉ 10, PASSO 2, FAÇA ESCREVA (“Numero: ”, CONT); FIM_PARA FIM

53 ALGORITMO SOMA_NUMEROS_ATE_DEZ VARIAVEIS CONT, SOMA: INTEIRO; INICIO SOMA  0; PARA CONT  1 ATÉ 10, PASSO 1, FAÇA SOMA  SOMA + CONT; FIM_PARA ESCREVA (“A soma dos numeros eh: ”, SOMA); FIM

54  O loop faça... enquanto é uma derivação do loop enquanto. A diferença é que com esse loop o bloco de código é executado uma vez antes da condição ser verificada.

55 ALGORITMO LOOP_FACA_ENQUANTO VARIAVEIS CONT: INTEIRO; INICIO CONT  0; FAÇA ESCREVA (“Numero: ”, CONT); CONT  CONT + 1; ENQUANTO ( CONT < 5 ) FIM

56 Algoritmo MAIOR_NUMERO Variaveis A, B, NUM: REAIS; Inicio FAÇA ESCREVA ("Digite o primeiro numero: "); LEIA ( A ); ESCREVA ("Digite o segundo numero: "); LEIA ( B ); SE ( A > B ) ENTAO ESCREVA (“O maior numero eh: ”, A); SENAO ESCREVA (“O maior numero eh: ”, B); FIM_SE ESCREVA (“Para continuar digite o numero 1: "); LEIA (NUM); ENQUANTO(NUM == 1) Fim

57 Algoritmo PROGRAMA_MEDIA Variaveis A, B, MEDIA, NUM: REAIS; Inicio FAÇA ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( B ); MEDIA  (A + B) / 2; ESCREVA (“A MEDIA EH: “, MEDIA); SE (MEDIA >= 60) ENTAO ESCREVA (“APROVADO!”); SENAO ESCREVA (“REPROVADO!”); FIM_SE ESCREVA("Digite o numero 1 para continuar:"); LEIA (NUM); ENQUANTO (NUM == 1) Fim

58  Maior>Ex.: A > B  Maior Igual>=Ex.: A >= B  Menor

59  Exemplo Operador E: ENQUANTO ( NUM > 20 && NUM < 30 ) FAÇA ESCREVA (“O NUMERO EH MAIOR QUE 20 E MENOR QUE 30!”); ESCREVA (“INFORME NOVAMENTE UM NUMERO: ”); LEIA ( NUM ); FIM_ENQUANTO  Exemplo Operador OU: ENQUANTO ( NUM > 20 || NUM < 30 ) FAÇA ESCREVA (“O NUMERO EH MAIOR QUE 20 OU MENOR QUE 30!”); ESCREVA (“INFORME NOVAMENTE UM NUMERO: ”); LEIA ( NUM ); FIM_ENQUANTO

60 Algoritmo PROGRAMA_MEDIA Variaveis A, B, MEDIA, CONT : REAIS; Inicio PARA CONT  1 ATÉ 5, PASSO 1, FAÇA ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA("Digite a nota da segunda prova:"); LEIA ( B ); MEDIA  (A + B) / 2; ESCREVA (“A MEDIA EH: “, MEDIA); SE ( MEDIA >= 60 ) ENTAO ESCREVA (“Aprovado!”); SENAO SE ( MEDIA >= 30 ) ENTAO ESCREVA (“Recuperação!”); SENAO ESCREVA (“Reprovado!”); FIM_SE FIM_PARA Fim Programa que calcula a média de 5 pessoas usando o loop para.

61

62 Funções Luis Antonio Tavares

63  São utilizadas para dividir um algoritmo maior (mais complexo) em partes menores (mais simples).  Quando uma mesma tarefa é realizada várias vezes em um programa, não é necessário duplicar o código, apenas faz-se a chamada da função que contém o código da tarefa.  Este processo é conhecido como modularização.

64  Reduzem o tamanho do algoritmo.  Melhoram a legibilidade do algoritmo.  Reaproveitamento de código.  Facilitam a manutenção.  Facilitam a divisão de trabalho.

65 FUNÇÃO ANALISA_NUMERO (NUM : INTEIRO) INICIO SE (NUM > 0) ENTAO ESCREVA (“Numero Positivo”); SENAO SE (NUM < 0) ENTAO ESCREVA (“Numero Negativo”); SENAO ESCREVA (“Numero Zero”); FIM_SE FIM_FUNÇÃO

66 ALGORITMO PROGRAMA_EXEMPLO VARIAVEIS NUM: INTEIRO; INICIO ESCREVA (“Informe um numero: ”); LEIA ( NUM ); ANALISA_NUMERO ( NUM ); FIM

67 FUNÇÃO SOMA (A, B : REAIS) VARIAVEIS RESULT : REAIS; INICIO RESULT  A + B; RETORNE RESULT; FIM_FUNÇÃO

68 ALGORITMO PROGRAMA_SOMA VARIAVEIS RESULT, A, B: REAIS; INICIO ESCREVA (“Informe o primeiro numero: ”); LEIA ( A ); ESCREVA (“Informe o segundo numero: ”); LEIA ( B ); RESULT  SOMA ( A, B ); ESCREVA (“A soma eh: ”, RESULT); FIM

69  Na chamada de uma função, os valores que são passados para esta função devem vir entre parênteses após o nome da mesma. Exemplo: ANALISA_NUMERO ( NUM );  Esses valores passados para a função são chamados de argumentos ou parâmetros.

70  A linha de definição da função deve declarar os valores recebidos e o tipo dos mesmos. Exemplo: FUNÇÃO SOMA (A, B : REAIS)  Não há a necessidade das variáveis passadas para uma função terem os mesmos nomes dos argumentos declarados na função. Exemplo de chamada para a função do exemplo anterior: RESULT  SOMA (N1, N2);  Mas os parâmetros devem ser do mesmo tipo e estar em mesma quantidade que os valores passados.

71  Analisando os exemplos, podemos observar que uma função pode retornar um valor ou não retornar nenhum valor.  Mas uma função nunca retorna mais de um valor.  Quando um função retorna um valor, em sua chamada deve haver uma variável recebendo esse valor, por exemplo: RESULT  SOMA ( A, B );

72  Quando necessário, é possível criar variáveis internas à função, ou seja, que serão acessadas somente internamente no escopo da função. Como é o caso da variável RESULT no exemplo abaixo: FUNÇÃO SOMA (A, B : REAIS) VARIAVEIS RESULT : REAIS; INICIO RESULT  A + B; RETORNE RESULT; FIM_FUNÇÃO

73 ALGORITMO PROGRAMA_MEDIA VARIAVEIS A, B, RESULT, CONT : REAIS; INICIO PARA CONT  1 ATÉ 5, PASSO 1, FAÇA ESCREVA ("Digite a nota da primeira prova:"); LEIA ( A ); ESCREVA ("Digite a nota da segunda prova:"); LEIA ( B ); RESULT  CALCULA_MEDIA ( A, B ); ESCREVA (“A MEDIA EH: “, RESULT); FIM_PARA FIM FUNÇÃO CALCULA_MEDIA ( A, B : REAIS) VARIAVEIS RESULT, SOMA : REAIS; INICIO SOMA  A + B; RESULT  SOMA / 2; RETORNE RESULT; FIM_FUNÇÃO Programa que calcula a média de 5 pessoas usando o loop para e função.

74


Carregar ppt "Conceitos Básicos Luis Antonio Tavares. Problemas de lógicaTipos e variáveis Conceitos básicosInstruções básicas Algoritmo cotidiano vs. computacional."

Apresentações semelhantes


Anúncios Google