Laboratório de Programação (DPADF 0063)

Documentos relacionados
Linguagem de Programação

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

Representação de Algoritmos - Linguagens de Programação

Organização de Computadores Software

Capítulo 8. CICLOS. Tabela 8.1 Programa8a.f90.

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

BSI Letramento Digital Prof. André Di Thommazo. Organização pessoal

Conceitos básicos da linguagem C

MATERIAL DE APRESENTAÇÃO DO SCRATCH

Avançado. Visão geral do ambiente do VBA Retornar à planilha Excel

As 10 Melhores Dicas de Como Fazer um Planejamento Financeiro Pessoal Poderoso

Programação em papel quadriculado

DELPHI 7 LINGUAGEM DE PROGRAMAÇÃO AMBIENTE CLIENTE SERVIDOR

Lógica para a Programação - 1º semestre AULA 01 Prof. André Moraes

Portal do Projeto Tempo de Ser

Aula 4 Estatística Conceitos básicos

Roteiro. MC-102 Aula 01. Hardware e dispositivos. O que é um computador? Primeiro Semestre de A linguagem C

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word Sumário

Usando o do-file editor Automatizando o Stata

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO


Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

TÉCNICAS DE PROGRAMAÇÃO

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

Implementando uma Classe e Criando Objetos a partir dela

Como estudar o SIPIA CT

A Maquina de Vendas Online É Fraude, Reclame AQUI

INSTITUTO FEDERAL DE EDUCAÇÃO CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TÉCNICO EM INFORMÁTICA DISCIPLINA:

Gestão da TI. Os custos escondidos da. Conheça os custos escondidos na gestão amadora da TI e pare de perder dinheiro.

Guia Prático para Encontrar o Seu.

1 Funções básicas de implementação de arquivos

Capítulo 12. SUB-ROTINAS

Linguagem de Programação

MOODLE NA PRÁTICA PEDAGÓGICA

Adicionando Propriedades e Funcionalidades aos Componentes Parte II

O Computador na Escola. Prof. José Maurício S. Pinheiro

BEM-VINDA!!

Convertendo Algoritmos para a Linguagem C

Guia: como instalar o Ubuntu Linux

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

Figure 2 - Nós folhas de uma árvore binária representando caracteres ASCII

Figura 1: tela inicial do BlueControl COMO COLOCAR A SALA DE INFORMÁTICA EM FUNCIONAMENTO?

Formação de Administradores de Redes Linux LPI level 1. Aula 2 SENAC TI Fernando Costa

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Guia Prático ORGANIZAÇÃO FINANCEIRA PARA BANCAR A FACULDADE

Linguagem de Montagem 2. Operações e Operandos

Tutorial ConvertXtoDVD 3

Linguagens de. Aula 01. Profa Cristiane Koehler

OBI2012 Caderno de Tarefas

Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java

Manual de Utilizador. Caderno. Recursos da Unidade Curricular. Gabinete de Ensino à Distância do IPP.

MEU PLANO DE AÇÃO EM MASSA 7 PASSOS PARA UM INCRÍVEL 2015!

A4 Projeto Integrador e Lista de Jogos

NT_D1216.SYS DRIVER DA CDA12/16 PARA WINDOWS NT 4.0

UNIVERSIDADE FEDERAL DO AMAPÁ PRÓ REITORIA DE ADMINISTRAÇÃO E PLANEJAMENTO DEPARTAMENTO DE INFORMÁTICA. Manual do Moodle- Sala virtual

LINGUAGEM C UMA INTRODUÇÃO

Paradigmas de Linguagens de Programação

BCC402 Algoritmos e Programação Avançada Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Tóffolo 2011/1

O EDITOR DE APRESENTAÇÕES POWER POINT

COMO CRIAR UM SITE DE NEGÓCIOS

Montagem e Manutenção. Luís Guilherme A. Pontes

5 Dicas Testadas para Você Produzir Mais na Era da Internet

Perguntas. Que todo usuário deveria fazer antes de comprar um software CAD de baixo custo. Por Robert Green, proprietário da Robert Green Consulting

Sistema topograph 98. Tutorial Módulo Fundiário

JavaScript (ou JScript)

Obedecer é sempre certo

