SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
Capítulo 7
INSTRUÇÕES PRIMITIVAS

       Como o próprio nome diz, instruções primitivas são os comandos básicos que efetuam
tarefas essenciais para a operação dos computadores, como entrada e saída de dados
(comunicação com o usuário e com dispositivos periféricos), e movimentação dos mesmos na
memória. Estes tipos de instrução estão presentes na absoluta maioria das linguagens de
programação.
      Antes de passar à descrição das instruções primitiva, é necessária a definição de alguns
termos que serão utilizados:
    dispositivo de entrada é o meio pelo qual as informações (mais especificamente os dados)
     são transferidos pelo usuário ou pelos níveis secundários de memória ao computador. Os
     exemplos mais comuns são o teclado, o mouse, leitora ótica, leitora de código de barras, as
     fitas e discos magnéticos.
    dispositivo de saída é o meio pelo qual as informações (geralmente os resultados da
     execução de um programa) são transferidos pelo computador ao usuário ou aos níveis
     secundários de memória. Os exemplos mais comuns são o monitor de vídeo, impressora,
     fitas e discos magnéticos.
    sintaxe é a forma como os comandos devem ser escritos, a fim de que possam ser
     entendidos pelo tradutor de programas. A violação das regras sintáticas é considerada um
     erro sujeito à pena do não reconhecimento por parte do tradutor
    semântica é o significado, ou seja, o conjunto de ações que serão exercidas pelo
     computador durante a execução do referido comando.
       Daqui em diante, todos os comandos novos serão apresentados por meio de sua sintaxe e
sua semântica, isto é, a forma como devem ser escritos e as ações que executam.




1. COMANDOS DE ATRIBUIÇÃO
       O comando de atribuição ou simplesmente atribuição, é a principal maneira de armazenar
uma informação numa variável. Sua sintaxe é:

      <nome_da_variável> <- <expressão>


      Exemplos:
      Nome <- “Jenoveva”
      preco <- 15.85
      quant <- 5
      total <- preco * quant
      imposto <- total * 17 / 100
O modo de funcionamento (semântica) de uma atribuição consiste:
   1. na avaliação da expressão
   2. no armazenamento do valor resultante na variável que aparece à esquerda do comando.
      A seguir temos um exemplo de um algoritmo utilizando o comando de atribuição:


                             Algoritmo exemplo_comando_de_atriuição
                             Var preço_unit, preço_tot : real
                                 quant : inteiro
                             Início
                                preço_unit := 5.0
                                quant := 10
                                preço_tot := preço_unit * quant
                             Fim.




2. COMANDOS DE SAÍDA DE DADOS
      Os comandos de saída de dados são o meio pelo qual informações contidas na memória
dos computadores são colocadas nos dispositivos de saída, para que os usuários possam apreciá-
las.
      No diagrama de blocos o comando de saída de dados é representado por:




      Há quatro sintaxes possíveis para esta instrução:


      ESCREVA (<variável>)
             Ex: ESCREVA (X)
      ESCREVA (<lista_de_variáveis>)
             Ex: ESCREVA (nome, endereco, cidade)
      ESCREVA (<literal>)
             Ex: ESCREVA (“Algoritmo é o máximo!”)
      ESCREVA (<literal>, <variável>, ... ,<literal>, <variável>)
             Ex: ESCREVA (“Meu nome é:”, nome, “e meu endereço é:”, endereco)
Daqui por diante, ESCREVA será considerada uma palavra reservada e não mais poderá ser
utilizada como nome de variável, de modo que toda a vez que for encontrada em algoritmos, será
identificada como um comando de saída de dados.
        Uma lista_de_variáveis é um conjunto de nomes de variáveis separados por vírgulas. Um
literal é simplesmente um dado do tipo literal (string ou cadeia de caracteres) delimitado por
aspas.
      A semântica da instrução primitiva de saída de dados é muito simples: os argumentos do
comando são enviados para o dispositivo de saída. No caso de uma lista de variáveis, o conteúdo
de cada uma delas é pesquisado na memória e enviado para o dispositivo de saída. No caso de
argumentos do tipo literal ou string, estes são enviados diretamente ao referido dispositivo.
         Há ainda a possibilidade de se misturar nomes de variáveis com literais na lista de um
