Você está na página 1de 20

Capitulo I

PROGRAMAÇÃO DE COMPUTADORES

- Programa de Computador
- Compilação, Interpretação e Linkedição
- Diretrizes para Construção de Programas de
Qualidade
Programação de Computadores
Programar é escrever instruções para um
computador executar uma tarefa qualquer.
EXEMPLO : Programa de Computador
/* Programa para ler 2 números quaisquer e
import java.util.Scanner; imprimir na tela a soma deles */
public class SomaValores
{ /* Importando uma função(classe) Scanner
public static void main(String[] args) da biblioteca de utilitários do Java para
usá-la em seu programa */
{
Scanner s = new Scanner(System.in);
System.out.print("Digite o primeiro valor: ");
int valor1 = s.nextInt();
leitura dos 2 números da linha de comando
System.out.print("Digite o segundo valor: ");
int valor2 = s.nextInt();
int soma = valor1 + valor2;
System.out.println("A soma dos valores é: " + soma); impressão da soma na console
scanner.close();
}
}
QUESTÕES PARA DISCUSSÃO

• PORQUÊ IMPORTAR UMA FUNÇÃO (CLASSE ) DE UMA BIBLIOTECA ??????

Mas o que é uma Função?

• PORQUE INDENTAR AS INSTRUÇÕES DE UM PROGRAMA ??????


VAMOS TESTAR AS CAPACIDADES DE ELABORAR ALGORITMOS?
• Plataforma de programação em Portugol – Portugol Webstudio

https://dgadelha.github.io/Portugol-Webstudio/

• Videos com orientações de uso do Portugol Webstudio

https://www.youtube.com/watch?v=dtgHcIKjazA&list=PL8vn1Rt-MINYatt7pRnEOdBn_I2ahXZxW&index=1
https://www.youtube.com/watch?v=VxDLGAisW4I&list=PL8vn1Rt-MINYatt7pRnEOdBn_I2ahXZxW&index=2
https://www.youtube.com/watch?v=1jpa8wy2C2I&list=PL8vn1Rt-MINYatt7pRnEOdBn_I2ahXZxW&index=3

https://www.youtube.com/watch?v=1jpa8wy2C2I&list=PL8vn1Rt-MINYatt7pRnEOdBn_I2ahXZxW&index=4
EXERCICIO 1
1 - Escreva um programa que armazene o valor 10 em uma variável A e o valor 20 em uma variável B. A seguir
(utilizando apenas atribuições entre variáveis) troque os seus conteúdos fazendo com que o valor que está em
A passe para B e vice-versa. Ao final, escrever os valores que ficaram armazenados nas variáveis.

2 - Escreva um programa para ler um valor (do teclado) e escrever (na tela) o seu antecessor.

3 - Ler dois valores e imprimir uma das três mensagens a seguir: ‘Números iguais’, caso os números sejam
iguais ‘Primeiro é maior’, caso o primeiro seja maior que o segundo; ‘Segundo maior’, caso o segundo seja
maior que o primeiro.

4 – Escreva um programa para ler: número da conta do cliente, saldo, débito e crédito. Após, calcular e
escrever o saldo atual (saldo atual = saldo - débito + crédito). Também testar se saldo atual for maior ou igual a
zero escrever a mensagem 'Saldo Positivo', senão escrever a mensagem 'Saldo Negativo'.

5 - Ler um valor N e imprimir todos os valores inteiros entre 1 (inclusive) e N (inclusive). Considere que o N será
sempre maior que ZERO.

6 - Escreva um algoritmo para ler 10 números. Todos os números lidos com valor inferior a 40 devem ser
somados. Escreva o valor final da soma efetuada.
O PROCESSO DE COMPILAÇÃO DE UM PROGRAMA DE COMPUTADOR

• Mas programar já não é uma tarefa fácil e programar escovando bits


(programando apenas usando 0 e 1s) é quase impossível humanamente!

• Porém, não precisamos ter conhecimento de linguagem de máquina para


escrever nossos programas. Para nosso trabalho como desenvolvedores de
software, utilizamos linguagens mais próxima do nosso linguajar do dia-a-dia
(inglês no caso) (chamada de alto nível), como, por exemplo, a própria
linguagem Java.

• Se o processador apenas reconhece a linguagem de máquina, como ele irá


executar um programa escrito em uma linguagem de alto nível?

Neste momento, entram em ação:

