Post on 16-Oct-2021
Curso Engenharia Civil
Modalidade Superior
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Professora Michelle Nery
Programação de Computadores
Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Agenda
Introdução a Programação
Algoritmos VS Programa
Instituto Federal do Sul de Minas, câmpus Pouso Alegre2
Algoritmos
Instituto Federal do Sul de Minas, câmpus Pouso Alegre3
Um algoritmo pode ser definido como uma sequência finita de
passos (instruções) para resolver um determinado problema.
Sempre que desenvolvemos um algoritmo estamos
estabelecendo um padrão de comportamento que deverá ser
seguido (uma norma de execução de ações) para alcançar o
resultado de um problema.
Algoritmos
Instituto Federal do Sul de Minas, câmpus Pouso Alegre4
Algoritmo 1: Troca de pneu do carro
1. desligar o carro
2. pegar as ferramentas (chave e macaco)
3. pegar o estepe
4. desenroscar os 4 parafusos do pneu furado
5. suspender o carro com o macaco
6. desenroscar os 4 parafusos do pneu furado
7. colocar o estepe
8. enroscar os 4 parafusos
9. baixar o carro com o macaco
10. enroscar os 4 parafusos
11. guardar as ferramentas
Algoritmos
Instituto Federal do Sul de Minas, câmpus Pouso Alegre5
Um algoritmo quando programado num computador é
constituído pelo menos das 3 partes, sendo elas:
Entrada de dados.
Processamento de dados.
Saída de dados.
Algoritmos
Instituto Federal do Sul de Minas, câmpus Pouso Alegre6
Algoritmo 2: Como fazer um bolo?
Algoritmos
Instituto Federal do Sul de Minas, câmpus Pouso Alegre7
Entrada são fornecidas as informações necessárias para que o
algoritmo possa ser executado. Estas informações podem ser
fornecidas no momento em que o programa está sendo
executado.
Algoritmos
Instituto Federal do Sul de Minas, câmpus Pouso Alegre8
Processamento são avaliadas todas as expressões algébricas,
relacionais e lógicas, assim como todas as estruturas de controle
existentes no algoritmo (condição e/ou repetição).
Algoritmos
Instituto Federal do Sul de Minas, câmpus Pouso Alegre9
Saída todos os resultados do processamento (ou parte deles)
são enviados para um ou mais dispositivos de saída, como:
monitor, impressora, ou até mesmo a própria memória do
computador.
Algoritmos
Instituto Federal do Sul de Minas, câmpus Pouso Alegre10
Algoritmo 3: Calcular a área de uma circunferência dada por
A = π * R2:
Para calcular a área é necessário saber os valores do raio R e do π.
Considere que o valor de π é constante, sendo que o mesmo poderá
ser gravado dentro do próprio algoritmo. O valor do raio R deve
ser informado pelo usuário pelo teclado. Entradas.
O processamento do algoritmo será a realização do cálculo π * R2 e
a atribuição do resultado dessa expressão para a variável A.
Processamento.
A saída do resultado, ou seja, o valor de A, deverá ser informada na
tela do monitor. Saída.
Algoritmos
Instituto Federal do Sul de Minas, câmpus Pouso Alegre11
Ínicio
Pi 3.1415;
leia R;
A Pi * (R * R);
escreva A;
Fim;
Algoritmos
Instituto Federal do Sul de Minas, câmpus Pouso Alegre12
Os algoritmos também podem ser representados por
fluxogramas.
Cada ação ou situação é representada por uma caixa.
Tomadas de decisões são indicadas por caixas especiais,
possibilitando ao fluxo de ações tomar caminhos distintos.
Algoritmos
Instituto Federal do Sul de Minas, câmpus Pouso Alegre13
Algoritmo 4:
Algoritmos Linguagem Natural
Instituto Federal do Sul de Minas, câmpus Pouso Alegre14
A linguagem natural é a maneira como expressamos nosso
raciocínio e trocamos informação.
Raramente constitui um sistema de regras rígidas que possa ser
implementada numa máquina.
Algoritmos Linguagem Natural
Instituto Federal do Sul de Minas, câmpus Pouso Alegre15
Ao contrário dos seres humanos, as máquinas são projetados para
executar tarefas bem determinadas a partir de determinadas
instruções.
Um computador é somente capaz de realizar estritamente as tarefas
que lhe forem delegadas e que façam parte do conjunto daquelas
ações que ele pode executar (instruções).
É necessário compreender que tipo de instruções podem ser
executadas pelos computadores para que possamos programá-los,
de modo que realizem a tarefa do modo desejado.
Algoritmos Programação
Instituto Federal do Sul de Minas, câmpus Pouso Alegre16
As instruções são determinadas por uma linguagem denominada
linguagem de máquina.
Linguagem composta somente por números binários.
Dificílima de se compreender.
Existe uma linguagem representada por comandos, mas que
reproduz as tarefas que serão executadas dentro do computador,
a linguagem de montagem (assembly).
Difícil de programar;
Programas feitos para um determinado processador, por conterem
instruções específicas deste, não funcionarão em um processador de
outro tipo.
Algoritmo Programação
Instituto Federal do Sul de Minas, câmpus Pouso Alegre17
Exemplo de um programa que escreve a frase “Olá Mundo” no
monitor, usando linguagem de máquina.
Coluna da esquerda está o endereço relativo de memória.
Coluna do centro o programa escrito em linguagem de máquina.
Coluna da direita a representação em caracteres ASCII.
Linguagens de Programação
Instituto Federal do Sul de Minas, câmpus Pouso Alegre18
Para facilitar a tarefa de programar um computador, foram
criadas várias linguagens de programação.
Estas linguagens são um maneira de tentar escrever as tarefas que
o computador vai realizar de maneira mais parecida com a
linguagem natural.
Linguagens de Programação
Instituto Federal do Sul de Minas, câmpus Pouso Alegre19
Classificação das Linguagens de Programação
Baixo Nível x Alto Nível
Compilada x Interpretada
Não Estruturadas x Estruturadas x Orientadas a Objeto
Procedurais x Funcionais
Linguagens Específica e Propósito Geral
Baixo Nível e Alto Nível
Instituto Federal do Sul de Minas, câmpus Pouso Alegre20
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre21
Baixo Nível: Linguagens muito parecidas com linguagem de
máquina, suas instruções parecem-se muito com aquelas que
serão executadas pelo processador. Exemplo: linguagem de
montagem (assembly).
Alto Nível: são as que guardam mais semelhanças com a
linguagem natural. Exemplos: Pascal, C, Fortran, Java, Perl,
Python, Lisp, PHP, entre outras.
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre22
Compilada e Interpretada
Instituto Federal do Sul de Minas, câmpus Pouso Alegre23
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre24
Compilada: o código-fonte do programa é lido por um
programa chamado compilador, que cria um arquivo binário,
executável diretamente pelo hardware da plataforma-alvo.
Compilador
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre25
A Compilação é responsável por converter os comandos da
linguagem de programação nas instruções em código de máquina
que o processador poderá utilizar.
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre26
Interpretada: programas escritos em linguagens interpretadas
não são convertidos em um arquivo executável. Eles são
executados utilizando um outro programa, o interpretador, que
lê o código-fonte e o interpreta diretamente, durante a sua
execução.
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre27
Um interpretador “entrega” o código-fonte ao computador em
uma linguagem de baixo nível sempre que o programa é
executado.
Cada execução do programa precisa ser novamente traduzido e
interpretado.
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre28
Você consegue executar um programa em C/C++ com
extensão .exe na plataforma Linux?
Código compilado
Você consegue executar um aplicativo Java na plataforma Linux e
Windows?
Código interpretado
Instituto Federal do Sul de Minas, câmpus Pouso Alegre29
Não estruturada e estruturadas
Instituto Federal do Sul de Minas, câmpus Pouso Alegre30
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre31
Não estruturadas: São linguagens de programação que não
aceitam blocos de estruturas.
Exemplo seria o uso do GOTO para substituir as estruturas
condicionais e de repetição.
Linguagem puramente não estruturada:Assembly.
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre32
Estruturadas: E uma forma de programação de computadores
que preconiza que todos os programas possíveis podem ser
reduzidos a apenas três estruturas: sequência, decisão e iteração
(esta última também é chamada de repetição), desenvolvida por
Michael A. Jackson no livro "Principles of Program Design" de
1975.
Linguagens que aceitam: C/C++, Pascal, Basic,etc.
Linguagens puramente estruturadas: Java, Prolog.
Instituto Federal do Sul de Minas, câmpus Pouso Alegre33
Orientadas a Objeto: foi criada para tentar aproximar o
mundo real do mundo virtual.
Para isso, nada mais natural do que utilizar Objetos, afinal, nosso
mundo é composto de objetos, certo?!
Linguagens de Programações e suas
Características
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre34
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre35
Procedurais: paradigma de programação baseado no conceito
de chamadas a procedimento.
Procedimentos, também conhecidos como rotinas, subrotinas,
métodos, ou funções simplesmente contém um conjunto de passos
computacionais a serem executados.
Um dado procedimento pode ser chamado a qualquer hora durante
a execução de um programa, inclusive por outros procedimentos ou
por si mesmo.
As linguagens procedurais mais comuns são o C, o Pascal e o
Fortran.
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre36
Funcionais: é um paradigma de programação que trata a
computação como uma avaliação de funções matemáticas e que
evita estados ou dados mutáveis.
As linguagens funcionais mais conhecidas são o LISP e o Prolog
Diversas outras linguagens funcionais são encontradas na
literatura, por exemplo, ASpecT, Caml, Clean, Erlang, FP, Gofer,
Haskell, Hope, Hugs, Id, IFP, J, Miranda, ML, NESL, OPAL,e
Sisal
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre37
Linguagens Específica: dedicada à um domínio de problema
particular.
Linguagens para banco de dados: SQL, Clipper
Linguagem para simulação: MATLAB
Linguagem de scripts: Tcl/Tk, Perl
Linguagens para formatação de texto: TeX/LaTeX, HTML, Postscript, PDF,
Propósito Geral: capaz de resolver qualquer problema, de qualquer
domínio.
Linguagens de Programação
Linguagens mais utilizadas em 2014
Instituto Federal do Sul de Minas, câmpus Pouso Alegre38
O site TIOBE Software fez um estudo para analisar quais são as
linguagens que estão sendo mais utilizadas em 2014.
Leia mais em:
http://www.tiobe.com/index.php/content/paperinfo/tpci/in
dex.html
Instituto Federal do Sul de Minas, câmpus Pouso Alegre39
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre40
Linguagem de Programação C:
Médio Nível
Compilada
De propósito geral
Estruturada
Imperativa Procedural
Padronizada pela ISO, criada em 1972, por Dennis Ritchie e Ken
Thompson, no AT&T Bell Labs, para desenvolver o sistema
operacional Unix (que foi originalmente escrito em Assembly).
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre41
Linguagem de Programação Java:
Alto Nível
Compilada e Interpretada
De propósito geral
Orientada a Objeto
Desenvolvida na década de 90 por uma equipe de programadores
chefiada por James Gosling, na empresa Sun Microsystems.
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre42
Linguagem de Programação Objetive-C:
Alto Nível
Compilada
De propósito geral
Orientada a Objeto
Objective-C é apenas um conjunto de adições à linguagem C.
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre43
Linguagem de Programação C++:
Médio Nível
Compilada
De propósito geral
Orientada a Objeto
Imperativa Procedural
Bjarne Stroustrup desenvolveu o C++ em 1983 como um adicional
à linguagem C. Novas características foram adicionadas com o
tempo.
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre44
Linguagem de Programação PHP:
Alto Nível
Compilada e Interpretada
De propósito geral
Estruturada e Orientada a Objeto
Imperativa Procedural
Criado por Rasmus Lerdorf em 1995.
Usada originalmente apenas para o desenvolvimento de aplicações
presentes e atuantes no lado do servidor, capazes de gerar conteúdo
dinâmico naWorldWideWeb.
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre45
Linguagem de Programação C#:
Alto Nível
Compilada
De propósito geral
Orientada a Objeto
Desenvolvida pela Microsoft como parte da plataforma .NET.
Linguagens de Programações e suas
Características
Instituto Federal do Sul de Minas, câmpus Pouso Alegre46
Linguagem de Programação Assembly:
Baixo Nível
Compilada
De propósito geral
Não estruturada
Exemplo: MOV AL, 61h: tal instrução ordena que o valor
hexadecimal 61 (97, em decimal) seja movido para o registrador
'AL'.
Exercícios
Instituto Federal do Sul de Minas, câmpus Pouso Alegre47
1. O que é algoritmo?
2. Faça a representação de um algoritmo para somar duas notas e
mostre seu resultado na tela.
3. O que é programação?
4. O que é uma linguagem compilada?
5. O que é uma linguagem interpretada?
6. Pesquise vantagens e desvantagens de um código compilado e
interpretado.
Exercícios
Instituto Federal do Sul de Minas, câmpus Pouso Alegre48
1. Pesquise na internet o código fonte de um determinado
programa, nas seguintes linguagens: C/C++, PHP, Java, C# e
Assembly. Lembrando que você deverá saber o que o programa
faz.
2. Qual/quais linguagem(ns) de programação você usaria, sendo
a mais apropriada, para os seguintes propósitos:
1. Criar uma páginaWeb.
2. Desenvolver um programa para robô.
3. Desenvolver um programa para uma loja de roupas.
Bibliográfica
Mais referência
http://www.ferrari.pro.br/home/documents/FFerrari-
CCechinel-Introducao-a-algoritmos.pdf