Programação de Computadores

Documentos relacionados
Programação de Computadores

Programação de Computadores

Programação de Computadores

Introdução à Programação / Programação I

Introdução à Programação Aula 3 Primeiros programas

Programação I Aula 3 Primeiros programas

1 Expressões, valores e tipos 1. 2 Variáveis e atribuições 5. cálculo de expressões segue a estrutura de parênteses e as prioridades dos operadores

Computação L2. Linguagem C++ Observação: Material Baseado na Disciplina Computação Eletrônica.

Programação de Computadores

AULA 2: INTRODUÇÃO A PYTHON. Luís Feliphe Silva Costa

Fundamentos de Lógica e Algoritmos. Aula 3.2 IDLE, Variáveis e Tipos. Prof. Dr. Bruno Moreno

Aula de hoje. Tipos de Dados e Variáveis. Constantes literais. Dados. Variáveis. Tipagem dinâmica. SCC Introdução à Programação para Engenharias

Fundamentos de Programação em Python

Programação de Computadores I Dados, Operadores e Expressões PROFESSORA CINTIA CAETANO

Programação de Computadores

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Introdução à Computação - aulas 01 e 02 -

*Exercícios de provas anteriores escolhidos para você estar preparado para qualquer questão na prova. Resoluções em simplificaaulas.

Python - Variáveis e expressões

Programação de Computadores

Computação 1 - Python Aula 3 - Teórica: Tipos de dados, Strings, Estrutura Condicional 1/ 28

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Algoritmos I Aula 13 Linguagem de Programação Java

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Conceitos Básicos de Algoritmos

Programação de Computadores

Introdução à Computação

Programação Estruturada

Computação I (MAB120) DCC/UFRJ

Programação II. Aula 3

Programação de Computadores

Capítulo 2 Operadores. A função scanf()

CMP Algoritmos Algoritmos Parte I. Professor Vicente Paulo de Camargo

Algoritmo e Programação Matemática

Puca Huachi Vaz Penna

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: Operadores relacionais e lógicos estruturas condicionais If...

Teoria da Computação e Algoritmos. Introdução à Linguagem Pascal. ALGORITMO <Nome do algoritmo>; <definições>; INÍCIO <Comandos>; FIM.

Abaixo iremos pormenorizar cada um de seus atributos:

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

Fluxogramas e variáveis

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

Introdução a Programação. Curso: Sistemas de Informação Programação I José R. Merlin

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Estrutura do programa

Conceitos básicos de programação

Introdução à Ciência da Computação

Algoritmos: tipos de dados, variáveis e expressões

Prof. Natalia Castro Fernandes Mestrado em Telecomunicações UFF 2º semestre/2012

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

Linguagem de programação Java

Algoritmos. Conceitos e Comandos

Introdução à Programação

CONCEITOS DE ALGORITMOS

Introdução à Computação MAC0110

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

Introdução a Programação

Princípios de Desenvolvimento de Algoritmos MAC122

Aula 5 Oficina de Programação Introdução ao C. Profa. Elaine Faria UFU

Lista de Exercícios - 1 Prof: Yuri Frota

Mini apostila de Python - Oficina de Vestibulandos. PET Computação - UFPR September 2016

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Análise de Programação

7 Operadores e Expressões

Computação I: Linguagem de Programação Python

Processamento da Informação

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

ALGORITMOS E APLICAÇÕES. FATEC IPIRANGA ADS Noturno 1º semestre de 2012 Prof. Luiz Carlos de Jesus Junior

Universidade Federal de Uberlândia Faculdade de Computação. Expressões aritméticas, relacionais e lógicas Estruturas condicionais

Aula de hoje. Comandos. Comandos simples. Comandos. Comandos de controle. Bloco de comandos. SCC Introdução à Programação para Engenharias

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Programação em C. Variáveis e Expressões. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Introdução ao SciLab. SciLab O que é? Onde obter o programa:

Noções de algoritmos - Aula 1

Conceitos Básicos de Algoritmos

Introdução a Computação

Linguagem Java - Introdução

Algoritmos. Algoritmos. Linguagem de programação. Conceitos. Conceitos. Conceitos. Sintaxe do comando para incluir bibliotecas no programa:

