Algoritmos e Lógica de Programação

Começar. É Gratuito
ou inscrever-se com seu endereço de e-mail
Algoritmos e Lógica de Programação por Mind Map: Algoritmos e Lógica de Programação

1. EVOLUÇÃO DOS COMPUTADORES

2. Exemplos de Dispositivos Mistos: pen drive, disco de DVD e cartão de memória.

3. Funciona como tradutor de uma linguagem de alto nível em uma linguagem de baixo nível que se comunica diretamente com o processador, o compilador que permite escrever códigos utilizando linguagens mais simples como c, Java etc., sem precisar se preocupar com linguagem de maquina assembly ou binaria, o compilador é uma ferramenta que entende as duas linguagens, desse modo anunciará quando ocorrer erros de semântica no código fonte ao tentar se transformar em uma linguagem de baixo nível, após o compilador ler todas as linhas do algoritmo pode ser transferido e executado por outros computadores.

4. Alguns comandos de entrada recebem seus dados a partir dos dispositivos de entrada , que permitem a interação direta do usuário com a maquina. Alguns deles são:

4.1. Teclado

4.2. Mouse

4.3. Joystick

5. 7. Utilizar espaços em Branco Para melhorar a legibilidade e aparência do algoritmo

6. Considerado algoritmo:

6.1. Sequência ordenada

7. algoritmo, programa, bloco, inteiro, fim

8. Tipos de dados

9. Uma matriz quadrada 2x2 real, por exemplo, pode ser definida pela seguinte linha de comando: A: vetor[1..2, 1..2] de real.

10. Resulta somente a parte inteira de um número real

11. Exemplo: A ß 10 X ß ‘A’ Escreva (A) Escreva (“a letra x é”, x)

12. Alguns exemplos de algoritmos que podemos citar são: receitas culinárias, manual de instrução de aparelhos, funções matemáticas

13. Comando de entrada

13.1. Este comando permite imprimir algo em um dispositivo de saída.

14. O que são operadores aritméticos?

14.1. Operadores Artméticos são aqueles que nos permite realizar uma operação aritmética fundamental básica da matemática, aquelas que conhecemos desde cedo como soma, subtração, multiplicação e divisão. Em algoritmos eles também são simples e têm a mesma simbologia em todas as linguagens de programação ( +, -, * e / ).

15. VANTAGENS E DESVANTAGENS DAS LINGUAGENS DE ALTO NÍVEL vantagens: facilidade de aprendizagem; produtividade do programador; tempo menor para escrever códigos; facilidade de entendimento para outro programador caso precise verificar o código em questão. desvantagens: algumas ocasiões o desempenho pode ser prejudicado; exige maior tempo de processamento; ocupam maior memoria em relação as de baixo nível.

16. Possibilidades de ERROS num Programa

16.1. Erros de compilação

16.1.1. digitação ou de sintaxe da linguagem

16.2. Erros de link-edição

16.2.1. uso de bibliotecas de sub-programas

16.3. Erros de execução

16.3.1. algoritmo

17. Soma Var v:vetor[1..5] de real n:inteiro s:real Inicio escreval ("Soma de 5 números") para n de 1 ate 5 faca escreva ("Digite o número ",n,":") leia (v[n]) s<-s+v[n] fimpara limpatela escreva ("Soma: ",s) Fimalgoritmo

18. Com o diagrama podemos definir uma sequência de símbolos, com significado bem definido. Portanto, sua principal função é a de facilitar a visualização dos passos de um processamento.

19. Decisão - Indica processos de decisão e é representado por um losango.

20. Linguagem de máquina

20.1. É uma linguagem de baixo nível que permite a comunicação direta com a máquina por ser de base binária (composta por zeros e uns). Entretanto, não é muito utilizada, na atualidade, pois é difícil de ser aprendida, trabalhada, além de ser muito suscetível a erros.

21. Início e fim

22. criar projetos

22.1. ALGORITMOX

23. Declaramos uma matriz da seguinte forma: nome_matriz: [x..y,w..z] de tipo Onde x..y são os limites de linhas é w..z são os limites de coluna. Exemplo: matriz com 5 linhas e 3 colunas: Matriz: vetor[0..4,0..2] de inteiro

23.1. Exemplos de matrizes no visualg