- Aulas 57, 58, 59 e 60 - Técnicas de programação. Funções

COMO MINIMIZAR AS DÍVIDAS DE UM IMÓVEL ARREMATADO

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Introdução a linguagem C Estruturas de decisão

Configurando o Controle dos Pais no Windows Vista

Linguagem de Programação

Como Passar em Química Geral*

COMO PROGRAMAR SEU TIME

Sistemas Operacionais. Curso Técnico Integrado Profa: Michelle Nery

OBI2010 Caderno de Tarefas

LASERTECK SOFTECK FC MANUAL DO USUÁRIO

Formador: Carlos Maia

Programação de Computadores. Turma CI-180-B. Josiney de Souza.

Markes Roberto Vaccaro

MANIPULAÇÃO DE STRINGS

MANUAL DA SECRETARIA

Lógica de Programação

PLANEJAMENTO FINANCEIRO PESSOAL O GUIA PARA COMEÇAR A TER SUCESSO NAS FINANÇAS

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

COMO GERAR LEADS SEM GASTAR NENHUM CENTAVO

OS COMPUTADORES E A RESOLUÇÃO DE PROBLEMAS

Introdução à Programação com Python

Como Montar um Plano de Estudos Eficiente Para Concurso Público E-book gratuito do site

Álgebra. SeM MiSTéRio

Arte em ASCII. Introdução: Python

Conectar diferentes pesquisas na internet por um menu

P Procedimento para Instalação do SisGEF 7.0 na Máquina Servidor

TUDO QUE VOCÊ PRECISA SABER PARA GRAVAR SUA ENTREVISTA

Curso Técnico em Redes

TUTORIAL PARA PREPARAÇÃO E IMPORTAÇÃO DE DADOS PARA. Os dados de suas coletas devem ser organizados em uma planilha eletrônica, de modo

Transcrição:

Laboratório de Programação (DPADF 0063) Aula 1 Motivação e Introdução Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno

Objetivos Formular soluções para os algoritmos propostos, visando à obtenção dos resultados por computador. Escrever programas, utilizando uma linguagem de programação imperativa. Apresentar a estrutura e a funcionalidade de linguagens de programação.

Programa I. Introdução à Programação de Computadores; II. Características Básicas de uma Linguagem de Programação; III. Tipos de Dados; IV. Entrada e Saída de Dados; V. Formatação e posicionamento de tela; VI. Elementos fundamentais de controle; VII. Funções e comandos internos de uma Linguagem de Programação; VIII.Modularização; IX. Tipos de dados estruturados; X. Arquivos.

Material de Aula Apostila: Página da Disciplina: www.cafw.ufsm.br/~bruno/disciplinas/lab_programacao Recomenda-se a utilização de um caderno e um pen-drive

Avaliação (individual) Avaliação 1 (50% do semestre) Sistematização 1 (Peso 30%) Trabalho 1 (Peso 20%) Avaliação 2 (50% do semestre) Sistematização 2 (Peso 30%) Trabalho 2 (Peso 20%) Pontuação extra (pela participação em aula, resolução de exercícios e entrega de exercícios desafio)

Laboratório de Programação (DPADF 0063) Aula 1 Motivação e Introdução Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno B. Boniati www.cafw.ufsm.br/~bruno

por Rodrigo Strauss Texto retirado do blog www.1bit.com.br

Antes de mais nada... Estude... estude... estude... Quanto tiver absorvido uma boa quantidade de informações... Coloque-a em prática.

Arrume um computador... Isso não significa comprar um computador (embora isso possa ser um investimento interessante em você); Para aprender a programar você não precisa de um computador de última geração; Computador lento não é uma desculpa válida para não programar; Para aprender a programar não é necessário gastar com aquisição de software;

Antes de começar a programar Se antes de ser um bom programador você precisa ao menos ser um programador; Antes de ser um programador você precisa ser ao menos um bom usuário; Tente descobrir como as coisas funcionam e os motivos para funcionarem dessa forma. A maior virtude de um programador é a curiosidade, querer saber como as coisas funcionam.

Se você tem dificuldade para configurar uma impressora ou para criar um usuário é bem capaz que você tenha mais dificuldade do que o normal para programar, uma vez que estará programando uma máquina/sistema com a qual você não conhece.

