Upload
ramon-mayor-martins
View
446
Download
2
Embed Size (px)
Citation preview
Linguagem de Programação Estruturada (C)
Prof. Ramon Mayor Martins , M.Sc. Eng.
Parte 1
São José – 2015 – 2
IES - Instituto de Ensino Superior da Grande Florianópolis
Linguagem de Programação Estruturada
PLANO DE ENSINO
CURSO: Ciência da ComputaçãoSÉRIE: 2ª semestreDISCIPLINA: Linguagem de Programação EstruturadaCARGA HORÁRIA SEMANAL: 4,5 horas-aulaCARGA HORÁRIA SEMESTRAL: 90 horas-aula
Linguagem de Programação Estruturada
PLANO DE ENSINO
I - EMENTA • Conceitos básicos: compiladores, sistema operacional, organização de computadores. • Representação interna dos tipos básicos. • Ambientes de programação: edição, compilação, execução de programas. • Declaração de tipos em linguagem procedural, declaração de constantes, comandos de entrada/saída, comandos de atribuição, operadores aritméticos, operadores lógicos, operadores relacionais, comandos condicionais, comandos de repetição, técnicas de rastreamento de programas. • Vetores e variáveis estruturadas. II – OBJETIVOS GERAIS Desenvolver o raciocínio lógico aplicado à solução de problemas em nível computacional. III – OBJETIVOS ESPECÍFICOS A disciplina deve capacitar o aluno no uso de uma linguagem de programação como ferramenta de programação na implementação de soluções que envolvam os elementos básicos da construção de algoritmos e programas de computador, conforme abordado na disciplina Lógica de Programação e Algoritmos.
Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C• MÓDULO 2: CONCEITO DE VARIÁVEL• MÓDULO 3: ESTRUTURA SEQUENCIAL• MÓDULO 4: ESTRUTURA CONDICIONAL• MÓDULO 5: ESTRUTURA DE REPETIÇÃO• MÓDULO 6: FUNÇÃO• MÓDULO 7: VETORES
Linguagem de Programação Estruturada
PLANO DE ENSINO
V – ESTRATÉGIAS DE TRABALHO Aulas expositivas e recursos audiovisuais. VI – AVALIAÇÃO Provas bimestrais e trabalhos práticos.
VII – MATERIAIS
Os materiais para consulta constarão no blog: www.classestopics.blogspot.com
Linguagem de Programação Estruturada
PLANO DE ENSINO
VII – BIBLIOGRAFIA Básica DEITEL, H. M. - C - Como Programar - Makron Books - 2011 JAMSA, Kris; Klander, Lars – Programando em C/C++ A Bíblia – Makron Books - 2002 SCHILDT, H. - C – Completo e Total – 3a ed. – Pearson/Makron Books - 2006
Linguagem de Programação Estruturada
PLANO DE ENSINO
VII – BIBLIOGRAFIA Básica DEITEL, H. M. - C - Como Programar - Makron Books - 2011 JAMSA, Kris; Klander, Lars – Programando em C/C++ A Bíblia – Makron Books - 2002 SCHILDT, H. - C – Completo e Total – 3a ed. – Pearson/Makron Books - 2006 Complementar BACKES, André – Linguagem C Completa e descomplicada – Elsevier - 2012 DAMAS, Luís – Linguagem C – 10a ed. - LTC - 2007 FEOFILOFF, Paulo – Algoritmos em Linguagem C - Campus/Elsevier - 2008 MIZRAHI, Victorine – Treinamento em Linguagem C – 2a ed. - Prentice Hall - 2008 OLIVEIRA, Ulysses – Programando em C – Vol II – Ciência Moderna - 2010
Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C• MÓDULO 2: CONCEITO DE VARIÁVEL• MÓDULO 3: ESTRUTURA SEQUENCIAL• MÓDULO 4: ESTRUTURA CONDICIONAL• MÓDULO 5: ESTRUTURA DE REPETIÇÃO• MÓDULO 6: FUNÇÃO• MÓDULO 7: VETORES
Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.1 O que é Linguagem Estruturadao 1.2 Introdução a Linguagem Co 1.3 Comparação Linguagem C e outras Linguagenso 1.4 Compiladores Linguagem Co 1.5 Método para a construção de programas em Co 1.6 Exemplos de Programas em C
• MÓDULO 2: CONCEITO DE VARIÁVEL• MÓDULO 3: ESTRUTURA SEQUENCIAL• MÓDULO 4: ESTRUTURA CONDICIONAL• MÓDULO 5: ESTRUTURA DE REPETIÇÃO• MÓDULO 6: FUNÇÃO• MÓDULO 7: VETORES
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
• Em 1968, Edsger W. Dijkstra, através do artigo "A Case against the GO TO Statement" critica o uso excessivo do comando de desvio incondicional GOTO nos programas desenvolvidos na época.
• Em 1972 , novamente Dijkstra, escreve sobre os conceitos da Programação Estruturada no "Capítulo I- Notes on Structured Programming" do livro " Structured Programming“
• As Linguagens Estruturadas são tambem chamada de Linguagens Convencionais, Procedurais ou Imperativas
• Para a resolução de problemas relativamente mais simples e diretos, a programação estruturada é muito eficiente.
[Ref. Devmedia]
1.1 O que é Linguagem Estruturada
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
• A programação estruturada é uma forma de programação de computadores que estabelece uma disciplina de desenvolvimento de algoritmos, independentemente da sua complexidade e da linguagem de programação na qual será codificado
• Facilita a compreensão da solução através de um número restrito de mecanismos de codificação.
• Mecanismos: • Estruturas Básicas de Controle, • Modularização, • Tipos Abstratos de Dados
1.1 O que é Linguagem Estruturada
[Ref. Devmedia]
• 1.1.1 - Elementos Chaves da Programação Estruturada
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1)Estruturas Básicas de Controle• sequência, • condição • repetição.
Controle Sequencial: o mais simples. Os comandos são escritos na seqüência, e assim são executados: A;B;C...
Controle de Decisão: Permitem especificar uma escolha entre comandos alternativos. Exemplo: SE-SENAO-ENTAO Representação básica:
Controle de Iteração: permitem especificar repetição de certos comandos Exemplo: ENQUANTO
1.1 O que é Linguagem Estruturada• 1.1.1 - Elementos Chaves da Programação Estruturada
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
2) Modularização
Subprogramas = blocos estruturados de códigos (procedimentos, funções ou módulos);
A comunicação entre os blocos se faz utilizando variáveis globais e pela passagem de dados através de parâmetros;
Os dados são processados nos blocos e migram de um bloco para outro.
Ex: funções, bibliotecas.
3) Tipos Abstratos de Dados
Modelo matemático, acompanhado das operações definidas sobre o modelo
1.1 O que é Linguagem Estruturada• 1.1.1 - Elementos Chaves da Programação Estruturada
Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.1 O que é Linguagem Estruturadao 1.2 Introdução a Linguagem Co 1.3 Comparação Linguagem C e outras Linguagenso 1.4 Compiladores Linguagem Co 1.5 Método para a construção de programas em Co 1.6 Exemplos de Programas em C
• MÓDULO 2: CONCEITO DE VARIÁVEL• MÓDULO 3: ESTRUTURA SEQUENCIAL• MÓDULO 4: ESTRUTURA CONDICIONAL• MÓDULO 5: ESTRUTURA DE REPETIÇÃO• MÓDULO 6: FUNÇÃO• MÓDULO 7: VETORES
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.2 Introdução a Linguagem C
Histórico:
• Desenvolvido por Dennis Ritchie e Ken Thompson entre 1969 e 1973 na AT&T Bell Labs.
• Criada para auxiliar no desenvolvimento do Sistema Operacional UNIX (com isso permitiu que fosse criado oPrimeiro sistema operacional implementado em uma linguagem diferente do Assembly)
• Possui características da Linguagem B (Baseada na Linguagem BCPL)
• No final dos anos 70, a Linguagem C começou a substituir a Linguagem BASIC como a linguagem deProgramação mais utilizada.
• Na década de 80 foi adaptada para uso no PC IBM – iniciando sua popularidade.
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.2 Introdução a Linguagem C
Histórico:
• Ainda na década de 80 , Bjarne Stroustrup e o Laboratório Bell trabalham no C++ , projeto para adicionarrecursos de programação orientada a objetos.
• A Linguagem C++ é utilizada na confecção do Windows, enquanto a C permanece popular no mundo UNIX
• No final dos anos 80, a linguagem C sofre uma padronização pela ANSI (Instituto Norte-americano de padrões)
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.2 Introdução a Linguagem C
Características:
• A Linguagem C é uma imperativa e procedural, para implementação de sistemas
• linguagem de nível médio, pois pode-se trabalhar em um nível próximo ao da máquina ou como uma linguagem de alto nível como outras existentes.
• Compilável
• fornece acesso de baixo nível - (possível a inclusão de código Assembly no meio do programa C)
• Criada com o objetivo de facilitar a criação de programas extensos com menos erros
• Extremamente simples
• Possui funcionalidades como: funções matemáticas, manuseamento de arquivos, atravésda inclusão de bibliotecas.
• Possui ponteiros, que dão maior flexibilidade à linguagem.
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.2 Introdução a Linguagem C
Características:
• Possui recursos de estruturas (Struct) que permitem que dados relacionados sejam combinadose manipulados como um todo.
• Com o C podemos escrever programas concisos, organizados e de fácil entendimento
Outras Características:
-Portabilidade-Embaracação-Geração de códigos executáveis compactos e rápidos-Facilidade de uso-Linguagem estruturada-Confiabilidade-Simplicidade
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.2 Introdução a Linguagem C
Características:
Portabilidade: pode ser compilada em diferentes arquiteturas, seja de hardware ou de software. É possível usar C no Mac ou PC, com Linux ou Windows.
Modularidade: um programa em C é dividido em vários blocos de programação distintos
Linguagem Imperativa: em C você usa funções que modificam o estado do programa. Elas são divididas em blocos e você as chama diretamente.
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.2 Introdução a Linguagem C
Porque Linguagem C?
"Em outras palavras: a escolha de C é a única escolha sã. [...] Eu cheguei à conclusão de que qualquer programador que preferiria que o projeto fosse feito em C++ ao invés de C provavelmente é um programador que eu quero longe, assim ele não vem e estraga qualquer projeto em que eu esteja envolvido".
Linus Torvalds
C influenciou a maioria das linguagens mais utilizadas hoje em dia. Por exemplo: Java, Javascript, Shell e PHP, por exemplo, além de todas as linguagens que são C-*(C++, C#, Objective-C, etc).
Linguagem C está em tudo!
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.2 Introdução a Linguagem C
Aplicações:
Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.1 O que é Linguagem Estruturadao 1.2 Introdução a Linguagem Co 1.3 Comparação Linguagem C e outras Linguagenso 1.4 Compiladores Linguagem Co 1.5 Método para a construção de programas em Co 1.6 Exemplos de Programas em C
• MÓDULO 2: CONCEITO DE VARIÁVEL• MÓDULO 3: ESTRUTURA SEQUENCIAL• MÓDULO 4: ESTRUTURA CONDICIONAL• MÓDULO 5: ESTRUTURA DE REPETIÇÃO• MÓDULO 6: FUNÇÃO• MÓDULO 7: VETORES
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.3 Comparação Linguagem C e outras Linguagens
Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.1 O que é Linguagem Estruturadao 1.2 Introdução a Linguagem Co 1.3 Comparação Linguagem C e outras Linguagenso 1.4 Compiladores Linguagem Co 1.5 Método para a construção de programas em Co 1.6 Exemplos de Programas em C
• MÓDULO 2: CONCEITO DE VARIÁVEL• MÓDULO 3: ESTRUTURA SEQUENCIAL• MÓDULO 4: ESTRUTURA CONDICIONAL• MÓDULO 5: ESTRUTURA DE REPETIÇÃO• MÓDULO 6: FUNÇÃO• MÓDULO 7: VETORES
Linguagem de Programação Estruturada
PLANO DE ENSINO
Compiladores
É um grupo de programas que de posse de um codigo fonte escrito em uma linguagem de alto ou médio níveltraduz para uma linguagem de baixo nível (Assembly, código de máquina).
O primeiro compilador foi escrito por Grace Hopper em 1952, para a linguagem de programação A-0 para oUNIVAC (o primeiro computador).
Linguagem de Programação Estruturada
PLANO DE ENSINO
Diferença entre Compilador e Interpretador:
O interpretador ao contrário do compilador roda o código-fonte escrito como sendo o código objeto, ele traduz o programa linha a linha, o programa vai sendo utilizado na medida em que vai sendo traduzido. Cada execução do programa precisa ser novamente traduzido e interpretado.
Vantagens e Desvantagens:
Compilador:-Processo de correção ou alteração do código requer que ele seja novamente recompilado.-O código compilado é mais rápido de ser acessado;-Compila o código somente se estiver sem erros
Interpretador:-Correções e alterações são mais rápidas de serem realizadas;-Código não precisa ser compilado para ser executado;-Consomem menos memória-Execução é mais lenta-Necessita sempre ser lido o código original para ser executado;
Linguagem de Programação Estruturada
PLANO DE ENSINO
Diferença entre Compilador e Interpretador:
O interpretador ao contrário do compilador roda o código-fonte escrito como sendo o código objeto, ele traduz o programa linha a linha, o programa vai sendo utilizado na medida em que vai sendo traduzido. Cada execução do programa precisa ser novamente traduzido e interpretado.
Vantagens e Desvantagens:
Compilador:-Processo de correção ou alteração do código requer que ele seja novamente recompilado.-O código compilado é mais rápido de ser acessado;-Compila o código somente se estiver sem erros
Interpretador:-Correções e alterações são mais rápidas de serem realizadas;-Código não precisa ser compilado para ser executado;-Consomem menos memória-Execução é mais lenta-Necessita sempre ser lido o código original para ser executado;
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
Nome Gratuito Descrição
GCC sim
Compilador utilizado pelo projeto GNU. É padrão ANSI C e nativo do sistema Linux,.Não é preciso instalar compiladores de terceiros.
Seu único problema é a falta de uma interface, que prejudica quem é principiante na linguaguem
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
Nome Gratuito Descrição
Code Blocks sim
Code :: Blocks é uma ferramenta livre C, C ++ e Fortran IDE
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
Nome Gratuito Descrição
Dev-C++ sim
Criado pela Bloodshed,
Tem suporte a projeto
Apesar de compilar a linguagem C, seu código é escrito em um código totalmente diferente - o Delphi!
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
Nome Gratuito Descrição
C++ Builder não
O C++ Builder é um dos melhores compiladores que tem, com possibilidade de criação de projetos extensos.
Desenvolvido pela Borland
Ele segue o padrão ISO ou ANSI C, mas também tem muitas bibliotecas não padrão, fazendo muitas vezes com que o programa perca a portabilidade e o código escrito no C++ Builder não rode em outros compiladores, mesmo que a linguagem C seja a mesma.
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
Nome Gratuito Descrição
Visual C++ não
O visual C++ é um compilador profissional da Microsoft que compõe o pacote Visual Studio, com vários recursos, como incremento de código, depurador de erros avançado e outras ferramentas que aumentam a produtividade do programador. O problema é que por ser da Microsoft tem o preço elevado e só compensará se você for usar esta linguagem para desenvolvimento profissional em aplicações Windows. Tem uma versão trial no site oficial
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
1.4 Compiladores Linguagem C
Linguagem de Programação Estruturada
PLANO DE ENSINO
APARATO EXPERIMENTAL SoftwareDEV C++ : http://www.bloodshed.net/devcpp.html
Como instalar? http://chortle.ccsu.edu/bloodshed/howtogl.html
Referências na WebCPPReference.com : http://en.cppreference.com/w/Cplusplus.com : http://www.cplusplus.com/reference/Cprogramming.com : http://www.cprogramming.com/tutorial/c++-tutorial.html
Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.1 O que é Linguagem Estruturadao 1.2 Introdução a Linguagem Co 1.3 Comparação Linguagem C e outras Linguagenso 1.4 Compiladores Linguagem Co 1.5 Método para a construção de programas em Co 1.6 Exemplos de Programas em C
• MÓDULO 2: CONCEITO DE VARIÁVEL• MÓDULO 3: ESTRUTURA SEQUENCIAL• MÓDULO 4: ESTRUTURA CONDICIONAL• MÓDULO 5: ESTRUTURA DE REPETIÇÃO• MÓDULO 6: FUNÇÃO• MÓDULO 7: VETORES
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.5 Método para a construção de programas em C
Linguagem de Programação Estruturada
PLANO DE ENSINO
IV – CONTEÚDO PROGRAMÁTICO • MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.1 O que é Linguagem Estruturadao 1.2 Introdução a Linguagem Co 1.3 Comparação Linguagem C e outras Linguagenso 1.4 Compiladores Linguagem Co 1.5 Método para a construção de programas em Co 1.6 Exemplos de Programas em C
• MÓDULO 2: CONCEITO DE VARIÁVEL• MÓDULO 3: ESTRUTURA SEQUENCIAL• MÓDULO 4: ESTRUTURA CONDICIONAL• MÓDULO 5: ESTRUTURA DE REPETIÇÃO• MÓDULO 6: FUNÇÃO• MÓDULO 7: VETORES
Linguagem de Programação Estruturada
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.5 Método para a construção de programas em C
//CODIGO 1.1 - Hello World
#include <stdio.h>
int main(void){ printf("Hello World"); return 0;}
Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.5 Método para a construção de programas em C
//CODIGO 1.1 - Hello World
#include <stdio.h>
int main(void){ printf("Hello World"); return 0;}
Circuitos Digitais
MÓDULO 1: CONCEITOS BÀSICOS LINGUAGEM C
o 1.5 Método para a construção de programas em C
//CODIGO 1.1 - Hello World
#include <stdio.h>
int main(void){ printf("Hello World"); return 0;}