23.1.1. Algoritmo "Somar_Matrizes" Var a: vetor [1..3,1..5] de real b: vetor [1..3,1..5] de real c: vetor [1..3,1..5] de real i,j:inteiro Inicio para i de 1 ate 3 faca para j de 1 ate 5 faca escreva("Digite o valor da posição[",i,",",j,"] para o conjunto A: ") leia (a[i,j]) fimpara fimpara para i de 1 ate 3 faca para j de 1 ate 5 faca escreva ("Digite o valor da posição[",i,",",j,"] para o conjunto B: ") leia (b[i,j]) fimpara fimpara Escreval () Escreval("Matriz A:") Escreval ("----------------") para i de 1 ate 3 faca para j de 1 ate 5 faca escreva (a[i,j]:3) fimpara escreval () fimpara escreval("----------------") Escreval() escreval("Matriz B:") escreval("----------------") para i de 1 ate 3 faca para j de 1 ate 5 faca escreva (b[i,j]:3) fimpara escreval () fimpara escreval("----------------") para i de 1 ate 3 faca para j de 1 ate 5 faca c[i,j]<- a[i,j]+b[i,j] Fimpara fimpara Escreval() escreval ("A matriz soma de (A+B) é igual a: ") escreval("----------------") para i de 1 ate 3 faca para j de 1 ate 5 faca escreva (c[i,j]:3) Fimpara escreval() fimpara escreval("----------------") Fimalgoritmo

23.1.1.1. Digite o valor da posição[ 1, 1] para o conjunto A: 1 Digite o valor da posição[ 1, 2] para o conjunto A: 2 Digite o valor da posição[ 1, 3] para o conjunto A: 2 Digite o valor da posição[ 1, 4] para o conjunto A: 1 Digite o valor da posição[ 1, 5] para o conjunto A: 2 Digite o valor da posição[ 2, 1] para o conjunto A: 2 Digite o valor da posição[ 2, 2] para o conjunto A: 2 Digite o valor da posição[ 2, 3] para o conjunto A: 1 Digite o valor da posição[ 2, 4] para o conjunto A: 2 Digite o valor da posição[ 2, 5] para o conjunto A: 1 Digite o valor da posição[ 3, 1] para o conjunto A: 1 Digite o valor da posição[ 3, 2] para o conjunto A: 1 Digite o valor da posição[ 3, 3] para o conjunto A: 2 Digite o valor da posição[ 3, 4] para o conjunto A: 2 Digite o valor da posição[ 3, 5] para o conjunto A: 1 Digite o valor da posição[ 1, 1] para o conjunto B: 2 Digite o valor da posição[ 1, 2] para o conjunto B: 2 Digite o valor da posição[ 1, 3] para o conjunto B: 2 Digite o valor da posição[ 1, 4] para o conjunto B: 1 Digite o valor da posição[ 1, 5] para o conjunto B: 1 Digite o valor da posição[ 2, 1] para o conjunto B: 2 Digite o valor da posição[ 2, 2] para o conjunto B: 2 Digite o valor da posição[ 2, 3] para o conjunto B: 2 Digite o valor da posição[ 2, 4] para o conjunto B: 2 Digite o valor da posição[ 2, 5] para o conjunto B: 1 Digite o valor da posição[ 3, 1] para o conjunto B: 1 Digite o valor da posição[ 3, 2] para o conjunto B: 1 Digite o valor da posição[ 3, 3] para o conjunto B: 2 7Digite o valor da posição[ 3, 5] para o conjunto B: 2 Matriz A: ---------------- 1 2 2 1 2 2 2 1 2 1 1 1 2 2 1 ---------------- Matriz B: ---------------- 2 2 2 1 1 2 2 2 2 1 1 1 2 1 2 ---------------- A matriz soma de (A+B) é igual a: ---------------- 3 4 4 2 3 4 4 3 4 2 2 2 4 3 3 ---------------- >>> Fim da execução do programa !

24. Leia(x)

25. algoritmo "Média" var Media, P1, P2, P3, P4: real inicio Escreva("Digite a nota 1: ") Leia (P1) Escreva("Digite a nota 2: ") Leia (P2) Escreva("Digite a nota 3: ") Leia (P3) Escreva("Digite a nota 4:") Leia (P4) Media <- (P1 + P2 + P3 + P4) / 4 Se (Media >= 7) entao Escreval (Media," Aluno Aprovado!") Senao Escreval (Media," Aluno Reprovado!") Fimse fimalgoritmo

26. se <expressão-lógica> entao <sequência-de-comandos-1> senao <sequência-de-comandos-2> fimse