Começando a programar... Aprenda uma linguagem de programação! Mas qual? Resposta: QUALQUER UMA. Não importa a linguagem e sim o seu empenho. Uma boa forma para escolher uma linguagem é pela quantidade de informação disponível que você encontrar sobre ela; A coisa mais importante para aprender alguma coisa é conseguir informações sobre aquilo que se está estudando, e com programação não é diferente.

por Rodrigo Strauss

Falta de dinheiro... Aprender a programar não requer investimento; Essa característica talvez lhe permita ganhar um bom dinheiro programando nas horas vagas (não vai gastar nem com matéria prima); Você acha que, se eu tivesse dinheiro para ter um carro com 18 anos, eu passaria madrugadas na frente do computador? Com certeza eu passaria as madrugadas com meus amigos, e mais importante, com muuuitas amigas :-) Rodrigo Strauss (autor do texto)

Falta de tempo... Divida seu tempo: estudo, trabalho, lazer... Todo mundo tem tempo, é só se dedicar; Se você pega ônibus para ir ao trabalho, leia no ônibus. Trabalha de balconista? Leia enquanto não tem clientes para atender; Quando seu chefe perceber que você arruma os computadores da empresa melhor do que o cara da manutenção, é bem capaz que você deixe de ser balconista.. Rodrigo Strauss (autor do texto)

Idade Você tem mais de 30 anos? Mais de 40? Mais ainda? Se seu cérebro ainda funciona, a idade não importa.

"É muito complicado" Você é um homem (ou mulher) ou um rato? A vida é sua, você tem a opção de arrumar um emprego de balconista e ficar lá até o resto da sua vida (ou até eles te trocarem por uma máquina). Não precisa ser um gênio para ser programador. Mas vai te exigir dedicação! Isso te interessa?

por Marcelo Cohen & João Batista S. de Oliveira

Para ser reprovado em Laboratório de Programação Não leia os materiais... Baixe todos os materiais da disciplina, e depois carregue na pasta o tempo todo, pois elas criam um campo magnético onde você aprende por osmose. NÃO LEIA nenhuma delas, pois isso desfaz imediatamente o campo e você não vai aprender nada!

Para ser reprovado em Laboratório de Programação Faça os trabalhos na carona... Quando fizer trabalho em grupo, pendure-se em um grupo qualquer e não levante um dedo pra fazer o trabalho. Lembre-se de que mais tarde você vai ter de fazer prova, e não deve estar esgotado de tanto pensar em algoritmos!

Para ser reprovado em Laboratório de Programação Não vá na biblioteca Nunca entre na biblioteca, nem pra devolver livro dos outros. Você pode achar algo interessante pra ler, e isso arruinaria o seu final de semana.

Para ser reprovado em Laboratório de Programação Não faça os exercícios Listas de exercícios são para os incompetentes, por isso você pode ignorá-las. Dê risada quando encontrar alguém fazendo.

Para ser reprovado em Laboratório de Programação Converse durante as aulas Use a aula pra colocar a conversa em dia, afinal você nunca sabe quando vai ver seus amigos outra vez.

Para ser reprovado em Laboratório de Programação Não faça anotações em aula Se você for guri, não anote nada e copie o caderno de uma guria. Se você for guria, não anote nada e copie de outra guria. Afinal, para ir bem nas provas basta decorar a matéria!

Para ser reprovado em Laboratório de Programação Copie trabalhos da internet Entregar qualquer coisa com uma capinha legal e espaçamento duplo é certeza de boa nota. Junte suas páginas preferidas da Internet e não esqueça de usar um clips colorido. Afinal, na Internet sempre tem o trabalho que você precisa, e o professor não vai nem olhar mesmo...

Para ser reprovado em Laboratório de Programação Não estude para as provas Só os incompetentes estudam muitos dias antes da prova. Os feras de verdade nem estudam, e evitam ficar com olheiras.

Para ser reprovado em Laboratório de Programação Evite material em idioma estrangeiro Se recuse a ler qualquer coisa que esteja escrita em inglês! Afinal, você só vê filme estrangeiro se tiver legenda, e com livros deveria ser a mesma coisa... Até mesmo porque tudo que você precisa pode ser encontrado nos livros em português.

