Programação de Computadores



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

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

LINGUAGENS E PARADIGMAS DE PROGRAMAÇÃO. Ciência da Computação IFSC Lages. Prof. Wilson Castello Branco Neto

ENIAC. Introdução aos Computadores e à Programação (Noções Básicas)

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

Conceitos básicos de programação

Algoritmos. Cláudio Barbosa

Aula 10 Introdução à Algoritmos. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

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

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

ARQUITETURA DE COMPUTADORES. Rogério Spindula Rosa

Linguagem de Programação I. Aula 05 Linguagem C

Construção de Compiladores. Construção de Compiladores. Motivação. Motivação. Contexto Histórico. Classificações: Gerações 09/03/2010

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

Introdução a Informática. Prof.: Roberto Franciscatto

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

MC-102 Aula 01. Instituto de Computação Unicamp

UFRPE Prof. Gustavo Callou

Curso Técnico em Redes

Dadas a base e a altura de um triangulo, determinar sua área.

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

Introdução às Linguagens de Programação

1. NÍVEL CONVENCIONAL DE MÁQUINA

O modelo do computador

INTRODUÇÃO À LINGUAGEM C/C++

Introdução à Engenharia de Computação

INTRODUÇÃO À PROGRAMAÇÃO BCC 201 TURMAS 31, 32 E AULA TEÓRICA 2 PROF. MARCELO LUIZ SILVA (R E D)

Nesta aula... Analisamos na ultima aula a evolução e caraterísticas de computadores e linguagens de programação. Nesta aula iremos ver:

Programação de Computadores III

Organização de Computadores Software

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

ALGORITMOS E FLUXOGRAMAS

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

FundamentosemInformática

Introdução aos Sistemas da InformaçãoAula 4 p. 1

Computação Eletrônica

Conceitos Básicos de C

Programação 1. Rafael Vargas Mesquita. ftp://ftp.ci.ifes.edu.br/informatica/mesquita/

INTRODUÇÃO A PROGRAMAÇÃO ESTRUTURADA DE COMPUTADORES EM C

Introdução à Linguagem C/C++ Parte I

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

O que é um programa? Programa é uma lista de instruções que descrevem uma tarefa a ser realizada pelo computador.

Informática I. Aula 6. Aula 6-12/09/2007 1

Introdução à Programação. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

UNIVERSIDADE FEDERAL DE UBERLÂNDIA Faculdade de Computação Curso de Introdução à Informática Prof: Anilton Joaquim da Silva / Ezequiel Roberto Zorzal

Programação Funcional. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2015.

COMPILADORES E INTERPRETADORES

Desenvolvendo Websites com PHP

PROJETO LÓGICO DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

CURSO DE PROGRAMAÇÃO EM JAVA

Resolução de problemas e desenvolvimento de algoritmos

Introdução. Sumários. Objectivos da cadeira. História das linguagens de programação. Classificação das Linguagens de programação

Computador Máquina que processa uma grande quantidade de dados com rapidez e precisão.

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

Introdução ao Processamento de Dados (IPD)

IFTO LÓGICA DE PROGRAMAÇÃO AULA 01

INFORMÁTICA BÁSICA. Prof. Rafael Zimmermann

Introdução à Arquitetura de Computadores IFES Campus Serra

Componentes da linguagem C++

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

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

1. Apresentação Objetivos

O Processo de Programação

Linguagens de Programação. Introdução. Carlos Bazilio

Organização e Arquitetura de Computadores I. de Computadores

Sistemas Operacionais

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

Curso: Técnico de Informática Disciplina: Redes de Computadores. 1- Apresentação Binária

1.1. Organização de um Sistema Computacional

Aspectos de Segurança em Programação com Java

Introdução à Programação 2006/07. Computadores e Programação

Introdução à Programação Aula 2 Introdução à linguagem Python

CURSO B SICO DE PERL

PROGRAMAÇÃO ORIENTADA A OBJETOS EM JAVA*

Software Básico (INF1018)

4 Estrutura do Sistema Operacional Kernel

Esta dissertação apresentou duas abordagens para integração entre a linguagem Lua e o Common Language Runtime. O objetivo principal da integração foi

Introdução à Programação de Computadores

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

Convertendo Algoritmos para a Linguagem C

Programação Web Prof. Wladimir