Programação de Computadores

Variáveis primitivas e Controle de fluxo

Algoritmos e Programação

Variável. Expressões. Atribuição. Tipos básicos Declaração. Aritméticas Lógicas. Professor Leandro Augusto Frata Fernandes

Introdução à Computação

PORTUGUÊS ESTRUTURADO: INTRODUÇÃO INTRODUÇÃO À PROGRAMAÇÃO PROF. ALEXANDRO DOS SANTOS SILVA

Preparatório OBI. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula 01 Introdução a C++

3. Linguagem de Programação C

Python 3.x Estrutura de Repetição for Estrutura de Decisão if then else

Working 03 : Conceitos Básicos II

Operador in e Caracteres

Algoritmos. Algoritmos e Linguagem de Programação - Prof Carlos Vetorazzi

Aula 03 Introdução à Programação com a Linguagem Python

PROGRAMAÇÃO E PYTHON. Laboratórios de Informática João Paulo Barraca, André Zúquete, Diogo Gomes

MCG114 Programação de Computadores I. Comandos de condição 3/26/18. Comando if. Comando if. Até agora... Comandos de Condição! Comandos de Condição

Oficina de Python Prof. Me. José Carlos Perini

Programação Orientada a Objetos

Transcrição:

Programação de Computadores Instituto de Computação UFF Departamento de Ciência da Computação Otton Teixeira da Silveira Filho

Conteúdo Alguns Conceitos sobre Linguagens Conceito de Algoritmo Pseudocódigo Tipos de Variáveis Operadores Estruturas de Controle Estruturas de Dados Subprogramação

Variáveis Variáveis São espaços reservados na memória do computador que será lido e escrito de uma forma pré-estabelecida

Variáveis As linguagens de programação trabalham com tipos de variáveis que ocupam valores múltiplos de bytes 1B 2B 4B 8B 16 B

Variáveis Os tipos de variáveis mais comuns em linguagens de programação são usadas para representar Caracteres, tabela ASCII, inteiros curtos - 1 B Caracteres, Unicode, Números inteiros - 2 B Números inteiros longos e de ponto flutuante - 4 B Números de ponto flutuante - 8 B Números de ponto flutuante - 16 B

Tabela ASCII básica Caracteres - 1 B

Caracteres Observemos os caracteres da tabela ASCII de numeração até 31 decimal são caracteres não imprimíveis. O 32 é o primeiro caracter imprimível, espaço em branco simbolizado por SP Embora um carater da tabela ASCII possa ser representado em um baite, não é incomum que a representação no computador seja feito em mais baites por questões de uso mais eficiente do processador Há extensões da tabela ASCII que representam outros caracteres

Caracteres Para caracteres há também o Unicode, um padrão de representação de caracteres que permite escrever caracteres específicos de várias línguas e caligrafias. A maioria das linguagens manipulam Unicode mas não permitem seu uso como identificadores

Inteiros Números inteiros - 2 B e inteiros longos - 4 B

Inteiros Embora este tipo de caracterização de inteiros seja comum, há variações em algumas linguagens

Ponto flutuante Números de ponto flutuante - 4 B e 8 B

Variáveis Os tipos apresentados são os mais elementares e apresentaremos outros tipos mais a frente

Python Vamos agora centrar foco na linguagem a ser usada neste curso, ou seja, Python.

Python - Identificadores Identificadores são uma sequência de símbolos com os quais designamos algum elemento dentro do programa em questão. Identificadores são usados para designar variáveis, funções, classes e métodos (falaremos um pouco disto depois)

Python - Identificadores Um identificador em Python é constituído de caracteres do alfabeto latino, algarismos arábicos e o sinal _ Não se começa um nome de variável por um algarismo Não podem ser usados os seguintes caracteres especiais: / \ =! @ # $ % & ( ) [ ] ^ ~ Não são permitidos sinais diacríticos (acentos, cedilha, etc.)

