Buscar

Aula 2 - Introducao e Algoritmos

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
Introdução e Algoritmos
*
O Computador
Memória Principal 
(RAM, ROM, Cache, Registradores)
Dispositivos de
Entrada
Dispositivos de Saída
CPU
Memória Secundária
(CD, Disquete, HD)
*
O Computador
Hardware: Componentes físicos de um sistema de computação. 
Software: Instruções para o hardware executar uma tarefa. São os programas do computador.
Sistema Operacional: Conjunto de programas e rotinas que gerenciam recursos de hardware de modo a possibilitar sua utilização e permitir a comunicação entre os dispositivos. 
*
Software
Linguagens de Programação:
Proporcionam ao programador a possibilidade de fornecer instruções ao computador através de comandos ou sentenças, escritas em uma linguagem próxima à linguagem humana, permitindo desta forma a criação de novos softwares;
Linguagem que o computador entende é a linguagem de máquina, composta de 0 e 1.
*
Linguagens de Programação
Cada linguagem de programação obedece à regras especificas. As regras de sintaxe de uma linguagem de programação definem como são expressados as instruções a serem executadas;
BAIXO NÍVEL - Linguagem de Máquina e de Montagem. Mais compatíveis com o hardware do computador;
ALTO NÍVEL - Linguagens de Compilação e Interpretação. Similares à nossa linguagem natural.
*
Linguagens de Programação
Linguagem de máquina:
Formada por códigos binários interpretados diretamente pelo hardware do computador;
Exemplo:
*
Linguagens de Programação
Linguagem Assembler:
Formada por códigos mnemônicos, os quais precisam ser convertidos em Linguagem de Máquina, para que sejam interpretados pelo hardware do computador; é difícil e específica mas poderosa e eficiente.
Exemplo:
*
Linguagens de Programação
Linguagem de Alto Nível:
Usa sintaxe próxima da linguagem do usuário; Precisa ser convertida em Linguagem de Máquina, para que seja interpretada pelo hardware do computador;
Exs: Fortran, Basic, Pascal, Delphi, C, C++, Java;
TOTAL = SALARIO + COMISSOES
Nomes de Variáveis
*
Linguagem de Alto Nível:
	Conversão em Linguagem de Máquina.
Linguagens de Programação
*
Algoritmos
É uma seqüência de instruções bem definidas que, executadas passo a passo, permitem a solução de um problema.
Passo-a-passo, significa que cada passo é completado antes que o próximo comece. 
Bem-definido, significa que cada passo é completamente definido a partir da entrada atual e dos passos anteriores
*
Algoritmo
É uma seqüência de instruções bem definidas que, executadas passo a passo, permitem a solução de um problema. Essa é uma definição geral podendo ser aplicada em qualquer contexto.	
Exemplo: Um algoritmo para trocar uma lâmpada:
		
Passo 1: Desligar a chave.
Passo 2: Pegar uma lâmpada nova.
Passo 3: Pegar uma escada.
Passo 4: Posicionar a escada embaixo da lâmpada queimada
Passo 5: Subir na escada com a lâmpada nova na mão.
Passo 6: Retirar a lâmpada queimada.
Passo 7: Colocar a lâmpada nova.
Passo 8: Descer da escada.
Passo 9: Ligar a chave.
Passo 10: Testar a lâmpada.
Passo 11: Guardar a escada.
Passo 12: Jogar a lâmpada velha no lixo apropriado.
*
Algoritmo
Podemos descrever um algoritmo um pouco diferente para realizar a mesma tarefa, isso quer dizer que um mesmo problema pode ser resolvido de maneiras diferentes visando atingir o mesmo objetivo.
Construindo um algoritmo:
Ler atentamente o enunciado do problema destacando seus pontos principais;
Definir os dados de entrada, ou seja, quais dados serão fornecidos;
Definir o processamento dos dados, ou seja, o que deve ser feito aos dados de entrada para transformá-los em dados de saída.
Definir os dados de saída, ou seja, a resposta ao problema.
*
Algoritmos
Propriedades:
A seqüência de instruções deve ser finita.
Deve terminar depois de um número finito de passos.
Não deve existir ambigüidade sobre o próximo passo a ser realizado.
Deve ser correto, ou seja, sempre termina e para qualquer instância de entrada produz uma saída correta. 
Exemplos: Receita de bolo, Manual do videocassete, Regras de um jogo, Direções para ir entre dois lugares
*
Programa
Linguagens de Programação: proporcionam ao programador a possibilidade de fornecer instruções ao computador através de comandos ou sentenças, escritas em uma linguagem próxima à linguagem humana, permitindo desta forma a criação de novos softwares.
Cada linguagem de programação obedece a regras especificas. As regras de sintaxe de uma linguagem de programação definem como são expressadas as instruções a serem executadas.
Um programa de computador (software) é representado pelas instruções e dados definidos que ao serem executados por alguma máquina cumprem algum objetivo.
*
Algoritmos
Formas de Representação de Algoritmos:
Linguagem natural: Especificação verbal dos passos em linguagem natural.
Fluxogramas: São diagramas que representam graficamente o algoritmo, enfatizando os passos individuais e o fluxo da execução.
Elementos são representados por símbolos convencionais e os relacionamentos por linhas de conexão, permitindo visualizar o fluxo lógico através do tempo.
*
2) Fluxogramas
Símbolos
Some A e B
inicio / fim
leitura
decisão
ação
impressão
conector
Leia A e B
Soma > 5
Imprima “Maior que 5”
Início
Imprima “Menor que 5”
Fim
S
N
Algoritmos
*
3) Pseudocódigo: Linguagem especial para expressão de algoritmos, funciona como uma linguagem simplificada de programação, utilizando expressões concisas e pré-definidas para representar as ações e os fluxos de execução.
4) Programação é a seqüência de planejamento, projeto, escrita, instalação e testes de instruções desempenhadas pelo computador. Envolve obediência às regras (lógicas e matemáticas), otimização, documentação, ...
Algoritmos
*
Português Estruturado
Uma forma de escrever algoritmos em pseudocódigo é chamada de Português Estruturado. Esta forma se aproxima de um programa, porém os comandos são escritos em Português.
Comandos Iniciais em Português Estruturado
Corpo do Algoritmo:
	// Título do Algoritmo
	Início
		<Declarações>
		<Comandos>
	Fim
