Quanto maior a dificuldade, tanto maior o mérito em superá-la.
H. W. BEECHER
É mais conhecido e, de certa forma, referenciado como o inventor que projetou o primeiro computador de uso geral, utilizando apenas partes mecânicas, a máquina analítica. Ele é considerado o pioneiro. Seu invento, porém, exigia técnicas bastante avançadas e caras na época, e nunca foi construído. Sua invenção também não era conhecida dos criadores do computador moderno.
Foi um poeta britânico e uma das figuras mais influentes do romantismo. Entre os seus trabalhos mais conhecidos estão os extensos poemas narrativos Don Juan, A Peregrinação de Childe Harold e o curto poema lírico She Walks in Beauty.
Byron é considerado um dos maiores poetas britânicos, e permanece vastamente lido e influente.
É um dispositivo teórico conhecido como máquina universal, concebido muitos anos antes de existirem os modernos computadores digitais. Num sentido preciso, é um modelo abstrato de um computador, que restringe-se apenas aos aspectos lógicos do seu funcionamento (memória, estados e transições), e não a sua implementação física. Numa máquina de Turing pode-se modelar qualquer computador digital.
São todos os dispositivos que permitem a um computador guardar dados, temporária ou permanentemente. Memória é um termo genérico para designar componentes de um sistema capazes de armazenar dados e programas.
A unidade básica de memória é o digito binário, ou bit. Um bit pode conter 0 ou 1. É a unidade mais simples possível. Um sistema que armazenasse apenas um destes valores não poderia formar a base de um sistema de memória.
Uma CPU é composta basicamente, pela maioria dos autores, pelos três seguintes componentes:
Unidade lógica e aritmética (ULA ou ALU): executa operações lógicas e aritméticas;
Unidade de controle: decodifica instruções, busca operandos, controla o ponto de execução e desvios;
Registradores: armazenar dados para o processamento.
A introdução do microprocessador na década de 1970 afetou significativamente a concepção e implementação de processadores.
Microprocessadores utilizam circuitos integrados de transistores, alcançando assim as vantagens dos processadores de transistores ao mesmo tempo que economizam espaço, energia e aquecem menos. Por esses motivos, podem também atingir frequências de clock maiores, o que se traduz em mais operações executadas por segundo e, consequentemente, mais velocidade perceptível ao usuário.
| A | B | AND | OR | XOR |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
São os elementos básicos que um programa manipula. Uma variável é um espaço reservado na memória do computador para armazenar um tipo de dado determinado.
Estas devem receber nomes para poderem ser referenciadas e modificadas quando necessário. Um programa deve conter declarações que especificam de que tipo são as variáveis que ele utilizará e às vezes um valor inicial.
Tipos podem ser, por exemplo: inteiros, reais, caracteres, etc. As expressões combinam variáveis para calcular novos valores, na aula 6 iremos ver mais detalhes e a aplicação das mesmas em uma linguagem de programação.
Ler dois números e calcular a média
Usar somente um verbo por frase.
Imaginar que você está desenvolvendo um algoritmo para pessoas que não trabalham com informática.
Usar frases curtas e simples.
Ser objetivo.
Procurar usar palavras que não tenham sentido dúbio.
É importante ressaltar que qualquer tarefa que siga determinado padrão pode ser descrita por um algoritmo.
Não utilizar espaços entre as letras ou caracteres especiais como acentos, símbolos (@#%&*?:/) entre outros.
Para identificar um algoritmo com duas palavras, por exemplo “calcular media“ usar o underline o correto ficaria calcular_media.
Não utilizar palavras reservadas como as que são utilizadas para representar ações especificas como ler, variavel, escrever no portugol ide as palavras reservadas são destacadas em negrito.
Não utilizar números no inicio da identificação do algoritmo como, por exemplo; “1exemplo” o correto seria “exemplo1”.
Usar nomes coerentes para identificação de algoritmos, nomes os quais possam identificar o que o algoritmo vai fazer.
No corpo do algoritmo deve ser escrito todos os passos para a resolução de problemas, como por exemplo;
Entrada de valores para as variáveis.
Operações de atribuição tais como lógicas e aritméticas.
Laços de repetição.
Exibição de resultados.
inicio
inteiro anoAtual
inteiro anoNasc
inteiro idade
logico amigoDono
ler anoAtual
ler anoNasc
amigoDono <-verdadeiro
idade <- (anoAtual - anoNasc)
escrever "A idade é: "
escrever idade
escrever "\n"
se idade>=18 e amigoDono então
escrever "Você pode entrar!"
senão
escrever "Vá pra casa criatura!!!"""
fimse
fiminicio
real n1
real n2
real m
inteiro contador <- 1
enquanto contador <=5 faz
ler n1
ler n2
m <- (n1+n2)/2
escrever "Aluno "
escrever contador
escrever ": "
escrever m
contador <- contador+1
fimenquanto
fim
nome = input('Digite seu nome:')
print(nome) #include <stdio.h>
/* Um Primeiro Programa */
int main ()
{
printf ("Hello world!\n");
return(0);
}Ritchie
Ritchie Valens
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, world!");
Console.ReadLine();
}
}
}<?php
echo "Hello World!!!";
?><!DOCTYPE html>
<html>
<body>
<h1>É hora do PHP!</h1>
<?php
echo "Hello World!!!";
?>
</body>
</html>print('Hello World')Senta que lá vem história
print('Olá, mundo!')mensagem = 'oi, python'
numero = 5
pi = 3.14
print (mensagem)
print (numero)
print (pi)| Operador | Função |
|---|---|
| + | Soma |
| - | Subtração |
| * | Multiplicação |
| / | Divisão |
| % | Módulo |
| // | Divisão inteira |
| ** | Exponenciação |
texto1 = 'oi'
texto2 = ' Python'
texto1 + texto2
texto1 = 'Penny '
texto1 * 3
entrada = input('Digite qualquer coisa: ')
print(entrada)| Operação | Descrição |
|---|---|
| a == b | a igual a b |
| a != b | a diferente de b |
| a < b | a menor do que b |
| a > b | a maior do que b |
| a <= b | a menor ou igual a b |
| a >= b | a maior ou igual a b |
| Operação | Descrição |
|---|---|
| a is b | True se a e b são idênticos |
| a is not b | True se a e b não são idênticos |
| a in b | True se a é membro de b |
| a not in b | True se a não é membro de b |
x = [1, 2, 3]
y = [1, 2, 3]
x == y
x is y
if chute == numero:
print('Você acertou')
else:
print('Você errou')if (numero_secreto == chute):
print('Você acertou!')
elif (chute > numero_secreto):
print('Você errou! O seu chute foi maior que o número secreto')
elif (chute < numero_secreto):
print('Você errou! O seu chute foi menor que o número secreto')x = 5
while(x > 1):
print(x)
x = x - 1x = 5
while(x > 1):
print(x)for rodada in range(1,10):
print(rodada)def ola():
print('Hello There!')def ola(nome):
print('Hello ',nome,' tudo bem?')def areaq(lado):
return lado * ladodef dados(nome, idade=None):
if(idade is not None):
return ('nome: {} \nidade: {}'.format(nome, idade))
else:
return ('nome: {} \nidade: não informada'.format(nome))Vamos brincar?
frutas_citricas = ['laranja', 'acerola', 'abacaxi', 'tangerina']
print(frutas_citricas)
numeros_pares = [2,4,6,8,10]
print(numeros_pares)numeros_pares = [2,4,6,8,10]
print(numeros_pares)
min(numeros_pares)
max(numeros_pares)numeros_pares = [2,4,6,8,10]
print(numeros_pares[3])
print(numeros_pares[1])numeros_pares = [2,4,6,8,10]
numeros_pares[3] = 60
numeros_pares[1] = 40
print(numeros_pares[3])
print(numeros_pares[1])numeros_pares = [2,4,6,8,10]
numeros_pares[3] = 60
numeros_pares[1] = 40
print(numeros_pares[3])
print(numeros_pares[1])
len(numeros_pares)
14 in numeros_pares
60 in numeros_pares
numeros_pares = [2,4,6,8,10]
print(numeros_pares[3])
print(numeros_pares[6])
| Método | Uso |
|---|---|
| lista.append(x) | Insere o elemento x no final da lista. |
| lista.insert(i,x) | Insere o elemento x na posição i. |
| lista.extend(L) | Insere todos os elementos da lista L no final da lista. |
| print lista.index(x) | Imprime a posição da primeira ocorrência do elemento x na lista. |
| lista.remove(x) | Remove o primeiro elemento cujo valor seja igual a x. |
| Método | Uso |
|---|---|
| len(string) | Retorna a quantidade de string |
| string.count('ch') | Retorna a quantidade de um determinado caractere. |
| string.find('ch') | Localiza um determinado caractere |
| string.split() | Separar uma string |
| string.upper() | Coloca todas os caracteres em forma de Maiúsculo |
| string.lower() | Coloca todas os caracteres em forma de Minusculo |
| string.capitalize() | Deixar apenas a primeira letra maiúscula de uma string minúscula |
| string.title() | Deixa as letras de cada palavra da string maiúscula. |
arquivo = open('passageiros.txt', 'w')
arquivo.write('Pedro Silva \n')
arquivo.close()dias = ('domingo', 'segunda', 'terça', 'quarta')
range(inicio, fim)
sequencia = range(1, 3)
print(sequencia)for valor in range(1, 3):
print(valor)frutas = {'laranja', 'banana', 'uva', 'pera', 'laranja'}a = set('abacaxi')
b = set('abacate')
print(a)
print(b)
print('A diferença do conjunto A com o conjunto B é: ', a -b)
print('A união do conjunto A com o conjunto B é: ', a | b)
print('A interceção do conjunto A com o conjunto B é: ', a & b)pessoa = {'nome': 'João', 'idade': 25, 'cidade': 'São Paulo'}pessoa = {'nome': 'Pedro', 'idade': 25, 'cidade': 'Fortaleza'}
print(pessoa[nome])pessoa = {'nome': 'Pedro', 'idade': 25, 'cidade': 'Fortaleza'}
print(pessoa[nome])
del pessoa['idade']
print(pessoa)pessoa = {'nome': 'Pedro', 'idade': 25, 'cidade': 'Fortaleza'}
print(pessoa[nome])
del pessoa['idade']
print(pessoa)
pessoa['idade'] = 25
print(pessoa)pessoa = {'nome': 'João', 'idade': 25, 'cidade': 'São Paulo'}
print(pessoa[nome])
del pessoa['idade']
print(pessoa)
pessoa['idade'] = 25
print(pessoa)
pessoa.keys()
pessoa.values()
pessoa.items()
nome = 'Python's Bar'
print(nome)nome = "Python's Bar"
print(nome)| Caractere de escape | Exibido como |
|---|---|
| \' | Aspas simples |
| \" | Aspas duplas |
| \t | Tabulação |
| \n | Quebra ou mudança de linha |
| \\ | Barra invertida |
', '.join(['cats', 'rats', 'bats'])
' '.join(['My', 'name', 'is', 'Simon'])'My name is Simon'.split()Slicing traduzindo ao pé da letra significa fatiar.
Slicing é um "conceito" utilizado em Python para o acesso a uma porção de todo.
Para fazer um slicing tudo que precisamos é de um tipo de dado que seja iterável, ou seja, que suporte iteração. Dentre os tipos de dados que vimos até agora, os iteráveis são: strings, tuplas, listas e dicionários.
Vamos brincar?
def nome_da_função(parâmetros):
métodosdef dados(nome, idade=None):
print('nome:{}'.format(nome))
if(idade is not None):
print('idade: {}'.format(idade))
else:
print('idade não informada')def dados(nome, idade=None):
if(idade is not None):
return ('nome: {} \nidade: {}'.format(nome, idade))
else:
return ('nome: {} \nidade: não informada'.format(nome))Class Veiculo:
passageiros: int
tanque: float
consumo:floatEspecificação de um veículo
Fusca
Passageiros: 5
Tanque: 120L
Consumo: 2km/l
Camaro
Passageiros: 2
Tanque: 240L
Consumo: 10km/l
Memória
Veiculo
Veiculo
fusca
camaro
class Conta:
numero
titular
saldo
limiteEm Python, alguns nomes de métodos estão reservados para o uso da própria linguagem. Um desses métodos é o __init__() que vai inicializar o objeto. Seu primeiro parâmetro, assim como todo método de instância, é a própria instância. Por convenção chamamos este argumento de self.
class Conta:
def __init__(self, numero, titular, saldo, limite):
self.numero = numero
self.titular = titular
self.saldo = saldo
self.limite = limiteclass Conta:
__numero
__titular
__saldo
__limiteconta.Conta__titular| Modificadores | Definição |
|---|---|
| Public | Modificador de acesso mais permissivo que existe. Atributos, métodos e classes declarados como public são acessíveis por qualquer classe |
| Private | É o modificador de acesso mais restritivo que existe. Atributos e métodos declarados como private são acessíveis somente pela classe que os declara. |
| Protected | É um modificador de acesso um pouco mais permissivo que o private. Atributos e métodos declarados como protected são acessíveis pela classe que os declara, suas subclasses em outros pacotes e outras classes dentro do mesmo pacote. |
def get_saldo(self):
return self._saldo
def set_saldo(self, saldo):
self._saldo = saldo
def get_titular(self):
return self._titular
def set_titular(self, titular):
self._titular = titular@property
def saldo(self):
return self._saldo
@saldo.setter
def saldo(self, saldo):
if(self._saldo < 0):
print("saldo não pode ser negativo")
else:
self._saldo = saldoClasse mãe
Classe filha
class Gerente(Funcionario):
def __init__(self, senha, qtd_funcionarios):
self._senha = senha
self._qtd_funcionarios = qtd_funcionarios
def autentica(self, senha):
if self._senha == senha:
print("acesso permitido")
return True
else:
print("acesso negado")
return Falseclass Gerente(Funcionario):
def __init__(self, senha, qtd_funcionarios):
Funcionario.__init__(nome, cpf, salario)
self._senha = senha
self._qtd_funcionarios = qtd_funcionarios
def autentica(self, senha):
if self._senha == senha:
print("acesso permitido")
return True
else:
print("acesso negado")
return Falseclass Gerente(Funcionario):
def __init__(self, senha, qtd_funcionarios):
super().__init__(nome, cpf, salario)
self._senha = senha
self._qtd_funcionarios = qtd_funcionarios
def autentica(self, senha):
if self._senha == senha:
print("acesso permitido")
return True
else:
print("acesso negado")
return Falseclass Funcionario:
def __init__(self, nome, cpf, salario):
self._nome = nome
self._cpf = cpf
self._salario = salario
# outros métodos e properties
def get_bonificacao(self):
return self._salario * 0.10class Gerente(Funcionario):
def __init__(self, senha, qtd_funcionarios):
super().__init__(nome, cpf, salario)
self._senha = senha
self._qtd_gerenciaveis = qtd_gerenciaveis
def get_bonificacao(self):
return self._salario * 0.15A Organização Europeia para a Investigação Nuclear (CERN) foi a responsável pela invenção da World Wide Web, ou simplesmente a Web, como hoje a conhecemos. Corria o ano de 1990, e o que, numa primeira fase, permitia apenas aos cientistas trocar dados, acabou por se tornar a complexa e essencial Web.
O responsável pela invenção chama-se Tim Berners-Lee, que construiu o seu primeiro computador na Universidade de Oxford, onde se formou em 1976. Quatro anos depois, tornava-se consultor de engenharia de software no CERN .
Em 1989, propôs um projecto de hipertexto que permitia às pessoas trabalhar em conjunto, combinando o seu conhecimento numa rede de documentos. Foi esse projecto que ficou conhecido como a World Wide Web. A Web funcionou primeiro dentro do CERN, e no Verão de 1991 foi disponibilizada mundialmente.
HTML é uma das linguagens que utilizamos para desenvolver websites. O acrônimo HTML vem do inglês e significa Hypertext Markup Language ou em português Linguagem de Marcação de Hipertexto.
O HTML é a liguagem base da internet. Foi criada para ser de fácil entendimento por seres humanos e também por máquinas, como por exemplo o Google ou outros sistemas que percorrem a internet capturando informação.
O HTML é uma linguagem baseada em marcação. Nós marcamos os elementos para mostrar quais informações a página exibe. Por exemplo, um título importante. Aquele título do artigo, da manchete do site, nós marcamos com uma tag/elemento chamado h1.
<h1>Agenda UTD</h1><!DOCTYPE html>
<html lang="pt-br" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
</body>
</html><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="pt-br" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
</body>
</html><!DOCTYPE html>
<html lang="pt-br" dir="ltr">
<head>
<meta charset="utf-8">
<title>Agenda de Contato</title>
</head>
<body>
<h1>Agenda UTD</h1>
<h2>Organize os seus contatos para não ficar perdido!</h2>
</body>
</html><!DOCTYPE html>
<html lang="pt-br" dir="ltr">
<head>
<meta charset="utf-8">
<title>Agenda de Contato</title>
</head>
<body>
<h1>Agenda UTD</h1>
<h2>Organize os seus contatos para não ficar perdido!</h2>
<p>
Seja bem vindo ao sistema de agenda que irá facilitar a organização do seu dia-a-dia.
</p>
<p>
Esse sistema foi desenvolvido pela turma de Iniciação a Programação do Turno Tarde da Univesidade do Trabalho Digital (UTD).
</p>
</body>
</html><!DOCTYPE html>
<html lang="pt-br" dir="ltr">
<head>
<meta charset="utf-8">
<title>Agenda de Contato</title>
</head>
<body>
<h1>Agenda UTD</h1>
<h2>Organize os seus contatos para não ficar perdido!</h2>
<img id="image" src="IMG/icon.png" alt="Imagem de uma agenda" title="Agenda" />
<img id="logo" src="IMG/logoUTD.png" alt="Logomarca da UTD" title="Universidade do Trabalho Digital">
<p>
Seja bem vindo ao sistema de agenda que irá facilitar a organização do seu dia-a-dia.
</p>
<p>
Esse sistema foi desenvolvido pela turma de Iniciação a Programação do Turno Tarde da Univesidade do Trabalho Digital (UTD).
</p>
</body>
</html><figure>
<img id="image" src="IMG/icon.png" alt="Imagem de uma agenda"/>
<figcaption>Agenda</figcaption>
</figure><ul>
<li>Home</li>
<li>Cadastrar Contato</li>
<li>Contatos</li>
</ul><!DOCTYPE html>
<html lang="pt-br" dir="ltr">
<head>
<meta charset="utf-8">
<title>Agenda de Contato</title>
</head>
<body>
<h1>Agenda UTD</h1>
<h2>Organize os seus contatos para não ficar perdido!</h2>
<img id="image" src="IMG/icon.png" alt="Imagem de uma agenda" title="Agenda" />
<img id="logo" src="IMG/logoUTD.png" alt="Logomarca da UTD" title="Universidade do Trabalho Digital">
<ul>
<li>Home</li>
<li>Cadastrar Contato</li>
<li>Contatos</li>
</ul>
<p>
Seja bem vindo ao sistema de agenda que irá facilitar a organização do seu dia-a-dia.
</p>
<p>
Esse sistema foi desenvolvido pela turma de Iniciação a Programação do Turno Tarde da Univesidade do Trabalho Digital (UTD).
</p>
</body>
</html><dl>
<dt>HTML</dt>
<dd>
HTML é a linguagem de marcação de textos utilizada para exibir textos como páginas na Internet.
</dd>
<dt>Navegador</dt>
<dd>
Navegador é o software que requisita um documento HTML através do protocolo HTTP e exibe seu conteúdo em uma janela.
</dd>
</dl><h1><font color="red">Agenda UTD</font></h1>body {
font-family: "Arial", "Helvetica", sans-serif;
}p{
text-align: justify;
text-indent: 50px;
}p {
line-height: 3px; /* tamanho da altura de cada linha */
letter-spacing: 3px; /* tamanho do espaço entre cada letra */
word-spacing: 5px; /* tamanho do espaço entre cada palavra */
text-indent: 30px; /* tamanho da margem da primeira linha do texto */
}p {
padding: 10px 20px 15px 5px;
}
p {
margin: 10px 20px 15px 5px;
}
#header img {
margin-right: 35px;
vertical-align: middle;
width: 94px;
}
.cabecalho img {
padding-right: 35px;
vertical-align: middle;
width: 94px;
}<p>
Visite o site da <a href="https://www.w3schools.com">W3Schools</a>.
</p><p>Mais informações <a href="#info">aqui</a>.</p>O targetatributo especifica onde abrir o documento vinculado.
<a href="https://www.w3schools.com/" target="_blank">Visit W3Schools!</a>