Algoritmos e Programação Estruturada

BARRAMENTO DO SISTEMA

Figura 1 - O computador

ICC Introdução para JavaScript

2 Um Primeiro Programa em C

3. O NIVEL DA LINGUAGEM DE MONTAGEM

Introdução a lógica de programação. Aula 02: Linguagens de Programação e Introdução ao Visual C# Express

Introdução. Hardware X Software. Corpo Humano Parte Física. Capacidade de utilizar o corpo em atividades especificas explorando seus componentes

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

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

Linguagens de. Aula 02. Profa Cristiane Koehler

Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO

Conceitos básicos da linguagem C

Algoritmos e Estrutura de Dados. Introdução a Linguagem Python (Parte I) Prof. Tiago A. E. Ferreira

Introdução. Capítulo Breve sinopse

Introdução à Arquitetura de Computadores. Renan Manola Introdução ao Computador 2010/01

11/3/2009. Software. Sistemas de Informação. Software. Software. A Construção de um programa de computador. A Construção de um programa de computador

Transcrição:

Programação de Computadores Curso Engenharia Civil Modalidade Superior Professora Michelle Nery

Agenda Introdução a Programação Algoritmos VS Programa 2

Algoritmos Um algoritmo pode ser definido como uma sequência finita de passos (instruções) para resolver um determinado problema. Sempre que desenvolvemos um algoritmo estamos estabelecendo um padrão de comportamento que deverá ser seguido (uma norma de execução de ações) para alcançar o resultado de um problema. 3

Algoritmos Algoritmo 1: Troca de pneu do carro 1. desligar o carro 2. pegar as ferramentas (chave e macaco) 3. pegar o estepe 4. desenroscar os 4 parafusos do pneu furado 5. suspender o carro com o macaco 6. desenroscar os 4 parafusos do pneu furado 7. colocar o estepe 8. enroscar os 4 parafusos 9. baixar o carro com o macaco 10. enroscar os 4 parafusos 11. guardar as ferramentas 4

Algoritmos Um algoritmo quando programado num computador é constituído pelo menos das 3 partes, sendo elas: Entrada de dados. Processamento de dados. Saída de dados. 5

Algoritmos Algoritmo 2: Como fazer um bolo? 6

Algoritmos Entrada são fornecidas as informações necessárias para que o algoritmo possa ser executado. Estas informações podem ser fornecidas no momento em que o programa está sendo executado. 7

Algoritmos Processamento são avaliadas todas as expressões algébricas, relacionais e lógicas, assim como todas as estruturas de controle existentes no algoritmo (condição e/ou repetição). 8

Algoritmos Saída todos os resultados do processamento (ou parte deles) são enviados para um ou mais dispositivos de saída, como: monitor, impressora, ou até mesmo a própria memória do computador. 9

Algoritmos Algoritmo 3: Calcular a área de uma circunferência dada por A = π * R 2 : Para calcular a área é necessário saber os valores do raio R e do π. Considere que o valor de π é constante, sendo que o mesmo poderá ser gravado dentro do próprio algoritmo. O valor do raio R deve ser informado pelo usuário pelo teclado. Entradas. O processamento do algoritmo será a realização do cálculo π * R 2 e a atribuição do resultado dessa expressão para a variável A. Processamento. A saída do resultado, ou seja, o valor de A, deverá ser informada na tela do monitor. Saída. 10

Algoritmos Ínicio Fim; Pi 3.1415; leia R; A Pi * (R * R); escreva A; 11

Algoritmos Os algoritmos também podem ser representados por fluxogramas. Cada ação ou situação é representada por uma caixa. Tomadas de decisões são indicadas por caixas especiais, possibilitando ao fluxo de ações tomar caminhos distintos. 12

Algoritmos Algoritmo 4: 13

Algoritmos Linguagem Natural A linguagem natural é a maneira como expressamos nosso raciocínio e trocamos informação. Raramente constitui um sistema de regras rígidas que possa ser implementada numa máquina. 14

Algoritmos Linguagem Natural Ao contrário dos seres humanos, as máquinas são projetados para executar tarefas bem determinadas a partir de determinadas instruções. Um computador é somente capaz de realizar estritamente as tarefas que lhe forem delegadas e que façam parte do conjunto daquelas ações que ele pode executar (instruções). É necessário compreender que tipo de instruções podem ser executadas pelos computadores para que possamos programá-los, de modo que realizem a tarefa do modo desejado. 15

Algoritmos Programação As instruções são determinadas por uma linguagem denominada linguagem de máquina. Linguagem composta somente por números binários. Dificílima de se compreender. Existe uma linguagem representada por comandos, mas que reproduz as tarefas que serão executadas dentro do computador, a linguagem de montagem (assembly). Difícil de programar; Programas feitos para um determinado processador, por conterem instruções específicas deste, não funcionarão em um processador de outro tipo. 16

Algoritmo Programação Exemplo de um programa que escreve a frase Olá Mundo no monitor, usando linguagem de máquina. Coluna da esquerda está o endereço relativo de memória. Coluna do centro o programa escrito em linguagem de máquina. Coluna da direita a representação em caracteres ASCII. 17

Linguagens de Programação Para facilitar a tarefa de programar um computador, foram criadas várias linguagens de programação. Estas linguagens são um maneira de tentar escrever as tarefas que o computador vai realizar de maneira mais parecida com a linguagem natural. 18

Linguagens de Programação Classificação das Linguagens de Programação Baixo Nível x Alto Nível Compilada x Interpretada Não Estruturadas x Estruturadas x Orientadas a Objeto Procedurais x Funcionais Linguagens Específica e Propósito Geral 19

Baixo Nível e Alto Nível 20

Linguagens de Programações e suas Características Baixo Nível: Linguagens muito parecidas com linguagem de máquina, suas instruções parecem-se muito com aquelas que serão executadas pelo processador. Exemplo: linguagem de montagem (assembly). Alto Nível: são as que guardam mais semelhanças com a linguagem natural. Exemplos: Pascal, C, Fortran, Java, Perl, Python, Lisp, PHP, entre outras. 21

Linguagens de Programações e suas Características 22

Compilada e Interpretada 23

Linguagens de Programações e suas Características Compilada: o código-fonte do programa é lido por um programa chamado compilador, que cria um arquivo binário, executável diretamente pelo hardware da plataforma-alvo. Compilador 24

Linguagens de Programações e suas Características A Compilação é responsável por converter os comandos da linguagem de programação nas instruções em código de máquina que o processador poderá utilizar. 25

Linguagens de Programações e suas Características Interpretada: programas escritos em linguagens interpretadas não são convertidos em um arquivo executável. Eles são executados utilizando um outro programa, o interpretador, que lê o código-fonte e o interpreta diretamente, durante a sua execução. 26

Linguagens de Programações e suas Características Um interpretador entrega o código-fonte ao computador em uma linguagem de baixo nível sempre que o programa é executado. Cada execução do programa precisa ser novamente traduzido e interpretado. 27

Linguagens de Programações e suas Características Você consegue executar um programa em C/C++ com extensão.exe na plataforma Linux? Código compilado Você consegue executar um aplicativo Java na plataforma Linux e Windows? Código interpretado 28

29

Não estruturada e estruturadas 30

Linguagens de Programações e suas Características Não estruturadas: São linguagens de programação que não aceitam blocos de estruturas. Exemplo seria o uso do GOTO para substituir as estruturas condicionais e de repetição. Linguagem puramente não estruturada:assembly. 31

Linguagens de Programações e suas Características Estruturadas: E uma forma de programação de computadores que preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequência, decisão e iteração (esta última também é chamada de repetição), desenvolvida por Michael A. Jackson no livro "Principles of Program Design" de 1975. Linguagens que aceitam: C/C++, Pascal, Basic,etc. Linguagens puramente estruturadas: Java, Prolog. 32

Linguagens de Programações e suas Características Orientadas a Objeto: foi criada para tentar aproximar o mundo real do mundo virtual. Para isso, nada mais natural do que utilizar Objetos, afinal, nosso mundo é composto de objetos, certo?! 33

Linguagens de Programações e suas Características 34

Linguagens de Programações e suas Características Procedurais: paradigma de programação baseado no conceito de chamadas a procedimento. Procedimentos, também conhecidos como rotinas, subrotinas, métodos, ou funções simplesmente contém um conjunto de passos computacionais a serem executados. Um dado procedimento pode ser chamado a qualquer hora durante a execução de um programa, inclusive por outros procedimentos ou por si mesmo. As linguagens procedurais mais comuns são o C, o Pascal e o Fortran. 35

Linguagens de Programações e suas Características Funcionais: é um paradigma de programação que trata a computação como uma avaliação de funções matemáticas e que evita estados ou dados mutáveis. As linguagens funcionais mais conhecidas são o LISP e o Prolog Diversas outras linguagens funcionais são encontradas na literatura, por exemplo, ASpecT, Caml, Clean, Erlang, FP, Gofer, Haskell, Hope, Hugs, Id, IFP, J, Miranda, ML, NESL, OPAL,e Sisal 36

Linguagens de Programações e suas Características Linguagens Específica: dedicada à um domínio de problema particular. Linguagens para banco de dados: SQL, Clipper Linguagem para simulação: MATLAB Linguagem de scripts: Tcl/Tk, Perl Linguagens para formatação de texto: TeX/LaTeX, HTML, Postscript, PDF, Propósito Geral: capaz de resolver qualquer problema, de qualquer domínio. Linguagens de Programação 37

Linguagens mais utilizadas em 2014 O site TIOBE Software fez um estudo para analisar quais são as linguagens que estão sendo mais utilizadas em 2014. Leia mais em: http://www.tiobe.com/index.php/content/paperinfo/tpci/in dex.html 38

39

Linguagens de Programações e suas Características Linguagem de Programação C: Médio Nível Compilada De propósito geral Estruturada Imperativa Procedural Padronizada pela ISO, criada em 1972, por Dennis Ritchie e Ken Thompson, no AT&T Bell Labs, para desenvolver o sistema operacional Unix (que foi originalmente escrito em Assembly). 40

Linguagens de Programações e suas Características Linguagem de Programação Java: Alto Nível Compilada e Interpretada De propósito geral Orientada a Objeto Desenvolvida na década de 90 por uma equipe de programadores chefiada por James Gosling, na empresa Sun Microsystems. 41

Linguagens de Programações e suas Características Linguagem de Programação Objetive-C: Alto Nível Compilada De propósito geral Orientada a Objeto Objective-C é apenas um conjunto de adições à linguagem C. 42

Linguagens de Programações e suas Características Linguagem de Programação C++: Médio Nível Compilada De propósito geral Orientada a Objeto Imperativa Procedural Bjarne Stroustrup desenvolveu o C++ em 1983 como um adicional à linguagem C. Novas características foram adicionadas com o tempo. 43

Linguagens de Programações e suas Características Linguagem de Programação PHP: Alto Nível Compilada e Interpretada De propósito geral Estruturada e Orientada a Objeto Imperativa Procedural Criado por Rasmus Lerdorf em 1995. Usada originalmente apenas para o desenvolvimento de aplicações presentes e atuantes no lado do servidor, capazes de gerar conteúdo dinâmico na World Wide Web. 44

Linguagens de Programações e suas Características Linguagem de Programação C#: Alto Nível Compilada De propósito geral Orientada a Objeto Desenvolvida pela Microsoft como parte da plataforma.net. 45

Linguagens de Programações e suas Características Linguagem de Programação Assembly: Baixo Nível Compilada De propósito geral Não estruturada Exemplo: MOV AL, 61h: tal instrução ordena que o valor hexadecimal 61 (97, em decimal) seja movido para o registrador 'AL'. 46

Exercícios 1. O que é algoritmo? 2. Faça a representação de um algoritmo para somar duas notas e mostre seu resultado na tela. 3. O que é programação? 4. O que é uma linguagem compilada? 5. O que é uma linguagem interpretada? 6. Pesquise vantagens e desvantagens de um código compilado e interpretado. 47

Exercícios 1. Pesquise na internet o código fonte de um determinado programa, nas seguintes linguagens: C/C++, PHP, Java, C# e Assembly. Lembrando que você deverá saber o que o programa faz. 2. Qual/quais linguagem(ns) de programação você usaria, sendo a mais apropriada, para os seguintes propósitos: 1. Criar uma páginaweb. 2. Desenvolver um programa para robô. 3. Desenvolver um programa para uma loja de roupas. 48

Bibliográfica Mais referência http://www.ferrari.pro.br/home/documents/fferrari- CCechinel-Introducao-a-algoritmos.pdf