Algoritmos e programação Introdução à Programação Prof. Bonadia dos Santos
Conceitos básicos Desde o início de sua existência, o homem procurou criar máquinas que o auxiliassem em seu trabalho. Dentre essas máquinas o computador vem se mostrando uma das mais versáteis, rápidas e seguras!
Conceitos básicos Desde o início de sua existência, o homem procurou criar máquinas que o auxiliassem em seu trabalho. Dentre essas máquinas o computador vem se mostrando uma das mais versáteis, rápidas e seguras! O computador pode auxiliá-lo em qualquer tarefa! É consciente, trabalhador, possui muita energia, não reclama, MAS não tem iniciativa, nenhuma independência, não é criativo nem inteligente, por isso precisa receber instruções nos mínimos detalhes!!!
Linguagens de Programação Um programa é uma sequência de instruções escritas em alguma linguagem compreendida pelo computador. A função de uma linguagem de programação é ser Ajudando um meio a Riley de comunicação (personagem do entre filme computadores Divertida Mente ) e a resolver alguns pequenos humanos. problemas da vida sua vida. https://www.madewithcode.com/projects/insideout Desde que o computador eletrônico foi inventado centenas de linguagens já foram criadas.
Linguagens de Programação Um programa é uma sequência de instruções escritas em alguma linguagem compreendida pelo computador. A função de uma linguagem de programação é ser um meio de comunicação entre computadores e humanos. É através delas que podemos escrever nosso programas Desde que o computador eletrônico foi inventado centenas de linguagens já foram criadas.
Linguagens de Programação Podemos classificar as linguagens de programação em dois tipos: as de baixo nível e as de alto nível. Uma linguagem de programação de baixo nível compreende as características da arquitetura do computador (utiliza somente instruções do processador). Já as linguagens de programação de alto nível são aquelas que se encontram mais próximas à linguagem natural (são mais fáceis de se trabalhar e de entender).
Linguagens de Programação O computador só consegue executar programas escritos em linguagens de baixo nível. Deste modo, programas escritos em linguagens de alto nível precisam ser processados antes que possam rodar. Este processamento toma algum tempo, mas possui várias vantagens!
Linguagens de Programação 1) É mais fácil e rápido escrever programas em uma linguagem de alto nível; 2) Programas escritos em uma linguagem de alto nível são mais curtos e mais fáceis de ler; 3) As linguagens de alto nível são portáveis, o que significa que podem rodar em diferentes tipos de computador, com pouca ou nenhuma modificação. Neste curso, utilizaremos a linguagem Python para implementarmos os algoritmos!
Algoritmos O que é um algoritmo? (Relembrando...) Algoritmo é uma sequência de passos que visa atingir um objetivo bem definido. (Forbellone, 1999) Algoritmo é a descrição de uma sequência de passos que deve ser seguida para a realização de uma dada tarefa. (Assencio, 1999) Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas para resolver um problema ou realizar algum objetivo.
Algoritmos O que é um algoritmo? (Relembrando...) Algoritmo é uma sequência de passos que visa atingir um objetivo bem definido. (Forbellone, 1999) Algoritmo Algoritmo é a descrição é de uma sequência receita de passos que deve ser seguida para a realização de uma para resolução de um dada tarefa. (Assencio, 1999) problema! Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas para resolver um problema ou realizar algum objetivo.
Algoritmos Problema: Preparar Bife à milanesa : 1. Limpar a peça de carne 2. Fatiar a carne em bifes 3. Colocar farinha de rosca em um prato 4. Juntar 2 ovos e mexer 5. Repetir, para cada bife 5.1) passar o bife na mistura de farinha, nos 2 lados 5.2) levar bife à frigideira 5.3) aguardar dourar, virando ambas as faces 5.4) retirar bife e colocar sobre papel toalha até secar 5.5) retirar do papel toalha e juntar numa travessa 6. Servir
DESCRIÇÃO NARRATIVA * Solução (passo-a-passo) escrita em linguagem natural Algoritmos e programação Tipos de algoritmos (Relembrando...) Vantagem: não é necessário aprender nenhum conceito novo Desvantagem: ocorrência de ambiguidades FLUXOGRAMA * A solução é expressa por símbolos gráficos pré-definidos Vantagem: compreensão mais simples que texto Desvantagem: necessário aprender a simbologia; ausência de detalhes que podem dificultar a implementação PSEUDOCÓDIGO OU PORTUGOL * A solução (passo-a-passo) é expressa por meio de regras pré-definidas Vantagem: implementação é quase imediata Desvantagem: aprender as regras do pseudocódigo
Lógica de programação Relembrando... Lógica de programação é a técnica de encadear pensamentos para atingir determinado objetivo. A lógica de programação nada mais é do que a organização coerente das instruções do programa para que seu objetivo seja alcançado.
Programando em Python...
Programando em Python Python é uma linguagem de programação poderosa e de fácil aprendizado. Alto nível Interpretada Criada em 1989 por Guido van Rossum Python 2 e Python 3 (versões)
Programando em Python O que nós precisamos para começar a programar? Um computador O interpretador Python instalado no computador
Interpretador de comandos Um recurso interessante do Python é o interpretador interativo, nele você vai digitando os comandos da linguagem e recebendo as respostas na hora. 1) Abra o terminal (atalho no linux: ctrl + alt + t) 2) Digite python $ python Python 2.7.6 (default, Jun 22 2015, 17:58:13) [GCC 4.8.2] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
Python como uma calculadora O interpretador pode ser usado como uma calculadora bem simples: você pode digitar uma expressão e o resultado será apresentado. Operadores: + (soma), - (subtração), / (divisão), * (multiplicação), % (módulo), ** (potência) >>> 2+2 4 >>> (50-5*6)/4 5 >>> 7/3 2 >>> 7/-3-3
Tipos básicos de dados Números inteiros Números fracionários Strings Booleanos (verdadeiro ou falso) >>> type(2) <type 'int'> >>> type(2.2) <type 'float'> >>> type("introdução") <type 'str'> >>> type(true) <type 'bool'>
Variáveis Variáveis são locais onde armazenamos informações do programa na memória. Toda variável deve possuir um nome que a identifica no programa. Algumas regras para nomes de variáveis: Nomes podem ser compostos de números, letras ou _ O primeiro caractere não pode ser um número Palavras reservadas (if, for e outras palavras que representam comandos da linguagem) são proibidas
Variáveis Palavras reservadas: and, def, exec, if, not, return, assert, del, finally, import, or, try, break, elif, for, in, pass, while, class, eles, from, is, print, yield, continue, except, global,lambda, raise
Variáveis Variáveis são criadas dinamicamente e destruídas quando não mais necessárias O tipo (int, float, string, etc) de uma variável muda conforme o valor atribuído a ela. O comando de atribuição ( = ) cria novas variáveis e dá a elas valores: >>> var_exemplo = 2
Variáveis >>> var_exemplo = 2 >>> var_exemplo + 1 3 >>> var_outroexemplo = "exemplo" >>> var_outroexemplo 'exemplo' >>> var_exemplo + var_outroexemplo Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str' >>> type(var_exemplo) <type 'int'> >>> type(var_outroexemplo) <type 'str'>
Variáveis >>> var_exemplo = 2 >>> var_exemplo + 1 3 >>> var_outroexemplo = "exemplo" >>> var_outroexemplo 'exemplo' >>> var_exemplo + var_outroexemplo Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for +: 'int' and 'str' >>> type(var_exemplo) <type 'int'> >>> type(var_outroexemplo) <type De 'str'> maneira geral, você não pode executar operações matemáticas em strings
O comando print O comando print imprime uma expressão na tela. Um texto, uma variável... >>> print "Hello World" Hello World >>> print 'Hello World' Hello World >>> print ('Hello World') Hello World >>> print ("Hello World") Hello World >>> curso = "Computação" >>> print (curso) Computação
O comando print Imprimindo múltiplas mensagens: >>> print ('Hello', 'World') Hello World >> firstname = ''Harry'' >> lastname = ''Potter'' >> print (firstname, lastname) ('Harry', 'Potter') >> print (''Hello '', firstname) >> ('Hello ', 'Harry')
O comando print Concatenando mensagens >>> print ('Hello' + 'World') HelloWorld >> print ('Hello' + ' ' + 'World') >> Hello World >> firstname = "Harry" >> lastname = "Potter" >> print (firstname+lastname) HarryPotter >> print (firstname + ' ' + lastname + 'and the Chamber of Secrets') Harry Potterand the Chamber of Secrets
O comando input O comando input permite perguntar ao usuário um valor. Este comando espera que se digite algo que faça sentido. Normalmente o valor digitado pelo usuário é atribuído a uma variável. >>> mes = input("em que mes estamos? ") Em que mes estamos? "maio" >>> print(mes) maio
Criando um programa Utilize um editor de sua preferência para escrever seu código; Salve o arquivo com extensão.py Exemplo: primeiro.py Para rodar o programa vá no terminal e digite: $ python primeiro.py
Algumas referências Aprenda Computação com Python s documentation! http://www3.ifrn.edu.br/~jurandy/fdp/doc/aprenda-python/index.html Notas de aula do professor Fábio Mascarenhas http://www.dcc.ufrj.br/~fabiom/mab225/ Aulas de Python do InFog http://blog.evaldojunior.com.br/aulas-de-python.html