Buscar

Computação na Engenharia - Modulo 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Computação na 
Engenharia
INTRODUÇÃO A 
PROGRAMAÇÃO DE 
COMPUTADORES
APRESENTAÇÃO
Caro aluno, seja bem-vindo! Estamos começando, hoje, a disciplina Computação na Engenharia I. Estudar a distância é uma experiência fascinante. Estou contando com 
você, com a sua disposição para muito esforço e disciplina. 
Neste módulo, iremos conceituar algoritmo, programa (fonte e objeto), entender para que 
servem as linguagens de programação e saber o é um compilador. Estes conceitos irão 
servir de alicerce para que você compreenda melhor a programação de computadores. 
Para facilitar o desenvolvimento de programas vamos conhecer fluxogramas vendo um 
exemplo que vai te interessar. Vamos iniciar nossos estudos? 
A disciplina Computação na Engenharia I irá fazer com que você desenvolva seu raciocínio 
lógico através da criação de algoritmos utilizados na programação de computador, lembre-
-se sempre deste contexto! Antes, porém proponho um desafio: reflita sobre a questão: 
com quais outras ferramentas ou metodologias posso desenvolver meu raciocínio lógico? 
Pense, reflita!
Um grande abraço e mãos a obra!
OBJETIVOS DE APRENDIZAGEM
Ao final deste módulo, você deverá:
• Diferenciar um algoritmo de um programa (fonte e objeto);
• Entender como conseguimos fazer um computador resolver problemas doa dia a dia;
• Descobrir de que forma os programas de computador são criados e suas etapa de construção.
FI
CH
A
 T
ÉC
N
IC
A FUMEC VIRTUAL - SETOR DE 
EDUCAÇÃO A DISTÂNCIA
Gestão Pedagógica
Coordenação
Gabrielle Nunes P. Araújo
Transposição Pedagógica
Riane Gervásio 
Produção de 
Design Multimídia
Coordenação
Rodrigo Tito M. Valadares
Design Multimídia
Therus Santana
Infra-Estrututura e Suporte
Coordenação
Anderson Peixoto da Silva
AUTORIA 
Prof. Air Rabelo
Adaptação: Prof. Ricardo Freitas
BELO HORIZONTE - 2018
INTRODUÇÃO A PROGRAMAÇÃO 
DE COMPUTADORES
CONCEITOS DE ALGORITMO
Podemos definir, de forma genérica, que Algoritmo é a descrição de uma sequência de 
passos que deve ser seguida para a realização de uma tarefa.
Neste caso, definimos Algoritmo como uma sequência finita de 
instruções ou operações cuja execução, em um determinado limite 
de tempo, resolve um problema computacional.
É a forma como descrevemos as soluções que serão implementadas, posteriormente, em 
uma linguagem de programação, e executadas pelo computador para a solução de proble-
mas do dia a dia.
E a descrição pode ser feita por meio de pseudolinguagens, como o Portugol, ou símbolos, 
como em fluxogramas.
E como seria o conceito voltado para os computadores?
Introdução a Programação de Computadores 7
PRINCÍPIOS BÁSICOS DE UM ALGORITMO
O algoritmo segue os mesmos princípios básicos de operações em um computador: entra-
da, processamento e saída dos dados, conforme figura 1.
Vou explicar o que significa cada um desses princípios:
ENTRADA DE DADOS: 
é o processo pelo qual os dados 
são inseridos no computador.
PROCESSAMENTO DOS DADOS: 
é o conjunto de operações/cálculos 
que são executados com os dados 
inseridos na Entrada de Dados.
SAÍDA DE DADOS: 
é o resultado do 
processamento 
dos dados.
Fig. 1 : Figura 1 - Princípios básicos de operações
Fonte: Próprio autor (2014)
A figura 2 apresenta um exemplo de todos estes princípios básicos, mostrando duas 
operações matemáticas (soma e multiplicação) em uma expressão aritmética (proces-
samento dos dados), com os valores utilizados para o cálculo (entrada de dados) e seu 
resultado final (saída de dados).
Fig. 2 : Figura 2 - Exemplos de operações matemáticas
Fonte: Próprio autor (2014)
Introdução a Programação de Computadores 8
Vamos utilizar a preparação de um sanduíche comum para exemplificar o 
Algoritmo “genérico”:
Passo 1 – Pegar o pão
Passo 2 – Pegar a alface e o tomate
Passo 3 – Pegar a maionese
Passo 4 – Pegar o hambúrguer
Passo 5 – Cortar o pão ao meio 
Passo 6 – Passar a maionese no pão 
Passo 7 – Cortar o tomate
Passo 8 – Colocar a alface e o tomate no pão 
Passo 9 – Fritar o hambúrguer
Passo 10 – Colocar o hambúrguer no pão
Etapa 11 – Entregar o sanduíche pronto para o cliente
E como escrever os algoritmos no computador? 
Eles são escritos utilizando uma linguagem de 
programação, como o Pascal, linguagem C, Java, 
e outras, e são chamados de programas.
Linguagem de Programação
Um programa é a conversão, a tradução, de um algoritmo para uma 
determinada linguagem de programação, seguindo suas regras de 
sintaxe, de forma a permitir que o computador possa interpretar e 
executar a sequência de comandos pretendidos.
A linguagem de programação é um conjunto de símbolos e regras de 
sintaxe que permitem a construção de sentenças que descrevem de 
forma precisa ações compreensíveis e executáveis para o computador. 
TOME NOTA
Basic, Pascal, Algol, Fortran, Cobol, C++, .Net, Java são alguns exemplos de linguagens 
de programação.
PROGRAMA FONTE
Programa fonte é composto por uma 
sequência de comandos escritos em uma 
linguagem de programação. E são essas 
linguagens de programação que permitem 
a escrita e a interpretação pelo homem, 
mas não pelo computador.
Entrada de dados
 Processamento dos dados
 Saída de dados
