USP – ICMC – SSC SSC0300 2º Semestre 2015 Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Eletrônica ] 1 Prof. Dr. Daniel Rodrigo.

Slides:



Advertisements
Apresentações semelhantes
Estrutura, Pesquisa e Ordenação de Dados
Advertisements

C/C++ para Sistemas Operacionais Professor: André Luis Meneses Silva /msn: Página:
1.3.2 – Linguagem Assembly Um programa em linguagem de máquina sofre de total falta de clareza O programa é uma sequência de linhas numeradas Cada linha.
Linguagem de Programação I
Introdução à Ciência da Computação Linguagens de Programação.
Laboratório de Programação
Renata Freire Programação 1 Renata Freire
Algoritmo e Programação
Construção de Algoritmos AULA 07
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
ESTRUTURAS DE DADOS Apresentação.
Programação para Engenharia I
Primeira aula de laboratório
Introdução à organização de computadores e sistemas operacionais
SSC SISTEMAS OPERACIONAIS I Aula 1 – Apresentação da disciplina
INTRODUÇÃO À PROGRAMAÇÃO
Ferramentas Programação
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade Federal do Espírito Santo
Vetores, Matrizes e Funções
Linguagem C Estruturas de Seleção.
Laboratório de Programação de Computadores I
Introdução à Linguagem de Programação
Ling. e Técnicas de Programação I 3º semestre Plano de Ensino 2011
Revisão da Linguagem C.
Técnicas de Programação I
INTRODUÇÃ A COMPUTAÇÃO ENG. CIVIL
PROGRAMAÇÃO I UNIDADE 1.
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos AULA 07 Aquiles Burlamaqui UERN
Desenvolvimento de Jogos e Entretenimento Digital
02/08/2011 Professor Leomir J. Borba- –
Lógica Estruturada Aplicada
Paradigmas da Programação – Semestre 1 – Aula 9 Professor: Eduardo Mantovani )
Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Introdução à Linguagem C
Algumas notas sobre a linguagem de programação C
Regras de escopo Escopo: trecho de codificação no qual o identificador possui significado Escopo de função: identificador válido dentro do trecho de uma.
Linguagens de Programação
Algoritmos e estrutura de dados Prof. Luiz Gonzaga da Silveira Jr
Prof. Fábio Carneiro Mokarzel 2014
Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da.
Campus de Caraguatatuba Aula 1: Orientações Gerais
Curso Engenharia Química Modalidade Superior Instituto Federal do Sul de Minas, Câmpus Pouso Alegre Professora Michelle Nery Programação de Computadores.
Construção de Algoritmos Professor: Aquiles Burlamaqui Construção de Algoritmos Aquiles Burlamaqui UERN
Ambiente de desenvolvimento Curso de Nivelamento LCG
Sistemas Operativos Paulo Marques Departamento de Eng. Informática Universidade de Coimbra 2006/2007 Breve Introdução à Linguagem C.
Arquitetura de Computadores
TECNOLOGIA EM REDES DE COMPUTADORES Algoritmos e programação de computadores Aula /08/2011 Professor Leomir J. Borba-
INE5408 Estruturas de Dados Apresentação e Programa da Disciplina.
Aula Prática 1 Aula de Apresentação Monitoria
PROGRAMAÇÃO II – PARTE 1 Profa. Maria Augusta Constante Puget.
INF Introdução à Programação 1 - Objetivos: Apresentar os principais conceitos sobre o computador, suas partes e acessórios, bem como conhecer.
(Como resolver com bem menos esforço problema típico de profissional)
TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS LINGUAGEM DE PROGRAMAÇÃO I Aula /08/2011 Professor Leomir J. Borba-
Linguagem de Programação
USP – ICMC – SSC SSC º Semestre 2015 Disciplina de Sistemas Evolutivos e Aplicados à Robótica 1 Prof. Dr. Daniel Rodrigo Ferraz Bonetti LCR – Laboratório.
USP – ICMC – SSC SSC0300 2º Semestre 2015 Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Eletrônica ] 1 Prof. Dr. Daniel Rodrigo.
USP – ICMC – SSC SSC0300 2º Semestre 2015 Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Eletrônica ] 1 Prof. Dr. Daniel Rodrigo.
USP – ICMC – SSC SSC0300 2º Semestre 2015 Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Eletrônica ] 1 Prof. Dr. Daniel Rodrigo.
USP – ICMC – SSC SSC0300 2º Semestre 2015 Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Eletrônica ] 1 Prof. Dr. Daniel Rodrigo.
USP – ICMC – SSC SSC0300 2º Semestre 2015 Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Eletrônica ] 1 Prof. Dr. Daniel Rodrigo.
USP – ICMC – SSC SSC0300 2º Semestre 2015
Estrutura de Dados Prof. André Cypriano M. Costa
PROGRAMAÇÃO DE COMPUTADORES Engenharia Unificado Prof. Leonardo Bacelar Lima Santos Departamento de Matemática
Fundamentos de Programação1 Aula N. 01 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Introdução e elementos principais”
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
Fundamentos de Programação 1 Slides 20 Prof a. Fabiany e Prof. Simão Linguagem C “Operadores Bit à Bit e Outros”.
Linguagem de Programação Prof. Fabricio Roulin Bittencout
Transcrição da apresentação:

USP – ICMC – SSC SSC0300 2º Semestre 2015 Disciplina de Linguagem de Programação e Aplicações [ Eng. Elétrica / Eletrônica ] 1 Prof. Dr. Daniel Rodrigo Ferraz Bonetti LCR – Laboratório de Computação Reconfigurável ou

Apresentação da Disciplina Objetivos da disciplina Programa e Conteúdos Grupos de trabalho Critérios de avaliação Recuperação Bibliografia básica 2 Agenda:

Objetivos da disciplina SSC Linguagem de Programação e Aplicações Objetivos Familiarização com uma linguagem de programação de alto nível a fim de dar ao futuro engenheiro condições de utilizar computadores como uma ferramenta para solução de seus problemas científicos e tecnológicos. Ensino de técnicas de programação visando a otimização de programas. Programa Revisão dos conceitos básicos sobre linguagem de programação, algoritmos e programas. Estrutura de uma linguagem de programação para aplicações científicas e tecnológicas: definição de variável, comandos de entrada e saída, estruturas de controle, declaração de subprogramas. Utilização de bibliotecas. Aplicações utilizando técnicas de programação eficiente. 3

Objetivos da disciplina Objetivos Utilizar computadores como uma ferramenta para solução de seus problemas científicos e tecnológicos. Ensino de técnicas de programação visando o desenvolvimento de aplicações e a otimização de programas. Disciplina composta de Aulas Teóricas - Sextas-feiras 10h h50 Carga Horária Total: 30 h (15 aulas x 2 horas) Método: Aulas expositivas, exercícios, trabalho (prática) e provas (teoria) 4

Cronograma previsto: Aula/Data/Conteúdos 07/agoA01 Início do semetres 2015/2. Apresentação da disciplina: Programa, Cronograma e Avaliações 14/agoA02Revisão: Linguagem C, Variáveis, Comandos, Vetores 21/agoA03Alocação dinâmica de memória: Estruturas e ponteiros 28/agoA04Sub-rotinas e Passagem de Parâmetros (por valor/endereço) 04/setA05Arquivos: Criação, Gravação e Leitura de Arquivos em Disco 11/set- Semana da pátria - Sem aula (07 a 11 Set) 18/setA06Exercícios: Sub-rotinas, estruturas, ponteiros e arquivos 22/setData limite para trancamento 25/setA07>>> Prova 1 <<< 5