Python - Identificadores Um identificador em Python é constituído de caracteres do alfabeto latino, algarismos arábicos e o sinal _ Não se começa um nome de variável por um algarismo Não podem ser usados os seguintes caracteres especiais: / \ =! @ # $ % & ( ) [ ] ^ ~ Não são permitidos sinais diacríticos (acentos, cedilha, etc.) Nas versões mais recentes é permitido o uso do unicode

Python - Identificadores Não se pode usar as seguintes palavras reservadas and def exec if not return False assert del finally import or try None break elif for in pass while class else from is print yield continue except global lambda raise True

Identificadores Há sensibilidade quanto os caracteres serem minúsculos ou maiúsculos: SOMA e soma são considerados identificadores diferentes

Identificadores Exemplos válidos a Ab dados velocidade

Identificadores Exemplos não válidos \a :w +dados 2xpto True

Identificadores Exemplos válidos mas ruins TRUE A_c2_tcb_kmtp amorzinho blablabla xpto

Python - Variáveis Em Python as variáveis que inicialmente usaremos são dos tipos Número int float bool

Python - Variáveis Sequências Cadeia de caracteres str basicamente tudo em Python é caracter, a não ser que você prescreva algo em contrário

Python - Variáveis Há outros tipos de variáveis em Python mas falaremos delas mais adiante

Variáveis Descrição dos tipos das variáveis str Podemos representar sequências de caracteres convencionados na tabela ASCII, embora haja adicionais int Representamos um subconjunto dos inteiros com sinal. Representação com tamanho limitado pela memória disponível float Representamos um subconjunto dos reais com representação em 8 baites, aproximadamente 17 algarismos significativos, embora isto dependa da implementação bool São variáveis booleanas que só admitem dois valores True e False

Variáveis A distinção de conteúdo entre um número de tipo int e um número de tipo float é feita pelo uso de um ponto decimal nestes últimos Assim uma atribuição de um int se dá como a = 123 e um no caso de float a = 123. Como os computadores foram primeiramente desenvolvidos na Inglaterra e nos Estados Unidos da América, nas linguagens de computação se usa o ponto como separador decimal e não vírgula como no Brasil, Portugal, Alemanha, França, Rússia e outros países.

Operadores Operador de atribuição Caracter Operação Exemplo = a b a=b Atribuição não é igualdade

Operadores Operadores aritméticos Caracteres Tipos operados Operação Exemplo + int, float Soma, operador unário a+b; +b - int, float Subtração, operador unário a-b; -b / float divisão a/b // int divisão a//b % int Resto da divisão a%b * int, float multiplicação a*b ** float potenciação a ** b

Operadores Observe que há uma sobrecarga de operadores. Isto significa que o mesmo símbolo é usado para operar variáveis diferentes como, por exemplo, na soma. Veremos que existem outras sobrecargas ainda não anunciadas

Operadores Observe que há uma sobrecarga de operadores. Isto significa que o mesmo símbolo é usado para operar variáveis diferentes como, por exemplo, na soma. Veremos que existem outras sobrecargas ainda não anunciadas Por enquanto só estamos falando de operadores aritméticos

Operadores Operadores aritméticos Se a e b int e a = 3 e b = 5 a+b resulta em 8 a-b resulta em -2 a//b resulta em 0 b//a resulta em 1 b ** a resulta em 125

Operadores Operadores aritméticos Se a e b int e a = 3 e b = 5 Em Python temos algo diferente na aritmética dos números int que é distinto de outras linguagens Enquanto: 3//2 resulta em 1-3//2 resulta em -2 A divisão inteira em Python dá como resultado o valor imediatamente menor

Operadores Operadores aritméticos A divisão inteira em Python dá como resultado o valor imediatamente menor Mas porque isto? Consistência de algumas equações (a + b) // b = a // b + 1 b * (a // b) + a % b = a

Operadores Operadores aritméticos Se a e b float e a = 3.0 e b = 5.0 a+b resulta em 8.0 a-b resulta em -2.0 a/b resulta em 0.6 b/a resulta em 1.6666666 b ** a resulta em 125.0

Operadores E se a e b forem de tipos diferentes?

Operadores E se a e b forem de tipos diferentes? Tome cuidado com estas operações

