Programação Elementar de Computadores Jurandy Soares



Documentos relacionados
2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

e à Linguagem de Programação Python

Prof. Esp. Adriano Carvalho

Introdução aos cálculos de datas

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

Linguagens de programação

Introdução à Lógica de Programação

Organização de programas em Python. Vanessa Braganholo

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Conceitos básicos da linguagem C

Capítulo 2: Introdução à Linguagem C

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

Algoritmos com VisuAlg

Componentes da linguagem C++

Resolução de problemas e desenvolvimento de algoritmos

ESTRUTURA CONDICIONAL

Algoritmos Computacionais ( Programas )

Algoritmos em Javascript

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Resumo da Matéria de Linguagem de Programação. Linguagem C

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

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

A Linguagem Algorítmica Estrutura de Repetição. Ex. 2

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

CURSO DE PROGRAMAÇÃO EM JAVA

Programação de Computadores

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Introdução à Linguagem

Lição 1 Introdução à programação de computadores

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

INF 1005 Programação I

AMBIENTE DE PROGRAMAÇÃO PYTHON

Linguagem algorítmica: Portugol

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

Algoritmos e Programação Estruturada

IFTO LÓGICA DE PROGRAMAÇÃO AULA 02

Python: Comandos Básicos. Claudio Esperança

MC102 Algoritmos e Programação de Computadores 1ª Aula Introdução à Programação de Computadores

CAPITULO 5 COMANDO DE FLUXO IF

JSP - ORIENTADO A OBJETOS

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

Introdução à Lógica de Programação

Introdução à Programação e Algoritmos. Aécio Costa

Introdução à Programação

Algoritmos e Programação _ Departamento de Informática

Algoritmos e Programação de Computadores

Programação Básica em Arduino Aula 2

2 Orientação a objetos na prática

Introdução ao FORTRAN (Parte I)

3. Tipos de Dados, Constantes e Variáveis.

BC0501 Linguagens de Programação

Java Como Programar, 8/E

Programação WEB I Estruturas de controle e repetição

2. Representação Numérica

Introdução a Algoritmos Parte 04

Programação de Computadores. Professor Ilaim Costa Junior

Conceitos Importantes:

OPERADORES E ESTRUTURAS DE CONTROLE

Cálculo Numérico Aula 1: Computação numérica. Tipos de Erros. Aritmética de ponto flutuante

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

Curso de Programação Computadores

1.1. Organização de um Sistema Computacional

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Pontifícia Universidade Católica de São Paulo Departamento de Ciência da Computação

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação

Orientação a Objetos

Processamento da Informação Teoria. Algoritmos e Tipos de dados

Criar a classe Aula.java com o seguinte código: Compilar e Executar

1. Estrutura de seleção. Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição

Curso de C. Introdução by Arnaldo V. Moura e Daniel F. Ferber

Banco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos

1. Introdução ao uso da calculadora

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

Introdução à Programação de Computadores

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1

Internet e Programação Web

TUTORIAL DO ACCESS PASSO A PASSO. I. Criar um Novo Banco de Dados. Passos: 1. Abrir o Access 2. Clicar em Criar um novo arquivo

Sintaxe Básica de Java Parte 1

Python Condicionais e Loops. Introdução à Programação SI1

LÓGICA DE PROGRAMAÇÃO PARA ENGENHARIA INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES

MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados

PC Fundamentos Revisão 4

ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

Banco de Dados Microsoft Access: Criar tabelas

Introdução. Introdução. Introdução. Organização Estruturada de Computadores. Introdução. Máquinas Multiníveis

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

Associação Educacional Dom Bosco Curso de Engenharia 1º ano

AULA Uma linguagem de programação orientada a objetos

MICROSOFT EXCEL AVANÇADO

Introdução. INF1005 Programação I 33K Prof. Gustavo Moreira gmoreira@inf.puc-rio.br

Aluísio Eustáquio da Silva

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

Transcrição:

Programação Elementar de Computadores Jurandy Soares

Básico de Computadores Computador: dispositivos físicos + programas Dispositivos físicos: hardware Programas: as instruções que dizem aos dispositivos físicos o que fazer

Modelo Básico de um Computador Processador (CPU) Memória Unidade Central de Processamento Interpreta e executa as instruções principal e auxiliar mantém os dados e as instruções em uso Dispositivos de entrada mouse, teclado, microfone, webcam, etc Dispositivos de saída monitor de vídeo, impressora, autofalantes, etc