Cronograma previsto: Aula/Data/Conteúdos 02/out-Semana da Elétrica 09/outA08Listas encadeadas: Fila, Pilha, Deque 16/outA09Listas encadeadas: Fila, Pilha, Deque, Árvore 23/outA10Recursividade 30/outA11Ordenação 06/novA12Ordenação 13/novA13Revisão de conteúdos para a prova final 20/novA14>>> Prova 2 (final) <<< 27/novA15>>> Entrega do Trabalho <<< 08/dezEncerramento das aulas 15/dezPublicação das notas 6

Material de apoio Em elaboração 7

Critérios de avaliação Avaliação da disciplina SSC0300 P01 - Prova Intermediária (Avaliação Individual / Prova Escrita) P02 - Prova Final (Avaliação Individual / Prova Escrita) EX - Exercícios individuais escritos para serem entregues ao professor TP - Trabalho Prático Final da Disciplina (individual ou em duplas)  Frequência mínima para aprovação: 70%  Não está prevista a realização de SUB nesta disciplina Média Final: MF = 25% TP(+Ex) + 25% P % P02 SE MF >= 5.0 e Freq_Minima ENTÃO "Aprovado" SENÃO SE MF >= 3.0 e Freq_Minima ENTÃO "Recuperação" SENÃO"Reprovado" 8

Bibliografia básica 1.ASCENCIO, A. F. G.; CAMPOS, E. A. V. Fundamentos da Programação de Computadores – Algoritmos, Pascal e C/C++. Prentice Hall, KERNIGHAM,B.; RITCHIE,D. The C Programming Language, Prentice-Hall, (Tradução para Português: Editora Campus] 3.SCHILDT, Herbert. C completo e total, 3.ed. São Paulo. Pearson Education (2008, 2006,...). 4.KELLEY, Al; POHL, Ira. A book on C : programming in C. Boston, Mass. : Addison-Wesley (2005,...). 5.ROBERTS, E., Programmin Abstractions in C. Addison Wesley, DEITEL, H.; DEITEL, P. – C++ Como Programar. Bookman,

Linguagem “C” Linguagem de Programação “C” Compilador: – Windows: IDE – Dev-Cpp (GCC MingW) ou Visual Studio Terminal: GCC – Linux GCC Material On-Line: – Manuais – Help – Bibliotecas (extensões) –... 10

Linguagem “C” 11 CPU / UCP Unidade Central de Processamento ULA, Registradores de máquinas, relógio (clock), decodificador de instruções, unidade de controle, cache de instruções Memória Endereço e Conteúdo Dispositivos de E/S Periféricos: Vídeo (stdout) Teclado (stdin) Impressora Disco CD-ROM... Programação: Imperativa Determinística Estruturada OOP (Objetos) Alto Nível Pascal “C” / C++ Java Cobol... Baixo Nível Assembly x86 680xx...

Linguagem “C” 12 CPU / UCP Unidade Central de Processamento ULA, Registradores de máquinas, relógio (clock), decodificador de instruções, unidade de controle, cache de instruções Memória Endereço e Conteúdo Dispositivos de E/S Periféricos: Vídeo (stdout) Teclado (stdin) Impressora Disco CD-ROM... Programação: Imperativa Determinística Estruturada OOP (Objetos) Alto Nível Pascal “C” / C++ Java Cobol... Baixo Nível Assembly x86 680xx... Ferramentas de Software: Sistema Operacional Compiladores - GCC,... Interpretadores - PERL,... Compilador/Interpretador: Java (JVM) Aplicativos: Word, Excel, Browsers,...

Linguagem “C” Existem várias maneiras de escrever um programa Criada por B. Kernighan e D. Ritchie Linguagem mais utilizada em ambientes acadêmicos, de pesquisa e de desenvolvimento de ferramentas básicas Adotaremos a linguagem ”C” inicialmente como ferramenta para desenvolvimento de programas Motivos da escolha desta linguagem: Portabilidade (GCC for Windows / GCC for Linux) Bem estruturada, gera código otimizado Flexibilidade, potencialidade (“ling. aberta”), C++ Uso de Software Livre e das bibliotecas disponíveis Ambiente de desenvolvimento: IDE Integrated Development Environment: – DEV-C++ - Editor, Compilador, Depurador (debug), Visual Studio – Linux: gcc, dev-c++, vi/xedit/emacs/pico, xxgdb/ddd,... 13

