Buscar

1. Introdução algoritmos Versão Aluno

Prévia do material em texto

1	
	
Governo	do	Estado	do	Piauí	
Universidade	Estadual	do	Piauí	–	UESPI	
Centro	de	Tecnologia	e	Urbanismo	–	CTU	
	
	
CURSO	DE	BACHARELADO	EM	ENGENHARIA	ELÉTRICA	 	 	 	 	
DISCIPLINA:	PROGRAMAÇÃO	I		
PROFESSOR:	GUILHERME	ENÉAS	VAZ	SILVA	
	
0.		 Relembrando	Introdução	à	Computação	
	
-	Por	que	surgiu	o	primeiro	computador?	
-	Hardware	x	Software	
-	A	história	dos	sistemas	de	numeração:	o	pastor	e	as	ovelhas	
-	Algoritmos	e	Linguagens	de	programação	
	
Linguagem	Delphi	
	 	 Procedure	Exemplo1;	
	 	 var	i,	total:	integer;	
	 	 begin	
	 	 				total	:=	0;	
	 	 				for	i	:=	1	to	5	do	
	 	 	 total	:=	total	+	i;	
	 	 end;	
Linguagem	Java	
public	int	soma()	{	
int	total	=	0;	
for	(int	i=1;	i	<=5;	i++)		
									total	=	total	+	i;		
}	
	
Linguagem	Assembly	
	 	 push	ebp	
	 	 mov	ebp,	esp	
	 	 add	esp,	-$0c	
	 	 ...	
Linguagem	de	Máquina		
	 	 01010101	
	 	 000101111101100	
	 	 ...	
	
	
-	Mas...	por	que	programar?	
	
-	 Everybody	 in	 this	 country	 should	 learn	how	 to	program	a	 computer…	because	 it	 teaches	you	
how	to	think.	
	 	 	 	 	 	 	 	 	 	 Steve	Jobs	
	
-	Quem	é	que	não	 sabe	mexer	no	 computador?	Ou	mudar	os	 canais	da	 televisão	no	 controle	
remoto?	Ou	jogar	qualquer	tipo	de	jogo	no	videogame	ou	no	celular?	Pois	bem,	bastante	gente	deve	ter	
respondido	 um	 “sim”	 para	 algumas	 dessas	 perguntas.	 Agora	 lá	 vai	 outra.	 Quem	 é	 que	 sabe	 como	
funcionam	esses	dispositivos	por	dentro?	Para	o	professor	e	designer	Gilson	Domingues,	a	robótica	e	a	
programação	 precisam	 ser	 inseridas	 nos	 currículos	 das	 escolas	 já	 que,	 além	 de	 oferecer	 um	 novo	
conhecimento	para	os	alunos,	é	uma	maneira	eficiente	de	contextualizar	os	conteúdos	de	exatas.	
	
-	No	Reino	Unido,	as	escolas	já	são	obrigadas	a	ensinar	linguagem	de	programação	para	alunos	a	
partir	dos	cinco	anos.	Quando	anunciou	a	mudança	na	grade	escolar,	o	Departamento	de	Educação	do	
país	afirmou	que	essa	era	uma	medida	para	garantir	que	toda	criança	saísse	do	colégio	preparada	para	a	
vida	numa	Grã-Bretanha	moderna.	
2	
	
-	 Já	 na	 Austrália,	 escolas	 do	 primário	 substituíram	 as	 disciplinas	 de	 história	 e	 geografia	 por	
programação.	 Quando	 anunciou	 a	 reforma	 em	 maio	 de	 2015,	 o	 ministro	 australiano	 da	 Indústria,	
Inovação	 e	 Ciência,	 Christopher	 Pyne,	 disse	 que	 os	 alunos	 precisam	 entender	 o	 pensamento	
computacional	e	como	ele	pode	contribuir	para	o	futuro.	
	
-	 Choque	de	 realidade	no	mundo:	 a	 fundação	Code.org	 publica	 em	2013	o	 vídeo:	What	most	
schools	 don't	 teach,	 onde	 personalidades	 como	 Bill	 Gates,	Mark	 Zuckerberg,	Will.i.am	 do	 Black	 Eyed	
Peas	(???),	dentre	outros	falam	sobre	a	importância	de	ensinar	computação	a	jovens.			
		