Executando um Programa Programa: um conjunto de instruções que um computador deve seguir

Linguagens de Programação Necessárias para escrever programas Linguagens de alto nível (ex, Python): relativamente fáceis para as pessoas escreverem e compreenderem não são entendidas diretamente pelos computadores Linguagens de baixo nível (linguagem de máquina): diretamente entendidas pelo computador dependente do computador

O Compilador Um programa escrito em uma linguagem de alto nível (conhecido como o código fonte) não pode ser executado diretamente pelo computador Um compilador é um programa que traduz o código fonte em código de máquina que faz a mesma coisa (conhecido como código objeto)

Tradução e Execução de um Programa em Python

Tradução e Execução de um Programa em Python O código em byte (bytecode) do Python é portátil (independente do dispositivo físico) A máquina virtual do Python executa o código-byte em uma máquina real O compilador Python é chamado pelo comando python -c O interpretador do Python pode ser chamado pelo comando python

Raciocínio Algoritmico Algoritmo Um conjunto de instruções ou passos para resolver um problema. deve ser preciso deve ser finito pode ser escrito em uma notação arbitrária (ex.: linguagem natural, linguagem de programação, diagrama, misto dos anteriores, etc) Raciocínio algoritmico é fundamental para ciência da computação e programação

Exemplo de um Algoritmo Algoritmo que determina o custo total de uma lista de itens: 1. Escreva o número 0 no quadro. 2. Faça o seguinte para cada item da lista: a. Adicione o custo do item ao número no quadro. b. Substitua o número antigo no quadro pela soma. 3. Anuncie que a resposta é o número escrito no quadro.

Primeiro Programa em Python # Arquivo: primeiroprograma.py print('olá para quem estiver aí!') print('como estão as coisas?') print('espero que esteja tendo um bom dia.') print('tchau!')

Sintaxe da Linguagem A sintaxe de uma linguagem é um conjunto de regras (gramática) que descreve a maneira correta de escrever sentenças (programas) naquela linguagem. As linguagens de programação tem uma sintaxe bem precisa: se você quebrar as regras, você obterá um ou mais erros.

Estrutura de um Programa em Python # importação das bibliotecas necessárias # comandos virão aqui para descrever # as ações a serem tomadas pelo programa

Um comando em Python print('alguma mensagem aqui') Exibe a mensagem entre parênteses na tela (sem as aspas)

O que primeiroprograma faz? Dê uma olhada no programa e veja se você consegue descobrir o que o programa faz. Ele exibe o seguinte:

Erros de Programação Erros de sintaxe (Syntax error) Violação das regras de sintaxe da linguagem. Por exemplo, digitar erroneamente uma palavra, esquecer de por vírgula (','), esquecer de fechar parênteses, etc. Capturado pelo compilador! Erros em tempo de execução (Runtime error) Erros em tempo de execução. Por exemplo, divisão por zero, entrada de uma cadeia de caracteres quando o sistema espera um inteiro. Erros de lógica O programa compila e executa sem nenhum erro, mas ele não faz o que se supõe que ele deva fazer.

Segundo Programa em Python # Arquivo: cestadeovos.py print('entre o número de ovos que deverá ter em cada cesta: ') ovosporcesta = int(input()) print('entre com o número de cestas: ') numerodecestas = int(input()) totalovos = numerodecestas * ovosporcesta print(ovosporcesta, 'ovos por cesta.') print(numerodecestas, 'cestas.') print('número total de ovos é', totalovos)

O Que o Programa Cesta de Ovos faz? Dê uma olhada no programa e veja se você consegue descobrir o que ele faz.

O Que é uma Variável de um Programa ovosporcesta = int(input()) numerodecestas = int(input()) totalovos = numerodecestas * ovosporcesta Isto é a criação de três variáveis inteiras Uma variável uma localização nomeada para armazenar dados, isto é, um container para dados É desejável que cada variável mantenha somente dados de um determinado tipo; por exemplo, somente números inteiros (int), somente números em ponto flutuante (real) Todas as variáveis do programa devem ter um valor atribuído antes de serem usadas

O último valor atribuído à variável indicará o tipo dela

O Que é o Tipo de uma Variável? O tipo de uma variável determina o tipo de valores que uma variável pode conter e que operações podem ser aplicadas a ela. Alguns tipos primitivos de Python: int (inteiro, valores completos, tais como, 0, 1, -31, 123) float (valores reais, tais como, 0.0, 3.1415, -2.72) str (valores com cadeias de caracteres, tais como, asa, 34, R$ 25,00 ) bool (valores lógicos, como somente um dos dois valores: True, False)