Operadores E se a e b forem de tipos diferentes? Tome cuidado com estas operações Se estamos falando de tipos de números diferentes o melhor é você especificar o que deseja, caso possa haver ambiguidades. Por exemplo: a = float (b) a = int (b)

Operadores Operadores lógicos Caracteres Operação Exemplo not não not b and e a and b or ou a or b

Operadores Tabela verdade para o operador lógico not not Operando Resultado True False False True

Operadores Tabela verdade para o operador lógico and and Operando 1 Operando 2 Resultado False False False False True False True False False True True True

Operadores Tabela verdade para o operador lógico or or Operando 1 Operando 2 Resultado False False False False True True True False True True True True

Operadores Operadores relacionais Caracteres Operação Exemplo == Igual a a == b!= Não igual a!= b < Menor que a<b <= Menor ou igual a a<=b > Maior que a>b >= Maior ou igual a a>=b O resultado da comparação será verdadeiro ou falso

Operadores Operador Prioridade () 1 ** 2 +, - unários 3 prioritário, os parênteses, *, /, %, // +, >, >=, < <= 4 5 6 até os menos prioritários, ==,!= = 7 8 and, or, not lógicos 9 Os operadores tem prioridades Temos os operadores já apresentados indo do mais os operadores lógicos

Operadores Pela tabela acima temos que qualquer operação dentro de um parênteses terá prioridade sobre qualquer operação. Isto inclui aninhamento de parênteses

Alguns comandos úteis Leitura n = input ( texto ) Lê a variável desejada, em geral o teclado, emitindo um texto (opcional) como indicação do usuário Escrita print( texto, variável1, texto2, variável2,...) Escreve as variáveis apresentadas no dispositivo padrão de saída, em geral a tela os textos são indicativos opcionais

Um exemplo de programa Margareth Hamilton com uma listagem do programa que ela elaborou para o Projeto Apollo

Um exemplo de programa E aqui ela testando um programa no interior de uma cápsula Apollo

Um exemplo simples Atribua a duas variáveis dois números do tipo int. Some estas variáveis e atribua esta soma a outra variável. Imprima este resultado

Um exemplo simples Atribua a duas variáveis dois números do tipo int. Some estas variáveis e atribua esta soma a outra variável. Imprima este resultado Este exemplo será apresentado para compreendermos a estrutura básica de um programa em Python

Um exemplo simples Atribua a duas variáveis dois números do tipo int. Some estas variáveis e atribua esta soma a outra variável. Imprima este resultado def main(): a=3 b=5 c = a+b print( soma =, c) main()

Um exemplo simples Atribua a duas variáveis dois números do tipo int. Some estas variáveis e atribua esta soma a outra variável. Imprima este resultado def main(): a=3 b=5 c = a+b print( soma =, c) main() Aqui def main(): no início e main() ao final são dispensáveis.

Um exemplo simples Se def main(): no início e main() ao final são dispensáveis, porque eles estão aí? Tal situação é uma marcação da parte do programa que chamaremos de Programa Principal para diferenciá-la de outras partes que veremos quando abordarmos a subprogramação. Neste material eu apresentarei assim, no entanto, vocês estão livres de usar ou não.

Testes em Python Apresentemos uma estrutura condicional do Python que pode ser usada de várias formas i) if condição lógica: comando comando Exemplo: if x < y : x = x + 1 asq = x * y ou if x < y : x=x+1 asq = x * y

Testes em Python Apresentemos uma estrutura condicional do Python que pode ser usada de várias formas ii) if (condição lógica) : comando(s) Exemplo: if x> y : asq = x * y isq = x/y sisc = x... As operações após o sinal : e colocados em indentação serão operados. Diremos que este conjunto de operações formam um bloco

Testes em Python Apresentemos uma estrutura condicional do Python que pode ser usada de várias formas iii) if (condição lógica) : comando(s) else : comando(s) Exemplo: if x> y : asq = x * y isq = x/y else : sisc = x istis = y/x

Testes em Python Apresentemos uma estrutura condicional do Python que pode ser usada de várias formas iv) if (condição lógica) : comando(s) elif (condição lógica) : comando(s) else : comando(s) Neste caso temos um aninhamento de if e else. Para simplificar, o código a conjunção de else com um if é escrito elif. Isto também torna a escrita mais concisa.