mesmo comando. O efeito obtido é bastante útil e interessante: a lista é lida da esquerda para a
direita e cada elemento da mesma é tratado separadamente; se um nome de variável for
encontrado, então a informação da mesma é colocada no dispositivo de saída; no caso de um
literal, o mesmo é escrito diretamente no dispositivo de saída.
       A seguir temos um exemplo de um algoritmo utilizando o comando de saída de dados:


                             Algoritmo exemplo_comando_de_saída_de_dados
                             Var preço_unit, preço_tot : real
                                 quant : inteiro
                             Início
                                preco_unit := 5.0
                                quant := 10
                                preço_tot := preço_unit * quant
                                Escreva preço_tot
                             Fim.




3. COMANDOS DE ENTRADA DE DADOS
       Os comandos de entrada de dados são o meio pelo qual as informações dos usuários são
transferidas para a memória dos computadores, para que possam ser usadas nos programas.
      No diagrama de blocos o comando de entrada de dados é representado por:




      Há duas sintaxes possíveis para esta instrução:
      LEIA (<variável>)
              Ex: LEIA (X)
      LEIA (<lista_de_variáveis>)
              Ex: LEIA (nome, endereco, cidade)
Da mesma forma que Escreva, daqui por diante Leia será tratada como uma palavra-
reservada e não mais poderá ser usada como nome variável em algoritmos. A lista_de_variáveis é
um conjunto de um ou mais nomes de variáveis separados por vírgulas.
       A semântica da instrução de entrada (ou leitura) de dados é, de certa forma, inversa à da
instrução de escrita: os dados são fornecidos ao computador por meio de um dispositivo de
entrada e armazenados nas posições de memória das variáveis cujos nomes aparecem na
lista_de_variáveis.
      A seguir temos um exemplo de um algoritmo utilizando o comando de entrada de dados:


                      Algoritmo exemplo_comando_de_entrada_de_dados
                      Var preço_unit, preço_tot : real
                      quant : inteiro
                      Início
                      Leia preco_unit, quant
                      preço_tot := preço_unit * quant
                      Escreva preço_tot
                      Fim.




      Uma preocupação constante de um bom programador deve ser a de conceber um
programa “amigo do usuário”. Esta preocupação é traduzida no planejamento de uma interface
com o usuário (meio pelo qual um programa e o usuário “conversam”) bastante amigável. Em
termos práticos, isto se resume à aplicação de duas regras básicas:
    toda vez que um programa estiver esperando que o usuário forneça a ele um determinado
     dado (operação de leitura), ele deve antes enviar uma mensagem dizendo ao usuário o que
     ele deve digitar, por meio de uma instrução de saída de dados;
    antes de enviar qualquer resultado ao usuário, um programa deve escrever uma
     mensagem explicando o significado do mesmo.
       Estas medidas tornam o diálogo entre o usuário e o programador muito mais fácil.
       A seguir temos um exemplo do algoritmo anterior, utilizando as regras de construção de
uma interface amigável:


                      Algoritmo exemplo_interface_amigavel
                      Var preço_unit, preço_tot : real
                          quant : inteiro
                      Início
                          Escreva “Digite o preço unitário:”
                          Leia preco_unit
                          Escreva “Digite a quantidade:”
                          Leia quant
                          preço_tot := preço_unit * quant
                          Escreva “Preço total: ”, preço_tot
                      Fim.
4. ENTRADA, PROCESSAMENTO E SAÍDA
       Para se criar um programa que seja executável dentro de um computador, você deverá ter
em mente três pontos de trabalho: a entrada de dados, o seu processamento e a saída dos
mesmos. Sendo assim, todo programa estará trabalhando com estes três conceitos. Se os dados
forem entrados de forma errada, serão consequentemente processados de forma errada e
resultarão em respostas erradas. Desta forma, dizer a alguém que foi erro do computador é ser
um tanto "medíocre". E isto é o que mais ouvimos quando nosso saldo está errado e vamos ao
banco fazer uma reclamação, ou quando recebemos uma cobrança indevida. Se houve algum erro,
é porque foi causado por falha humana. Realmente é impossível um computador errar por
vontade própria, pois vontade é uma coisa que os computadores não têm.
       Uma entrada e uma saída poderão ocorrer dentro de um computador de diversas formas.