-	“Se	quisermos	que	os	Estados	Unidos	continuem	sendo	um	país	de	ponta,	precisamos	que	os	
jovens	americanos	dominem	as	ferramentas	e	a	tecnologia	que	mudarão	o	jeito	de	fazermos	as	coisas.	
Não	fiquem	apenas	jogando	no	celular	de	vocês.	Escrevam	programas	com	ele".		
Barack	Obama		
	
-	Nosso	presidente	Temer	deveria	“seguir	a	deixa”	e	falar	algo	tipo:	Brasileiros,	menos	Snaps	e	
Stories	e	mais	HTML	e	Java,	por	favor!		
	
-	Então,	se	um	jovem	deve	saber	programar,	imagine	você,	candidato	a	Engenheiro	Eletricista!!!	
Por	 aqui	 precisaremos	 de	 um	 conhecimento	 de	 programação	 para	 aplicações	 em	 em	 Potência,	 em	
Telecom,	em	Automação...	
	
	
1.		 Introdução	
	 -	Lógica	de	programação	
	 	 -	Técnica	de	encadear	pensamentos	para	atingir	determinado	objetivo	
	 	 -	Por	que	aprender?	
	 -	Algoritmo	
	 	 -	Sequência	de	passos	finitos	(ações)	que	levam	à	solução	de	um	problema	
	 	 -	NÃO	é	a	solução	de	um	problema	
	 -	Exemplo:	algoritmo	para	levantar	da	cama	(usamos	algoritmos	para	ações	cotidianas!)	
	 -	Com	o	algoritmo	podemos	ensinar	uma	máquina	a	fazer	alguma	tarefa	específica	
	 -	A	receita	é	um	algoritmo!	Por	exemplo:	fritar	um	ovo	
	 	 1.	Pegar	frigideira,	ovo,	óleo	e	sal	
	 	 2.	Colocar	óleo	na	frigideira	 	
	 	 3.	Acender	o	fogo	
	 	 4.	Colocar	a	frigideira	no	fogo	
	 	 5.	Esperar	o	óleo	esquentar	
	 	 6.	Colocar	o	ovo	e	sal	
	 	 7.	Retirar	quando	pronto	
	 -	Cada	linha	do	algoritmo	corresponde	a	uma	instrução	
-	O	algoritmo	é	um	conjunto	de	instruções	
	 -	Instrução:	indica	a	um	computador	uma	ação	elementar	a	ser	executada	 	
	 -	Um	algoritmo	pode	ser	simples	(trocar	uma	lâmpada)	ou	complicado	(jogo	da	velha)		
	 -	Programa	de	computador	
	 	 -	Algoritmo	escrito	em	uma	linguagem	de	computador		
-	Ou	seja,	é	a	forma	com	a	qual	nos	comunicamos	com	o	computador	
3	
	
	 -	 O	 mais	 importante	 de	 um	 programa	 é	 a	 sua	 lógica,	 o	 raciocínio	 utilizado	 para	 resolver	 o	
problema,	que	é	exatamente	o	algoritmo	
	 -	A	única	linguagem	que	o	computador	entende	é	a	linguagem	de	máquina	(0	e	1)	
	 	 -	E	agora?	O	ser	humano	trabalha	com	algoritmos	e	o	computador	com	0	e	1!	Solução:	
linguagens	de	programação	(C,	C++,	Java,	Pascal,	Pytron,	FORTRAN,	Ruby,	ALGOL...)	
	 -	Quem	faz	a	tradução	de	um	programa	para	linguagem	de	máquina	é	o	compilador		
-	Ele	lê	a	primeira	instrução,	faz	uma	consistência	de	sua	sintaxe	e,	se	não	houver	erro,	
converte-a	para	linguagem	de	máquina;	e	segue	para	instrução	seguinte	
	
	
2.	 Variável,	expressão,	função,	atribuição,	entrada	e	saída	
	
2.1	Variável	
	 -	Local	na	memória	principal	
	 -	Endereço	que	armazena	um	conteúdo	
	 -	 Em	 linguagens	 de	 alto	 nível,	 nos	 é	 permitido	 dar	 nome	 a	 esse	 endereço	 para	 facilitar	 a	
programação	
	 -	O	conteúdo	pode	ser	de	vários	tipos:	inteiro,	real,	caractere	(string,	literal),	lógico	(booleano)	
	 -	Uma	vez	definidos	o	nome	e	o	tipo	de	uma	variável,	não	podemos	alterá-los	no	decorrer	de	um	