Conclusão Programar não se aprende Copiando Lendo programas Programar se aprende Escrevendo e testando programas

Não fique esperando a ficha cair por si só... Faça a sua parte

Você já pensou em treinar um cão? Como você acha que ele aprende?

Você já pensou em aprender a tocar violão? (ou outro instrumento) Experimente... É possível aprender?

Já pensou ou tentou emagrecer? Exercícios não ajudam?

Que tal aprender Xadrez? Precisará de muita prática para ser um bom jogador

Com programação não é diferente! Você já ficou alguma noite sem dormir pensando em um algoritmo/programa? É uma excelente experiência.

Conceitos iniciais

Algoritmo Sequência de instruções organizadas e sistematizadas utilizadas para resolver um problema; Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa.

Programa de Computador Instruções formalizadas em uma linguagem de programação que são transformados em um código de máquina que é interpretado pelo computador; Código em uma Linguagem de Programação program OlaMundo; begin writeln('olá, Mundo!'); end. Compilador daquela Linguagem de programação (e para determinada arquitetura e sistema operacional) Relatório de Erros Executável

Tudo começa com um bom projeto Etapas: Definição do problema; Análise de requisitos; Método;; Projeto do algoritmo; Validação; Otimização; Implementação;

Programar é como marcenaria... Assim como um marceneiro um programador precisa conhecer as ferramentas que dispõe e a melhor forma de utilizá-las. As ferramentas do programador são os recursos que linguagem de programação lhe oferece... Expressões; Estruturas de Decisão; Laços de Repetição; Modularização.

O que é uma linguagem de programação?

Linguagem de Programação Método padronizado utilizado para expressar instruções a um computador; Não é um software e sim um conjunto de regras sintáticas e semânticas que irão definir um programa de computador.

Sintaxe = Forma A sintaxe são as regras que definem o formato de uma linguagem, estabelecendo com são compostas e combinadas suas palavras. Compõe-se de: Regras léxicas que descrevem combinações de caracteres válidas para formar os tokens (palavras reservadas, operadores, comandos); E regras sintáticas que descrevem como as palavras podem ser combinadas para formar instruções válidas.

Semântica = Significado A semântica diz respeito ao significado das construções sintáticas; Um programa pode estar sintaticamente correto mesmo com erros semânticos. Erros semânticos comuns... Utilizar uma variável que não foi declarada; Acessar uma posição inválida em uma lista (vetor); Atribuir um conteúdo inválido em uma variável;

Nível de uma LP Linguagem de baixo nível Suas construções aproximam mais da linguagem de máquina; Ex. Assembly WRITE_CHAR PROC push AX ;coloca na pilha o valor do registrador AX mov AH,2 ;coloca o valor hexadecimal 2 no registrador AH int 21h ;interrupção 21h pop AX ;extrai da pilha o valor de AX ret ;retorna o controle ao procedimento que chamou WRITE_CHAR ENDP

Nível de uma LP (cont.) Linguagem de alto nível Linguagens que fornecem abstrações e adoção de tipos de dados, palavras reservadas, funções e comandos de uso comum e mais próximos da linguagem natural. Ex. C, Pascal, Java, PHP, Python program Exemplo begin write("sejam bem vindos"); end;

Compilação x Interpretação

Linguagens Interpretadas Em uma linguagem de programação interpretada um programa é executado instrução a instrução; O comando precisa ser primeiramente traduzido para linguagem de máquina para só então executado; Sua execução é necessariamente mais lenta que linguagens que são executadas diretamente em código de máquina (em função da etapa de tradução); O código-fonte precisa ficar disponível para ser interpretado;

Linguagens Compiladas Em uma linguagem compilada o programa é executado somente após toda sua tradução ter sido completada; Somente o programa executável precisa ser disponibilizado (o código-fonte não é necessário para a execução); A compilação de um programa fonte (texto escrito diretamente na linguagem de alto nível) prevê que o mesmo seja traduzido para a linguagem da máquina correspondente antes da execução (processo conhecido por compilação).