*
Português Estruturado
Comando de escrita na tela: Serve para imprimir dados na tela do computador.
			Escreva( );
Comando de leitura de dados: Serve para obter dados do usuário via teclado.
			Leia( );
*
Exemplo 1
Escreva um algorimtmo que escreva a frase “Meu primeiro programa” na tela.
Algoritmo:
// Algoritmo que escreve uma frase na tela
Início
	Escreva("Meu primeiro programa");
Fim
*
Números
Na maioria das linguagens de programação comumente trabalhamos com dois tipos de números:
*
Algumas operações
Nosso programa pode efetuar algumas operações aritméticas. As principais são:
*
Operação de Divisão
A operação de divisão pode ser de duas formas: divisão inteira e divisão real.
inteiro / inteiro
= inteiro
= real
real / real
real / inteiro
= real
= real
inteiro / real 
*
Precedência de operadores
Alguns operadores em ordem de precedência (de cima para baixo) Em caso de associação, da esquerda para a direita:
Exemplos:
6
-10
1
8.0
*
Exemplo 2 – versão I
Escreva um algoritmo que imprima o resultado da expressão 2 * 8 + 2 – 5
// Algoritmo que imprime uma expressão;
Início
		Escreva(2*8+2-5);
Fim.
*
Exemplo 2 – versão II
Escreva um algoritmo que imprima o resultado da expressão 2 * 8 + 2 – 5
// Algoritmo que imprime uma frase e uma expressão;
Início
	Escreva("O resultado de 2*8+2-5 é ", 2*8+2-5);
Fim.
*
Exercícios
Indique qual o resultado será obtido das seguintes expressões: 
1 / 2
1.0/2
1%2
(220/10)%4
29.0/2+4
29/2+4
3/6.0-7
Escreva um algoritmo que calcule o valor da seguinte expressão: 
*
Variáveis
Uma variável é uma porção da memória do computador onde um valor pode ser armazenado para ser usado por um programa. A esse espaço de memória é associado um nome (identificador) e um tipo que corresponde ao tipo de informação que será armazenada. 
Nomes de variáveis:
O primeiro caractere deve ser uma letra ou o caractere _
Na formação dos identificadores são permitidos: números, letras (maiúsculas ou minúsculas) e o
caractere _
Algumas linguagens fazem diferença entre maiúsculas e minúsculas, portanto o identificador num é diferente de Num, nUm, NUM, ...
Não são permitidos espaços em branco.
*
Variáveis
Tipos de dados primitivos:
caractere
inteiro
real
Declaração de variáveis: Normalmente feita no início do algoritmo, define o espaço a ser reservado na memória para uso do algoritmo.
Forma Geral:
		tipo	nome;
 Exemplo:
		inteiro a;
		real b, c;
Nem todas as linguagens exigem declaração de variáveis. A linguagem C exige.
*
Para armazenar valores em variáveis:
Operador de atribuição (=): Armazena um valor ou o resultado de uma expressão em uma variável.
	Exemplo:
		inteiro a, b;
		a = 10;
		b = 5 * 7 + a;
Comando de leitura de dados: Obtém dados do usuário via teclado.
		Leia(c);
Variáveis
*
Exemplo 1
Escreva um algoritmo que leia dois números inteiros e apresente na tela a soma destes valores. 
// Calcula a soma de dois números digitados pelo usuário
Início
		inteiro a, b, soma;
		Leia(a);
		Leia(b);
		soma = a + b;
		Escreva("O resultado da soma é“, soma);
Fim
*
Exemplo 1 – Versão II
Escreva um algoritmo que leia dois números inteiros e apresente na tela a soma destes valores. 
// Calcula a soma de dois números digitados pelo usuário
Início
		inteiro a, b, soma;
		Escreva("Digite um número inteiro:");
		Leia(a);
		Escreva("Digite outro número inteiro:");
		Leia(b);
		soma = a + b;
		Escreva("O resultado da soma é", soma);
Fim
*
Exemplo 2
Escreva um programa que leia a base e a altura de um triângulo e calcule e escreva na tela o valor de sua área:
// Calcula a área de um triângulo
Início
		real base, altura, area;
		Escreva("Digite o valor da base do triângulo:");
		Leia(base);
		Escreva("Digite o valor da altura do triângulo:");
		Leia(altura);
		area = base*altura/2;
		Escreva("O valora da área do triangulo é", area);
Fim
*
Exercícios
Um funcionário recebe um salário fixo mais 4% de comissão sobre as vendas. Escreva um programa que leia o valor do salário fixo de um funcionário e o valor de suas vendas, calcule e mostre na tela a comissão e o salário final do funcionário.
Sabe-se que para iluminar de maneira correta os cômodos de uma casa, para cada m2 deve-se usar 18 W de potência. Escreva um programa que leia as dimensões de um cômodo retangular (em metros), calcule e mostre a sua área (em m2) e a potência de iluminação que deverá ser utilizada. 
João recebeu seu salário e precisa pagar duas contas que estão atrasadas. João deverá pagar de multa 2% do valor de cada conta. Escreva um programa que leia o valor do salário de João e o valor de cada uma das contas, calcule e mostre na tela quanto restará do salário de João.

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais