Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Introdução à Programação em Portugol: Exercícios Práticos, Resumos de Introdução à Programação de Computadores

Neste documento você aprenderá tudo sobre lógica de programação, com imagens e exemplos. Esse é o primeiro passo para quem quer entrar nessa área profissional.

Tipologia: Resumos

2022

Compartilhado em 17/03/2022

ous.nanda
ous.nanda 🇧🇷

1 documento

1 / 30

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Lógica
de
Programação
Oceane Tecnologia
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e

Pré-visualização parcial do texto

Baixe Introdução à Programação em Portugol: Exercícios Práticos e outras Resumos em PDF para Introdução à Programação de Computadores, somente na Docsity!

Lógica

de

Programação

Oceane Tecnologia

Sumário

1

Apresentação

O que é lógica de programação?

2

Desenvolvimento de Algoritmos

5

Estrutura Geral de um Algoritmo

9

Estrutura de Repetição

13

Sub-rotina

20

Vetores e Matrizes

28

Concluímos...

Ao pensar dessa forma para resolver algum problema, independente de qual seja e logo depois passar essas informações para seu computador, passamos a chamar de lógica de programação. A parte que passamos como narrativa denominamos como programação.

A lógica de programação é uma comunicação organizada e coesa que forma uma sequência de instruções ou ordens que criam softwares ou até mesmo solucionam problemas.

Quando falamos de desenvolvimento web, a lógica de programação é o conhecimento anterior a qualquer outro, a partir dele que aprendemos como realizar a programação e passamos a conhecer as linguagens existentes.

A lógica de programação é necessária pois ela nos ensina como utilizar as ferramentas para executar desenvolvimento de um software, essas ferramentas são conhecidas como algoritmo. Podemos definir o algoritmo como um conjunto finito de passos, que são utilizados para chegar em uma determinada solução.

Desenvolvimento de Algoritmos

No desenvolvimento de algoritmos temos algumas técnicas, elas são conhecidas como: narrativa, fluxograma e pseudocódigo (portugol). Nos próximos parágrafos irei explicar cada tipo de descrição.

A descrição narrativa analisa o problema e escreve a resolução, utilizando sua linguagem natural (por exemplo, a língua portuguesa). A vantagem da descrição narrativa é que com ela não é necessário aprender qualquer outra linguagem. Mas como qualquer outra descrição ela tem sua desvantagem, e uma delas é a enorme diversidade de interpretação, com isso a transformação desse algoritmo pode ser mais complicada.

O fluxograma consiste em diferentes símbolos, para utiliza-los precisamos analisar o problema e descreve-lo através desses símbolos que já são predefinidos, e através disso conseguimos a resolução do problema. A vantagem do fluxograma é a facilidade no entendimento das entradas, procedimento e saída dos dados. Porém a sua dificuldade gira em torno de dois pontos: a aprendizagem de todos seus símbolos e a dificuldade de transformar o fluxograma em linguagem de programação.

Descrição narrativa Passo 1 – Receber dois números que serão multiplicados Passo 2 – Realizar a multiplicação Passo 3 – Exibir o resultado da multiplicação

O pseudocódigo também é muito conhecido como portugol é uma das técnicas mais utilizadas, para utiliza-la basta analisar o enunciado e escreve-lo de acordo com as regras predefinidas que faz com que chegamos na resolução desejada, essas regras são conhecidas como códigos. O fato de a passagem de um algoritmo para uma linguagem de programação ser direta torna uma vantagem do pseudocódigo, podemos dizer que seria como uma tradução. A sua desvantagem seria o fato de ter a necessidade de aprender as regras do pseudocódigo.

Veja a seguir alguns exemplos utilizando as três técnicas: descrição narrativa, fluxograma e pseudocódigo.

Exemplo 1 - O algoritmo a seguir terá que multiplicar dois números e mostrar a resolução dessa multiplicação.

  1. Fluxograma
  2. Pseudocódigo (portugol) algoritmo “Exemplo1” // Função: multiplicar dois números // Autor: Fernanda // Data: 11/01/ // seção de declarações de variáveis e constantes var n1, n2, m: real Inicio escreval (“digite dois números”) leia (n1) leia (n2) m <- n1 * n escreva (“Multiplicação = “, m) Fimalgoritmo

Podemos dizer que um fluxograma possui 3 etapas: inicio, processamento e fim.

Já o pseudocódigo (portugol) possui várias áreas, como, cabeçalho, comentários, seção de declaração de variáveis, e as palavras que indica o início e o fim do processamento.

Estrutura Geral de um Algoritmo

Podemos ver nitidamente que o fluxograma tem uma forma mais direta, sem muito detalhamento, já o pseudocódigo é mais detalhado, informando passo a passo. A seção de declaração de variáveis sempre deve iniciar com:

var identificadores: tipo do dado

O tipo do dado que mais são usados são: numérico, literal e logico. Logo a seguir irei descreve-los para que você possa entender melhor.

Numéricos : esses tipos de dados são separados em dois grupos, inteiros e reais. Lógico : são conhecidos como booleanos, assumem apenas valores como Verdadeiro ou Falso. Literal : também é conhecido como caracteres, são formados por um único caractere ou uma sequência de caracteres (“aluno”,1234”, “@internet”, etc).

Você pode usar: números, caracteres sublinhados, letras maiúsculas e minúsculas. Todo identificador deve iniciar com uma letra. Não pode conter caracteres especiais (!, @, #, $, %, &, -, +) e também não pode conter espaços em brancos. Não pode usar palavras reservadas, ou seja, palavras que fazem parte de alguma linguagem de programação.

Os identificadores são considerados como o nome das variáveis, constantes, rotinas, unidades entre outras. Porém para você colocar nome nos identificadores possui algumas regras que não podem ser ignoradas. São elas:

Podemos associar o comando de ações om os símbolos do fluxograma, ou seja, cada parte do fluxograma é representado por um símbolo do fluxograma, veja a seguir:

Estrutura condicional simples : só é executado quando a condição for verdadeira. se (condição) então

Estrutura condicional composta : será executada se a primeira condição for verdadeira e a segunda condição será executada se for falsa. se (condição) então

Estrutura condicional caso : vai ser executada quando um valor atende alguma especificação. ESCOLHA operação

Neste novo tópico iremos falar sobre as estruturas condicionais em algoritmo, podEmos dizer que essas estruturas são divididas em: simples, composta e de caso.

Comando Fimse

Comando senão Comando Fimse

CASO “1”

Comando CASO “2” Comando CASO “3” Comando CASO “N” ComandoN FIMESCOLHA

Observamos que as condições são formas de comparação que resultam em verdadeiro ou falso. Mas cada condição tem um operador relacional que estão descritos a seguir:

Porém quando possui mais de uma condição a ser comparada, utilizamos outros operadores lógicos além dos citados acimas. São eles: E, OU e NÃO, esses operadores são utilizados em conjunção, disjunção e negação respectivamente. Observe como eles são descritos:

Estrutura de repetição com variável de controle Estrutura de repetição condicional com teste no inicio Estrutura de repetição condicional com teste no final

A partir deste tópico abordaremos ações que repetem diversas vezes em um algoritmo, por isso o nome Estrutura de Repetição. Utilizamos essa estrutura quando queremos repetir um trecho do código eu até mesmo o algoritmo inteiro, esse número de repetição pode ser fixo ou podemos citar quantas vezes queremos que ele repita em uma determinada condição. Também conhecemos essas estruturas como laços ou loops. As estruturas de repetição são separadas da seguinte forma:

A seguir irei comentar sobre cada repetição, começando pela estrutura de repetição com variável de controle. Ela é usada quando sabemos a quantidade de vezes em que um trecho deverá ser repetido.

Exemplo : Para os valores x = 2 e y = 3, a condição abaixo é verdadeira?

se (x > 2 E y <= 3) então escreva (“VERDADEIRA”) senão escreva (“FALSA”)

Estrutura de Repetição

Neste tipo de estrutura de repetição, após a variável de controle receber o valor inicial, os comandos são repetidos até a variável de controle receber o valor final. A ordem [PASSO n] apontada como a variável será incrementada ou decrementada.

Vamos ver como seria o exemplo indicado na tabela anterior no fluxograma e como ele sairia na tela.

i receberá o valor 0 inicialmente Enquanto a condição i <= 5 for verdadeira o comando escreval e i = i + 1 serão repetidos, até i for menor ou igual a 5.

A terceira e última estrutura de repetição é a de repetição condicional com teste no final , assim como a estrutura de repetição anterior, ela geralmente é usada quando não sabemos o número de vezes que o algoritmo irá se repetir.

Vamos ver como seria o exemplo indicado na tabela anterior no fluxograma e como ele sairia na tela.

A variável i é inicializada com 1 Depois ela é incrementada com 1 Como a condição irá repetir toda vez que for verdadeira (i > 0), então ela nunca irá parar, tornando-a um laço.

A variável i é inicializada com 1 Dentro da estrutura de repetição ela é incrementada com 1 Ela será executada até a condição se tornar verdadeira (i < 0), como ela nunca se tornará verdadeira irá ocorrer um loop.

As duas estruturas, com repetição no inicio e o final podem realizar loops (laços), veja dois exemplos a seguir.

Exemplo 1: i <- 1 enquanto i > 0 faça escreval (“valor de i = “, i) i <-i + 1 Fimenquanto

Exemplo 2:

i <- 1 Repita escreval (“valor de i = “, i) i <- i + 1 até i < 0

A primeira a ser explorada será a sub-rotina sem parâmetro e sem retorno , essas sub- rotinas são apenas um desvio para que os conjuntos de instruções bem definidas sejam executadas. A seguir apresentarei um exemplo, nele vamos calcular as quatro operações básicas entre dois números.

Veja o Exemplo 1 em pseudocódigo.

Algoritmo “Exemplo1” // Função: calcular as quatro operações entre dois números // Autor: Fernanda // Data: 17/01/ // seção de declarações de variáveis globais var n1, n2: real // a seguir a sub-rotina para somar dois números procedimento somar // declaração de variáveis locais do procedimento somar var s: real

inicio s <- n1 + n escreval (“soma = “, s) fimprocedimento // a seguir a sub-rotina para subtrair dois números procedimento subtrair // declaração de variáveis locais do procedimento subtrair var sb: real inicio sb <- n1 - n escreval (“subtração = “, sb) fimprocedimento // a seguir a sub-rotina para multiplicar dois números procedimento multiplicar // declaração de variáveis locais do procedimento multiplicar var m: real inicio m <- n1 * n escreval (“multiplicação = “, m) fimprocedimento // a seguir a sub-rotina para dividir dois números procedimento dividir // declaração de variáveis locais do procedimento dividir var d: real inicio se (n2 = 0) entao escreval (“impossível dividir por zero”) senao inicio d <- n1 / n escreval (“divisão = “, d) fimse fimprocedimento // início do programa principal inicio escreval (“digite o primeiro número “) leia (n1) escreval (“digite o segundo número “) leia (n2) somar subtrair multiplicar dividir Fimalgoritmo

procedimento desconto (s:real) // declaração de variáveis locais do procedimento desconto var d: real inicio d <- s * 5/ escreval (“desconto = “, d) fimprocedimento // início do programa principal inicio escreval (“digite o salário “) leia (sal) imposto (sal) desconto (sal) Fimalgoritmo

A terceira sub-rotina a ser explorada é a sub-rotina sem parâmetro e com retorno , são conhecidas como funções. Elas podem ser consideradas um desvio para um conjunto de instruções, as funções sempre devolvem um valor, então elas também devem ser atribuídas um valor. Veja um exemplo de como usar esse tipo de sub- rotina, esse exemplo será para calcular a área de um quadrado.

Agora veja como ele fica em pseudocódigo:

algoritmo “exemplo3” // Função: calcular área do quadrado // Autor: Fernanda // Data: 17/01/ // seção de declarações de variáveis globais var lado, a: real // a seguir a sub-rotina para calcular a área // como tem retorno será uma função funcao area( Retorno : real):real var resp:real inicio resp <- lado * lado retorne resp fimfunção // início do programa principal inicio escreval (“digite o lado “) leia (lado) a <- area(lado) escreval (“área = “, a) Fimalgoritmo

A quarta e última sub-rotina é a sub-rotina com parâmetros e com retorno , assim com a sub-rotina anterior ela também é uma função, podemos dizer que ela é um desvio para que o conjunto de instruções possa ser executado e como toda função deve retornar um valor ela deve ser atribuída a um valor. Neste caso, são definidos valores para a sub-rotina.

Veja o exemplo de um algoritmo que calcula o novo salário sabendo que este tem aumento de 10% e imposto é de 6% já sobre o salário reajustado.