27. Problema

27.1. Mundo real

28. Operadores aritiméticos

28.1. SINAL

28.1.1. Fornece o valor +1, -1 ou 0 de acordo com valor da variável, se ela for, respectivamente, positiva, negativa ou zero

28.2. DIV

28.2.1. Retorna o quociente de uma divisão de números Inteiros

28.3. TRUNCA

28.3.1. Retorna a parte inteira de um número Fracionário

28.4. ARREDONDA

28.4.1. Realiza o arrendondamento de um número fracionário o transformando em um número inteiro

28.5. +

28.5.1. Realiza a operação de soma

28.6. -

28.6.1. Realiza Subtração

28.7. *

28.7.1. Realiza Multiplicação

28.8. /

28.8.1. Realiza Divisão

28.9. % ou MOD

28.9.1. Retorna o resto de uma divisão de números Inteiros

29. O diagrama de blocos ou fluxograma é uma forma padronizada eficaz para representar os passos lógicos de um determinado processamento (algoritmos).

30. Operadores

30.1. **

30.2. Operador de atribuição

30.2.1. <-

30.3. Funções primitivas

30.3.1. LOG(x)

30.3.1.1. Resulta o logaritmo da base10 de "X"

30.3.2. SEN(x)

30.3.2.1. Resulta o seno de X

30.3.3. ABS(x)

30.3.3.1. Resulta o valor absoluto de X

30.3.4. ARREDONDA(x)

30.3.4.1. Arrendonda um número real para um número inteiro

30.3.5. RAIZ(x)

30.3.5.1. Resulta a raiz quadrada de X

30.4. Operadores relacionais

30.4.1. Eles são utilizados para comparar STRING de caracteres e números.

30.4.2. Estes operadores sempre retornam valores lógicos( VERDADEIRO OU FALSO).

30.4.3. Operadores lógicos

30.4.3.1. Estes operadores servem para combinar resultados de expressões.

30.4.3.2. Retoma se o resultado final é verdadeiro ou falso.

31. Entrada Manual - Indica à entrada de dados via teclado e é representado por um trapezio.

32. Escreva(x) ou Imprima(x)

33. Comando de saída

33.1. Este comando determina que será utilizada uma entrada por parte do usuário para fornecer um valor a uma determinada variável.

33.1.1. Exemplo: leia (idade)

34. Vetor de vetores.

35. Conceito simplificado - Algoritmo

35.1. Passos

35.1.1. Linguagem computacional

35.1.1.1. Input

35.1.1.2. Output

35.2. Solução

35.2.1. Mundo real

36. Diagrama de Blocos

36.1. SÍMBOLOS MAIS ULTILIZADOS

36.1.1. Fluxo de Dados - Indica o sentido do fluxograma e é representado por uma seta.

36.1.2. Terminal - Indica o início ou fim de um processamento e é representado po uma elipse.

36.1.3. Processamento - Indica processamento em geral e é representado por um retangulo.

36.1.4. Entrada/Saída - Indica a operação de entrada e saída de dados e é representado por um parelelogramo.

36.1.5. Desvio - Indica o desvio para um ponto qualquer do programa e é representado por um circulo pequeno.

37. Algoritimos - Comandos Básicos

37.1. Identificadores básicos

37.1.1. Real

37.1.2. Lógico

37.1.3. Inteiro

37.1.4. Texto ou Cadeia de caracter

37.1.5. Carcater

37.2. Comandos simples

37.2.1. leia(x)

37.3. Comandos compostos

37.3.1. leia(x); y<-2*x

38. VisuAlg

38.1. O que é?

38.1.1. VisuAlg é um programa gratuito de edição, interpretação e execução de algoritmos, com uma linguagem próxima ao portugol (português estruturado).

38.2. Formato básico do pseudocódigo

38.2.1. algoritmo "semnome" // Função : // Autor : // Data : // Seção de Declarações inicio // Seção de Comandos fimalgoritmo

38.3. Principais comandos

38.3.1. escreva (<lista-de-expressões>)

38.3.2. escreval (<lista-de-expressões>)

38.3.3. leia (<lista-de-variáveis>)

38.3.4. Para ... faça Esta estrutura repete uma sequência de comandos um determinado número de vezes.

38.3.5. Enquanto ... faça Esta estrutura repete uma sequência de comandos enquanto uma determinada condição (especificada através de uma expressão lógica) for satisfeita.

38.3.6. se <expressão-lógica> entao <sequência-de-comandos> fimse

38.3.6.1. inteiro: define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais. real: define variáveis numéricas do tipo real, ou seja, com casas decimais. caractere ou caracter: define variáveis do tipo string, ou seja, cadeia de caracteres. logico: define variáveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO.

38.4. Exemplo de algoritmo no VisuAlg

38.4.1. Repita ... até Esta estrutura repete uma sequência de comandos até que uma determinada condição (especificada através de uma expressão lógica) seja satisfeita.

39. Linguagem de Programação

39.1. Baixo nível

39.1.1. Mais Próxima a linguagem do Computador

39.1.1.1. Linguagem de Maquina

39.1.1.2. Linguagem Assembly

39.1.2. são voltadas para o entendimento da máquina, sua sintaxe é mais complexa e não contam com comandos intuitivos( como por exemplo comandos como "print" ou "delete"). Sendo assim, para utilizá-las é preciso conhecer não só a linguagem, mas também o hardware com qual irá trabalhar.

39.2. Alto nível

39.2.1. Mais Próxima a linguagem Humana

39.2.1.1. Javascript

39.2.1.2. Python

39.2.2. Como são linguagens voltadas para o entendimento humano logo, são muito mais intuitivos e amigáveis principalmente para quem está iniciando na área de programação. Estas linguagens abstraem conceitos voltados para maquina e sintetizam comandos, por exemplo: "print" e "delete" são instruções comuns nessas linguagens e servem para mostrar uma informação na tela ou deletar algum dado.

39.3. especificar um conjunto de instruções

39.4. Gerações das Linguagens de Programação

39.4.1. Primeira Geração

39.4.1.1. 1940

39.4.1.2. Baixo nível

39.4.1.3. 0 e 1

39.4.2. Segunda Geração

39.4.2.1. Assembly

39.4.2.2. Primeira metade de 1950

39.4.2.3. Linguagem de montagem

39.4.2.4. Baixo Nível

39.4.2.5. Mnemônicos e símbolos

39.4.3. Terceira Geração

39.4.3.1. Linguagens

39.4.3.1.1. Java

39.4.3.1.2. C++

39.4.3.1.3. C

39.4.3.1.4. Lisp

39.4.3.1.5. Fortran

39.4.3.2. Procedurais

39.4.3.3. Segunda metade de 1950

39.4.3.4. Linguagens de alto nível

39.4.4. Quarta Geração

39.4.4.1. James Martin

39.4.4.1.1. Livro: "Applications Development Without Programmers", em 1982.

39.4.4.2. Aplicações específicas

39.4.4.3. Linguagens de alto nível

39.4.4.4. Linguagens

39.4.4.4.1. SQL

39.4.4.4.2. PostScript

39.4.4.4.3. Nomad

39.4.5. Quinta Geração

39.4.5.1. Linguagens de alto nível

39.4.5.2. Lógica com restrição

39.4.5.3. Inteligência artificial e linguística computacional

39.4.5.4. Linguagens

39.4.5.4.1. Prolog

39.4.5.4.2. OPS5

39.5. INT(x)

40. Mindmeister

40.1. Estruturas de controle

40.1.1. estrutura condicional

40.1.1.1. if, if-else, operador ternário

40.1.1.1.1. Bem definido

40.1.2. estrutura de repetição

40.1.2.1. for, while, do-while

40.1.2.1.1. return, break, continue

40.1.2.1.2. contador, sentinela

40.2. criar pasta

40.2.1. estrutura de seleção

40.2.1.1. switch-case

40.2.2. Padrões de Mapa

40.2.2.1. Estilos

40.2.2.1.1. Brainstorming

40.2.2.1.2. Mapa Mental

40.2.2.1.3. Reuniões

40.2.2.1.4. Outros

41. Matrizes no visualg

41.1. Utilizando de variáveis inteiras como i e j, por exemplo, podemos definir os elementos dessa matriz com a estrutura de repetição "para".

41.2. Algoritmo "exemplo de matriz quadrada"

41.3. Var

41.4. A: vetor[1..2, 1..2] de real

41.5. i, j: inteiro

41.5.1. Quando a estrutura de repetição está em i=1, varia-se j de 1 até 2, ou seja, define-se A(11) e (A12). Após o looping ser satisfeito, inicia-se outro com i=2, definindo-se A(21) e A(22).

41.6. Inicio

41.6.1. para i<-1 ate 2 faca