Conjunto de símbolos
comandos, identificadores, 
caracteres, etc
Regras de sintaxe
são todas as regras de uma 
linguagem (os comandos, as 
declarações, funções, etc.), ou seja, 
é todo o estudo que iremos fazer
Agora vamos ver alguns 
exemplos de programa 
fonte.
Introdução a Programação de Computadores 9
Exemplo 1 - Programa fonte escrito em Pascal:
program CalculaFatorial;
{ Função: calcular o fatorial de um número informado pelo usuário }
var Numero, Fatorial, Contador : integer;
begin
 write('Informe um número: ');
 readln(Numero);
 Fatorial := 1;
 for Contador := 2 to Numero do
 begin
 Fatorial := Fatorial * Contador;
 end;
 write('Fatorial = ',Fatorial);
end.
public class CalculaFatorial {
public static void main(String[] args) throws IOException {
System.out.print("Informe um número: ");
Scanner scanner = new Scanner(System.in); 
long numero = scanner.nextLong();
long fatorial = 1L;
for(long contador = 2; contador <= numero; contador++){
fatorial = fatorial * contador;
}
System.out.println("Fatorial = " + fatorial);
}
}
algoritmo "CalculaFatorial"
// Função : calcular o fatorial de um número 
var numero, fatorial, contador : inteiro
inicio
 escreva("Informe um número: ")
 leia(numero)
 fatorial <- 1
 para contador de 2 ate numero faca
 fatorial <- fatorial * contador
 fimpara
 escreval("Fatorial = ",fatorial)