algoritmo.	 Entretanto,	 o	 conteúdo	 da	 variável	 é	 um	objeto	 de	 constante	modificação	 no	 decorrer	 do	
programa,	de	acordo	com	o	fluxo	de	execução	do	mesmo		
	 -	Declaração	
	 	 -	No	início	do	algoritmo	(ou	linha	de	código)	 	
	 	 -Ex.:	 int	a;	 	 	 	 	
	 	 	 real	raiz;	 	 	 														tipo	da	variável	–	nome	da	variável	
	 	 	 string	nome;	
	 	 	 lógico	casado;	 	 	
	 -	Alocar	significa	reservar	uma	área	de	memória	(endereço	de	memória)	para	a	variável	
	 -	O	algoritmo	sabe	os	tipos	de	operações	que	cada	variável	pode	realizar	
	
2.2	 Expressões	
	 -	 Conjunto	 de	 variáveis	 e	 constantes	 numéricas	 que	 se	 relacionam	 por	 meio	 de	 operadores	
compondo	uma	fórmula	que,	uma	vez	avaliada,	resulta	num	valor.	
	
2.2.1	 Aritméticas	
	 -	 São	 aquelas	 cujo	 resultado	 da	 avaliação	 é	 do	 tipo	 numérico.	 Somente	 o	 uso	 de	 operadores	
aritméticos	e	variáveis	numéricas	é	permitido	em	expressões	deste	tipo	
	 -	Exemplos	
	 	 -	Soma:	a+b		;					-	Subtração:	c-2		;					-	Multiplicação:	5x7		;					-	Divisão:	soma/4	
	 	 -	Exponenciação:		a**2			ou			a^2		;		
	 	 -	Resto	da	divisão	inteira	(mod):			mod			ou			%		
	 	 -	Quociente	da	divisão	inteira	(div):				div			ou				/	
	
2.2.2	 Relacional	
	 -	Comparação	realizada	entre	dois	valores	de	mesmo	tipo	básico	
	
	
4	
	
Operadores	 Matemática	 Usaremos	
Igual	 	 	
Diferente	 	 	
Maior	que	 	 	
Menor	que	 	 	
Maior	ou	igual	a	 	 	
Menor	ou	igual	a	 	 	
			 	
	
2.2.3	 Lógica	ou	booleana	
	 -	 Expressões	 cujos	 operadores	 são	 lógicos	 e	 cujos	 operandos	 são	 relações,	 constantes	 e/ou	
variáveis	do	tipo	lógico	
	
	
	
	
	
	
-	 Exemplo:	 suponha	 duas	 perguntas	 feitas	 a	 4	 pessoas.	 Se	 a	 resposta	 do	 candidato	 for	 falsa,	
deverá	 falar	 0,	 caso	 contrário,	 falará	 1.	 Suponha	 também	 que	 só	 será	 chamado	 para	 entrevista	 o	
candidato	que	dominar	as	duas	linguagens.	Qual	candidato	será	convidado	para	a	entrevista?	
	
	
	
	
	
	
	
	
2.3	 Atribuição	
	 -	Principal	forma	de	se	armazenar	um	dado	em	uma	variável	
	 -	Fornecer	um	valor	a	uma	variável	onde	o	tipo	desse	valor	tem	de	ser	compatível	com	a	variável	
	 	 variável		=	expressão;-	Nessa	linha	de	comando	temos	o	nome	da	variável,	o	símbolo	de	atribuição,	a	
expressão	 (que	 pode	 ser	 matemática,	 lógica	 ou	 literal)	 cuja	 avaliação	 (resultado)	 é	 atribuída	 ao	
identificador	(variável),	e,	por	fim,	o	símbolo	que	finaliza	o	comando	
	 -	Exemplo	1:		x	=	10;	
	 -	Como	se	lê:	a	variável	x	recebe	o	valor	10	
	 			O	que	faz	o	computador?	
	 	 -	Nesse	momento,	na	memória	do	computador,	onde	já	estava	alocado	um	espaço	para	
a	variável	x	(realizado	na	declaração	da	variável),	essa	variável	recebe	o	valor	10	
	
	
	
	
	
Operador	 Matemática	 Usaremos	
Conjunção	 	 	
Disjunção	 	 	
Negação	 	 	
Candidato	 Você	conhece	a	linguagem	
C?	
Você	conhece	a	
linguagem	Pascal?	
Saída		
1	 0	 0	 	
2	 0	 1	 	
3	 1	 0	 	
4	 1	 1	 	
10	 	 	
x	 Memória	Principal	(MP)	
5	
	
	
	 -	Exemplo	2:		x	=	a	+	b;	
	 	 -	 Como	 se	 lê:	 a	 variável	 x	 recebe	 o	 resultado	 do	 conteúdo	 da	 variável	 a	 somado	 ao	