41.6.1.1. para j<-1 ate 2 faca

41.6.1.1.1. Leia (A[i,j])

41.6.1.2. fimpara

41.6.2. fimpara

41.6.3. para i<-1 ate 2 faca

41.6.3.1. para j<-1 ate 2 faca

41.6.3.1.1. Escreval ("O termo A", i, j, " é:", A[i,j])

41.6.3.2. fimpara

41.6.4. fimpara

41.7. Fimalgoritmo

41.8. O comando "Escreval ("O termo A", i, j, " é:", A[i,j])" escreve, em cada linha, o elemento A(ij) na ordem em que foi realizada a leitura.

42. Exemplos de algorítimos no visualg

42.1. Média Var v:vetor[1..10] de real n:inteiro s,m:real Inicio escreval ("Média de 10 números:") escreval() para n de 1 ate 10 faca escreva ("Digite o número ",n,":") leia (v[n]) s<-s+v[n] fimpara m<-s/n limpatela escreva ("Média: ",m) Fimalgoritmo

42.1.1. Média de nota e resultado de aprovação Var v:vetor[1..4] de real n:inteiro s,m:real Inicio escreval ("Notas") escreval () para n de 1 ate 4 faca escreva ("Digite a nota ",n,":") leia (v[n]) s<-s+v[n] fimpara m<-s/n limpatela escreval ("Resultado") escreval () se (m>7)ou(m=7) entao escreva ("Aluno aprovado, com média: ",m) senao escreva ("Aluno reprovado, com média: ",m) fimse fimalgoritmo

42.1.1.1. Juros Var j,s,v,t:real tm:inteiro Inicio escreval ("Juros") escreval () escreva ("Digite o valor: ") leia (v) escreva ("Digite a taxa de juros: ") leia (t) escreva ("Digite o tempo (meses): ") leia (tm) j<-(v*t*tm)/100 s<-v+j limpatela escreval ("Valor total a ser pago: ",s) escreval ("Valor dos juros: ",j) Fimalgoritmo

42.2. Soma Var v:vetor[1..5] de real n:inteiro s:real Inicio escreval ("Soma de 5 números") para n de 1 ate 5 faca escreva ("Digite o número ",n,":") leia (v[n]) s<-s+v[n] fimpara limpatela escreva ("Soma: ",s) Fimalgoritmo

42.2.1. Quantidade de pares e ímpares Var v:vetor [1..10] de inteiro n,p,i:inteiro Inicio escreval ("Quantidade de números pares e ímpares") escreval () para n de 1 ate 10 faca escreva ("Digite o número ",n,": ") leia (v[n]) se (v[n] mod 2<>0) entao i<-i+1 senao p<-p+1 fimse fimpara limpatela escreval ("Pares: ",p) escreval ("ímpares: ",i) Fimalgoritmo

42.2.1.1. Desconto Var v:vetor [1..5] de real n:inteiro Inicio escreval ("Valores") escreval () para n de 1 ate 5 faca escreva ("Digite o valor ",n,":") leia (v[n]) v[n]<-v[n]*0.75 fimpara limpatela escreval ("Valores com desconto") escreval () para n de 1 ate 5 faca escreval ("Valor ",n,":",v[n]) fimpara Fimalgoritmo

43. são palavras que terão uso específico no pseudocódigo e que não deverão ser usadas como identificadores para não causar confusão na interpretação

43.1. exemplo:

43.1.1. procedimento, real, texto, const, matriz

43.1.2. var, tipo, inicio, imprima, se, função

43.1.3. então, senão, enquanto, repita

43.1.4. variando, faça, caso, ate, vetor

43.1.5. procedimento, execução, etc...

43.1.6. exemplo de algumas palavras reservadas em um programa Algoritmo "soma de n° primos e mutiplicaçao dos pares do vetor [1..100]" Var j:inteiro A: vetor [1..100] de inteiro B:inteiro Inicio para j de 1 ate 100 faça escreva("digite o", j,"° numero") leia(A[j]) fimpara para j de 1 ate 100 faça se A[j] mod 2 =0 entao B<-A[j]*5 escreval("a resposta da multiplicaçao do",j,"° numero é",B) senao fimse fimpara para j de 1 ate 100 faça se (A[j] mod 2) =1 entao B<-A[j]+5 escreval("a respodta da somado",j,"° numero é",B) fimse fimpara Fimalgoritmo

44. ALGORITMO × PROGRAMA

