Mindmap
Algoritmos e Programação Aplicados à Engenharia

Mapa mental: Algoritmos e programação aplicados à engenharia
Inhalt der Mindmap
Algoritmos e Programação Aplicados à Engenharia
ANÁLISE E DESCRIÇÃO NARRATIVA
- A etapa de analise conta com três pontos chave: os dados de entrada, o processamento e os dados de saída. Os dados de entrada são os elementos necessários para a solução do problema; o processamento são os passos necessários para chegar a solução; e os dados de saída indica o resultado após o processamento.
- DADOS DE ENTRADA - quando estamos analisando os dados de entrada, seria o mesmo que entender “o que eu preciso saber para resolver este problema?”.
- PROCESSAMENTO - O processamento trata dos passos da resolução do problema proposto. o descrevermos as etapas do processamento é importante deixar cada instrução numerada, pois na forma narrativa, ela é a única forma de referenciarmos uma instrução passada ou futura.
- DADOS DE SAÍDA - Esse é o elemento final da análise, é o que indica o resultado dos passos realizados no processamento. Os algoritmos que não possuem dados de saída são chamados procedimentos, já os que possuem dados de saída são chamados funções.
- A etapa de analise conta com três pontos chave: os dados de entrada, o processamento e os dados de saída. Os dados de entrada são os elementos necessários para a solução do problema; o processamento são os passos necessários para chegar a solução; e os dados de saída indica o resultado após o processamento.
FLUXOGRAMA
- Os fluxogramas são representações gráficas de algoritmos, onde utilizamos símbolos para ilustrar o que deve acontecer naquele momento.
- Os desvios sempre contém uma operação de comparação, sendo as principais operações a de maior (>), menor (<), maior ou igual (>=), menor ou igual (<=), igual (=) ou diferente (<>).
- Os fluxogramas são uma ferramenta muito útil para detecção de erros nos algoritmos, a visualização gráfica facilita a compreensão do problema e ajuda a identificar os possíveis problemas que temos no desenvolvimento.
- Os fluxogramas são representações gráficas de algoritmos, onde utilizamos símbolos para ilustrar o que deve acontecer naquele momento.
CONCEITOS BÁSICOS DE PROGRAMAÇÃO
- Todas as linguagens de programação compartilham da mesma base de raciocínio. Em qualquer de programação que comporte programação imperativa, poderá utilizar condicionais, repetições, funções, variáveis, vetores, matrizes e registros.
- CONSTANTES
- As constantes são utilizadas quando temos valores fixos ou que variam raramente.
- Para representar uma constante, o símbolo de atribuição (:= ou ←) nunca é utilizado. Como ela é constante informamos que o identificador é igual (=) a um valor
- IDENTIFICADORES
- Os identificadores são nomes que identificam valores dentro de um procedimento ou função.
- Tais identificadores devem ser utilizados para informar o que deve ser utilizado sem se preocupar com os valores que o identificador pode assumir. Identificadores são utilizados em variáveis, constantes e em nomes de procedimentos e funções.
- Um identificador deve ser único, não podendo haver uma constante com o mesmo identificador de uma variável, ou uma variável com o mesmo identificador que uma constante, como também não pode haver uma variável/constante com o mesmo nome que o procedimento ou função no qual ela é utilizada.
- Eles não podem conter espaços nem acentos e nunca devem ser iniciados por números. Alguns exemplos de uso incorreto de identificadores são: ‘vezes dois’, ‘multiplicação’, ‘1numero’, etc.
- VARIÁVEIS
- As variáveis são utilizadas para armazenar valores que serão alterados posteriormente e para armazenar resultados de cálculos matemáticos ou lógicos. Como as variáveis armazenam valores, é necessário informar qual tipo de valor ela pode armazenar e isso é feito através da utilização do símbolo : que significa “do tipo”.
- A utilização das variáveis deve ser feita através da utilização dos símbolos de atribuição (:= ou ←) podendo ser seguida de um valor ou cálculo.
ESTRUTURAS DE FLUXO
- CONDICIONAIS
- As estruturas condicionais são utilizadas quando é necessário saber a resposta a alguma pergunta antes de executar uma tarefa ou tomar uma decisão. Para esta tarefa temos duas estruturas, o “if condição then” e “case valor of”.
- ESTRUTURA “se <condição> então”
- ESTRUTURA “caso <valor> for”
- Condições geralmente são utilizadas diretamente em estruturas condicionais e de repetição, porém é possível armazenar o resultado de uma condição em uma variável antes de utilizá-la. As mesmas opções que podem ser utilizadas em um desvio de fluxograma, podem formar uma condição. Uma questão importante é que todas condições devem ser interpretadas como perguntas.
- As condições podem ser simples ou compostas, as condições simples são como as descritas acima e as condições compostas são uniões de condições de simples. Essa união é feita através dos operadores “e” e “ou”.
- As estruturas condicionais são utilizadas quando é necessário saber a resposta a alguma pergunta antes de executar uma tarefa ou tomar uma decisão. Para esta tarefa temos duas estruturas, o “if condição then” e “case valor of”.
- REPETIÇÃO TIPO ENQUANTO
- As estruturas de repetição podem ser representadas em três formas, utilizando enquanto, repita ou para, cada uma com a sua função ideal. Cada classe de problema tem uma repetição mais indicada. Quando analisamos um problema que percebemos a necessidade de uma estrutura de repetição, primeiro devemos identificar qual o tipo de condição esse problema exige.
- ESTRUTURA “enquanto <condição> faça”
- As estruturas de repetição podem ser representadas em três formas, utilizando enquanto, repita ou para, cada uma com a sua função ideal. Cada classe de problema tem uma repetição mais indicada. Quando analisamos um problema que percebemos a necessidade de uma estrutura de repetição, primeiro devemos identificar qual o tipo de condição esse problema exige.
- REPETIÇÃO TIPO REPITA
- Neste outro formato de repetição, a condição de parada é verificada após 1 execução, ou seja, utilizamos esse tipo de estrutura quando existe a necessidade de executar pelo menos uma vez, independente da condição.
- ESTRUTURA “repita … até <condição>”
- O “repita … até <condição>” funciona da mesma forma que a estrutura “enquanto <condição> faça”, porém a verificação da condição é diferente. A primeira verificação é feita após a primeira execução da repetição, e repete até que algo seja verdade ou em outras palavras, esta estrutura repete enquanto a condição não for verdadeira.
- Neste outro formato de repetição, a condição de parada é verificada após 1 execução, ou seja, utilizamos esse tipo de estrutura quando existe a necessidade de executar pelo menos uma vez, independente da condição.
- REPETIÇÃO TIPO PARA
- Esse estilo de repetição atende uma classe mais restrita de problemas. Isso se dá pelo fato de haver a necessidade de sabermos aonde começar e aonde a repetição deve terminar através de uma faixa de números inteiros. Isso significa que devemos saber de antemão exatamente quantas vezes a repetição ocorrerá. Diferente das repetições anteriores onde era verificado na hora da execução dos passos se era o momento de parar.
- ESTRUTURA “para <índice> de <inicio> até <fim> faça”
- A estrutura “para <índice> de <inicio> até <fim> faça” é considerada a mais simples de ser utilizada. Isso se dá ao fato de sabermos qual o índice que indica a contagem, assim como sabemos qual o início e o fim da repetição.
- Esse estilo de repetição atende uma classe mais restrita de problemas. Isso se dá pelo fato de haver a necessidade de sabermos aonde começar e aonde a repetição deve terminar através de uma faixa de números inteiros. Isso significa que devemos saber de antemão exatamente quantas vezes a repetição ocorrerá. Diferente das repetições anteriores onde era verificado na hora da execução dos passos se era o momento de parar.
- CONDICIONAIS
ENTENDENDO O CÓDIGO
- IDENTIFICANDO CONSTANTES
- Constantes não tem seu valor alterado, por possuir essa característica é um dos elementos mais simples de ser identificado. Para identificar uma constante basta analisar se o identificador nunca tem um valor atribuído a ele. Ou seja, caso um identificador esteja na esquerda da atribuição (id :=) não é constante, caso esteja sempre na direita da atribuição (:= id) ou apenas utilizado para cálculos (id * n) é constante, exceto quando é dado de entrada.
- IDENTIFICANDO VARIÁVEIS
- Variáveis tem seu valor alterado pelo menos uma vez no processamento, por possuir essa característica é outro elemento simples de ser identificado. Para identificar uma variável basta analisar se o identificador aparece pelo menos uma vez à esquerda de uma atribuição. Ou seja, caso um identificador esteja na esquerda da atribuição (id :=) é variável
- IDENTIFICANDO ESTRUTURAS CONDICIONAIS
- Identificar estruturas condicionais é uma tarefa simples, basta procurar no código a presença das estruturas estudadas. Caso o código tenha algum “if … then” ou “case … of” então temos a presença de estruturas condicionais. E caso queiramos saber qual a condição de cada estrutura, basta analisar o que está em “…”.
- IDENTIFICANDO ESTRUTURAS DE REPETIÇÃO
- Para identificar estruturas de repetição, o mesmo processo que para identificar condicionais é utilizado com a diferença que procuramos estruturas de repetição. Ou seja, devemos procurar “while … do”, “until …” e “for … do”.
- IDENTIFICANDO PROCEDIMENTOS E FUNÇÕES
- Quando o intuito é identificar se o código analisado se refere a um procedimento ou função basta verificar a presença de resultado (result) e caso exista um resultado é função, senão se trata de um procedimento. Vale ressaltar que a procura por um resultado deve ser feita com cuidado pois em alguns casos o resultado se encontra no meio do código, não sendo obrigatório ele estar sempre no final.
- IDENTIFICANDO CONSTANTES
ESTRUTURAS DE DADOS
- VETORES ESTÁTICOS
- Um vetor pode ser comparado com uma caixa que guarda o mesmo tipo de item. No nosso caso o mesmo tipo de informação. Quando criamos um vetor, temos que informar quantas “posições” ele tem e qual informação ele pode armazenar em cada uma das posições que pedimos para ele tornar disponíveis.
- Devemos saber exatamente quantas posições (ou quantos elementos) ele deverá armazenar. Seu tamanho é fixo. Os vetores funcionam exatamente da mesma forma que uma variável, ou seja, dependendo do lado da atribuição o comportamento é o mesmo. Assim como as variáveis, devemos utilizar o nome que demos para o vetor, a posição devemos indicar entre [ ].
- Todo novo tipo de dado que criamos, deve ser criado antes do escopo de qualquer função ou procedimento onde iremos utilizar esse novo tipo de dado. A declaração desse tipo tem a palavra type antes e na sequencia a especificação do novo tipo.
- Um vetor pode ser comparado com uma caixa que guarda o mesmo tipo de item. No nosso caso o mesmo tipo de informação. Quando criamos um vetor, temos que informar quantas “posições” ele tem e qual informação ele pode armazenar em cada uma das posições que pedimos para ele tornar disponíveis.
- MATRIZES ESTÁTICAS
- As matrizes são geralmente representadas utilizando primeiro o número da linha, depois o número da coluna.
- Quando estávamos trabalhando com vetores nós só precisávamos do indice, em matrizes já precisamos saber qual linha estamos trabalhando.
- REGISTROS
- Neles conseguimos agrupar diversos tipos de informações em um único identificador.
- Declaramos um registro assim como declaramos o vetor e a matriz para utilizarmos nas funções e procedimentos. As informações que colocamos na descrição são as que podemos utilizar no processamento através do ponto.
- VETORES E MATRIZES DINÂMICOS
- Para utilizar este tipo de estrutura, precisamos sempre lembrar que devemos aumentar seu tamanho toda vez que desejarmos incluir um novo elemento, assim como devemos lembrar-nos de diminuir seu tamanho toda vez que desejarmos remover algum elemento. Por esse motivo, podemos utilizar as estruturas dinâmicas, que podemos aumentar e diminuir conforme a nossa necessidade.
- VETORES DINÂMICOS
- Nos vetores, isso é feito através da utilização do procedimento SetLength. Nele temos 2 dados de entrada, o vetor ou a matriz que pretendemos alterar e qual seu novo tamanho.
- A utilização para armazenar é a mesma, apenas foi necessário indicar o tamanho do vetor antes de utilizá-lo. Devemos indicar o tamanho antes, pois precisamos que o computador reserve esse espaço antes da utilização.
- Para descobrir o tamanho atual de um vetor utilizamos a função Length, para saber a última posição utilizamos a função High e para a menor posição utilizamos a função Low (a função low seria utilizada mais em exceções onde os vetores e matrizes não iniciariam em 0). Essas três funções tem como dado de entrada um vetor ou matriz dinâmico e seu dado de saída é um valor inteiro.
- MATRIZES DINÂMICAS
- Agora as matrizes dinâmicas necessitam de um cuidado especial. Como é necessário definir o número de linhas e colunas, temos que informar para o computador a quantidade de linhas e em seguida, informar quantas colunas cada linha possui. Para conseguirmos isso, precisamos percorrer cada elemento de linha que definimos informando quantas colunas esses elementos possuem. Podemos facilitar as coisas criando uma função que receba a quantidade de linhas e colunas que precisamos na matriz, e a função devolve como dado de saída a matriz já formada.
- VETORES DINÂMICOS
- Para utilizar este tipo de estrutura, precisamos sempre lembrar que devemos aumentar seu tamanho toda vez que desejarmos incluir um novo elemento, assim como devemos lembrar-nos de diminuir seu tamanho toda vez que desejarmos remover algum elemento. Por esse motivo, podemos utilizar as estruturas dinâmicas, que podemos aumentar e diminuir conforme a nossa necessidade.
- VETORES ESTÁTICOS
Informationen
- Beschreibung
- Mindmap am Algoritmos e Programação Aplicados à Engenharia, erstellt von Ulisses Fontenele am 02/10/2021.
- Erstellt von
- Ulisses Fontenele
- Aufrufe
- 1
- Bewertung