MC-102 — Aula 01 Introdução à Programação de Computadores

Jacques Wainer

2020

O que vamos aprender neste curso

O que vamos aprender neste curso

O que vamos aprender neste curso

O que vamos aprender neste curso

Algoritmo:

  1. Comece com uma solução inicial \(i\) (exemplo \(x/2\))

  2. Enquanto \(i^2\) não for próximo o suficiente de \(x\) faça

    • calcule novo \(i\) como \(\frac{(i+x/i)}{2}\)

Definimos que \(i^2\) está próximo de \(x\) quando \(|i^2 - x| < 0.1\).
Exemplo: raiz quadrada de \(9\):

  1. \(i = 4.5\), mas \(i^2 = 20.25\) não está próximo de \(x\), então atualizamos \(i = (i + x/i)/2 = 3.25\)

  2. \(i = 3.25\), mas \(i^2 = 10.56\) não está próximo de \(x\), então atualizamos \(i = (i + x/i)/2 = 3.0096\)

  3. \(i = 3.0096\) e \(i^2 = 9.057\) estando próximo de \(x\), portanto finalizamos o processo.

Achamos a solução aproximada \(3.0096\).

O que vamos aprender neste curso

Por que aprender algoritmos e programação?

Por que aprender algoritmos e programação?

Por que aprender algoritmos e programação?

Por que aprender algoritmos e programação?

Eu sou das engenharias!
Alguns exemplos:

Por que aprender algoritmos e programação?

Eu sou das áreas científicas! Matemática, Física, Química etc.
Alguns exemplos:

O que esperar deste curso

O que será necessário

Nossa sugestão

  1. Instale o python do miniconda https://docs.conda.io/en/latest/miniconda.html

  2. Instale o numpy. No terminal:

    conda install numpy
  3. Instale o editor atom https://atom.io/

  4. Ou o editor VS Code https://visualstudio.microsoft.com/

Mais sobre isso no lab.

O que será necessário

Para ir bem neste curso:

Hardware e Software

O que é um computador?

Hardware e dispositivos

Hardware e dispositivos

Todo o hardware opera com sinais com apenas 2 valores (binário), que representamos como 0 e 1

A razão não é filosófica (“o computador só entende certo e errado”) mas eletrônica - é possível fazer circuitos que gastam muito pouca energia enquanto eles estão no estado 0 ou 1. Só gastam energia quando mudam de estado.

A representação binária também facilita a interface entre o analógico (sinais magnéticos, elétricos, de luz, de rádio) e o digital - é mais insensível a ruídos

Chamamos 1 desses sinais binários de bit

Chamamos de Byte um agrupamento de 8 bits.

Todas as informações armazenadas no computador são representadas por bits. Informações como letras, símbolos, imagens, programas são todas vários 0s e 1s.

Software

Softwares são os programas que executam tarefas utilizando o hardware de um computador.

0100 0010 0011 0101 0101 0100 0011 0110
0100 1110 1100 1100 1001 0110 0110 1000
0000 0101 1111 1110 1101 0011 0000 1100

Organização de um ambiente computacional

Organização básica de um ambiente computacional

Organização básica de um ambiente computacional

Programas de Aplicação.

Organização básica de um ambiente computacional

Compiladores/Interpretadores e Linguagens de Programação.

Organização básica de um ambiente computacional

Compiladores/Interpretadores e Linguagens de Programação.

for(i=0; i< 10; i++)   loop:  add c, a, b       0100 0010 0011 0101 0101 0100 0011 0110
    c = a+b;                  add i, i, 1       0110 0110 0111 0101 0101 0100 0011 0110
                              bnq i, 10, loop   1111 0000 0111 0101 0101 0100 0011 0110

Organização básica de um ambiente computacional

Compiladores/Interpretadores e Linguagens de Programação.

Organização básica de um ambiente computacional

Sistema Operacional.

Algoritmos

Algoritmos

Antes de criarmos um programa para resolver um determinado problema, devemos ser capazes de especificar um algoritmo para resolver o problema.

Exemplo de algoritmo Como ordenar as cartas de um baralho?

De algoritmos a programas

Um pouco de história

Um pouco de história

Um pouco de história

Um pouco de história

Um pouco de história

Um pouco de história

Os primórdios da programação: programação em código absoluto ou binário (apenas 0s e 1s).

ENIAC

ENIAC

Um pouco de história

Uma melhoria: A Linguagem Assembly.

  LOOP:  MOV A, 3
         INC A
         JMP LOOP

Um pouco de história

Uma brilhante idéia: Criação de linguagens de alto nível e compiladores/interpretadores para estas.

Exemplos de linguagens:

Há/houve centenas de linguagens de programação https://github.com/stereobooster/programming-languages-genealogical-tree

A linguagem Python

Primeiro programa em Python

Um programa em Python é um arquivo texto, contendo declarações e operações da linguagem. Isto é chamado de código fonte.

print("Ola turma de MC102!!")

Você pode salvar este arquivo como hello.py.

Como executar este programa

    $ python hello.py
    Ola turma de MC102!

Relembrando

Relembrando