Linguagem “C” Linguagem de Programação Adotada: C/C++ Ferramentas de Desenvolvimento em "C" Windows – Visual Studio – Dev-C++ [MingW] – CodeBlocks [MingW] Linux GNU GCC + { gdb, xxgdb, DDD / Kdeveloper } Outras Ferramentas para Desenvolvimento de Programas em “C” – DJGPP junto com { Rhide / CodeBlocks / Dev-C++ } – Borland TurboC 14

Linguagem “C” Compilador GNU GCC 15 Edição Inicializar as variáveis de ambiente: PATH Usual: C:\Dev-Cpp\Bin Compilação e Execução

Linguagem “C” Compilador GNU GCC Linguagem “C” : Comandos de compilação de programa em “C” Compilação: Entrada = Arquivo Texto (.c) Saída = Arquivo Executável (.exe) GCC.c => Gera um programa executável a.out ou a.exe GCC prog.c -o prog.exe => Especifica o nome do executável GCC prog.c -o prog.exe -lm => Indica para incluir (link) biblioteca matemática GCC -g prog.c -o prog.exe => Indica para gerar código adicional para "debug" GCC -g -Wall prog.c -o pro.exe -lm => Compilação "cuidadosa" (inclui principais opções) GCC --version => Versão do compilador - IMPORTANTE! GCC --help => Exibe a tela de ajuda do comando de compilação (opções) 16

Exemplo de um programa em “C” Windows> type hello.c #include main ( ) { printf (“\n”); printf (“Hello World! \n”); printf (“\n”); } Windows> gcc hello.c -o hello.exe -lm 17 Linux> cat hello.c #include main ( ) { printf (“\n”); printf (“Hello World! \n”); printf (“\n”); } Linux> gcc hello.c -o hello.exe -lm Exatamente iguais!

Exemplo de um programa em “C” Windows> type hello2.c #include /* Inclusão de Bibliotecas Externas - Header */ #define ANO_ATUAL 2015 /* Valor constante */ /* Isto é um comentário */ char nome [30]; /* Declaração de Variáveis Globais */ main ( ) /* Bloco Principal - Main: começa a executar aqui */ { /* Início do Bloco de nome "main" */ int ano=ANO_ATUAL; /* Declaração de Variáveis Locais ao Bloco */ printf (“Nome? “); /* Comandos */ scanf (“%s”,nome); printf (“\n”); printf (“Hello %s, welcome to %d!\n”,nome,ano); printf (“\n”); } /* Fim do Bloco de nome "main" */ 18

Exemplo de um programa em “C” Windows> type hello2.c #include /* Inclusão de Bibliotecas Externas - Header */ #define ANO_ATUAL 2015 /* Valor constante */ /* Isto é um comentário */ char nome [30]; /* Declaração de Variáveis Globais */ int main (void) /* Bloco Principal - Main: começa a executar aqui */ { /* Início do Bloco de nome "main" */ int ano=ANO_ATUAL; /* Declaração de Variáveis Locais ao Bloco */ printf (“Nome? “); /* Comandos */ scanf (“%s”,nome); printf (“\n”); printf (“Hello %s, welcome to %d!\n”,nome,ano); printf (“\n”); return (0); } /* Fim do Bloco de nome "main" */ 19

Informações sobre a disciplina USP - Universidade de São Paulo - São Carlos, SP ICMC - Instituto de Ciências Matemáticas e de Computação SSC - Departamento de Sistemas de Computação Prof. Dr. Daniel Rodrigo Ferraz Bonetti Web institucional: Página do Grupo de Pesquisa: ou Disciplina de Linguagem de Programação e Aplicações SSC300 > Programa, Material de Aulas, Critérios de Avaliação, > Trabalhos Práticos, Datas das Provas, Notas 20