conteúdo	da	variável	b)	
	 			O	que	faz	o	computador?	
	 	 -	Nesse	momento,	na	memória	do	 computador,	onde	 já	estava	 sendo	alocado	espaço	
para	as	variáveis	a,	b	e	x,	o	conteúdo	da	variável	x	vai	receber	a	soma	do	conteúdo	de	a	e	b)	
	 	-	 No	 comando	 de	 atribuição	 em	 que	 o	 valor	 é	 representado	 por	 uma	 expressão	 aritmética,	
lógica	ou	literal,	estas	devem	ser	avaliadas	em	primeiro	lugar,	para	que,	então,	o	resultado	obtido	seja	
armazenado	na	variável	
	
	 -	Exemplo	3:	troca	de	valor	de	2	variáveis	
	
		 Situação	1	–	erro!	
	
1° momento	 a	=	10;	
b	=	20;	
2° momento	 a	=	b;	
3° momento	 b	=	a;	
	
	
	
Situação	2	
	
	
1° momento	
a	=	10;	
b	=	20;	
aux	=	a;	
2° momento	 a	=	b;	
3° momento	 b	=	aux;	
	
	
	
	
2.4	 Comando	de	entrada	
	 -	Permite	que	o	usuário	digite	dados,	possibilitando	um	“diálogo	com	o	computador”	
	
2.5	 Comando	de	saída	
	 -	Enviar	um	resultado,	uma	informação	ao	usuário	
	 -	O	valor	de	cada	variável	é	buscado	na	memória	e	inserido	em	um	dispositivo	de	saída	(tela	do	
computador	ou	impressora,	por	exemplo)	
	 -	Exemplo	
	 	 algoritmo	IO	
	 	 string	nome;	
	 	 inicio	
	 leia(nome);	
	 	 	 escreva(“Seu	nome	é:	”,	nome);	
	 	 fim		
	
	 	
a	 b	
MP	
2° momento	
	 	
a	 b	
MP	
1° momento	
	 	
a	 b	
MP	
3° momento	
1° momento	
	 	
a	 b	
MP	
	
aux	
2° momento	
MP	
	 	
a	 b	
	
aux	
3° momento	
MP	
	 	
a	 b	
	
aux	
6	
	
2.6		 Exercícios	de	algoritmos		
	 i)	Criar	um	algoritmo	que	leia	dois	valores	numéricos	para	as	variáveis	A	e	B,	efetue	a	troca	dos	
valores	de	forma	que	a	variável	A	passe	a	ter	o	valor	da	variável	B	e	que	a	variável	B	passe	a	ter	o	valor	
da	variável	A.	Apresentar	os	valores	trocados.	
	 ii)	Criar	um	algoritmo	que	calcule	a	área	de	um	triângulo.	
	 iii)	 Criar	 um	 algoritmo	 que	 imprima	 a	 média	 aritmética	 entre	 três	 números	 digitados	 pelo	
usuário.	
	 iv)	Criar	um	algoritmo	que	possa	entrar	com	o	saldo	de	uma	aplicação	e	imprima	o	novo	saldo,	
considerando	o	reajuste	de	1%.		
	 v)	Antes	de	o	racionamento	de	energia	ser	decretado,	quase	ninguém	falava	em	quilowatts;	mas	
agora,	todos	incorporaram	essa	palavra	em	seu	vocabulário.	Sabendo-se	que	100	quilowatts	de	energia	
custa	 um	 sétimo	 do	 salário	 mínimo,	 fazer	 um	 algoritmo	 que	 receba	 o	 valor	 do	 salário	 mínimo	 e	 a	
quantidade	de	quilowatts	gasta	por	uma	residência	e	calcule	(e	imprima).	
	 	 a)	O	valor	em	reais	de	cada	quilowatt;		
	 	 b)	O	valor	em	reais	a	ser	pago;		
	 	 c)	O	novo	valor	a	ser	pago	por	essa	residência	com	um	desconto	de	10%.	
	 vi)	Para	vários	tributos,	a	base	de	cálculo	é	o	salário	mínimo.	Fazer	um	algoritmo	que	leia	o	valor	
do	salário	mínimo	e	o	valor	do	salário	de	uma	pessoa.	Calcular	e	imprimir	quantos	salários	mínimos	ela	
ganha.

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes