Buscar

aula1 teorica

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
Introduc¸a˜o a` Computac¸a˜o - Computac¸a˜o I
(Aula 1)
Turmas: ET1, IFN e IQN
Prof.: Sa´vio S. Dias
sdias@cos.ufrj.br
14 de marc¸o de 2018
2/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
ROTEIRO
INTRODUC¸A˜O
A DISCIPLINA
ALGORITMO
LINGUAGENS DE PROGRAMAC¸A˜O
EXERCI´CIO
3/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
INTRODUC¸A˜O
APRESENTAC¸A˜O
Algumas perguntas ba´sicas antes de comec¸armos:
• Quem sou eu?
• Quem sa˜o voceˆs?
• Ja´ ouviram falar de programac¸a˜o? Experieˆncia?
• “Intimidade” com computador: SOs, aplicac¸o˜es, etc;
• Calouro ou Veterano?
• Nı´vel de ingleˆs?
Exemplos de Programas
• Internet Explorer, Mozilla Firefox, Google Chrome;
• Facebook, Twitter, Orkut (algue´m lembra?);
• Microsoft Windows, Linux Kernel, Mac OS, Android, iOS;
• Microsoft Office, LibreOffice, iWork;
• Instagram, NuBank, WhatsApp, Spotify, Netflix, YouTube.
3/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
INTRODUC¸A˜O
APRESENTAC¸A˜O
Algumas perguntas ba´sicas antes de comec¸armos:
• Quem sou eu?
• Quem sa˜o voceˆs?
• Ja´ ouviram falar de programac¸a˜o? Experieˆncia?
• “Intimidade” com computador: SOs, aplicac¸o˜es, etc;
• Calouro ou Veterano?
• Nı´vel de ingleˆs?
Exemplos de Programas
• Internet Explorer, Mozilla Firefox, Google Chrome;
• Facebook, Twitter, Orkut (algue´m lembra?);
• Microsoft Windows, Linux Kernel, Mac OS, Android, iOS;
• Microsoft Office, LibreOffice, iWork;
• Instagram, NuBank, WhatsApp, Spotify, Netflix, YouTube.
4/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
A DISCIPLINA
COMO SERA´?
• Qual “tarefa” um programa deve realizar?
• Como ele realiza tal “tarefa”?
Objetivos
• Desenvolver pensamento lo´gico e estruturado;
• Aprender a construir programas de computador;
• Ter domı´nio ba´sico da Linguagem Python;
Organizac¸a˜o
• Toda semana: aula teo´rica e pra´tica;
• Duas provas durante o semestre;
• Trabalho(s) pra´tico(s) durante as aulas;
• Lista de exercı´cios livre*;
• Presenc¸a?
4/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
A DISCIPLINA
COMO SERA´?
• Qual “tarefa” um programa deve realizar?
• Como ele realiza tal “tarefa”?
Objetivos
• Desenvolver pensamento lo´gico e estruturado;
• Aprender a construir programas de computador;
• Ter domı´nio ba´sico da Linguagem Python;
Organizac¸a˜o
• Toda semana: aula teo´rica e pra´tica;
• Duas provas durante o semestre;
• Trabalho(s) pra´tico(s) durante as aulas;
• Lista de exercı´cios livre*;
• Presenc¸a?
4/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
A DISCIPLINA
COMO SERA´?
• Qual “tarefa” um programa deve realizar?
• Como ele realiza tal “tarefa”?
Objetivos
• Desenvolver pensamento lo´gico e estruturado;
• Aprender a construir programas de computador;
• Ter domı´nio ba´sico da Linguagem Python;
Organizac¸a˜o
• Toda semana: aula teo´rica e pra´tica;
• Duas provas durante o semestre;
• Trabalho(s) pra´tico(s) durante as aulas;
• Lista de exercı´cios livre*;
• Presenc¸a?
5/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
A DISCIPLINA
AULAS
• Aula 1: Introduc¸a˜o a` programac¸a˜o;
• Aula 2: Mo´dulos e func¸a˜o;
• Aula 3: Tipos de dados, strings e estrutura condicional;
• Aula 4: Varia´veis e manipulac¸a˜o de strings;
• Aula 5: Tuplas e listas;
• Aula 6: Manipulac¸a˜o de listas;
• Aula 7: Estrutura de repetic¸a˜o: while;
• Aula 8: Estrutura de repetic¸a˜o: for ;
• Aula 9: Estrutura de repetic¸a˜o: interfereˆncias;
• Aula 10: Diciona´rio;
• Aula 11: Matrizes;
• Aula 12: Interac¸a˜o com o usua´rio;
6/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
ALGORITMO
O que e´?
Algoritmo e´ uma sequeˆncia finita de instruc¸o˜es bem definidas e na˜o
ambı´guas, cada uma das quais devendo ser executadas em espac¸o e tempo
finitos.
Caracterı´sticas
• Finitude: deve sempre terminar apo´s um nu´mero finito (teo´rico) de
passos;
• Bem-definido: cada passo deve ser precisamente definido;
• Entrada(s): informac¸o˜es fornecidas para que o algoritmo possa
realizar sua tarefa;
• Saı´da(s): resultado final do algoritmo;
• Efetividade: todas as operac¸o˜es devem ser suficientemente ba´sicas.
6/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
ALGORITMO
O que e´?
Algoritmo e´ uma sequeˆncia finita de instruc¸o˜es bem definidas e na˜o
ambı´guas, cada uma das quais devendo ser executadas em espac¸o e tempo
finitos.
Caracterı´sticas
• Finitude: deve sempre terminar apo´s um nu´mero finito (teo´rico) de
passos;
• Bem-definido: cada passo deve ser precisamente definido;
• Entrada(s): informac¸o˜es fornecidas para que o algoritmo possa
realizar sua tarefa;
• Saı´da(s): resultado final do algoritmo;
• Efetividade: todas as operac¸o˜es devem ser suficientemente ba´sicas.
7/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
ALGORITMO
CLASSIFICAC¸O˜ES
Podemos classificar um algoritmo pela forma como ele foi implementado
(pensado):
• Recursivo/Iterativo
• Serial/Paralelo
• Determinı´stico/Na˜o-determinı´stico
• Exato/Aproximado
Figura: Exemplo de Algoritmo
7/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
ALGORITMO
CLASSIFICAC¸O˜ES
Podemos classificar um algoritmo pela forma como ele foi implementado
(pensado):
• Recursivo/Iterativo
• Serial/Paralelo
• Determinı´stico/Na˜o-determinı´stico
• Exato/Aproximado
Figura: Exemplo de Algoritmo
8/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
ALGORITMO
ESTRUTURAS DE DADOS
Um programa e´ formado por dois elementos ba´sicos: Algoritmos e
Estruturas de Dados.
• Enquanto os algoritmos dizem as sequeˆncias lo´gicas do programa, as
estruturas armazenam e organizam os dados que sera˜o trabalhados na
memo´ria (ou outra unidade de armazenamento).
• Alguns exemplos de estruturas de dados simples: tipo de dado
primitivo, vetores e matrizes, listas, filas e pilhas.
• Alguns exemplos de estruturas de dados complexas: A´rvores, hashing
e grafo.
9/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
ALGORITMO
EXEMPLO
Elaborar um algoritmo (fluxograma e pseudo-co´digo) para, ler dois valores
de entrada x e y e uma opc¸a˜o, imprimir o resultado da operac¸a˜o de acordo
com a opc¸a˜o:
• SUM para x+ y;
• MIN para x− y;
• MUL para x× y;
• DIV para xy ;
• AVG para x+y2 ;
10/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
LINGUAGENS DE PROGRAMAC¸A˜O
Os algoritmos descrevem como uma tarefa deve ser realizada. Entretanto,
para que o computador “entenda” as instruc¸o˜es, precisamos escreveˆ-las em
uma linguagem que ele entenda.
Co´digo de Ma´quina
Os computadores entendem apenas co´digo de ma´quina. Um programa em
co´digo de ma´quina consiste de uma sequeˆncia de bytes contendo instruc¸o˜es
em numerac¸a˜o hexadecimal que sera˜o executadas pelo processador.
Programar em co´digo de ma´quina e´ contra-intuitivo para humanos. Para tal
finalidade, as linguagens de programac¸a˜o foram desenvolvidas.
Figura: Linguagens de Programac¸a˜o
10/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
LINGUAGENS DE PROGRAMAC¸A˜O
Os algoritmos descrevem como uma tarefa deve ser realizada. Entretanto,
para que o computador “entenda” as instruc¸o˜es, precisamos escreveˆ-las em
uma linguagem que ele entenda.
Co´digo de Ma´quina
Os computadores entendem apenas co´digo de ma´quina. Um programaem
co´digo de ma´quina consiste de uma sequeˆncia de bytes contendo instruc¸o˜es
em numerac¸a˜o hexadecimal que sera˜o executadas pelo processador.
Programar em co´digo de ma´quina e´ contra-intuitivo para humanos. Para tal
finalidade, as linguagens de programac¸a˜o foram desenvolvidas.
Figura: Linguagens de Programac¸a˜o
10/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
LINGUAGENS DE PROGRAMAC¸A˜O
Os algoritmos descrevem como uma tarefa deve ser realizada. Entretanto,
para que o computador “entenda” as instruc¸o˜es, precisamos escreveˆ-las em
uma linguagem que ele entenda.
Co´digo de Ma´quina
Os computadores entendem apenas co´digo de ma´quina. Um programa em
co´digo de ma´quina consiste de uma sequeˆncia de bytes contendo instruc¸o˜es
em numerac¸a˜o hexadecimal que sera˜o executadas pelo processador.
Programar em co´digo de ma´quina e´ contra-intuitivo para humanos. Para tal
finalidade, as linguagens de programac¸a˜o foram desenvolvidas.
Figura: Linguagens de Programac¸a˜o
10/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
LINGUAGENS DE PROGRAMAC¸A˜O
Os algoritmos descrevem como uma tarefa deve ser realizada. Entretanto,
para que o computador “entenda” as instruc¸o˜es, precisamos escreveˆ-las em
uma linguagem que ele entenda.
Co´digo de Ma´quina
Os computadores entendem apenas co´digo de ma´quina. Um programa em
co´digo de ma´quina consiste de uma sequeˆncia de bytes contendo instruc¸o˜es
em numerac¸a˜o hexadecimal que sera˜o executadas pelo processador.
Programar em co´digo de ma´quina e´ contra-intuitivo para humanos. Para tal
finalidade, as linguagens de programac¸a˜o foram desenvolvidas.
Figura: Linguagens de Programac¸a˜o
11/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
LINGUAGENS DE PROGRAMAC¸A˜O
O QUE E´?
• Linguagem artificial com sintaxe e semaˆntica bem definidos;
• Usada para exprimir programas (algoritmos);
• Permite ao programador uma capacidade maior do que linguagens
naturais;
• Entretanto, tem menos recurso que a linguagem de ma´quina.
12/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
LINGUAGENS DE PROGRAMAC¸A˜O
Como fazer o computador entender uma linguagem de programac¸a˜o enta˜o?
Figura: Compiladores
13/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
LINGUAGENS DE PROGRAMAC¸A˜O
PARADIGMAS
As linguagens de programac¸a˜o podem ser classificadas quanto ao
paradigma adotados em sua sintaxe e semaˆntica. Sa˜o eles:
• Paradigma estruturado: reduc¸a˜o do programa a treˆs estruturas:
sequeˆncia, decisa˜o ou selec¸a˜o e iterac¸a˜o;
• Paradigma orientado a objetos: abstrac¸a˜o e identificac¸a˜o de
unidades ba´sicas de software (classes e objetos) na composic¸a˜o e
interac¸a˜o de todos os elementos do programa.
• Paradigma imperativo: define sequeˆncias de comandos que um
computador deve seguir para realizar uma tarefa;
• Paradigma declarativo: descreve o que deve ser feito, na˜o como os
procedimentos funcionam.
14/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
LINGUAGENS DE PROGRAMAC¸A˜O
PYTHON
Motivos para se programar em Python:
• Linguagem simples (alto nı´vel), robusta e escala´vel;
• Suporte para diversos paradigmas de programac¸a˜o: Orientado a
Objetos, Imperativo, etc;
• Extensa biblioteca padra˜o e de terceiros;
• Multi-plataforma;
• Va´rias aplicac¸o˜es desenvolvidas utilizando a linguagem;
• Open source;
• Extensa comunidade.
15/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
EXERCI´CIO
PREPARANDO O TERRENO...
Instalando Python
• https://www.python.org/ (Versa˜o 2.7.14);
• Instalac¸a˜o para Windows;
• Sistemas Linux ja´ vem com Python instalado por padra˜o (verificar
versa˜o).
Instalar um editor de texto simples: Atom, VSCode, gedit, notepad++, etc.
Algumas IDEs: PyCharm, Eclipse.
Figura: Hello, world!
15/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
EXERCI´CIO
PREPARANDO O TERRENO...
Instalando Python
• https://www.python.org/ (Versa˜o 2.7.14);
• Instalac¸a˜o para Windows;
• Sistemas Linux ja´ vem com Python instalado por padra˜o (verificar
versa˜o).
Instalar um editor de texto simples: Atom, VSCode, gedit, notepad++, etc.
Algumas IDEs: PyCharm, Eclipse.
Figura: Hello, world!
16/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
REFEREˆNCIAS I
• Aprendendo Python. David Ascher & Mark Lutz, Editora Bookman, 2a
edic¸a˜o, 2007. 566p.
• Programming Python. Mark Lutz, O’Reilly, 2001. 1255p.
• Beginning Python from Novice to Professional. Magnus Lie Hetland,
Apress, 2005. 640p.
• Python Cookbook. Alex Martelli & David Ascher, O’Reilly, 2002. 575p.
Links importantes
• http://orion.lcg.ufrj.br/python/
• https://www.python.org/doc/
• https://www.urionlinejudge.com.br/
• https://stackoverflow.com/
17/17
INTRODUC¸A˜O A DISCIPLINA ALGORITMO LINGUAGENS DE PROGRAMAC¸A˜O EXERCI´CIO
Introduc¸a˜o a` Computac¸a˜o - Computac¸a˜o I
(Aula 1)
Turmas: ET1, IFN e IQN
Prof.: Sa´vio S. Dias
sdias@cos.ufrj.br
14 de marc¸o de 2018
	Introdução
	A Disciplina
	Algoritmo
	Linguagens de Programação
	Exercício

Continue navegando