45. Algoritmo🤔 é uma descrição passo a passo de como um computador irá executar uma operação específica🤭 Programa😅 uma entidade que implementa uma ou mais operações de forma que seja útil para as pessoas que o utilizam 😉

45.1. Novo Tópico

46. VETORES

46.1. 6. Usar comentários no início do programa para explicar o que o algoritmo faz. - Exemplo: Uma descrição do que faz o algoritmo - Explicação do significado das variáveis mais importantes - Estrutura de dados utilizadas

46.2. São arranjos que armazenam elementos na memória principal, todos com o mesmo nome, um de cada vez. O índice i indica a posição de um elemento, e N são inteiros positivos

46.2.1. Declaração de Vetor

46.2.1.1. Tipo de dado: Nome [dimensão] Tipo de dado: inteiro, Real, Caracter Nome: nome do vetor dimensão: 1..N (Tamanho do vetor)

46.2.1.2. Exemplo de declaração Real: A [1..10] Caracter: Nome[1..10] Para o visualg Real: A[1..10] de inteiro Nome: Vetor[1..10] de caracter

46.2.2. Exemplo: Este algoritmo lê 18 números e faz a soma dos mesmos. Var j, soma :inteiro V: Vetor [1..18] de inteiro Inicio Para j de 1 ate 18 faca Escreval("Digite um número", j , "inteiro") Leia (V[j]) fimpara soma<-0 para j de 1 ate 18 faca Soma<- soma + V[j] fimpara Escreval ("A SOMA DOS NÚMEROS É", soma) Fimalgoritmo

46.3. Exemplo de vetores usando caractere

46.3.1. Ex: Um vetor que leia 20 nomes e os apresente em ordem alfabética. (No Visualg) Declarações das variáveis V: vetor [1..20] de caracter x, y: inteiro c: caracter Inicio para x de 1 ate 20 passo 1 faca escreval ("digite o",x, "nome: ") leia (v[x]) fimpara para y de 1 ate 20 passo 1 faca para x de 1 ate 19 passo 1 faca se (v[x]>v [x+1]) entao c<-v [x] v[x]<-v[x+1] v[x+1]<-c fimse fimpara fimpara para x de 1 ate 20 passo 1 faca escreval ("nomes em ordem alfabetica: "v[x]) fimpara fimalgoritimo

47. ESTRUTURAS BÁSICAS DE CONTROLE

47.1. RGRAS PRÁTICAS PARA A CONTRUÇÃO DE ALGORITMOS LEGÍVEIS

47.1.1. 1. Incorporar comentários no algoritmo - objetivo: descrever o significado das variáveis utilizadas - Exemplo: { Cálculo da média } Obs.: Os comentários devem ser encerrados entre chaves.

47.1.2. 2. Escolher nomes de variáveis que traduzam o tipo de informação que ela carrega - objetivo: certificar que o algoritmo funcionará corretamente imprimindo os dados de acordo com o tipo da variável. - exemplo: var: nota matrícula

47.1.3. 3. Grifar palavras-chave - objetivo: Destacar as estruturas de controle - Exemplo: se B =-1 então Obs: Se e então são estruturas de controle. Palavras a serem sublinhadas

47.1.4. 5. Fazer algoritmos que possam ser lidos, alterados por outras pessoas além de quem o construiu.

47.1.5. 8. Escolher nomes representativos para suas variáveis.

47.1.6. 9. Utilizar um comando por linha - Objetivo: tornar o algoritmo mais legível e mais fácil de ser depurado - Exemplo: A<-14,2;I<-1;enquantoI<10 façaX<-X+1;K<-I*K;I<I+1; fim enquanto Usando um comando por linha temos : A<-14,2 I<-1 Enquanto I<10 Faça X<-X+1 K<-I*K I<-I+1 Fim Enquanto

47.1.7. 4. Alinhar os comandos de acordo com o nível de acordo com o nível a que pertencem - Objetivo: Destacar a estrutura na qual o comando está contido - Exemplo: B<- A*C Enquanto P=1 faca P<- P+1 F <- X+ Nota/2 Fim enquanto Imprima ( F, Nota)

47.1.8. 10. Utilizar parêntese - Objetivo: aumentar a legibilidade e prevenir erros - Exemplo: Usando poucos Parêntese A*B*C/(C*D*E) Usando parênteses adicionais (A*B*C)/(C*D*E)

47.1.9. 11. Alterar comentários sempre que uma modificação for feita no algoritmo