Etapas da compilação 1. Depuração sintática Avalia se o código produzido no programa-fonte está codificado corretamente; 2. Geração do código de máquina Transforma o código-fonte linguagem de montagem; 3. Ligação ou Linkagem Empacota o código produzido com o conjunto de bibliotecas utilizadas e gera um programa executável independente;

Etapas da compilação Programa Fonte Compilador Ligador (Linker) Programa Executável Código de Bibliotecas

Linguagem de Programação Pascal

Breve histórico Linguagem de programação estruturada; Niklaus Wirth Criada em 1970 pelo suíço Niklaus Wirth; Surgiu com o intuito de ser uma linguagem de programação simples para ser utilizada academicamente no ensino de programação. Seu nome é uma homenagem ao matemático Blaise Pascal (inventor das primeiras máquinas lógicas);

Características Imperativa (baseada em um programa principal que eventualmente executa sub-rotinas); Compilada (produz um executável independente); Fortemente tipada (as variáveis precisam ser declaradas com seus tipos de dados associados); Não é case sensitive (não há diferenciação entre letras maiúsculas e minúsculas);

Pascal na atualidade Evoluiu para a linguagem Object Pascal, utilizada em ambientes desenvolvimento como Delphi, Kylix e Lazarus; Continua sendo uma excelente linguagem para aprendizado de programação; Ranking de Popularidade das Linguagens de Programação (Agosto/2010) Fonte: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Estrutura básica de um programa PASCAL program nome_programa; uses crt; //bibliotecas var //Declaração de variáveis instituicao : string; begin //Início do programa instituicao := UFSM ; write(instituicao); end.

Compilador PASCAL Existe uma extensa lista de compiladores de linguagem Pascal... http://pascaland.org/pascall.htm Dois em especial nos interessam... Borland Turbo Pascal Lançado comercialmente em 1983 para atingir o mercado de micro computadores (em plena expansão na época). É o grande responsável pela popularização do Pascal; Free Pascal Iniciativa da comunidade de software livre, disponível para download no endereço www.freepascal.org.

Compilador Free Pascal Etapas de compilação 1. Edite o código em um editor de textos ou ambiente de desenvolvimento; 2. Salve o arquivo em uma pasta de sua preferência com extensão.pas program OlaMundo; begin write('olá, Mundo!'); end. OlaMundo.pas 3. Abra uma janela de interpretador de comandos do sistema operacional (prompt de comandos, no Windows ou tela de terminal no Linux); 4. Execute o comando para compilação: fpc OlaMundo.pas <enter> 5. O resultado da compilação será um arquivo OlaMundo.o (código objeto) e o arquivo executável: OlaMundo.exe

IDE Ambiente de Desenvolvimento (Integrated Development Environment) Oferece recursos de produtividade ao desenvolvedor: Indicação de sintaxe (syntax highlighting); Código automático (code completion); Integração das etapas de compilação; Geany IDE Editor de código gratuito e multi-plataforma; Oferece recursos para diferentes linguagens de programação; Disponível em: http://www.geany.org/

Geany IDE

Exercícios para fixação

Compilar e Executar Compile e execute o código abaixo e verifique o que está irá aparecer na tela; program DeQuePaisEhEssaBandeira ; uses crt; var i: integer; begin for i:=1 to 640 do begin textcolor (9); write (#178); end; for i:=1 to 720 do begin textcolor (15); write (#178); end; for i:=1 to 640 do begin textcolor (4); write (#178); end; end.

Comentários Reescreva o código ao lado indicando para cada linha, o que é esperado que ela faça. program Test; uses crt; var a, b: integer; begin textbackground(2); textcolor(1); clrscr; gotoxy(15,10); write('type a number for A...: '); read(a); gotoxy(15,12); write('type a number for B...: '); read(b); gotoxy(15,14); if (a > b) then writeln('a is greater than B') else if (a < b) then writeln('b is greater than A') else writeln('b is equals A'); end. readkey;

Jogo dos 7 erros Identifique e corrija os sete erros do código abaixo: program SquareRoot; var raiz: real; begin write('informe um numero: '); read(x) if (x<0) then writeln('numeros negativos nao sao permitidos!) else begin raiz := Sqrt(x); writeln('o raiz de ', x:0:4, ' e ', raiz:0:4); writeln('bom dia'; readkey; end;