Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
CONCEITOS BÁSICOS DE PROGRAMAÇÃO A arte de programar - a organização do pensamento Lógica de programação - tipos de linguagens de programação Conceito de algoritmo ESTRUTURA DE CONTROLE Sequência, seleção, repetição Representação de algoritmos Instruções Primitivas TIPOS DE DADOS Tipos de dados Funções - simples e para tratamento de String Repetição com variável de controle OPERADORES - TÉCNICAS DE PROGRAMAÇÃO Expressões Literais, Relacionais e Lógicas Modularização Recursividade TEMAS AULA - 02 BITS & BYTES TRÊS FORMAS BÁSICAS DE AGREGAR INSTRUÇÕES PRIMITIVAS: ESTRUTURAS DE CONTROLE • SEQUENCIA • SELEÇÃO • REPETIÇÃO MISTURE OS INGREDIENTES UNTE O TABULEIRO COM MANTEIGA DESPEJE A MISTURA NO TABULEIRO SEQUENCIA ARQUIVE O DOCUMENTO FORNEÇA PROTOCOLO ARMAZENE OS GRAUS DO ALUNO CALCULE AS MÉDIAS DESTES GRAUS SE (HÁ QUEIJO PARMEZON) ENTÃO ESPALHE SOBRE A MISTURA SELEÇÃO SE (MÉDIA É SUPERIOR A 7) ENTÃO EXIBA MENSAGEM “APROVADO” SENÃO EXIBA MENSAGEM “REPROVADO” CONDIÇÃO CONDIÇÃO CONDIÇÃO V VERDADEIRA (ENTÃO) F FALSA (SENÃO) ENQUANTO (NÃO CORAR) DEIXE O TABULEIRO NO FORNO REPETIÇÃO REPRESENTAÇÃO DE ALGORITMOS DIAGRAMA ESTRUTURADO FLUXOGRAMA LINGUAGEM ESTRUTURADA (PSEUDOCÓDIGO) DIAGRAMA ESTRUTURADO Um algoritmo é representado por um RETÂNGULO cujas fatias horizontais são suas ETAPAS em SEQUÊNCIA. Além disso, a representação de estruturas de SELEÇÃO e de repetição são RETÂNGULOS ESPECIAIS. Observe, intuitivamente, o retângulo utilizado para a estrutura de seleção deste exemplo. FLUXOGRAMA CARACTERÍSTICAS PRINCIPAIS - as instruções primitivas são expressas em RETÂNGULOS (se houver várias instruções primitivas em sequência para simplificar, podem ser descritas em um único retângulo). - os testes (seleção ou repetição) são explicitados em LOSANGOS, onde a MÁGICA é o “SIGA A SETA” para acompanhar que instruções serão executadas quando a condição do teste for verdadeira ou for falsa. LINGUAGEM ESTRUTURADA PSEUDO-LINGUAGEM - a CONDIÇÃO está descrita entre as expressões “Se” e “Então”; (VEM CARRO) - as instruções a serem executadas quando a condição for VERDADEIRA, serão descritas entre as expressões “Então” e “Senão”; - as instruções a serem executadas quando a condição é FALSA estão descritas entre as expressões “Senão” e “Fim- do-Se”. Linguagem Estruturada Etapa 1 Olhe para a rua Etapa 2 SE (VEM CARRO) ENTÃO ESPERE SENÃO ATRAVESSE FIM-DO-SE CONDIÇÃO (V) CONDIÇÃO (F) REPRESENTAÇÃO DAS ESTRUTURAS DE CONTROLE ESTRUTURA DE SEQUÊNCIA REPRESENTAÇÃO DAS ESTRUTURAS DE CONTROLE ESTRUTURA DE SELEÇÃO REPRESENTAÇÃO DAS ESTRUTURAS DE CONTROLE ESTRUTURA DE REPETIÇÃO (COM TESTE A PRIORI) QUAL A DIFERENÇA BÁSICA ENTRE SELEÇÃO E REPETIÇÃO ? DUAS SAÍDAS ! Uma em V ! Outra em F ! UMA SAÍDA ! Em F ! IF (N Mod 2 = 0) Then Writeln('O número é par ') Else Writeln('O número é ímpar'); SINTAXE CADA LINGUAGEM DE PROGRAMAÇÃO TEM A SUA SINTAXE PRÓPRIA! FIM DO COMANDO ! // L_PROG EX_04_05 #include <stdio.h> #include <locale.h> int n; main() { setlocale(LC_ALL, "Portuguese"); printf("\n"); printf("Digite o valor de N: "); scanf("%d",&n); // TESTA SE É PAR OU ÍMPAR ! if (n%2 == 0) { printf("\n"); printf("É PAR..."); } else {printf("\n"); printf("É ÍMPAR..."); } } NÃO TEM THEN! { ABRE BLOCO! } FECHA BLOCO! q a b Se q então a senão b Fim-se c q Ações Executadas V a , c F b , c EXERCÍCIO-01 c V F q d ca b Se q então d senão c e Fim-se f q Ações Executadas V a , b , d , f F a , b , c , e , f EXERCÍCIO-02 f a b e V F q1 g c EXERCÍCIO-03 f a b e q2 d V F V F Nº MÁXIMO de ações executadas = Nº MÍNIMO de ações executadas = 4 4 a Se q1 Então b g Senão Se q2 Então c Senão d Fim-se (q2) e Fim-se (q1) f EXERCÍCIO-03 q1 q2 Ações Executadas V V a , b , g , f V F a , b , g , f F V a , c , e , f F F a , d , e , f q1 f EXERCÍCIO-04 a e q3 b q2 g c d V F V F V F Nº MÁXIMO de ações executadas = Nº MÍNIMO de ações executadas = 3 2 EXERCÍCIO-04 Se q1 Então a Se q2 Então f Senão g Fim-se (q2) Senão b Se q3 Então c Senão d Fim-se (q3) e Fim-se (q1) EXERCÍCIO-04 q1 q2 q3 Ações Executadas V V V a, f V V F a, f V F V a, g V F F a, g F V V b, c , e F V F b, d , e F F V b, c , e F F F b, d , e EXERCÍCIO-05 a Se q1 então b senão c Fim-se d q1 Ações Executadas V a , b , d F a , c , d EXERCÍCIO-06 Se q1 Então a b c Senão Se q2 Então d Senão e Fim-se (q2) f Fim-se (q1) q1 q2 Ações Executadas V V a , b , c V F a , b , c F V d , f F F e , f EXERCÍCIO-07 Se q1 Então a Senão b Se q2 Então c Fim-se (q2) d Fim-se (q1) q1 q2 Ações Executadas V V a V F a F V b , c , d F F b , d REPRESENTAÇÃO DAS ESTRUTURAS DE CONTROLE ESTRUTURA DE REPETIÇÃO (COM TESTE A PRIORI) q1 a b q2 c a Enq (q1) Faça b Fim-Enq Se q2 Então c Fim-se q1 q2 Ações Executadas V V a , b V F a , b F V a , c F F a EXERCÍCIO-08 V F V F q2 a c Se q1 Então Enq (q2) Faça a b Fim-Enq Senão c Fim-se d EXERCÍCIO-09 q1 b d q1 q2 Ações Executadas V V a , b V F d F V c , d F F c , d V F V F EXERCÍCIO-10 q2 b g q1 c e d f a V F V F V F EXERCÍCIO-10 a Enq q1 faça b Se (q2) Então c Senão d e fim-se f Fim-Enq g V F EXERCÍCIO-10 q1 q2 Ações Executadas V V a , b , c , f V F a , b , d, e, f F V a , g F F a , g V F CONSTRUÇÃO DE ALGORITMOS MODELO ESQUEMÁTICO DE MEMÓRIA CONTEXTO COMPUTACIONAL INSTRUÇÕES PRIMITIVAS PROCESSAMENTO ENTRAD A SAÍDA COMPUTADOR PROCESSAMENTO ARMAZENAMENTO DADO INFORMAÇÃ O SAÍDA HD Disquete FitaPen Drive CD/DVD CPU REGISTRADOR REGISTRADOR MEMÓRIA PRINCIPAL ENTRADA UC ULA BARRAMENTO DE DADOS REGISTRADOR REGISTRADOR HARDWARE - COMPONENTES BÁSICOS INTRODUÇÃO Um modelo introdutório para MEMÓRIA PRINCIPAL de um computador é o de uma sequência de células numeradas capazes de armazenar, cada uma, a cada instante, uma dada informação. ALGORITMOS A referência a cada célula da memória é realizada através de seu endereço numérico. Assim, uma ação primitiva para criar um determinado valor em uma célula pode ser expressa da seguinte forma. Armazene o valor 25 na posição de memória de endereço 2. O resultado obtido pode ser representado, esquematicamente, como na figura abaixo. ALGORITMOS MEMÓRIA CÉLULAS Basicamente, para uma informação ser tratada por um computador, precisa estar armazenada em sua MEMÓRIA PRINCIPAL (RAM). Assim, em um programa para calcular a média de dois dados, é necessário que os dados estejam previamente armazenados na memória para que a média seja calculada e fique disponível em uma célula da mesma. ALGORITMOS ALGORITMOS Um programa que receba dois números, calcule sua MÉDIA e exiba este valor no vídeo possuí, necessariamente, três instruções bem distintas. UMA instrução primitiva de LEITURA, que transfere os dados de algum equipamento de ENTRADA (teclado, por exemplo) para a MEMÓRIA. UMA instrução primitiva de ATRIBUIÇÃO, que calcula o valor da MÉDIA a partir dos valores das parcelas já armazenadas na MEMÓRIA e a grava em determinada posição na MEMÓRIA. UMA instrução primitiva de IMPRESSÃO que transfere uma cópia do valor da MÉDIA, já armazenada na MEMÓRIA, para algum equipamento de SAÍDA (monitor, por exemplo). ALGORITMOS Exemplo Leia G1 (6) Leia G2 (7) M (G1+G2)/2 (6,5) Imprima M (6,5) MEMÓRIA TABELA DE SÍMBOLOS ALGORITMOS INSTRUÇÕES PRIMITIVAS INSTRUÇÃO DE ATRIBUIÇÃO () Formato VARIÁVEL Expressão X 4+6; M (G1+G2)/2; X 1; X 10; É DESTRUTIVA ! Nome “BRASIL”; Semântica O resultado da expressão será armazenado sob o nome simbólico que está à Esquerda do sinal de atribuição Tal expressão poderá ser um simples valor numérico ou poderá conter operações envolvendo informações já armazenadas na memória e associados a nomes simbólicos previamente definidos. OPERAÇÃO DE ATRIBUIÇÃO X 10 É atribuído o valor da constante 10 a variável X. É a forma mais simples de atribuir um valor a uma variável. 10 VARIÁVEL X OCUPA UMA POSIÇÃO NA MEMÓRIA (PALAVRA) UMA POSIÇÃO DE MEMÓRIA SÓ PODE ARMAZENAR UM VALOR DE CADA VEZ ! MEMÓRIA OPERAÇÃO DE ATRIBUIÇÃO X 1 X 21 X 10 VARIÁVEL X A OPERAÇÃO DE ATRIBUIÇÃO É DESTRUTIVA ! 12110 MEMÓRIA OPERAÇÃO DE ATRIBUIÇÃO X 10 X X + X X X - 1 VARIÁVEL X A OPERAÇÃO DE ATRIBUIÇÃO É DESTRUTIVA ! 102019 X X + X X = X + X X = X + X X - X = X 0 = X !!!! MEMÓRIA EXEMPLO-01 A B C A 1 1 - - B A + 2 1 3 - C A + B 1 3 4 C A + B + C 1 3 8 ATRIBUIÇÃO - EXEMPLO-01 Em cada um dos exercícios que se seguem, execute o algoritmo, "preenchendo "o Chinês" correspondente. SEQUÊNCIA EXEMPLO-02 A B C A 4 4 - - B A + 2 4 6 - C A + B 4 6 10 C A + B - C 4 6 0 A A + B 10 6 0 B A - B 10 4 0 A A - B 6 4 0 C A + B 6 4 10 ATRIBUIÇÃO - EXEMPLO-02 SEQUÊNCIA ATRIBUIÇÃO - EXEMPLO-03 A S 6 - 6 0 6 0 6 4 A 6 SE A < 3 ENTÃO S 3 * A SENÃO SE A < 4 ENTÃO S 2 * A SENÃO S 0 A A + S FIM-SE S S + 4 FIM-SE ? ? SELEÇÃO A 1 N 0 S 0 Enquanto S <= 50 faça S S + A A A + 2 N N + 1 Fim-enq A N S 1 0 0 3 1 1 5 2 4 7 3 9 9 4 16 11 5 25 13 6 36 15 7 49 17 9 64 ATRIBUIÇÃO - EXEMPLO-04 QUAL O SIGNIFICADO DE N? E O DE S? REPETIÇÃO ALGORITMOS INSTRUÇÕES PRIMITIVAS INSTRUÇÃO DE LEITURA Formato LEIA (Lista de Variáveis) LEIA (X,Y); LEIA (G1,G2); LEIA (Nome,CPF); LEIA (Matrícula); SEMÂNTICA A execução da instrução de leitura pressupõe que os dados serão fornecidos do meio externo (teclado, arquivo gravado em disco, etc) e serão armazenados na memória sob os nomes simbólicos, na ordem em que figuram no comando. ALGORITMOS INSTRUÇÕES PRIMITIVAS INSTRUÇÃO DE IMPRESSÃO Formato IMPRIMA Variáveis ou “texto” IMPRIMA (Grau1,Grau2); IMPRIMA (‘Média=‘; Média); SEMÂNTICA A execução da instrução de impressão pressupõe que informações estão armazenadas na memória e serão colocadas no meio externo (tela de vídeo, arquivo em disco, impressora, etc) através da referência nos nomes simbólicos constantes da lista de variáveis. A opção “texto” prevista no formato da instrução permite também que sejam explicitados textos para a documentação das saídas. Carpe Diem