48. Tipos de dados definidos pelo usuário.

48.1. Recebe valores digitados pelos usuário, atribuindo-os às variáveis.

48.2. Pode ser dos tipos inteiro, real, cadeia de caracteres ou lógico.

48.3. Inteiro : será introduzido à variável um numero que é escrito sem componente fracional -> 4,35, -234 ,etc.

48.4. Real : será introduzido a variável um numero um valor fracionário ou não -> 10 , 4.12 , 10.9892,√2,etc.

48.5. Caracter: será introduzido à variável uma cadeia de caracteres -> joao pedro, cacau, etc.

48.6. Lógico : define variáveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO.

49. Formas de Representar uma Lógica de Programação

49.1. Frases do processamento de um programa

49.2. Pseudocodígo

49.2.1. Tipos

49.2.1.1. Operadores Relacionais são utilizados para comparar valores, o resultado de uma expressão relacional é um valor booleano (VERDADEIRO ou FALSO).

49.2.1.2. Primitivos

49.2.1.2.1. inteiro - define variáveis numéricas do tipo inteiro, ou seja, sem casas decimais

49.2.1.2.2. real - define variáveis numéricas do tipo real, ou seja, com casas decimais

49.2.1.2.3. logico - define variáveis do tipo booleano, ou seja, com valor VERDADEIRO ou FALSO

49.2.1.2.4. caractere - define variáveis do tipo string, ou seja, cadeia de caracteres

49.2.1.3. Expressões Aritméticas

49.2.1.3.1. Exemplos: 3/4+5 3/(4+5) 3\2*9 Conceitos básicos de algoritmos = 5.75 = 0.33333333 44 3\2*9 11%3^2 11%(3^2) (11%3)^2 3\2+(65-40)^(1/2) = 9 = 2 = 2 = 4 = 6

50. Comando de atribuição

50.1. Este comando atribui valores variáveis e constantes que serão manipulados pelo programa.😗

51. Dispositivos

51.1. Dispositivos de Entrada: Dentre os diversos dispositivos de Entrada e Saída, existem alguns que realizam apenas a entrada de dados, ou seja, permitem inserir/armazenar informações.

51.1.1. Exemplos de Dispositivos de Entrada: mouse, teclado, microfone, joystick e scanner).

51.2. Dispositivos de Saída: Os dispositivos de saída, por sua vez, permitem somente a saída (visualização) das informações contidas no computador.

51.2.1. Exemplos de Dispositivos de Saída: monitor (tela), impressora e caixas de som.

51.3. Estrutura de repetição - laços (loops)

51.3.1. Laço enquanto

51.3.1.1. O enquanto é utilizado quando um conjunto de comandos deve ser executados repetidamente, enquanto a expressão lógica permanecer verdadeira. Se todo comando for verdadeiro, vai ocorrer o loop infinito, o que é não dá para interromper de forma natural. Se o primeiro comando for falso, o programa não vai ser executado nenhuma vez.

51.3.1.2. Representação no Portugol ... Enquanto (condição) faca bloco de programação que será repetido Fim Enquanto

51.3.2. Repetição com teste no final

51.3.2.1. Representação no Portugol repita C1 C2 C3 . . Cn ate <condição>

51.3.2.1.1. Usada quando não se sabe quantas vezes a a instrução ou bloco irá se repetir, mas tem que ser executado pelo menos uma vez. A vantagem do repita é que não precisa iniciar a(s) variável(eis) do controle do laço antes de entrar no mesmo. O teste fica repetindo até dar verdadeiro o comando.

52. Conceitos introdutórios

53. CONCEITOS INTRODUTÓRIOS

53.1. Sistema de informação: consiste de uma sólida infraestrutura sólida e abstrata que conecta as pessoas ao redor do mundo por meu da comunicação. Sendo esse, responsável pela base da economia. Esses processos tem origem desde que os primeiros homens pisaram na terra e se intensificou com o advento da globalização.

53.1.1. Transformação Social

53.1.1.1. COMUNICAÇÃO

53.1.1.2. MULTIMÍDIA

53.1.1.3. GOVERNO

53.1.1.4. ECONOMIA

53.1.2. COMPUTADOR

53.1.2.1. Máquina que através de uma programação vai realizar passos para executar uma tarefa. Por sua agilidade no processo de informações é um grande influênciador, junto a internet, na malha global.

53.1.2.1.1. ENTRETENIMENTO

