apresentaÇÃo: anderson caldas curso de c - 2010 aula 01: introdução a linguagens de...
TRANSCRIPT
APRESENTAÇÃO:ANDERSON CALDAS
CURSO DE C - 2010
AULA 01: Introdução a Linguagens de Programação
ORGANIZAÇÃO DO CURSO DE C / 2010
Conceitos Expressões Fluxo Funções Vetores String Matrizes Estruturas Arquivo
TÓPICOS ABORDADOS:
DURAÇÃO ~ 2,5 MESES
TUTORES:
Anderson Caldas ([email protected]) Giancarlo Gusmão ([email protected]) David Anderson ([email protected]) Michele Agra ([email protected]) Reberth Douglas ([email protected])
1. QUAL A FUNÇÃO DO LCCV ?
> No LCCV são desenvolvidas pesquisas que fazem a ligação entre a universidade e a indústria.
2. QUAL O PERFIL DO PROFISSIONAL DO LCCV ?
> Profissional habilitado a desenvolver softwares ligados a sua área de pesquisa/especialização.
> Profissional capacitado a lidar com simulações numéricas de problemas de engenharia.
Por que é necessário aprender a programar ?
Software específico
“O LCCV desenvolve softwares não-comerciais”
3. SOFTWARE E HARDWARE ?
O hardware é a parte física do computador, ou seja, é o conjunto de componentes eletrônicos, circuitos integrados e placas, que se comunicam através de barramentos. Em complemento ao hardware, o software é a parte lógica, ou seja, o conjunto de instruções e dados processado pelos circuitos eletrônicos do hardware.
Modelos de programação podem ser direcionadosem função das características do hardware.
Programação direcionada para clusters, processadoresespecíficos e placas gráficas específicas.
cluster
Placa gráfica
Processador DualCore
4. COMO FAZER UM PROGRAMA DE COMPUTADOR ?
IDENTIFICAR O PROBLEMA
A SER RESOLVIDO
FORMULAR ANALITICAMENTEO PROBLEMA
FORMULAR NUMERICAMENTEO PROBLEMA
ESCREVER O PROGRAMAUSANDO ALGUMA LINGUAGEM
DE PROGRAMAÇÃO
CONVERTER O CÓDIGOPARA LINGUAGEM DE MÁQUINA
GERAÇÃO DO PROGRAMA
EXECUTÁVEL
C/C++
Matlab
compilador
algoritmo
5. O QUE É UM ALGORITMO ?> Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais pode ser executada mecanicamente num período de tempo finito e com uma quantidade de esforço finita.
> O conceito de algoritmo é freqüentemente ilustrado pelo exemplo de uma receita, embora muitos algoritmos sejam mais complexos. Eles podem repetir passos (fazer iterações) ou necessitar de decisões (tais como comparações ou lógica) até que a tarefa seja completada. Um algoritmo corretamente executado não irá resolver um problema se estiver implementado incorretamente ou se não for apropriado ao problema
REFERÊNCIA: Wikipédiahttp://pt.wikipedia.org/wiki/Algoritmo
Algoritmo "SomaDeDoisValores";variável: SOMA,A,B: inteiro; inicio Escreva("Digite um numero"); Leia(A); escreva("digite outro numero"); leia(B); Soma <- A + B; escreva(SOMA); fim.
Exemplo de algoritmo
Qual o melhor algoritmo ?
“Depende da finalidade doprograma”
6. O QUE É UMA LINGUAGEM DE PROGRAMAÇÃO ?
Uma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador.
Uma linguagem permite que um programador especifique precisamente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias.
6.1 LINGUAGEM DE PROGRAMAÇÃO C
“Apesar de reconhecermos as dificuldades na aprendizagem da linguagem C, optamos por sua utilização neste curso simplesmente porque C é a linguagem básica da programação do UNIX, da Internet, do Windows, do Linux. “
Introdução à estrutura de dados, W. Celes e J. L. Rangel
O conhecimento de linguagens de programação por si só não capacita programadores. É necessário saber usá-las de maneira eficiente.
A linguagem C, assim como as linguagens Fortran e Pascal, são ditas linguagens “convencionais”, ela serve como base para praticamente todos os computadores em uso.
Para programar em uma linguagem convencional, precisamos de alguma maneira especificar as áreas de memória em que os dados com que queremos trabalhar estão armazenados e, freqüentemente, considerar os endereços de memória em que os dados se situam, o que faz com que o processo de programação envolva detalhes adicionais.
Em compensação, temos um maior controle da máquina quando utilizamos uma linguagem convencional, e podemos fazer programas melhores, ou seja, menores e mais rápidos.
Um código em C deve sempre conter a função principal.
6.1 LINGUAGEM DE PROGRAMAÇÃO C
int main (void) { float tc; float tf; /* mostra mensagem para usuario */ printf("Digite a temperatura em Celsius: "); /* captura valor entrado via teclado */ scanf("%f",&tc); /* faz a conversao */ tf = 1.8*tc+32; /* exibe resultado */ printf("A temperatura em Fahrenheit é: %f\n", tf); return 0; }
6.1 LINGUAGEM DE PROGRAMAÇÃO C/* Programa para conversão de temperatura */ #include <stdio.h> float converte (float c) { float f; f = 1.8*c + 32; return f; }
int main (void) { float tc; float tf; /* mostra mensagem para usuario */ printf("Digite a temperatura em Celsius: "); /* captura valor entrado via teclado */ scanf("%f",&tc); /* faz a conversao */ tf = 1.8*tc+32; /* exibe resultado */ printf("A temperatura em Fahrenheit é: %f\n", tf); return 0; }
Embora seja possível definir variáveis globais em qualquer parte do ambiente global (entre quaisquer funções), é prática comum defini-las no início do arquivo-fonte.
Como regra geral, por razões de clareza e
estruturação adequada do código, devemos evitar o uso indisciplinado de variáveis globais e resolver os problemas fazendo uso de variáveis locais sempre que possível.
Um programa em C, em geral, é constituído de diversas pequenas funções, que são independentes entre si – não podemos, por exemplo, definir uma função dentro de outra.
Dois tipos de ambientes são caracterizados em um código C. O ambiente global, externo às funções, e os ambientes locais, definidos pelas diversas funções.
Um programa em C tem que, obrigatoriamente, conter a função principal (main). A execução de um programa começa pela função principal (a função main é automaticamente chamada quando o programa é carregado para a memória). As funções auxiliares são chamadas, direta ou indiretamente, a partir da função principal.
Em C, como nas demais linguagens “convencionais”, devemos reservar área de memória para
armazenar cada dado. Isto é feito através da declaração de variáveis, na qual informamos o tipo do dado que iremos armazenar naquela posição de memória
Uma característica fundamental da linguagem C diz respeito ao tempo de vida e à visibilidade das
variáveis. Uma variável (local) declarada dentro de uma função "vive" enquanto esta função está sendo executada, e nenhuma outra função tem acesso direto a esta variável. Outra característica das variáveis locais é que devem sempre ser explicitamente inicializadas antes de seu uso, caso contrário conterão “lixo”, isto é, valores indefinidos.
Outra alternativa, é possível definir variáveis que sejam externas às funções, isto é, variáveis
globais.
6.1 LINGUAGEM DE PROGRAMAÇÃO C
6.2 ARMAZENAMENTO DE DADOS NO COMPUTADOR
A memória do computador é dividida em unidades de armazenamento chamadas bytes. Cada byte é composto por 8 bits, que podem armazenar os valores zero ou um. Nada além de zeros e uns pode ser armazenado na memória do computador.
> Cada posição da memória (byte) tem um endereço único. Não é possível endereçar diretamente um bit.
1 byte = 8 bits10010 10100 10110100111 001 11010110010
Se só podemos armazenar números na memória do computador, como fazemos para armazenar um texto (um documento ou uma mensagem)?
- Para ser possível armazenar uma seqüência de caracteres, que representa o texto, atribui-se a cada caractere um código numérico (por exemplo, pode-se associar ao caractere 'A' o código 65, ao caractere 'B' o código 66, e assim por diante). Se todos os caracteres tiverem códigos associados (inclusive os caracteres de pontuação e de formatação), podemos armazenar um texto na memória do computador como uma seqüência de códigos numéricos.
7. LINGUAGEM INTERPRETADA OU COMPILADA ?Uma diferença importante entre as linguagens C e Matlab é que, via de regra, elas são implementadas de forma bastante diferente. Normalmente, Matlab é interpretada e C é compilada.
Linguagem Interpretada Linguagem Compilada
Linguagem InterpretadaLinguagem Compilada+
> Existe também as linguagens de programação híbridas:
8. COMPILAÇÃO DE PROGRAMAS EM C ?
> Para desenvolvermos programas em uma linguagem como C, precisamos de:
ferramenta para edição do código fonte
ferramenta para geraçãodo código objeto
editor + compilador.
Considerando um exemplo de código denominado calcula.c a seguinte linha de código deve ser executada para geração do executável.
gcc –o prog.c prog.exe
Isso resultará em um executável com o nome prog.exe no windows.
E se houver mais arquivos-fonte ? Como devemos compilar ?
gcc –o prog.c converte.c prog.exe
Quais os problemas com o uso desse ciclo de desenvolvimento ?
9. O QUE É UMA IDE ? Este ciclo pode ser realizado usando programas (editor, compilador, ligador)
separados ou empregando um “ambiente integrado de desenvolvimento” (integrated development environment, ou IDE).
IDE é um programa que oferece janelas para a edição de programas e facilidades para abrir, fechar e salvar arquivos e para compilar, ligar e executar programas.
Se um IDE estiver disponível, é possível criar e testar um programa, tudo em um mesmo ambiente, e todo o ciclo mencionado acima acontece de maneira mais confortável dentro de um mesmo ambiente, de preferência com uma interface amigável.
Exemplo de IDE
9.1 Usando Visual Studio – Hello Word!
Cria um novo projeto
CURSO DE C - 2010
FIM DA AULA 01: Introdução à Linguagens de Programação