Compilador e Editor de ligação.


MAS UM COMPUTADOR PODE PROCESSAR DIRETAMENTE O PROGRAMA QE
ESCREVEMOS EM UMA LINGUAGEM PRÓXIMA A DO SER HUMANO (Ex. Em Inglês)?

• Quem executa um programa de computador é o seu processador (CPU).

• Para que haja essa execução o programa precisa estar em uma linguagem que o processador
possa entender: a linguagem de máquina. Ela é composta apenas de 0 e 1.
O processo de compilação :
Um programa-fonte escrito em linguagem de alto nível é processado por um
programa denominado de compilador gerando um programa-objeto em linguagem de
máquina que, ainda não é executável.
O PROCESSO DE LINKEDIÇÃO
• Recebe o programa em código objeto ; e
• Transforma-o em um programa em linguagem de máquina executável para uma plataforma específica.

Programa
Executável
NÍVEL DA LINGUAGEM

Quanto mais semelhante uma linguagem for da de máquina:


• Mais baixo é o nível dessa linguagem; e
• Menos legível é para o ser humano;

Quanto mais “distante” uma linguagem for da de máquina:


• Mais alto é o nível dessa linguagem; e
• Mais legível é para o ser humano.
Compiladores x Interpretadores
• Um interpretador também é um programa, mas, ao contrário do compilador, ele não converte o
código todo para linguagem de máquina de uma vez. Ele executa diretamente cada instrução,
passo a passo. MATLAB, Lisp, Perl e PHP são apontadas como interpretadas.

• Uma das grandes vantagens dos compiladores é sua velocidade de execução, muito em função
do que já falamos sobre traduzir todo o código de uma vez. Não precisar fazer a conversão toda
vez que o sistema é executado dá uma eficiência muito maior do que um interpretador.

• Uma compilação costuma dar resultados mais confiáveis graças às suas diversas etapas de
validação e otimização. Uma checagem de tipos estáticos, por exemplo, é comum em
compiladores, e identifica diversos erros de programação antes do executável ser gerado.
Diretrizes para Construção de Programas de Qualidade
Coesão: um programa em que seus componentes são fortemente coesos é
mais fácil de entender e manter pois tem-se a certeza que um papel ou
função está sendo executada especificamente naquele programa, modulo ou
classe.

Acoplamento: um programa em que seus componentes são fracamente


acoplados também se torna mais fácil de entender e mais fácil de manter
porque temos certeza que eles provavelmente não compartilham dados
cruciais entre si. Logo, o engenheiro de software poderá identificar que
estruturas de dados estão sendo manipuladas (acessadas) por cada
componente e assim ter uma boa noção do fluxo de dados no sistema como
um todo.
Arquitetura MVC :
• O MVC divide as responsabilidades do aplicativo em camadas distintas, o que facilita o desenvolvimento, teste e
manutenção do software. Cada camada tem responsabilidades bem definidas, tornando o código mais organizado e
legível.
•Reutilização de código: A separação de responsabilidades também facilita a reutilização de código.

•Maior escalabilidade: permite que os desenvolvedores gerenciem o crescimento do aplicativo de forma mais eficaz. A
separação das responsabilidades ajuda a minimizar a complexidade do código e facilita a adição de novos recursos.
A norma ISO/IEC 9126 (NBR 13596) define 6 categorias de
características de qualidade de um software :
Funcionalidade - O conjunto de funções satisfazem as necessidades explícitas e implícitas para a
finalidade a que se destina o produto?

Confiabilidade - O desempenho se mantém ao longo do tempo e em condições estabelecidas?

Usabilidade - É fácil utilizar o software?

Eficiência - Os recursos e os tempos utilizados são compatíveis com o nível de desempenho


requerido para o produto?

Manutenibilidade - Há facilidade para correções, atualizações e alterações?

Portabilidade - É possível utilizar o produto em diversas plataformas com pequeno esforço de


adaptação?
EXERCICIO 2

USE O SEU CELULAR E GRAVE UM VIDEO DE


VOCE EXPLICANDO OS PRINCIPAIS
APRENDIZADOS DE HOJE, ARMAZENE ESSE
VIDEO EM QUALQUER LOCAL NA NUVEM,
COMPARTILHE O ENDEREÓ DESSE LOCAL COM
QUEM TIVER O LINK e faça o upload do link
desse vídeo no seu BLOG.

Você também pode gostar