54. Cálculo de Expressões

54.1. .

54.1.1. Quando Operadores, operandos e funções, se juntam e se relacionam para resolver problemas matemático em um algoritmo, se caracterizam como uma Expressão.

54.1.1.1. Expressões logicas

54.1.1.1.1. •E (and) • ou (Or) • não (not)

54.1.1.2. Expressões aritméticas

54.1.1.2.1. •Operandos (números) •operadores (ex:+, -, *, **, /) •funcao aritmética (ex: Cos(a)) •variaveis numéricas (ex: x*y*z)

54.1.1.3. Expressões relacionais

54.1.1.3.1. •igualdade (==) •desigualdade (!=) •maior e menor (>,<) •maior ou igual ou menor ou igual(>=, <=)

55. Linguagem de programação

55.1. Conjunto de símbulos e regras de sintaxe que tem por objetivo descrever ações compreensíveis e executáveis para o computador

55.1.1. Tipos de linguagem de programação

55.1.1.1. Linguagem de máquina

55.1.1.1.1. Única compreendida pelo computador Ex: Assembly

55.1.1.2. Linguagem de baixo nivel

55.1.1.2.1. Utiliza instruções próxima da linguagem humana Ex: Fortron

55.1.1.3. Linguagem de alto nivel

55.1.1.3.1. Uso comercial ex: cobal

56. Expressões lógicas

57. Dispositivos Mistos: Também existem os dispositivos considerados mistos, ou seja, através deles podemos tanto inserir informações para dentro do computador, como extrair/visualizar dados.

58. Compiladores vs Interpretadores

58.1. Compiladores

58.1.1. Funciona como tradutor de uma linguagem de alto nível em uma linguagem de baixo nível que se comunica diretamente com o processador, o compilador que permite escrever códigos utilizando linguagens mais simples como c, Java etc., sem precisar se preocupar com linguagem de maquina assembly ou binaria, o compilador é uma ferramenta que entende as duas linguagens, desse modo anunciará quando ocorrer erros de semântica no código fonte ao tentar se transformar em uma linguagem de alto nível, após o compilador testar todas as linhas e verificar que está tudo certo é criado um executável que pode ser compartilhado entre outros computadores e ser executado.

58.1.1.1. Linguagem fonte: C, Pacal, Java, etc.

58.1.1.1.1. COMPILADOR

58.2. Interpretadores

58.2.1. O interpretador funciona como um tradutor e conversa as duas linguagens e mostra um resultado que pode ser “rodado” apenas no computador que o código foi digitado, o interpretador lê linha por linha para se certificar que está certo o código fonte. só depois de conferir que todas as linhas estão certas é criado o executável.

58.2.1.1. Código digitado em linguagem média ou alta

58.2.1.1.1. INTERPRETADOR

59. Algoritmo de pesquisa

59.1. Pra fazermos qualquer pesquisa em vetor(ou matriz) são necessários: a) O vetor onde será feita a pesquisa. b) O número de elementos desse vetor que devem ser pesquisados. c) O elemento procurado d) Um índice que vai ser preenchido com a posição onde o elemento foi encontrado ou retornará com zero, caso o elemento não exista.

59.1.1. Pesquisa sequencial simples: Na pesquisa sequencial simples, como o vetor a ser pesquisado não está ordenado pelo elemento procurado, teremos de comparar um a um o ELEMPROC com cada elemento de VET. Portanto para um elemento inexistente teremos de fazer TOTELEM testes e para um elemento existente faremos, na média, TOTELEM/2 testes. Procedimento PESQSEQ (V : VET)

59.1.1.1. ex: Início Inteiro: TOTELEM, POS, J <Tipo básico> : ELEMPROC) Leia(ELEMPROC) {Executa a Pesquisa da primeira ocorrência de ELEMPROC em VET e retorna em POS o índice onde foi encontrada ou 0 se não existe} Enquanto(Pos=0) e(J<=TOTELEM)Faça Se VET[J]=ELEMPROC Então POS<-J Senão J<-J+1 FimSe FimEnquanto Fim

59.1.1.1.1. O problema fica mais fácil quando temos que determinar todas as ocorrências de um elemento em um vetor, pois teremos que, obrigatoriamente, levar o vetor até o fim (Elimina-se do laço o teste POS = 0), mas teremos de guardar em um vetor todas as posições onde o elemento foi encontrado ou, o mais comum, processarmos a ocorrência dentro do procedimento (após POS<-J)