Mais um exemplo simples Leia duas variáveis do tipo int a e b. Se a for maior que b, some as duas variáveis, caso não subtraia b de a. Imprima o resultado seja qual for a operação feita

Mais um exemplo simples Leia duas variáveis do tipo int a e b. Se a for maior que b, some as duas variáveis, caso não subtraia b de a. Imprima o resultado seja qual for a operação feita def main(): a = int(input()) b = int(input()) if a>b : c = a + b else : c = a - b print( c) main()

Mais um exemplo simples Leia duas variáveis do tipo int a e b. Se a for maior que b, some as duas variáveis, caso não subtraia b de a. Imprima o resultado seja qual for a operação feita def main(): a = int(input()) b = int(input()) if a>b : c = a + b else : c = a - b print( c) main() Este é o tipo de programa mal educado : se você o executar você verá que aparentemente o programa fica parado. Olhe que o programa diz para ler algo mas não avisa ao usuário...

E mais um exemplo... Leia duas variáveis do tipo int a e b. Imprima primeiro o menor valor. def main(): a = int(input( Entre com um numero inteiro )) b = int(input( Entre com outro numero inteiro )) if a > b : print (b) else : print (a) main()

E mais um exemplo... Leia duas variáveis do tipo int a e b. Imprima primeiro o menor valor. def main(): a = int(input( Entre com um numero inteiro )) b = int(input( Entre com outro numero inteiro )) if a > b : print (b) else : print (a) main() Está faltando algo...

E mais um exemplo... Leia duas variáveis do tipo int a e b. Imprima primeiro o menor valor. def main(): a = int(input( Entre com um numero inteiro )) b = int(input( Entre com outro numero inteiro )) if a > b : print (b, a) else : print (a, b) main()

E mais um exemplo... Leia duas variáveis do tipo int a e b. Se uma delas for negativa ache o módulo deste valor e multiplique pelo outro valor. Se não, calcule a soma. Imprima o resultado. def main(): a = int(input( Entre com um numero )) b= int(input( Entre com um numero )) if a < b : a = -a print(a * b) elif b < 0 : b = -b print (a * b) else print(a + b) main()

E mais um exemplo... Leia duas variáveis do tipo int a e b. Se uma delas for negativa ache o módulo deste valor e multiplique pelo outro valor. Se não, calcule a soma. Imprima o resultado. def main(): a = int(input( Entre com um numero )) b= int(input( Entre com um numero )) if a < b : a = -a print(a * b) elif b < 0 : b = -b print (a * b) else print(a + b) main() Mas é isto o que foi solicitado?

E mais um exemplo... Leia duas variáveis do tipo int a e b. Se uma delas for negativa ache o módulo deste valor e multiplique pelo outro valor. Se não, calcule a soma. Imprima o resultado. def main(): a = int(input( Entre com um numero )) b= int(input( Entre com um numero )) if a < 0 : a = -a print(a * b) elif b < 0 : b = -b print (a * b) else print(a + b) main()

E mais um exemplo... Observe que o uso do Chinês facilita perceber erros de lógica que podem surgir

E mais um exemplo... Leia duas variáveis do tipo int a e b. Se ambas forem negativas imprima o produto das variáveis, caso não imprima a soma das mesmas.

E mais um exemplo... Leia duas variáveis do tipo int a e b. Se ambas forem negativas imprima o produto das variáveis, caso não imprima a soma das mesmas. def main(): a = int(input( Entre com um numero )) b= int(input( Entre com um numero )) if (a < 0) and (b < 0) : print(a * b) else : print(a + b) main()

Tipos de variáveis Programa tipos.py Aqui constataremos mais uma sobrecarga e o cuidado que temos que ter ao especificarmos os conteúdos das variáveis Executemos o programa que se segue

Tipos de variáveis Programa tipos.py def main(): a = input("entre com a: ") b = input("entre com b: ") print (a + b) print (a * 3) a = int(a) b = int(b) print (a + b) print (a * 3) main()