Por exemplo, uma entrada poderá ser feita via teclado, modem, leitores óticos, disco, entre
outras. Uma saída poderá ser feita em vídeo, impressora, disco, entre outras formas.




5. FUNÇÕES MATEMÁTICAS
        Existem algumas funções matemática que estão implementadas para serem usadas como
instruções primitivas. Tais funções encontram-se em uma lista, chamada de Lista de funções. A
Lista de funções é, então, uma maneira rápida de inserir funções predefinidas em seu algoritmo.
Tal lista pode variar dependendo do programa utilizado. No Visualg, as funções matemáticas
previamente definidas são:


ABS (x)      Retorna o valor absoluto de uma expressão
ARCCOS (x)   Retorna o arco de co-seno do argumento utilizado
ARCSEN (x)   Retorna o arco de seno do argumento utilizado
ARCTAN (x)   Retorna o arco de tangente do argumento utilizado
COS (r)      Retorna o valor do co-seno
DIV          Retorna o valor da divisão inteira entre dois números
EXP (r)      Retorna o valor exponencial
LOG (r)      Retorna o logaritmo
LOGN (r)     Retorna o logaritmo natural
MOD          Retorna o módulo de uma operação (resto da divisão inteira)
PI           Retorna o valor de PI
QUAD (r)     Retorna o parâmetro elevado ao quadrado.
RAIZQ (r)    Retorna a raiz quadrada
SEN (r)      Retorna o valor do seno
TAN (r)      Retorna o valor da tangente
Nem todas as funções que necessitamos estão prontas e às vezes é necessário utilizar uma
fórmula equivalente.




EXERCÍCIOS PROPOSTOS


Questão 01:
Exemplifique o uso dos comandos de Atribuição, Entrada e Saída.


Questão 02:
Como podemos orientar o usuário na digitação dos dados? Exemplifique.


Questão 03:
Escreva os comandos necessários para ler:
a) as 3 notas de um aluno
b) o nome, o peso e altura de uma pessoa


Questão 04:
Escreva os comandos necessários para exibir:
a) o conteúdo da variável X
b) o resultado da expressão 2+3


Questão 05:
A ordem das atribuições é importante?
A <- B e C <- A tem o mesmo efeito de C <- A e A <- B ?



Questão 06:
Em quais dos seguintes pares é importante a ordem dos comandos?
a) X <- Y            b) X <- Y              c) X <- Z             d) Z <- Y
   Y <- X               Z <- X                 X <- Y                X <- Y



Questão 07:
Escreva um programa que leia um número inteiro positivo e exiba o dobro do mesmo.
Questão 08:
Escreva um programa para calcular a área de um triângulo, sendo dados a sua base e a sua altura.




Questão 09:
Escreva um programa para calcular e exibir o comprimento de uma circunferência, sendo dado o
valor de seu raio.




Questão 10:
Escreva um programa para ler uma temperatura dada na escala Fahrenheit e exibir o equivalente
em Celsius.




Questão 11:
Escreva um programa para calcular e exibir a média ponderada de duas notas dadas.
(nota1 = peso 6; nota2 = peso 4)


Questão 12:
Escreva um programa que leia duas variáveis inteiras e troque o conteúdo entre elas.


Questão 13:
Escreva um programa para ler o nome e o sobrenome de uma pessoa e escrevê-los na seguinte
forma: sobrenome seguido por uma vírgula e pelo nome.
   Exemplo: entrada: "Antonio","Soares"
              saída: Soares, Antonio

Weitere ähnliche Inhalte

Was ist angesagt?

Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Mauro Pereira
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Webdiogoa21
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturadodasko
 
Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3PeslPinguim
 
Logica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosLogica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosRegis Magalhães
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Eder Samaniego
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
Apostila programação "pascalzim"
Apostila programação "pascalzim"Apostila programação "pascalzim"
Apostila programação "pascalzim"deniscody
 
Algoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentosAlgoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentosMauro Pereira
 
53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-iEdvan Mateó
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoRegis Magalhães
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducaommind
 

Was ist angesagt? (20)

Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)
 
M5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-WebM5-Desenvolvimento-Paginas-Web
M5-Desenvolvimento-Paginas-Web
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3Curso Básico de Java - Aula 3
Curso Básico de Java - Aula 3
 
Logica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosLogica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 Subalgoritmos
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Apostila Visualg
Apostila VisualgApostila Visualg
Apostila Visualg
 
Linguagem c parte 1
Linguagem c parte 1Linguagem c parte 1
Linguagem c parte 1
 
SubProgramas
SubProgramasSubProgramas
SubProgramas
 
Apostila programação "pascalzim"
Apostila programação "pascalzim"Apostila programação "pascalzim"
Apostila programação "pascalzim"
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritimo - Raul
Algoritimo - RaulAlgoritimo - Raul
Algoritimo - Raul
 
Algoritmos - Pascal
Algoritmos - PascalAlgoritmos - Pascal
Algoritmos - Pascal
 
Algoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentosAlgoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentos
 
53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i53297189 apostila-algoritmo-e-logica-i
53297189 apostila-algoritmo-e-logica-i
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducao
 
Visualg
VisualgVisualg
Visualg
 

Andere mochten auch

Andere mochten auch (9)

Cap09
Cap09Cap09
Cap09
 
Cap05
Cap05Cap05
Cap05
 
Cap08
Cap08Cap08
Cap08
 
Cap09
Cap09Cap09
Cap09
 
Cap01
Cap01Cap01
Cap01
 
Cap02
Cap02Cap02
Cap02
 
Cap03
Cap03Cap03
Cap03
 
Cap04
Cap04Cap04
Cap04
 
Tecnologias De Redes De Computadores
Tecnologias De Redes De ComputadoresTecnologias De Redes De Computadores
Tecnologias De Redes De Computadores
 

Ähnlich wie Cap07

Alg aula 03 - construcao algoritmos2 tp1
Alg   aula 03 - construcao algoritmos2 tp1Alg   aula 03 - construcao algoritmos2 tp1
Alg aula 03 - construcao algoritmos2 tp1Thalles Anderson
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosRodrigo Kiyoshi Saito
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimosCleide Soares
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturadoNaldo Falaschi
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfEizoKato
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfEizoKato
 
PROJETO MODELO editado.docx
PROJETO MODELO editado.docxPROJETO MODELO editado.docx
PROJETO MODELO editado.docxDiedisonRamos1
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxPaulo Cardoso
 
Curso de python capítulo 1 - introdução
Curso de python   capítulo 1 - introduçãoCurso de python   capítulo 1 - introdução
Curso de python capítulo 1 - introduçãoRicardo Fahham
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmosjormad
 
algoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptxalgoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptxGustavoMaciel67
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptJadna Almeida
 
Google android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPEGoogle android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPELevi Saturnino
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmospronatecvja
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem cvingue
 

Ähnlich wie Cap07 (20)

Alg aula 03 - construcao algoritmos2 tp1
Alg   aula 03 - construcao algoritmos2 tp1Alg   aula 03 - construcao algoritmos2 tp1
Alg aula 03 - construcao algoritmos2 tp1
 
Apostila de-arduino
Apostila de-arduinoApostila de-arduino
Apostila de-arduino
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
A programação básica
A programação básicaA programação básica
A programação básica
 
A programacao basica
A programacao basicaA programacao basica
A programacao basica
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimos
 
Algorítmo estruturado
Algorítmo estruturadoAlgorítmo estruturado
Algorítmo estruturado
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
 
PROJETO MODELO editado.docx
PROJETO MODELO editado.docxPROJETO MODELO editado.docx
PROJETO MODELO editado.docx
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
 
Curso de python capítulo 1 - introdução
Curso de python   capítulo 1 - introduçãoCurso de python   capítulo 1 - introdução
Curso de python capítulo 1 - introdução
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
algoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptxalgoritmo-m03-tiposdedados-151221150545.pptx
algoritmo-m03-tiposdedados-151221150545.pptx
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.ppt
 
Google android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPEGoogle android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPE
 
Prova algoritmos
Prova algoritmosProva algoritmos
Prova algoritmos
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 

Mehr von mvbahamut (15)

Cap05
Cap05Cap05
Cap05
 
Cap04
Cap04Cap04
Cap04
 
Cap03
Cap03Cap03
Cap03
 
Cap02
Cap02Cap02
Cap02
 
Cap01
Cap01Cap01
Cap01
 
Cap06
Cap06Cap06
Cap06
 
Cap07
Cap07Cap07
Cap07
 
Cap06
Cap06Cap06
Cap06
 
Cap05
Cap05Cap05
Cap05
 
Cap04
Cap04Cap04
Cap04
 
Cap03
Cap03Cap03
Cap03
 
Cap02
Cap02Cap02
Cap02
 
Cap01
Cap01Cap01
Cap01
 
Cap09
Cap09Cap09
Cap09
 
Cap08
Cap08Cap08
Cap08
 

Cap07

  • 1. Capítulo 7 INSTRUÇÕES PRIMITIVAS Como o próprio nome diz, instruções primitivas são os comandos básicos que efetuam tarefas essenciais para a operação dos computadores, como entrada e saída de dados (comunicação com o usuário e com dispositivos periféricos), e movimentação dos mesmos na memória. Estes tipos de instrução estão presentes na absoluta maioria das linguagens de programação. Antes de passar à descrição das instruções primitiva, é necessária a definição de alguns termos que serão utilizados:  dispositivo de entrada é o meio pelo qual as informações (mais especificamente os dados) são transferidos pelo usuário ou pelos níveis secundários de memória ao computador. Os exemplos mais comuns são o teclado, o mouse, leitora ótica, leitora de código de barras, as fitas e discos magnéticos.  dispositivo de saída é o meio pelo qual as informações (geralmente os resultados da execução de um programa) são transferidos pelo computador ao usuário ou aos níveis secundários de memória. Os exemplos mais comuns são o monitor de vídeo, impressora, fitas e discos magnéticos.  sintaxe é a forma como os comandos devem ser escritos, a fim de que possam ser entendidos pelo tradutor de programas. A violação das regras sintáticas é considerada um erro sujeito à pena do não reconhecimento por parte do tradutor  semântica é o significado, ou seja, o conjunto de ações que serão exercidas pelo computador durante a execução do referido comando. Daqui em diante, todos os comandos novos serão apresentados por meio de sua sintaxe e sua semântica, isto é, a forma como devem ser escritos e as ações que executam. 1. COMANDOS DE ATRIBUIÇÃO O comando de atribuição ou simplesmente atribuição, é a principal maneira de armazenar uma informação numa variável. Sua sintaxe é: <nome_da_variável> <- <expressão> Exemplos: Nome <- “Jenoveva” preco <- 15.85 quant <- 5 total <- preco * quant imposto <- total * 17 / 100
  • 2. O modo de funcionamento (semântica) de uma atribuição consiste: 1. na avaliação da expressão 2. no armazenamento do valor resultante na variável que aparece à esquerda do comando. A seguir temos um exemplo de um algoritmo utilizando o comando de atribuição: Algoritmo exemplo_comando_de_atriuição Var preço_unit, preço_tot : real quant : inteiro Início preço_unit := 5.0 quant := 10 preço_tot := preço_unit * quant Fim. 2. COMANDOS DE SAÍDA DE DADOS Os comandos de saída de dados são o meio pelo qual informações contidas na memória dos computadores são colocadas nos dispositivos de saída, para que os usuários possam apreciá- las. No diagrama de blocos o comando de saída de dados é representado por: Há quatro sintaxes possíveis para esta instrução: ESCREVA (<variável>) Ex: ESCREVA (X) ESCREVA (<lista_de_variáveis>) Ex: ESCREVA (nome, endereco, cidade) ESCREVA (<literal>) Ex: ESCREVA (“Algoritmo é o máximo!”) ESCREVA (<literal>, <variável>, ... ,<literal>, <variável>) Ex: ESCREVA (“Meu nome é:”, nome, “e meu endereço é:”, endereco)
  • 3. Daqui por diante, ESCREVA será considerada uma palavra reservada e não mais poderá ser utilizada como nome de variável, de modo que toda a vez que for encontrada em algoritmos, será identificada como um comando de saída de dados. Uma lista_de_variáveis é um conjunto de nomes de variáveis separados por vírgulas. Um literal é simplesmente um dado do tipo literal (string ou cadeia de caracteres) delimitado por aspas. A semântica da instrução primitiva de saída de dados é muito simples: os argumentos do comando são enviados para o dispositivo de saída. No caso de uma lista de variáveis, o conteúdo de cada uma delas é pesquisado na memória e enviado para o dispositivo de saída. No caso de argumentos do tipo literal ou string, estes são enviados diretamente ao referido dispositivo. Há ainda a possibilidade de se misturar nomes de variáveis com literais na lista de um mesmo comando. O efeito obtido é bastante útil e interessante: a lista é lida da esquerda para a direita e cada elemento da mesma é tratado separadamente; se um nome de variável for encontrado, então a informação da mesma é colocada no dispositivo de saída; no caso de um literal, o mesmo é escrito diretamente no dispositivo de saída. A seguir temos um exemplo de um algoritmo utilizando o comando de saída de dados: Algoritmo exemplo_comando_de_saída_de_dados Var preço_unit, preço_tot : real quant : inteiro Início preco_unit := 5.0 quant := 10 preço_tot := preço_unit * quant Escreva preço_tot Fim. 3. COMANDOS DE ENTRADA DE DADOS Os comandos de entrada de dados são o meio pelo qual as informações dos usuários são transferidas para a memória dos computadores, para que possam ser usadas nos programas. No diagrama de blocos o comando de entrada de dados é representado por: Há duas sintaxes possíveis para esta instrução: LEIA (<variável>) Ex: LEIA (X) LEIA (<lista_de_variáveis>) Ex: LEIA (nome, endereco, cidade)
  • 4. Da mesma forma que Escreva, daqui por diante Leia será tratada como uma palavra- reservada e não mais poderá ser usada como nome variável em algoritmos. A lista_de_variáveis é um conjunto de um ou mais nomes de variáveis separados por vírgulas. A semântica da instrução de entrada (ou leitura) de dados é, de certa forma, inversa à da instrução de escrita: os dados são fornecidos ao computador por meio de um dispositivo de entrada e armazenados nas posições de memória das variáveis cujos nomes aparecem na lista_de_variáveis. A seguir temos um exemplo de um algoritmo utilizando o comando de entrada de dados: Algoritmo exemplo_comando_de_entrada_de_dados Var preço_unit, preço_tot : real quant : inteiro Início Leia preco_unit, quant preço_tot := preço_unit * quant Escreva preço_tot Fim. Uma preocupação constante de um bom programador deve ser a de conceber um programa “amigo do usuário”. Esta preocupação é traduzida no planejamento de uma interface com o usuário (meio pelo qual um programa e o usuário “conversam”) bastante amigável. Em termos práticos, isto se resume à aplicação de duas regras básicas:  toda vez que um programa estiver esperando que o usuário forneça a ele um determinado dado (operação de leitura), ele deve antes enviar uma mensagem dizendo ao usuário o que ele deve digitar, por meio de uma instrução de saída de dados;  antes de enviar qualquer resultado ao usuário, um programa deve escrever uma mensagem explicando o significado do mesmo. Estas medidas tornam o diálogo entre o usuário e o programador muito mais fácil. A seguir temos um exemplo do algoritmo anterior, utilizando as regras de construção de uma interface amigável: Algoritmo exemplo_interface_amigavel Var preço_unit, preço_tot : real quant : inteiro Início Escreva “Digite o preço unitário:” Leia preco_unit Escreva “Digite a quantidade:” Leia quant preço_tot := preço_unit * quant Escreva “Preço total: ”, preço_tot Fim.
  • 5. 4. ENTRADA, PROCESSAMENTO E SAÍDA Para se criar um programa que seja executável dentro de um computador, você deverá ter em mente três pontos de trabalho: a entrada de dados, o seu processamento e a saída dos mesmos. Sendo assim, todo programa estará trabalhando com estes três conceitos. Se os dados forem entrados de forma errada, serão consequentemente processados de forma errada e resultarão em respostas erradas. Desta forma, dizer a alguém que foi erro do computador é ser um tanto "medíocre". E isto é o que mais ouvimos quando nosso saldo está errado e vamos ao banco fazer uma reclamação, ou quando recebemos uma cobrança indevida. Se houve algum erro, é porque foi causado por falha humana. Realmente é impossível um computador errar por vontade própria, pois vontade é uma coisa que os computadores não têm. Uma entrada e uma saída poderão ocorrer dentro de um computador de diversas formas. Por exemplo, uma entrada poderá ser feita via teclado, modem, leitores óticos, disco, entre outras. Uma saída poderá ser feita em vídeo, impressora, disco, entre outras formas. 5. FUNÇÕES MATEMÁTICAS Existem algumas funções matemática que estão implementadas para serem usadas como instruções primitivas. Tais funções encontram-se em uma lista, chamada de Lista de funções. A Lista de funções é, então, uma maneira rápida de inserir funções predefinidas em seu algoritmo. Tal lista pode variar dependendo do programa utilizado. No Visualg, as funções matemáticas previamente definidas são: ABS (x) Retorna o valor absoluto de uma expressão ARCCOS (x) Retorna o arco de co-seno do argumento utilizado ARCSEN (x) Retorna o arco de seno do argumento utilizado ARCTAN (x) Retorna o arco de tangente do argumento utilizado COS (r) Retorna o valor do co-seno DIV Retorna o valor da divisão inteira entre dois números EXP (r) Retorna o valor exponencial LOG (r) Retorna o logaritmo LOGN (r) Retorna o logaritmo natural MOD Retorna o módulo de uma operação (resto da divisão inteira) PI Retorna o valor de PI QUAD (r) Retorna o parâmetro elevado ao quadrado. RAIZQ (r) Retorna a raiz quadrada SEN (r) Retorna o valor do seno TAN (r) Retorna o valor da tangente
  • 6. Nem todas as funções que necessitamos estão prontas e às vezes é necessário utilizar uma fórmula equivalente. EXERCÍCIOS PROPOSTOS Questão 01: Exemplifique o uso dos comandos de Atribuição, Entrada e Saída. Questão 02: Como podemos orientar o usuário na digitação dos dados? Exemplifique. Questão 03: Escreva os comandos necessários para ler: a) as 3 notas de um aluno b) o nome, o peso e altura de uma pessoa Questão 04: Escreva os comandos necessários para exibir: a) o conteúdo da variável X b) o resultado da expressão 2+3 Questão 05: A ordem das atribuições é importante? A <- B e C <- A tem o mesmo efeito de C <- A e A <- B ? Questão 06: Em quais dos seguintes pares é importante a ordem dos comandos? a) X <- Y b) X <- Y c) X <- Z d) Z <- Y Y <- X Z <- X X <- Y X <- Y Questão 07: Escreva um programa que leia um número inteiro positivo e exiba o dobro do mesmo.
  • 7. Questão 08: Escreva um programa para calcular a área de um triângulo, sendo dados a sua base e a sua altura. Questão 09: Escreva um programa para calcular e exibir o comprimento de uma circunferência, sendo dado o valor de seu raio. Questão 10: Escreva um programa para ler uma temperatura dada na escala Fahrenheit e exibir o equivalente em Celsius. Questão 11: Escreva um programa para calcular e exibir a média ponderada de duas notas dadas. (nota1 = peso 6; nota2 = peso 4) Questão 12: Escreva um programa que leia duas variáveis inteiras e troque o conteúdo entre elas. Questão 13: Escreva um programa para ler o nome e o sobrenome de uma pessoa e escrevê-los na seguinte forma: sobrenome seguido por uma vírgula e pelo nome. Exemplo: entrada: "Antonio","Soares" saída: Soares, Antonio