










Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Um algoritmo nada mais é que uma sequência de instruções ou comandos realizados de forma sistemática com a finalidade de resolver um problema ou executar uma determinada tarefa. Ou seja, é criado para resolver “problemas”, com instruções bastante simples e exatas.
Tipologia: Resumos
1 / 18
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Uma constante é um item de dados nomeado com um valor predefinido, enquanto que uma variável é um item de dados nomeado cujo valor pode ser alterado durante a execução do programa. As variáveis podem ser globais ou locais. Todos os dados são representados como um de três tipos de dados básicos: Int Tipo de dados inteiro (+ - seguido por 1 ou mais dígitos de 0–9). Real Ponto flutuante (+ - seguido por zero ou mais dígitos 0–9). Ponto decimal seguido por 1 ou mais dígitos 0–9. Observe que todos os números são armazenados internamente como Flutuantes. Sequência Qualquer sequência Unicode válida colocada entre aspas. Constantes Uma constante é um item de dados denominado com um valor predefinido. Não é possível alterar o valor designado a uma constante predefinida. As constantes predefinidas são: NULL Uma referência vazia. Semelhante a um ponteiro vazio. Observe que não é igual a uma cadeia nula "". Verdadeiro Equivalente ao número 1. Falso Equivalente ao número 0. Definições de Variável --Toda variável tem
**- um nome (identificador)
foram definidas. Apesar de nomes e identificadores de variáveis precisarem ser exclusivos, é válido declarar uma variável local que tem o mesmo nome que a global ou o mesmo nome que uma variável local definida em outra função. Os nomes de parâmetro em uma definição de função são considerados como variáveis locais. Os dados transmitidos a uma função são por valor. Uma variável global transmitida a uma função não será alterada pela função.
Identificadores são conjuntos de caracteres regido por determinadas leis que representam constantes, variáveis, tipos, procedimentos, unidades, programas e campos de um registro (estes itens serão analisados mais adiante no curso). As leis que regem este conjunto de caracteres são: Podem ter qualquer tamanho, mas somente os 63 primeiros caracteres são significativos, porém recomenda-se o uso de no máximo 8 caracteres; O primeiro caracter do identificador obrigatoriamente tem que ser uma letra; No conteúdo do identificador não pode conter caracteres especiais (!@#$%&*/-+<>?), ou seja no identificador só podemos ter, após o primeiro caracter, letras, números e sublinhada ( _ ); Nos identificadores não pode conter espaços em branco; Não podem haver nenhum identificador repetido; E também não ter o mesmo nome de palavras reservadas.
Palavras reservadas, são identificadores que já foram usados pelo programa, ou seja se caso utilizarmos uma destas palavras iremos infringir a regra de que não se pode haver identificadores repetidos. Segue abaixo uma tabela de palavras reservadas pelo Pascal (programa utilizado para estudo de algoritmos em nosso curso), que já foram destinadas a identificar outros elementos. ABSOLUTE AND ARRAY BEGIN CASE CONST DIV DO DOWTO ELSE EXTERNAL FILE FOR FORWARD FUNCTION GOTO IF IMPLEMENTATION IN INTERFACE INTERRUPT LABEL MOD NIL NIT OF OR PACKED PROGRAM RECORD REPEAT SET SHL SHR STRING THEN TO UNIT UNTIL USES VAR WHILE WITH XOR Estes são apenas alguns exemplos de identificadores contidos do Pascal, mais adiante será apresentados algumas funções onde seu nomes se enquadram nesta lista.
‘A’, ‘a’, ‘1’, ‘% Classe de dados “Lógica” Boolean – recebe apenas valores lógicos. True (verdadeiro) ou False (falso) Ex.: Casado := Sim ou Não. Classe de dados “Estruturados” String – recebe dados alfanuméricos. Ou seja, recebe um conjuntos de dados simples ( Char ). O tamanho máximo deste tipo de dados é de 255 caracteres. Ex.: ‘anna’, ‘paula’, ‘teste123’ O que é um operador?
Operadores Aritméticos
Operadores Aritméticos
16 Horizontalização de Fórmulas (Linearização) Para o desenvolvimento de algoritmos que possuam cálculos matemáticos, as expressões aritméticas devem estar horizontalizadas, ou seja, linearizadas e, para isso, deve-se utilizar os operadores corretamente. Na Tabela 8 a seguir, é apresentado um exemplo de uma expressão aritmética na forma tradicional e como deve ser utilizada nos algoritmos e em programação em geral (linearmente). Matemática Tradicional Algoritmo (ou Programa) M ← (N1 + N2) / 2 Tabela 8: Exemplo de Horizontalização de Expressões Aritméticas As expressões matemáticas na forma horizontalizada não são apenas utilizadas em algoritmos, mas também na maioria das linguages de programação. Ordem de precedência entre operadores
Em Algoritmos…
o
Olá desenvolvedores, hoje com o portugol vamos de fato começar a dar nossos primeiros passos em lógica de programação. Para tanto, antes de começarmos a escrever nossos programas em linguagem codificada, vamos usar um recurso mais amigável e próximo da nossa linguagem, o pseudocódigo.
Por meio do Portugol, poderemos escrever algoritmos estruturados em português, e isso, independente da linguagem de programação. Então se você ainda não é aluno do Formação Java Web, não tem problema, fique com a gente e comece agora a desenvolver sua mentalidade de desenvolvedor. “Portugol, também conhecido como Português estruturado, é um pseudocódigo escrito em português”. Apesar de sucinta, esta definição da Wikipédia cumpre o seu papel de elucidar a ideia de que, apesar de não ser uma linguagem de computador real, o Portugol auxilia de forma didática no desenvolvimento de algoritmos. No entanto, sem a preocupação com a sintaxe correta do Java, ou qualquer outra linguagem. Apesar de não ser uma linguagem de computador real, o Portugol ou português estruturado, nos possibilitará escrever nossos pseudocódigos obedecendo a estrutura de algoritmos. Estrutura esta a partir da qual escreveremos instruções de entrada, saída e processamento dos dados. Tais instruções representam as ações que ocorrem em um sistema real. Começar com o Portugol vai auxiliar você, programador iniciante, a formar sua mentalidade de programador. E vai ajudá-lo a entender os princípios fundamentais que dão sustentação a aprendizagem de lógica de programação e algoritmos. Veja um exemplo prático do Portugol.
Algoritmo "soma" var num01, num02, soma: REAL Início ESCREVAL("Entre com o 1º número") leia(num01) ESCREVAL("Entre com o 2º número")
Contamos um pouco de história e curiosidades, na próxima postagem esteja pronto para colocar a mão na massa. Nos vemos lá.
A organização é um fator crucial para a construção de um software. Sem ela a codificação não reagiria aos padrões de desenvolvimento que contribui para a legibilidade e escalação do código. Imagine que
um módulo, nunca visto anteriormente, precise ser analisado por um programador. Por mais que ele domine a linguagem em exercício é provável que a interpretação seja prejudicada se não houver um conjunto de coeficientes, envolvendo métodos de estandardização, que intensifiquem a compreensão do documento. Um dos requerimentos imprescindíveis para isso é a indentação de código que promove a hierarquização dos blocos instrucionais.
A Indentação é uma técnica baseada em “ recuos ” que permite distinguir os arranjos do programa para deixar o código visualmente organizado. Em algumas linguagens como Pascal, JavaScript, C, Elixir, Lua, C++ e Java, a indentação não faz a menor diferença, ou seja, não altera o desempenho do programa. Ela só serve para coadjuvar o programador na leitura dos módulos durante a análise do algoritmo. Mas em outras linguagens como Python e Haskell a indentação é uma tarefa obrigatória para o desempenho do programa. A maioria dos ambientes de desenvolvimento oferecem recursos que identificam os blocos e suas hierarquias para automatizar o processo de indentação.
Normalmente, para fazer a indentação, pode-se usar algumas teclas como “ tab ” ou “ espaço “. Todavia, ambas as preferências são bastante discutidas entre os programadores. Na medida em que alguns preferem usar o “ tab “, argumentando ser um recuo ágil e admissível,
Além disso, o término de cada instrução deve ser indicado com o símbolo de ponto e vírgula “;” e comentários para melhorar a compreensão do pseudocódigo podem ser adicionados ao final de qualquer linha de comando, precedidos de duas barras “//”. Comando de entrada de dados O comando de entrada de dados tem como objetivo enviar para uma variável, um valor informado pelo usuário através de dispositivos de entrada. Caso você não saiba o que são esses dispositivos, acesse agora a aula sobre a arquitetura de um computador digital para ficar por dentro do assunto. A utilização do comando de entrada de dados acontece através da instrução “leia (identificador)” e é ilustrada nos dois casos a seguir. a) inteiro: x; leia (x); b) real: y; caracter: z; leia (y,z); No primeiro exemplo, o usuário deverá fornecer um valor inteiro que será atribuído à variável x. Já no segundo exemplo, duas informações deverão ser enviadas pelo usuário, a primeira delas, do tipo real, enviada para a variável y , enquanto que a segunda é do tipo caracter, atribuída à variável z. Comando de saída de dados O último comando que veremos nessa aula é o comando de saída de dados, utilizado para enviarmos uma determinada informação para o usuário via dispositivos de saída. Novamente, recomendamos que acesse nossa aula sobre a estrutura de um computador digital caso ainda não conheça esses dispositivos. O comando de saída de dados é representado pela instrução “escreva (informação)”. Essa informação pode estar tanto contida em variáveis quanto em formato de texto, conforme podemos observar nos dois exemplos abaixo. a) escreva (x); b) escreva (“Hoje é dia”, x, “de maio”); Os caracteres que representam informação no formato de texto devem estar contidos entre aspas duplas para que o algoritmo seja capaz de diferenciá-los dos identificadores de variáveis. Além disso, devemos separar as informações por vírgulas “,” sempre que desejarmos alternar entre texto e variável. Para entendermos melhor a utilização de cada um desses comandos, vejamos agora um exemplo de um algoritmo completo, que lê e imprime o nome do usuário na tela do computador. Nosso primeiro algoritmo Problema para ler e imprimir um nome 1 inicio; //Início do algoritmo 2 caracter: nome[1…10]; //Declara a variável nome como carac
3 escreva (“digite o seu nome: “); //Exibe a mensagem na tela para o us 4 leia (nome); //Armazena o nome digitado na variáv 5 escreva (“o seu nome é: “, nome); //Exibe a mensagem e o nome digitado 6 fim. //Fim do algoritmo Nesse exemplo, adicionamos comentários e numeramos cada uma das linhas do algoritmo. Apesar de não serem obrigatórios, esses elementos facilitam a compreensão e a simulação do pseudocódigo, conforme veremos mais adiante. Todo algoritmo deve ser iniciado com o comando “inicio” na linha 1 e finalizado com o comando “fim” na última linha. Além disso, de forma a melhorar a visualização e localização de qualquer informação dentro de pseudocódigos mais longos, é uma boa prática indentarmos (deslocarmos para a direita) o conteúdo do algoritmo entre esses comandos de “inicio” e “fim”. Mais um exemplo de atribuição, entrada e saída de dados Problema do cálculo da idade em dias 1 inicio; //Início do algoritm 2 inteiro: idade_dias, idade_anos; //Declara as variáve 3 escreva (“Informe a sua idade em anos: “); //Exibe a mensagem n 4 leia (idade_anos); //Armazena a idade e 5 idade_dias idade_anos*365; //Calcula a idade em 6 escreva (“Você viveu”, idade_dias, “dias.”); //Exibe a mensagem n 7 fim. //Fim do algoritmo Um outro exemplo de algoritmo é apresentado acima, dessa vez, para lermos a idade em anos de um usuário e calcularmos a idade em dias. A informação do usuário é enviada à variável idade_anos. O valor contido nessa variável é multiplicado por 365 e o resultado atribuído à variável idade_dias. Ao final, uma mensagem é impressa na tela do computador informando o resultado. Vamos aproveitar esse exemplo para aprendermos a simular a execução de um pseudocódigo. Essa técnica é útil para que possamos procurar por eventuais erros de lógica dentro dos algoritmos que viermos a desenvolver. Como simular um algoritmo Para simularmos a execução de um algoritmo, devemos criar uma tabela parecida com a Tabela 1 abaixo. A primeira coluna indica a sequência de execução do algotimo, linha por linha. As outras colunas mostram cada uma das variáveis do pseudocódigo e a tela do computador. Simulando a execução do algoritmo para cálculo da idade em dias de um usuário