fimalgoritmo
Exemplo 2 - Programa fonte escrito em Java:
Exemplo 3 - Programa fonte escrito em Portugol:
Introdução a Programação de Computadores 10
PROGRAMA OBJETO
Programa objeto é aquele composto por uma sequência de comandos escritos em lingua-
gem de máquina. A linguagem de máquina é composta de símbolos binários e é interpre-
tada pelo computador, mas não pode ser interpretada pelo homem.
Também é chamada de linguagem “crua”, pois sempre se 
apresenta em estado natural para os computadores, criando 
dificuldades para o homem interpretá-la de forma tranquila, e com 
um pequeno, mas importante detalhe: cada programa escrito em 
linguagem de máquina só consegue ser interpretado por um tipo 
de computador, tendo que ser reescrito se tiver que ser executado 
em outro tipo de computador. Veja o exemplo 3.
00000000 7F 45 4C 46 01 01 01 00 00 00 00 00 00 00 00 00 .ELF............
00000010 02 00 03 00 01 00 00 00 D0 82 04 08 34 00 00 00 ............4...
00000020 BC 0C 00 00 00 00 00 00 34 00 20 00 07 00 28 00 ........4. ...(.
00000030 24 00 21 00 06 00 00 00 34 00 00 00 34 80 04 08 ..!.....4...4...
00000040 34 80 04 08 E0 00 00 00 E0 00 00 00 05 00 00 00 4...............Exemplo 3 - Início de programa escrito em linguagem de máquina:
COMPILADORES
Compiladores são programas utilizados para se criar outros programas baseados em uma 
linguagem de programação.
Ele permite ao programador a digitação e a edição do programa fonte, e o converte para 
o programa objeto a ser interpretado pelo computador. Ou seja, é um editor e tradutor de 
programa fonte em programa objeto.
Uma mesma linguagem de programação pode ser utilizada no programa fonte de diversos 
compiladores, mas um mesmo compilador só aceita uma única linguagem de programa-
ção no seu programa fonte.
Agora veremos as etapas de criação de um programa, os erros que 
podem surgir neste processo e alguns exemplos de compiladores e 
linguagem de programação.
Introdução a Programação de Computadores 11
ETAPAS NA CRIAÇÃO DE UM PROGRAMA:
Edição: digitação e alteração do programa;
Compilação: verificação de erros de sintaxe do programa (depuração);
Execução (teste): executar (rodar) o programa, entrando com os dados e obtendo os 
resultados.
ERROS QUE PODEM SURGIR DURANTE A CRIAÇÃO:
Sintaxe: erro identificado pelo compilador na etapa de compilação;
Lógica: erro identificado pelo usuário na etapa de execução.
EXEMPLOS DE COMPILADORES, E AS RESPECTIVAS LINGUAGENS 
DE PROGRAMAÇÃO QUE CADA UM UTILIZA:
VisuAlg/ G-Portugol = Portugol;
PascalZIM / Delphi = Pascal;
JBuilder / Eclipse / JDK = Java.
Um compilador suporta somente uma linguagem de 
programação para criar programas, mas uma mesma 
linguagem de programação pode ser suportada por 
vários compiladores diferentes.
Agora vamos conhecer algumas características da 
linguagem Portugol.
Portugol é uma pseudolinguagem de programação, que foi criada a partir da antiga lingua-
gem de programação Algol, traduzida para a língua portuguesa.
Seu objetivo é facilitar a escrita de algoritmos por iniciantes em programação cuja língua 
nativa seja a portuguesa, já que as linguagens de programação utilizam apenas palavras-
-chave escritas na língua inglesa.
O Portugol, além de utilizar apenas palavras-chave da língua portuguesa, também possui 
um conjunto de regras bem mais simples do que as linguagens de programação, e isto 
facilita muito a escrita de algoritmos por programadores aprendizes.
Oficialmente não existe um compilador para o Portugol, mas, 
se procurarmos na internet, acharemos algumas opções 
de compiladores freeware (gratuitos) extraoficiais, como o 
VisuAlg, o G-Portugol, e outros. 
Em nossa disciplina, vamos utilizar o VisuAlg para compilarmos 
e executarmos nossos algoritmos escritos em Portugol. 
Introdução a Programação de Computadores 12
A Tabela ASCII
Para escrevermos um programa fonte, devemos utilizar um editor de programa que usará 
somente os caracteres da tabela ASCII, ou seja, não empregamos em programas fonte 
formatações do tipo negrito, itálico, tamanho de fonte, e outras. Na maioria dos compila-
dores, estas formatações são automaticamente inseridas pelo editor do compilador, no 
ato da digitação, a partir da sintaxe da linguagem utilizada.
O American Standard Code for Information Interchange - ASCII, é uma codifica-
ção de caracteres de sete bits (27 = 128 códigos) ou 8 bits - ASCII estendida 
(28 = 256 códigos) baseada no alfabeto inglês. 
Cada sequência de códigos na tabela ASCII corresponde a um caractere, e é 
representada pelos 8 bits (equivalente a um byte). Os códigos ASCII representam texto 
em computadores. A tabela foi desenvolvida a partir de 1960, e grande parte das codi-
ficações de caracteres modernas a herdaram como base. A tabela 1 apresenta parte da 
tabela ASCII com os caracteres mais utilizados.
O American Standard 
Code for Information 
Interchange - ASCII
Código Padrão Americano para 
o Intercâmbio de Informação
Binário Decimal Hexa Glifo
0010 0000 32 20 
0010 0001 33 21 !
0010 0010 34 22 "
0010 0011 35 23 #
0010 0100 36 24 $
0010 0101 37 25 %
0010 0110 38 26 &
0010 0111 39 27 '
0010 1000 40 28 (
0010 1001 41 29 )
0010 1010 42 2A *
0010 1011 43 2B +
0010 1100 44 2C ,
0010 1101 45 2D -
0010 1110 46 2E .
0010 1111 47 2F /
0011 0000 48 30 0
0011 0001 49 31 1
0011 0010 50 32 2
0011 0011 51 33 3
0011 0100 52 34 4
0011 0101 53 35 5
0011 0110 54 36 6
0011 0111 55 37 7
0011 1000 56 38 8
0011 1001 57 39 9
0011 1010 58 3A :
0011 1011 59 3B ;
0011 1100 60 3C <
0011 1101 61 3D =
0011 1110 62 3E >
0011 1111 63 3F ?
Binário Decimal Hexa Glifo
0100 0000 64 40 @
0100 0001 65 41 A
0100 0010 66 42 B
0100 0011 67 43 C
0100 0100 68 44 D
0100 0101 69 45 E
0100 0110 70 46 F
0100 0111 71 47 G
0100 1000 72 48 H
0100 1001 73 49 I
0100 1010 74 4A J
0100 1011 75 4B K
0100 1100 76 4C L
0100 1101 77 4D M
0100 1110 78 4E N
0100 1111 79 4F O
0101 0000 80 50 P
0101 0001 81 51 Q
0101 0010 82 52 R
0101 0011 83 53 S
0101 0100 84 54 T
0101 0101 85 55 U
0101 0110 86 56 V
0101 0111 87 57 W
0101 1000 88 58 X
0101 1001 89 59 Y
0101 1010 90 5A Z
0101 1011 91 5B [
0101 1100 92 5C \
0101 1101 93 5D ]
0101 1110 94 5E ^
0101 1111 95 5F _
Binário Decimal Hexa Glifo
0110 0000 96 60 `
0110 0001 97 61 a
0110 0010 98 62 b
0110 0011 99 63 c
0110 0100 100 64 d
0110 0101 101 65 e
0110 0110 102 66 f
0110 0111 103 67 g
0110 1000 104 68 h
0110 1001 105 69 i
0110 1010 106 6A j
0110 1011 107 6B k
0110 1100 108 6C l
0110 1101 109 6D m
0110 1110 110 6E n
0110 1111 111 6F o
0111 0000 112 70 p
0111 0001 113 71 q
0111 0010 114 72 r
0111 0011 115 73 s
0111 0100 116 74 t
0111 0101 117 75 u
0111 0110 118 76 v
0111 0111 119 77 w
0111 1000 120 78 x
0111 1001 121 79 y
0111 1010 122 7A z
0111 1011 123 7B {
0111 1100 124 7C |
0111 1101 125 7D }
0111 1110 126 7E ~
Tabela 1 – Tabela ASCII (caracteres mais utilizados)
Fonte: Adaptado PIVA JÚNIOR (2012).
Fluxogramas
Entender processos e implementá-los na forma de algoritmos, seja no planejamento gené-
rico do nosso dia a dia ou na criação de programas a serem executados por um computa-
dor, as vezes se torna complexo e de difícil visualização.
O uso de formas gráficas, para melhorar a compreensão de um processo e consequente 
criação de algoritmos, ajuda bastante, e o uso de fluxogramas é uma das melhores alter-
nativas neste sentido.
O fluxograma é um tipo de diagrama, onde, através de símbolos, conseguimos “desenhar” 
todo o processo, do seu início ao fim, passando por momentos de decisão e repetição de 
ações. Eles são muito utilizados no desenvolvimento de softwares, pois não tem regras 
rígidas e complicadas, como nas linguagens de programação, e são de fácil compreensão, 
no que tange ao fluxo de dados do algoritmo.
Nesta disciplina utilizaremos, de forma paralela, os fluxogramas para que o aluno possa 
entender melhor os comandos que estudaremos e o fluxo de dados e processos que 
fazem parte dos algoritmos.
Durante a disciplina você observará que utilizaremos, de forma paralela, os fluxogramas 
para que você possa entender melhor os comandos que estudaremos e o fluxo de dados 
e processos que fazem parte dos algoritmos.
Introdução a Programação de Computadores 14
Na figura 3 temos um exemplo de um fluxograma de uma situação real, aquela que 
determina a situação acadêmica (aprovado ou reprovado), ao fim do semestre, de uma 
disciplina EaD da FUMEC.
INÍCIO
N1 (Soma das notas 
atv avaliativas do AVA)
N2 (Nota da avaliação
 presencial)
FR (Frequência aos 
encontros presenciais)
NF1 (Nota Final 1) 
= N1 + N2
NF1 > = 60 
e
 FR > = 75%
N2 > = 20 
e
 FR > = 75%
EX (Exame especial)
NF2 (Nota Final 2) 
= N1 + EX
NF2 > = 60
"REPROVADO 
NA DISCIPLINA"
F V
V
F
V
"APROVADO NA 
DISCIPLINA"
FIM
Fig. 3 : Fluxograma “Situação Acadêmica”.Bom, como você pode perceber no fluxograma apresentado, durante todo o processo 
existem diversos dados externos a serem lidos e analisados para o fluxograma enfim 
determinar a situação acadêmica do aluno na disciplina (aprovado ou reprovado). Veja que 
a leitura e análise do exame especial acontecerá de acordo com o resultado do processa-
mento dos dados iniciais lidos.
Introdução a Programação de Computadores 15
Síntese
Neste módulo, você aprendeu conceitos básicos de algoritmos e de programação de 
computadores.
Você conheceu como os algoritmos são escritos e conheceu as linguagens de programação.
Você também pôde conhecer os programas fonte, objeto e compiladores.
Outro ponto importante foi a apresentação da tabela ASCII, que é muito utilizada nos 
códigos fontes dos programas.
Referências
FARRER, Harry. Algoritmos estruturados. 3. ed. São Paulo: LTC Ed., c1999. 284p. ISBN 9788521611806.
GUIMARÃES, Angelo de Moura.; LAGES, Newton Alberto de Castilho. Algoritmos e estruturas de dados. Rio de 
Janeiro: LTC Ed., 1985. 216p. ISBN 8521603789.
PIVA JÚNIOR, Dilermano. Algoritmos e programação de computadores. Rio de Janeiro: Elsevier; Campus, 
c2012. xviii, 504p. ISBN 9788535250312.
SCHEID, Francis. Introdução à ciência dos computadores. São Paulo: McGraw-Hill do Brasil, c1971. 404 p.
16

Outros materiais