Como Podemos Associar/Alterar o Valor de uma Variável? ovosporcesta = int(input()) totalovos = numerodecestas * ovosporcesta Comando de atribuição: variável = expressão Associa o valor da expressão do lado esquerdo do sinal de = à variável do lado esquerdo. Não significa o "igual" de comparação da matemática!

O Que é uma Expressão? numerodecestas * ovosporcesta Expressões de programação são muito parecidas com as expressões aritméticas que estamos acostumados (operadores usuais, parênteses, regras de precedência, etc). Expressões podem ser avaliadas para produzir um valor e elas tem um tipo (o tipo do valor da expressão).

Operadores numéricos Alguns operadores comuns para inteiros: + (óbvio) - (óbvio) * (óbvio) // (divisão inteira, por exemplo, 6//2=3, 5//2=2, 19//5=?) % (operador módulo ou o resto da divisão inteirar, por exemplo, 6%2=0, 5%2=1, 19%5=?) Alguns operadores comuns para reais: +, -, *, / (divisão real)

Algumas Expressões: Quais são Seus Valores? # Seja i = 12; j = 5; k = -3 # Seja x = 2.1; y = -1.5; z = 3.0 # Informe qual o valor das expressões abaixo (i + j + k) / 3 (i / j) * j + (i % j) x * x + y * y (x + y + z) / (x y z) 2.0 * z (x + y)

Comando de Saída print(saída1, saída2,..., saídan) print(saída1, saída2,..., saídan, end='') print(saída1, saída2,..., saídan, sep='') print(saída1, saída2,..., saídan, end='', sep='') Concatena (junta) as várias saídas (cadeia de caracteres entre aspas, variáveis, constantes e números), exibe-as na tela separadas por um espaço e põe o cursor na próxima linha (print(..., end='') não adiciona uma nova linha). O que faz o seguinte comando de saída? dia = 15 print(dia, 'de Novembro de', 1889, 'é a data da proclamação da República Federativa do Brasil')

Comando de Entrada Entrada de um valor inteiro: i = int(input()) Entrada de um valor real: x = float(input()) Entrada de uma linha inteira (uma cadeia de caracteres sem quebra de linha): s = input() A função de entrada input aceita opcionalmente uma mensagem como arqumento: i = int(input('entre com um número inteiro: ')) x = float(input('entre com um número real: ')) s = input('entre com uma cadeia de caracteres: ')

Juntando Tudo Até então, temos visto: como entrar com valores a partir do teclado como exibir mensagens ou valores na tela como criar variáveis para armazenar valores como armazenar valores em variáveis e calcular novos valores com expressões

Agora é a Sua Vez! Agora vamos juntar tudo: escreva um programa em Python chamado calculaarea.py que pede ao usuário a largura e a altura de um retângulo e ao final calcula e exibe a área do retângulo.

CalculaArea Completo

Documentação e Estilo Use nomes significativos para variáveis, programas, etc. Use endentação e espaçamento de linhas conforme mostrado nos exemplos do texto Sempre inclua um prólogo (uma breve explanação do programa no início do arquivo) Use letras minúsculas na identificação de variáveis, com exceção no início de palavras internas (ovosporcesta)

Comentários Comentário: texto ignorado pelo compilador na hora da compilação Não altera o que o programa faz, somente explica o programa Escreva comentários compreensíveis e úteis Comente o que não for óbvio Assuma um leitor de conhecimento razoável # comentário de uma linha ''' Use dois pares de três aspas no início do arquivo para fazer uma breve descrição sobre o que faz seu programa

