Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada DESENVOLVIMENTO WEB A N O TA ÇÕ ES PROGRAMAÇÃO ESTRUTURADA Em geral, nos editais cobram-se a programação estruturada orientada a objetivos, além da programação funcional. O conteúdo dessa aula será focada na programação estruturada. Bibliografia O livro abaixo, escrito por brasileiros, muito utilizado em cursos acadêmicos, versa das estruturas básicas e do uso de três linguagens: algoritmos, linguagem mais próxima do nosso dia a dia; Java; C e C++; e Pascal. Computação Desde o início da existência do homem ele tem procurado criar máquinas que o auxiliem em seus trabalhos, diminuindo esforços e economizando tempo. No início, as máquinas eram produzidas para atividades físicas, iniciando-se, posterior- mente, máquinas com atividades intelectual, tais como o desenvolvimento de calculadoras mais remotas até computadores. 2 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada DESENVOLVIMENTO WEB A N O TA ÇÕ ES O computador é capaz de auxiliar em qualquer coisa que lhe seja solicitada, é consciente, trabalha e possui muita energia, mas não tem iniciativa, nenhuma independência, não é cria- tivo nem inteligente, e por isso precisa receber instruções nos mínimos detalhes (algoritmos). Quanto ao “não é criativo nem inteligente”, é preciso tomar cuidado com a evolução das máquinas e sistemas. Atualmente, com o machine learning as máquinas possuem uma capa- cidade latente de aprendizado e simulação (aproximação) de inteligência. Para o computador realizar uma tarefa é preciso que haja uma linguagem que o oriente a executar alguma atividade. Processamento de Dados O processamento é onde o computador entra. Exemplo: operação matemática com ope- ração de dados: 1 + 1 (operandos); resultado de 1 + 1 é o processamento dos dados, dando uma saída como resultado a operação, a saber, 2. Algoritmos O computador é composto por duas partes: • Hardware: Partes físicas; • Software: Programas. Exemplo para memorizar: o hardware é o que se “chuta” – parte física; e o software é o que se “xinga” quando se está com raiva – parte abstrata. Quando queremos escrever um software para realizar determinado tipo de processa- mento de dados, devemos escrever um programa e, para que o computador compreenda e execute esse programa, devemos escrevê-lo usando uma linguagem que tanto o computador quanto o desenvolvedor de software entendam (linguagem de programação). Nos computadores mais remotos, antes da década de 50, o código era escrito em lingua- gem de máquina, bem próximo ao que os processadores compreendiam. Obviamente que os softwares ficam mais complexos, e com o passar das décadas os códigos começaram a 5m 3 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada DESENVOLVIMENTO WEB A N O TA ÇÕ ES ser escritos em linguagens de alto nível. Diante dessa linguagem de alto nível, o computador traduz em uma linguagem em que o usuário melhor possa compreender, algo chamado de compilação. As etapas para o desenvolvimento de um programa são: 1. Análise: estuda o enunciado do problema para definir os dados de entrada, o proces- samento e os dados de saída. Ou seja, antes do processo de programação, serão realizadas análises do problema, para que assim se possa checar os dados de entrada e saída. 2. Algoritmo: utiliza ferramentas do tipo narrativa, fluxograma ou português estruturado para descrever o problema com suas soluções. 3. Codificação: o algoritmo é transformado em códigos de linguagem de programação escolhida para se trabalhar. Exemplo: Java, C, Python. Os algoritmos podem ser traduzi- dos para qualquer uma dessas linguagens, cada qual com suas particularidades e objetivos específicos. • Um programa, que é o resultado final, é a codificação de um algoritmo (nível mais alto) em uma determinada linguagem de programação. • Um algoritmo é um conjunto de passos finitos que devem ser seguidos para que certo objetivo seja alcançado. Exemplo: algoritmo para remover a lâmpada queimada: 1. Posicione a escada debaixo da lâmpada; 2. Suba na escada até que a lâmpada possa ser alcançada; 3. Gire a lâmpada no sentido anti-horário, até que ela se solte; 4. Retire a lâmpada. Para o ser humano, a leitura desse algoritmo é de fácil compreensão. Contudo, para o computador, esse algoritmo está bastante abstrato, sendo de difícil compreensão. Programação Estruturada Programação estruturada é um paradigma de programação que visa melhorar a clareza, qualidade e tempo de desenvolvimento de um programa de computador, fazendo uso exten- sivo das estruturas de controle de seleção (SE / ENTÃO / SENÃO / CASO) e repetição (PARA / REPITA / ENQUANTO), estruturas de blocos e sub-rotinas. 10m 4 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada DESENVOLVIMENTO WEB A N O TA ÇÕ ES A programação estruturada surge devido à crise de software (anos 50). Ou seja, perce- beu-se que, quando se escrevia em código muito próximo ao que a máquina compreendia ou sem tanta orientação, o código era de difícil manutenção. Neste interim, a programação orientada surgir como uma série de orientação para desenvolver códigos de fácil manuten- ção e com poucos problemas. O princípio básico de programação estruturada é que um programa é composto por blocos elementares de código que se interligam através de três mecanismos básicos, que são sequência, seleção e iteração. Cada uma destas construções tem um ponto de início (o topo do bloco) e um ponto de término (o fim do bloco) de execução. • Sequência: implementa os passos de processamento necessários para descrever qualquer programa. O programa é executa em uma certa ordem lógica que o compu- tador executa. • Seleção: especifica a possibilidade de selecionar o fluxo de execução do processa- mento baseado em ocorrências lógicas. Trata-se da possibilidade de haver uma ava- liação de uma expressão lógica, observando um resultado final. Exemplo: “Se chover, torna-se preciso levar o guarda-chuva. Se não chover, não se pre- cisa levar o guarda-chuva”. Note que, diante das premissas, há orientações com base um condições lógicas. • Iteração: permite a execução repetitiva de segmentos do programa. Existe uma quan- tidade de passos a serem aplicados com determinada lógica. Assim, uma série de comandos serão executados de forma repetida, de acordo com determinada condição. Em provas, as bancas podem cobrar questões muito conceituais. Daí a importância de estudar os conceitos acima. GO TO Em 1968, Edsger W. Dijkstra, através do artigo "A Case against the GO TO Statement" critica o uso excessivo do comando de desvio incondicional GOTO nos programas desenvol- vidos na época. 15m 5 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada DESENVOLVIMENTO WEB A N O TA ÇÕ ES Em geral, a cláusula GO TO não é vista como uma boa prática de programação. A programação estruturada pressupõe a eliminação ou minimização do uso de GO TO. Nessa época, a programação utilizava bastante o GOTO. Exemplo: mesmo com uma sequência de instruções era possível retornar para outra orientação de forma arbitrária: “se ocorrer o evento X, volte ao passo 2”. Essa ação tornava o código de difícil manutenção. Diante disso, a programação estrutura surge para dirimir esses problemas, por meio de estruturas para a utilização do GOTO. Variáveis • Um programa, recebe dados que precisam ser armazenados no computador para que possam ser utilizados no processamento; • Este armazenamento é feito na memória; • Quando uma operação aritmética recebe dois operandos, cada operando é armaze- nado em um endereço de memóriadiferente, para ser utilizado no cálculo; • Como cada endereço de memória pode armazenar dados várias vezes, ou seja, seu conteúdo pode variar, chamamos estas posições de variáveis. Exemplo comparativo: em equações matemáticas, o “x” costuma ser tido como uma variável. Identificadores Representam os nomes das variáveis, dos programas, constantes, rotinas, entre outros. Exemplo: f(x) é o mesmo que função, na matemática. Regras básicas para formação de identificadores: • Caracteres permitidos: números, letras maiúsculas ou minúsculas e o caractere sublinhado "_"; • O primeiro caractere dever ser sempre uma letra ou o caractere sublinhado; • Não são permitidos caracteres em branco e caracteres especiais; • Não é possível utilizar palavras reservadas nos identificadores, ou seja, palavras que pertencem à linguagem de programação utilizada linguagem de programação utilizada. • Não é possível utilizar um comando. Exemplo: Comando “Se”. 20m 6 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada DESENVOLVIMENTO WEB A N O TA ÇÕ ES Tipos de Dados Os tipos de dados determinam quantos de memória uma determinada variável ocupará e o tipo de conteúdo que será armazenado. Os mais comuns são: • Numérico: Representam números inteiros e decimais; • Lógico: Representam dados booleanos (verdadeiro/falso); • Literal ou Caractere: Representam cadeias de caracteres (strings). Os tipos de dados variam muito de linguagem para linguagem, visto que algumas supor- tam números complexos, inteiros, flutuantes, os tipos numéricos, os tipos booleanos e carac- teres. De acordo com o tipo de dado diferente, um tanto mais de espaço será utilizado. Estrutura Sequencial Estrutura básica para algoritmos em pseudocódigo (ou portugol): ALGORITMO DECLARE Bloco de comandos FIM_ALGORITMO Acima, o algoritmo começa com “ALGORITMO” e termina do “FIM_ALGORITMO”. Entre estes há o bloco de código. Declaração de Variáveis Variáveis são declaradas após a palavra DECLARE, e os tipos mais utilizados são NUMÉ- RICO LITERAL ou LÓGICO: DECLARE X – NUMÉRICO Y, Z LITERAL É importante atentar que, a depender da linguagem a se utilizar, algumas linguagens dife- renciam maiúsculas de minúsculas. 25m 7 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada DESENVOLVIMENTO WEB A N O TA ÇÕ ES Atribuição Utilizado para atribuir um valor ou operação à uma variável Representado pelo símbolo "←": X – ← 4 X – ← X + 2 Y ← "aula" Em geral, é possível realizar operações com a próxima variável. Mas o resultado da ava- liação será atribuído ao lado esquerdo da expressão: X + 2 Obs.: algumas linguagens utilizam comumente o sinal “=”. 30m ���������������������������������������������������������������������������������Este material foi elaborado pela equipe pedagógica do Gran Cursos Online, de acordo com a aula preparada e ministrada pelo professor Tiago Lage Payne de Pádua. A presente degravação tem como objetivo auxiliar no acompanhamento e na revisão do conteúdo ministrado na videoaula. Não recomendamos a substituição do estudo em vídeo pela leitura exclu- siva deste material. 1 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada II DESENVOLVIMENTO WEB A N O TA ÇÕ ES PROGRAMAÇÃO ESTRUTURADA II Comandos de Entrada e Saída (E/S) No processamento, observa-se a entrada de dados, o processamento e a saída de dados. Entrada e saída de informações são essenciais, pois sem elas o cálculo não poderá ser feito. O comando de entrada é utilizado para receber dados informados pelo usuário. É repre- sentado pela palavra LEIA: LEIA X O comando de saída é utilizado para mostrar dados para o usuário na tela do monitor. Representado pela palavra ESCREVA: ESCREVA Y O “LEIA” será visto como o código de entrada e o “ESCREVA” será visto como o código de saída de dados. Estrutura Condicional (seleção) Essa estrutura é conhecida também como estrutura de decisão ou de seleção, ela se caracteriza pela execução de determinados códigos de programação dependendo da vera- cidade de uma condição. Exemplo: se chover, leve o guarda-chuva. O comando “leve o guarda-chuva” está subor- dinado a uma condição. Já no caso do exemplo “se chover, leve o guarda-chuva. Se não chover, leve o filtro solar”, observa-se um caso positivo e o comando do “SE + NÃO”. Estrutura Condicional Simples SE – condição ENTÃO – comando O “SE” é um booleano, sendo avaliado como TRUE ou FALSE. 2 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada II DESENVOLVIMENTO WEB A N O TA ÇÕ ES O comando só será executado se a condição for verdadeira. Uma condição é uma com- paração que possui dois valores possíveis: verdadeiro ou falso. SE condição ENTÃO INÍCIO comando1 comando2 comando3 FIM Se a condição for verdadeira, serão executados o comando1, comando2 e comando3. Exemplo: se chover, leve o guarda-chuva e a capa de chuva. O bloco começa com INÍCIO e termina com FIM (a depender da literatura). Aqui, observa-se uma condição e diver- sos blocos, sendo executados se a condição for verdadeira. Estrutura Condicional Composta SE condição ENTÃO comando1 SENÃO comando2 Na estrutura composta, além do ENTÃO há o SENÃO. Exemplo: “Se chover, leve o guarda-chuva, senão leve a capa de chuva.” Se a condição for verdadeira, será executado o comando1, caso contrário, será execu- tado o comando2. SE condição ENTÃO INÍCIO comando1 comando2 SENÃO INÍCIO comando3 comando4 FIM 5m 3 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada II DESENVOLVIMENTO WEB Se a condição for verdadeira, serão executados o comando1 e o comando2, caso con- trário, serão executados o comando3 e o comando4. Da mesma forma que na estrutura condicional simples há blocos associados, na estru- tura composta também se tem. Exemplo ALGORITMO DECLARE N1, N2, M NUMÉRICO ESCREVA "Digite as duas notas" LEIA N1, N2 M ← (N1 + N2)/2 ESCREVA "Média = ", M SE (M >= 7) ENTÃO ESCREVA "Aprovado" SENÃO ESCREVA "Reprovado" FIM_ALGORITMO Obs.: � no exemplo acima se observa a declaração da variável N1, N2 e M NUMÉRICO. O comando ESCREVA apresentará uma tela no computador virtual para quem opera o programa. O comando “Digite as duas notas” buscará calcular a média aritmética. Após o resultado da média aritmética, nota-se uma condicional, resultando no “Aprovado”, se verdadeiro, ou “Reprovado”, se falso. Aninhamento de estruturas de decisão Todos os blocos podem ser aninhados. SE condição1 ENTÃO comando1 SENÃO INÍCIO SE condição 2 ENTÃO comando2 SENÃO comando3 FIM 10m 4 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada II DESENVOLVIMENTO WEB Acima, a estrutura de decisão do SENÃO INÍCIO está aninhada com a primeira estrutura de decisão, ocorrendo apenas no caso do SENÃO. Estruturas de decisão podem ser aninhadas com o objetivo que sejam verificadas várias alternativas possíveis. Qualquer outro tipo de bloco pode ser aninhado. E quanto mais blocos, um tanto mais de aninhamento haverá, provocando uma maior complexidade. SE IDADE > 10 ENTÃO ESCREVA "IDADE ACIMA DE 10 ANOS" SENÃO INÍCIO SE IDADE < 10 ENTÃO ESCREVA "IDADE MENOR DE 10 ANOS" SENÃO ESCREVA "TEM EXATAMENTE 10 ANOS" FIM Havendo muitas estruturas de decisões distintas e aninhadas, nota-se uma grande difi- culdade quanto ao código. Em vista disso, existe uma outra estrutura, a chamada “Estrutura de seleção múltipla ESCOLHA-CASO”. Estrutura de seleção múltipla ESCOLHA-CASO A estrutura ESCOLHA-CASO (em inglês SWITCH-CASE), é uma alternativa quando se tem várias estruturas de decisão aninhadas. Istoé, quando outras verificações são feitas caso a anterior tenha falhado. A proposta da estrutura ESCOLHA-CASO é permitir ir direto no bloco de código dese- jado, dependendo do valor de uma variável de verificação. ESCOLHA variável-de-verificação CASO valor1 FAÇA comando1 comando2 CASO valor2 FAÇA comando3 comando4 ... FIM 5 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada II DESENVOLVIMENTO WEB A N O TA ÇÕ ES No exemplo acima, caso o valor “CASO valor1 FAÇA” seja executado, o resultado será “comando1” e “comando2”, e assim sucessivamente. É possível inserir acima quantos blocos forem precisos, alocando-os um abaixo do outro. Sobre essa informação, observe o exemplo abaixo: ALGORITMO DECLARE NUMERO1, NUMERO2, RESULTADO NUMÉRICO OPERACAO : CARACTERE ESCREVA "DIGITE O PRIMEIRO NÚMERO: " LEIA NUMERO1 ESCREVA "DIGITE A OPERAÇÃO: " LEIA OPERACAO ESCREVA "DIGITE O SEGUNDO NÚMERO: " LEIA NUMERO2 SE OPERACAO = "+" ENTAO RESULTADO ← NUMERO1 + NUMERO2 SENAO INICIO SE OPERACAO = "-" ENTAO RESULTADO ← NUMERO1 - NUMERO2 SENAO INICIO SE OPERACAO = "*" ENTAO RESULTADO ← NUMERO1 * NUMERO2 SENAO INICIO SE OPERACAO = "/" ENTAO RESULTADO ← NUMERO1 / NUMERO2 FIM FIM FIM ESCREVA "RESULTADO: ", RESULTADO FIM_ALGORITMO A depender da operação matemática que o usuário digitou, verificar-se-á o resultado no código. Diante disso, é possível realizar vários aninhamentos de “SE”, mas o código ficará de difícil leitura e manutenção. 15m 6 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada II DESENVOLVIMENTO WEB A N O TA ÇÕ ES Observe abaixo a mesma operação do exemplo acima com o ESCOLHA-CASO: ALGORITMO DECLARE NUMERO1, NUMERO2, RESULTADO NUMÉRICO OPERACAO : CARACTERE ESCREVA "DIGITE O PRIMEIRO NÚMERO: " LEIA NUMERO1 ESCREVA "DIGITE A OPERAÇÃO: " LEIA OPERACAO ESCREVA "DIGITE O SEGUNDO NÚMERO: " LEIA NUMERO2 ESCOLHA OPERACAO CASO "+" FAÇA RESULTADO ← NUMERO1 + NUMERO2 CASO "-" FAÇA RESULTADO ← NUMERO1 - NUMERO2 CASO "*" FAÇA RESULTADO ← NUMERO1 * NUMERO2 CASO "/" FAÇA RESULTADO ← NUMERO1 / NUMERO2 FIM ESCREVA "RESULTADO: ", RESULTADO FIM_ALGORITMO Caso não tratado na estrutura (OUTROCASO) Existe uma opção a mais nessa estrutura, justamente para tratar quando o valor da vari- ável não é equivalente a nenhum valor informado como opção nos CASOs, ou seja, é um "OUTROCASO". ESCOLHA operacao CASO "+" FAÇA resultado ← numero1 + numero2 CASO "-" FAÇA 7 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada II DESENVOLVIMENTO WEB A N O TA ÇÕ ES resultado ← numero1 - numero2 CASO "*" FAÇA resultado ← numero1 * numero2 CASO "/" FAÇA resultado ← numero1 / numero2 OUTROCASO ESCREVA "Operação inválida" FIM O programa está se preparando para receber um valor não esperado. Assim, o OUTRO-CASO envia uma mensagem para o usuário avisando-o que a mensagem não foi compreendida. DIRETO DO CONCURSO 1. (CESPE/EBC/ANALISTA/ADMINISTRAÇÃO DE SISTEMAS/2011) Em programação estruturada, por meio do mecanismo de seleção, é possível testar determinada condi- ção e estabelecer ações a serem realizadas. COMENTÁRIO Mecanismo de seleção é o mesmo que o “SE”. Estruturas de Repetição As estruturas de repetição são utilizadas nos casos onde determinados trechos dos algo- ritmos precisarão ser executados mais de uma vez e, para que não seja necessário reescre- ver trechos idênticos que aumentariam consideravelmente o tamanho do programa, utiliza-se as estruturas de repetição. No caso da seleção, havia um código em que se buscava a sua execução ou não a partir de determinada condição por meio de uma seleção booleana. Já no caso de repetição, os blocos de códigos se repetem até que uma condição seja atingida. 20m 8 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada II DESENVOLVIMENTO WEB A N O TA ÇÕ ES Estrutura de Repetição PARA Esta estrutura de repetição é utilizada quando se sabe previamente o número de vezes em que um trecho do algoritmo deve ser repetido: PARA I ← valor_inicial ATÉ valor_final FAÇA comando1 O comando1 será executado utilizando a variável I como controle, cujo conteúdo vai variar do valor inicial até o valor final, de 1 em 1, incrementando automaticamente. A estrutura PARA é utilizada quando se sabe previamente quantas vezes se busca repetir o código. Ela pode também ser utilizada com blocos, podendo ainda ter um número arbitrário de comandos: PARA I ← valor_inicial ATÉ valor_final FAÇA INÍCIO comando1 comando2 FIM O comando1 e o comando2 serão executados utilizando a variável I como controle, cujo conteúdo vai variar do valor inicial até o valor final, de 1 em 1, incrementando automatica- mente. Exemplo: ALGORITMO DECLARE J NUMÉRICO PARA J ← 1 ATE 10 FAÇA INÍCIO ESCREVA J FIM FIM_ALGORITMO 9 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada II DESENVOLVIMENTO WEB A N O TA ÇÕ ES Acima, o ESCREVA J será repetido 10 vezes. Neste caso, o valor de J será atualizado até chegar no valor final determinado. Exemplo de caso mais elaborado para calcular um número fatorial: ALGORITMO "FATORIALCOMPARA" DECLARE NUMERO, FATORIAL, CONTADOR NUMÉRICO ESCREVA "DIGITE O NÚMERO PARA CALCULAR O FATORIAL: " LEIA NUMERO FATORIAL ← 1 PARA CONTADOR DE 1 ATE NUMERO FACA INICIO FATORIAL ← FATORIAL * CONTADOR FIM ESCREVA "O FATORIAL DE ", NUMERO, " É : ", FATORIAL FIM_ALGORITMO Acima, sabia-se previamente o número de vezes em que o passo seria repetido para fazer o cálculo do fatorial. Estrutura de Repetição ENQUANTO Essa estrutura de repetição é utilizada quando não se sabe o número de vezes em que um trecho do algoritmo deve ser repetido, embora também possa ser utilizada quando se sabe esse número. ENQUANTO condição FACA comando1. Enquanto a condição for verdadeira, o comando1 será executado. ENQUANTO condição FACA INÍCIO comando1 comando2 FIM 25m 10 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada II DESENVOLVIMENTO WEB A N O TA ÇÕ ES Enquanto a condição for verdadeira, o comando1 e o comando2 serão executados. O “ENQUANTO” pode ser também estruturado em blocos. É importante que o comando1 e comando2 façam algo para alterar a condição, a fim de não entrar em looping infinito. ALGORITMO DECLARE J NUMÉRICO J ← 1 ENQUANTO J <= 10 FAÇA INICIO ESCREVA J J ← J + 1 FIM FIM_ALGORITMO ALGORITMO "FATORIALCOMENQUANTO" DECLARE NUMERO, FATORIAL, CONTADOR NUMÉRICO ESCREVA "DIGITE O NÚMERO PARA CALCULAR O FATORIAL: " LEIA NUMERO FATORIAL ← 1 CONTADOR ← 1 ENQUANTO CONTADOR <= NUMERO FACA INICIO FATORIAL ← FATORIAL * CONTADOR CONTADOR ← CONTADOR + 1 FIM ESCREVA "O FATORIAL DE ", NUMERO, " É : ", FATORIAL FIM_ALGORITMO Obs.: � o encremento é muito importante para que a condição “ENQUANTO CONTADOR <= NUMERO FACA” seja alterada, evitando um looping infinito. 30m 11 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada II DESENVOLVIMENTO WEB A N O TA ÇÕ ES Estrutura de Repetição REPITA A diferença entre a estrutura ENQUANTO e a estrutura REPITA é que na estrutura REPITA os comandos serão repetidos pelo menos uma vez, já que a condição se encontra no final. REPITA comando1 comando2 ATÉ condição Enquanto a condição for falsa, o comando1 e o comando2 serão executados. No momento em que a condição for verdadeira, o código parará. ALGORITMO DECLARE J NUMÉRICO J ← 1 REPITA ESCREVA J J ← J + 1 ATÉ J > 10 FIM_ALGORITMO Obs.: � quando J passar o valor de 10, o código parará. ALGORITMO"SOMAATEVALORIGUALA0" DECLARE VALORDIGITADO, SOMA NUMÉRICO SOMA ← 0 REPITA ESCREVA "DIGITE UM VALOR PARA A SOMA: " LEIA VALORDIGITADO SOMA ← SOMA + VALORDIGITADO ESCREVAL "TOTAL: ", SOMA ATE VALORDIGITADO = 0 FIM_ALGORITMO 12 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada II DESENVOLVIMENTO WEB A N O TA ÇÕ ES Acima, o bloco será executado até que o usuário digite 0. GABARITO 1. C ���������������������������������������������������������������������������������Este material foi elaborado pela equipe pedagógica do Gran Cursos Online, de acordo com a aula preparada e ministrada pelo professor Tiago Lage Payne de Pádua. A presente degravação tem como objetivo auxiliar no acompanhamento e na revisão do conteúdo ministrado na videoaula. Não recomendamos a substituição do estudo em vídeo pela leitura exclu- siva deste material. 1 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada III DESENVOLVIMENTO WEB A N O TA ÇÕ ES PROGRAMAÇÃO ESTRUTURADA III Vetor Um vetor é uma variável composta, homogênea e unidimensional. É considerada composta porque possui vários valores dentro dela. Ao declarar valores de X e Y como variáveis, em vetores é possível guardar diversos valores. É dita homogênea porque todos os valores devem ser do mesmo tipo. Assim, em vetores de números, somente poderá haver números – a depender da linguagem de programação (ex.: Java – vetores homogêneos. Já no Java Script, há vetores heterogêneos). É unidimensional porque somente há uma dimensão (um comprimento) – ex.: fila de valo- res. Cada valor terá um índice, que é a sua posição em uma fila de variáveis. É formada por uma sequência de variáveis, todas do mesmo tipo de dados, com o mesmo identificador (mesmo nome) e alocadas sequencialmente na memória. Uma vez que as variáveis que compõem o vetor têm o mesmo nome, o que distingue cada uma delas é um índice, que referencia sua localização dentro da estrutura. Ex.: em uma fila de pessoas, para interagir com a terceira pessoa da fila, basta contar quantas pessoas há para se chegar à terceira. Vetor: Declaração DECLARE nome[tamanho] tipo nome: nome da variável do tipo vetor. tamanho: é a quantidade de variáveis que vão compor o vetor. tipo: é o tipo básico de dados que poderá ser armazenado na sequência de variáveis que formam o vetor. 2 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada III DESENVOLVIMENTO WEB A N O TA ÇÕ ES Vetor: Exemplos DECLARE X[5] NUMÉRICO X[1] ← 45 X[4] ← 0 ESCREVA X[4] Em uma estrutura com vários valores do mesmo tipo, ao invés de declarar diversas vari- áveis, basta escrever um vetor e entre colchetes o tamanho do vetor. Carregando um Vetor PARA I ← 1 ATÉ 5 FAÇA INÍCIO ESCREVA "DIGITE O ", I, " NÚMERO" LEIA X[I] FIM É possível realizar uma estrutura de repetição PARA para que ela alimente o vetor com valores digitados pelo usuário. Matriz Uma matriz é uma variável composta homogênea bidimensional formada por uma sequ- ência de variáveis, todas do mesmo tipo, com o mesmo identificador (mesmo nome) e aloca- das sequencialmente na memória. Uma vez que as variáveis têm o mesmo nome, o que as distingue são índices que refe- renciam sua localização dentro da estrutura. Uma variável do tipo matriz é composta por linhas e colunas. Matriz: Declaração DECLARE nome[linha, coluna] tipo nome: nome da variável do tipo matriz. linha: é a quantidade de linhas que vão compor a matriz. coluna: é a quantidade de colunas que vão compor a matriz. 5m 3 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada III DESENVOLVIMENTO WEB A N O TA ÇÕ ES tipo: é o tipo básico de dados que poderá ser armazenado na sequência de variáveis que formam a matriz. Matriz: Exemplos DECLARE X[3,5] NUMÉRICO X[1, 2] ← 45 X[2, 5] ← 0 ESCREVA X[1, 2] Obviamente que a utilização de vetor ou matriz dependerá do caso e da utilidade quanto ao dado. Exemplo: em um programa que multiplica uma matriz por outra matriz, o uso da matriz é essencial. Carregando uma Matriz PARA I ← 1 ATÉ 3 FAÇA INÍCIO PARA J ← 1 ATÉ 5 FAÇA INÍCIO LEIA X[I, J] FIM Obs.: acima, nota-se um looping dentro do outro, podendo popular a matriz. Registros Registros são estruturas que podem agregar diferentes informações. Dessa maneira, podem ser feitas diferentes combinações, gerando novos tipos de dados. O registro é o primeiro movimento no sentido de criar tipos de dados que a linguagem de programação não forneça. Um registro é uma coleção de campos, em que cada campo pode ser de um tipo de dado diferente. Por isso, os registros são conhecidos como variáveis compostas heterogêneas. 10m 4 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada III DESENVOLVIMENTO WEB A N O TA ÇÕ ES Registros: Declaração DECLARE nome_da_variável_registro REGISTRO (nome_campo tipo_do_campo...) Registros: Exemplo DECLARE conta REGISTRO (num, saldo NUMÉRICO, nome LITERAL) Acima, o registro declarado é denominado conta e possui três campos, os campos num e saldo são campos numéricos e o campo nome é do tipo literal. Quando o programa se torna mais elaborado, há uma necessidade de criação de tipos de dados (muitas vezes customizados), e o registro é a forma mais básica para tanto. Exemplo: registro de um aluno com nome, idade, data de nascimento, CPF. É importante destacar que a implementação do registro variará de uma linguagem para outra. Mas, de forma geral, segue-se um padrão. DECLARE conta[3] REGISTRO (num, saldo NUMÉRICO, nome LITERAL) O registro declarado é um vetor denominado conta e possui três campos, os campos num e saldo são campos numéricos e o campo nome é do tipo literal. É possível combinar tipos de dados homogêneos com o tipo de dado registro para con- seguir mais dados. Exemplo: em uma escola com vários alunos, é possível ter um vetor de alunos, e cada aluno possui um registro com suas propriedades. Arquivo Um arquivo é formado por uma coleção de registros, cada registro é composto por campos e cada campo possui suas características específicas. Na computação, o arquivo é em geral utilizado para manter a persistência de dados. Exemplo: feito um processamos, gerou-se um grande número de dados de respostas. É pos- sível pegar esses dados e estruturá-los em registros, e persistir os registros no computador, de forma que possam ser lidos depois (eventualmente) por uma outra execução de programa. 15m 5 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada III DESENVOLVIMENTO WEB DIRETO DO CONCURSO 1. (IDECAN/INMETRO/ASSISTENTE EXECUTIVO EM METROLOGIA E QUALDIDADE/ INFORMÁTICA/2015) Toda linguagem de programação possui instruções que contro- lam o fluxo da execução de um programa. Essas estruturas podem ser de decisão, decisão encadeada, repetição, repetição encadeada, cada uma com seus respectivos comandos. Observe o fluxograma. Assinale, a seguir, o comando representado nesse fluxograma. a. SE... ENTÃO. b. SELECIONE... CASO. c. ENQUANTO... FAÇA. d. REPITA... ATÉ QUE. e. SE... ENTÃO... SENÃO. COMENTÁRIO A imagem da questão apresenta uma condição booleana. O SE está representado pela condição. O ENTÃO está representado pelo fluxo de Verda- deiro, enquanto o SENÃO está representando quando a resposta for Falsa. 20m 6 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada III DESENVOLVIMENTO WEB A N O TA ÇÕ ES Sub-Rotinas (Programação Modularizada) Sub-rotinas são blocos de instruções que realizam tarefas específicas. De fato, ao se escreverum código de programa que se alonga bastante, notam-se linhas de códigos repetidos ou muitos trechos que podem ser utilizados em outros programas a serem desenvolvidos. Para reaproveitar essas linhas de códigos, utilizam-se sub-rotinas. O código de uma sub-rotina é carregado uma vez e pode ser executado quantas vezes forem necessárias. Assim, os programas tendem a ficar menores e mais organizados, uma vez que o problema pode ser dividido em tarefas menores. Ex.: o programador escreve um código de calcule fatorial. Em outro programa, o progra- mador precisará de um código que calcule o fatorial. Neste caso, o programador separará o código em blocos, mesmo que para utilizar em seu próprio programa, para evitar cópias que possam gerar erros. Esses blocos escritos são guardados, atribuídos a um identificador, sendo eles acionados quantas vezes forem necessárias. Em geral, um programa é executado linearmente, uma linha após a outra, até o fim. Entretanto, quando são utilizadas sub-rotinas, é possível a realização de desvios na execu- ção natural dos programas. Assim, um programa é executado linearmente até a chamada de uma sub-rotina. O programa que chama uma sub-rotina ("chamador") é temporariamente suspenso e o controle é passado para a rotina, que é executada. Ao terminar a sub-rotina, o controle retorna para o programa que realizou a chamada ("chamador"). Ou seja, são os blocos separados da rotina principal e nomeados. Na medida em que se executa os programas principais, os blocos serão chamados, passando o controle para os blocos até terminar a execução. Exemplo: um programa que calcula o fatorial fará a leitura do valor passado pelo usuário, chamando eventualmente a sub-rotina que calcula o fatorial, cal- culando e devolvendo o valor, e, em seguida, o controle volta para o seu programa principal. 25m 7 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada III DESENVOLVIMENTO WEB A N O TA ÇÕ ES Tipos de Sub-rotinas • Funções (functions); • Procedimentos (procedures). Funções É comum encontrar, nas linguagens de programação, várias funções embutidas, por exemplo, sin (seno), cos (cosseno), abs (valor absoluto), sqrt (raiz quadrada). Funções embutidas podem ser utilizadas diretamente em expressões. Por exemplo, o comando: hipotenusa ← sqrt(cateto1^2 + cateto2^2). Na maioria das linguagens de programação, há a chamada biblioteca básica, que possui as funções matemáticas mais comuns, além de uma série de funções que se repetem em vários programas. Essas funções são utilizadas em expressões como se fossem simplesmente variáveis comuns. E como variáveis comuns, as funções têm (ou retornam) um único valor. É responsabilidade do programador fornecer os argumentos (ou parâmetros) necessá- rios para a função efetuar seus cálculos. Exemplo: hipotenusa ← sqrt(cateto1^2 + cateto2^2). Antes de a função ser passada para o sqrt (raiz quadrada), calcula-se o valor interno “(cateto1^2 + cateto2^2)”, enviando para o sqrt o valor já calculado. Todo esse bloco terá a mesma função como se fosse uma variável, sendo atribuída ao valor de hipotenusa. A utilização de funções afeta o fluxo de controle em um programa. Quando uma função é chamada, o programa que chama a função fica em estado de espera e o controle passa para as instruções que definem a função. Após a execução da função com os parâmetros fornecidos, o controle retorna ao ponto de chamada da função, com o valor calculado pela função. 8 www.grancursosonline.com.br Viu algum erro neste material? Contate-nos em: degravacoes@grancursosonline.com.br Programação Estruturada III DESENVOLVIMENTO WEB A N O TA ÇÕ ES Exemplo de como se utiliza as funções embutidas e entregues pela linguagem de programação: ALGORITMO DECLARE X, Y, VALOR NUMÉRICO X – ← -10 Y ← 16 VALOR ← ABS(X) + SQRT(Y) ESCREVA VALOR FIM GABARITO 1. e ���������������������������������������������������������������������������������Este material foi elaborado pela equipe pedagógica do Gran Cursos Online, de acordo com a aula preparada e ministrada pelo professor Tiago Lage Payne de Pádua. A presente degravação tem como objetivo auxiliar no acompanhamento e na revisão do conteúdo ministrado na videoaula. Não recomendamos a substituição do estudo em vídeo pela leitura exclu- siva deste material.
Compartilhar