'''

Fluxo de Controle A ordem em que os comandos em um programa são executados é chamado de fluxo de controle Até então temos visto somente execução sequencial: comandos executados um após o outro e na ordem em que eles aparecem no programa

Fluxo de Controle (cont.) Considere as seguintes tarefas: Você deseja calcular o quociente de duas variáveis mas somente se o divisor for diferente de zero Você entra com alguns valores (ex.: uma data) e se ela estiver no formato correto (dd/mm/aaaa) você continua a computação, caso contrário você exibe uma mensagem de erro Dada uma nota entre 0 e 100, você quer converter o valor numérico para uma nota em letra (A para notas acima de 90, B entre 80 e 90, etc) Questão: Como podemos verificar estas condições e executar o trecho apropriado de código dependendo do resultado da verificação?

Comando de Seleção dividendo = int(input('entre com o valor do dividendo: ')) divisor = int(input('entre com o valor (diferente de zero) do divisor: ')) if divisor!= 0: quociente = dividendo // divisor print(dividendo, '/', divisor, ' = ', quociente, sep='') else: print('não posso dividir por zero')

O Tipo Lógico Uma variável do tipo de dados lógico ou booleano armazena um dos dois valores: True ou False True ("Verdadeiro" em Inglês) e False ("Falso" em Inglês) são as únicas constantes booleanas aceitáveis Valores ou expressões booleanas são utilizadas para tomar decisões em programas Por exemplo: if x > 0: # expressão booleana print(x, 'é um número positivo')

Expressões Booleanas Há várias tipos de expressões booleanas válidas: Uma variável booleana ou constante, como: fuma = input('fuma?(s/n) ') in ['s', 'S'] if fuma: comando Uma expressão aritmética seguida de um operador relacional seguido de uma expressão aritmética, como: varint = int(input()) if varint > 0: comando

Operadores Relacionais == (igual) x == y!= (diferente) x!= y > x > y < x < y >= x >= y <= x <= y

Operadores Booleanos Podemos também construir expressões booleanas ao combinar duas expressões booleanas com um operador booleano: and (e) (x > 0) and (x < 10) or (ou) (x <= 0) or (x >= 10) not (não) not (x == 0) O operador de negação (não) tem prioridade sobre os outros operadores lógicos O operador de conjunção (e) tem prioridade sobre o operador de disjunção (ou)

Operadores Booleanos (cont.) Se A e B são expressões booleanas, A and B é verdadeiro (True) se e somente se A e B forem verdadeiros. Em outras palavras, se A ou B ou ambos forem falsos, A and B será falso (False) Se A e B são expressões booleanas, A or B é verdadeiro (True) se ou A ou B ou ambos forem verdadeiros. Em outras palavras, A or B será falso (False) somente se A e B forem falso

Algumas Expressões Lógicas Pergunta: Qual é o valor de cada uma das expressões seguintes: # Dados x = 5 y = 12 a = True b = False c = True # Informe o valor das expressões booleanas abaixo (x > 0) and (x < 10) (x <= 0) or (x >= 10) not (a and b and c) not a and b and c

(a or b or c) ((x 1) == ((y / 5) + (y % 5))) ((x!= y) or not (x == y))

Sua Vez Problema: Dadas três variáveis inteiras i, j e k, escreva um expressão booleana para cada um dos seguintes problemas: i é igual a 3 ou a 5 i está entre 1 e 7 (não incluindo o 1 e o 7) i é par i é ímpar i é o menor dos três

Agora é Sua Vez Leia um mês no formato numérico e informe se ele é válido ou não (1..12) Leia um mês e informe a que semestre ele pertence (1º ou 2º) Leia um mês e informe a que trimestre ele pertence (1º, 2º, 3º ou 4º) Dadas duas datas de aniversário (dia e mês), informe qual delas é comemorada primeiro no ano Faça um programa que leia um ano e informe se este ano é bissexto ou não. Procure no Wikipedia para saber o algoritmo Leia uma data (dia e mês) informe a que estação ela pertence. Para o ano de 2010, o outono começa em 20 de março, inverno começa em 21 de junho, primavera começa em 23 de setembo e verão começa em 21 de dezembro

Se: Sintaxe e Gráfico de Fluxo # Se teste: if teste: # Bloco do SE

Se-Senão: Sintaxe e Gráfico de Fluxo # Se teste: if teste: # Bloco do SE # Senão else: # Bloco do SENÃO

Um Exemplo Problema: Dado um inteiro i, escreva um programa que exibe "par" ou "ímpar" dependendo se o valor de for par ou ímpar.

Outro Exemplo Dados dois inteiros i e j, escreva um programa que atribua a uma variável inteira max o maior valor dos dois.

Sua Vez Dados três inteiros i, j e k, escreva um programa que atribua a uma variável inteira max o maior valor dos três.

Maior de Três

Sua Vez, Novamente Dado um inteiro, nota, contendo uma nota entre 0 e 100, escreva um trecho de código que converte o valor numérico da nota para uma nota em formato de letra, de acordo com a tabela seguinte, e exiba a nota no formato de letra. nota >= 90 80 <= nota < 90 B 70 <= nota < 80 C 60 <= nota < 70 D nota < 60 A E

Conversão de Nota