DHD – Desenvolvimento em Hardware

Slides:



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

Um programa em C Bibliotecas Variáveis globais
Capítulo 1 – Conceitos Básicos 1 Segunda-feira, 22 de Outubro de 2007 UNIBRATEC – Ensino Superior e Técnico em Informática Aula 15 – Tipos de Dados Avançados.
Introdução à Computação - Jorge Macêdo
LINGUAGEM ESTRUTURADA TURBO C
Centro Integrado de Tecnologia da Informação
Revisão da Linguagem C.
Linguagem de Programação
O Portal do Estudante de Computação
Introdução a Computação e Cálculo Numérico
Seminário 1: Revisão de C
Algoritmo e Programação
Introdução à Linguagem C
Algumas notas sobre a linguagem de programação C
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.
Prof. Alessandro Gonçalves
Revisão Luis Antonio Tavares
DSC/CCT/UFCG Carga Horária: 60 h Profs.: José Eustáquio Rangel de Queiroz Roberto Medeiros de Faria Ulrich Schiel José Eustáquio Rangel.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Algoritmo e Programação
Algoritmo e Estrutura de Dados I Introdução à Linguagem C Márcia Marra.
Profa. Maria Augusta Constante Puget
Introdução à Linguagem C
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Algoritmo e Estrutura de Dados I Linguagem C – Comandos if-else-if e Switch Márcia Marra.
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
1 Aula 06 – Funções Prof. Filipe Mutz Colocar mais exemplos de funções simples no começo.
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Variáveis e Atribuições.
Introdução à Computação para Engenharia MAC2166
Estruturas de Dados Aula 2: Estruturas Estáticas
Construção de Algoritmos AULA 05
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS Aulas Práticas – 2017
VARIÁVEIS EM C Dilvan Moreira.
Introdução à Programação Linguagem C
Estruturas de Decisão.
Estrutura de Dados Revisão
Comandos da Linguagem C
PCI- Estruturas de Controle
Estruturas de Repetição
Módulo I Capítulo 2: IDE e Variáveis
Programação em C Aula 2.
FUNDAMENTO DE PROGRAMAÇÃO LINGUAGEM C - CONCEITOS FUNDAMENTAIS
Linguagem C Para programadores Python
FUNDAMENTO DE PROGRAMAÇÃO
CES-11 ALGORITMOS E ESTRUTURAS DE DADOS Aulas Práticas
Fundamentos de Programação 1
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
Algoritmos e Estruturas de Dados I
Programação de Computadores I – Arquivos
PROGRAMAÇÃO I UNIDADE 3.
Desenvolvimento de Sistemas
Fundamentos de Programação 1
DHD – Desenvolvimento em Hardware
Profa. Maria Augusta Constante Puget
Profa. Maria Augusta Constante Puget
Programação de Computadores I – Arquivos
DHD – Desenvolvimento em Hardware
DHD – Desenvolvimento em Hardware
DHD – Desenvolvimento em Hardware
DHD – Desenvolvimento em Hardware
Curso básico de PHP. 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
DHD – Desenvolvimento em Hardware
Linguagem C Linguagem Imperativa
Programação de Computadores LINGUAGEM C – AULA 02 – PROF. WELLINGTON TELLES.
DHD – Desenvolvimento em Hardware
Programação de Computadores LINGUAGEM C – AULA 03 – PROF. WELLINGTON TELLES.
DHD – Desenvolvimento em Hardware
Programação de Computadores LINGUAGEM C – AULA 04 - PROF. WELLINGTON TELLES.
Introdução a progrmação Comandos condicionais: if e switch
Transcrição da apresentação:

DHD – Desenvolvimento em Hardware terça-feira, 18 de setembro de 2018

DHD – Desenvolvimento em Hardware Prof. Frederico Brito Fernandes 2 DHD – Desenvolvimento em Hardware Introdução ao ANSI C Histórico Introdução Funções Funções básicas de E/S Char e Strings Com. de controle de fluxo Palavras reservadas em C Prof. Frederico Brito Fernandes unibratec@fredbf.com terça-feira, 18 de setembro de 2018

1. Histórico da Linguagem C Criada na Bell Labs divisão da AT&T, famosa companhia americana de telecomunicações Idealizada e implementada por Dennis Ritchie Quando? 1970 Objetivo: gerar uma linguagem de “alto nível”, em oposição à linguagem Assembly desenvolver uma linguagem capaz de executar em qualquer plataforma Uso geral: Unix, Clipper, Lotus 1 2 3, Excel, DBase III e IV, Oracle Principais características: Modularidade e Portabilidade Padrão ANSI C

Processo de Geração de Código 2. Introdução C é uma linguagem compilada Windows UNIX Linux Processo de Geração de Código Código-Fonte Código-Objeto .C .OBJ Compilar Executável .EXE 10010 Linkar OPÇÕES: Turbo C++ DevC++ (Free) Borland C++ C++Builder Notepad Bibliotecas .OBJ

Comandos em letras minúsculas 2. Introdução C é CASE SENSITIVE Soma, SOMA, SoMa ou sOmA. Comandos em letras minúsculas if e for, por exemplo If ou For são interpretados como variáveis Primeiro Programa: #include <stdio.h> /* Um Primeiro Programa */ int main () { printf ("Ola! Eu estou vivo!\n"); return(0); } CONSIDERAÇÕES Biblioteca de E/S: stdio.h Comentário: /* aqui */ Função: main() retorna inteiro Delimitador de bloco {bloco} Função de E/S: printf() Constante de nova linha: \n Retorno de função: return()

Segundo Programa: 2. Introdução #include <stdio.h> int main () { int Dias; /* Declaracao de Variaveis */ float Anos; printf ("Entre com o número de dias: "); /* Entrada de Dados*/ scanf ("%d",&Dias); Anos=Dias/365.25; /* Conversao Dias->Anos */ printf ("\n\n%d dias equivalem a %f anos.\n",Dias,Anos); return(0); } CONSIDERAÇÕES Declaração de Variável: tipo <id> Ex: float Anos; /* variável de ponto flutuate, ie, real de Pascal */ Função de E/S: scanf() “%d” – leia um inteiro &Dias – armazene nesse endereço Conversão de tipo: float <- int Função printf() com vários argumentos

2. Introdução Auto-avaliação O que faz o programa abaixo? #include <stdio.h> int main() { int x; scanf("%d",&x); printf("%d",x); return(0); } O que significa endentar um programa? Copie e cole o trecho acima no arquivo auto1.c, depois execute e responda: Se retirarmos a instrução “return(0)”, o programa executa? Caso omitamos a declaração “int x”, que tipo de erro ocorrerá? Finalmente, se omitirmos a 1ª linha, ocorrerá erro? Se salvarmos o arquivo como av1.txt, conseguiríamos executá-lo?

Definição: Vantagens: Trocando em miúdos: 3. Função (introdução) Definição: É um bloco de código de programa que pode ser usadodiversas vezes em sua execução Vantagens: Legibilidade Modularidade Trocando em miúdos: Um programa em C consiste, no fundo, de várias funções colocadas juntas Cabe ao programador, saber estruturar seu programa

Ex1: uma função que imprime uma string 3. Função (introdução) Ex1: uma função que imprime uma string #include <stdio.h> int mensagem () /* Funcao simples: so imprime Ola! */ { printf ("Ola! "); return(0); } int main () mensagem(); printf ("Eu estou vivo!\n"); CONSIDERAÇÕES Saída igual ao “Primeiro Programa” Diferença entre main() e o resto

Argumentos Definição: Ex: Sinônimo: parâmetros (formal e real) 3. Função (introdução) Argumentos Definição: Entradas que a função recebe Ex: printf() e scanf() são funções que recebem argumentos printf(“Oi a todos!”); Sinônimo: parâmetros (formal e real) CONSIDERAÇÕES Saída igual ao “Primeiro Programa” Diferença entre main() e o resto

Ex2: (função com um argumento que calcula o quadrado de x) 3. Função (introdução) Ex2: (função com um argumento que calcula o quadrado de x) #include <stdio.h> int square (int x) // Calcula o quadrado de x { printf ("O quadrado e %d",(x*x)); return(0); } int main () int num; printf ("Entre com um numero: "); scanf ("%d",&num); printf ("\n\n"); square(num); Parâmetro Formal CONSIDERAÇÕES Comentário de linha: // comente aqui Função square() recebe um inteiro x “square(num)” é a chamada da função Parâmetro: a) Formal: usado na definição da função, ex. “x” b) Real: usado na chamada da função, ex. “num” O parâmetro formal é casado com o real Ex: o valor de “num” é copiado em “x” O nº e tipo de parâmetros formais e reais devem ser iguais Porém, perceba que o nome do parâmetro real pode ser diferente do formal. Ex: “num” e “x” Parâmetro Real

Ex3: (função com três parâmetros) 3. Função (introdução) Ex3: (função com três parâmetros) #include <stdio.h> int mult (float a, float b,float c) /* Multiplica 3 numeros */ { printf ("%f",a*b*c); return(0); } int main () float x,y; x=23.5; y=12.9; mult (x,y,3.87); CONSIDERAÇÕES A função mult() recebe 3 floats, separados por vírgula Casamentos: a) O valor de “x”, que é 23.5, é copiado em “a” b) O valor de “y”, que é 12.9, é copiado em “b” c) O valor 3.87 é copiado em “a”

Ex4: (função retornando valores) 3. Função (introdução) Ex4: (função retornando valores) #include <stdio.h> int prod (int x,int y) { return (x*y); } int main () int saida; saida=prod (12,7); printf ("A saida e: %d\n",saida); return(0); CONSIDERAÇÕES A função prod() retorna o produto dos argumentos O valor retornado da função (12*7) é atribuído a “saida”

Sintaxe de uma função em C: 3. Função (introdução) Resumindo... Sintaxe de uma função em C: tipo_de_retorno nome_da_função (lista_de_argumentos) { código_da_função } Ex5: void Mensagem(){ printf(“Oi”); Se for “void” não retorna nada Se estiver vazio, não possui argumentos

3. Função (introdução) Auto-avaliação Escreva uma função que recebe dois inteiros e retorna a soma entre eles Escreva uma função que receba dois floats e retorne o menor entre eles

4. Funções Básicas de Entrada/Saída Armazenadas na biblioteca stdio.h (standard input/output) printf(): imprime valores na saída padrão (monitor) Sintaxe: printf(string_de_controle, lista_de_argumentos) Ex: float pi=3.14, r=2; printf(“O raio vale %f e a área vale %f”,r,pi*r*r) String_de_controle:

4. Funções Básicas de Entrada/Saída Ex: printf() printf ("Teste %% %%") printf ("%f",40.345) printf ("Um caractere %c e um inteiro %d",'D',120) -> printf ("%s eh um exemplo","Este") printf ("%s%d%%","Juros de ",10) Saída? "Teste % %" "40.345" "Um caractere D e um inteiro 120" "Este eh um exemplo" "Juros de 10%"

4. Funções Básicas de Entrada/Saída scanf(): entrada de dados pela entrada padrão (teclado) Sintaxe: scanf(string_de_controle, lista_de_argumentos) Ex: int idade; printf(“Digite sua idade”); scanf(“%d”,&idade); String_de_controle: Nunca esqueça o “&” (Mais tarde explicaremos) Erros de programadores iniciantes: 1. scanf(“%d”,idade) 2. scanf(“Digite sua idade: %d”,&idade)

char: armazena um caracter em 8 bits 5. Char e Strings char: armazena um caracter em 8 bits Podemos armazenar um inteiro pequeno também (8 bits) Utiliza aspas simples Ex1: imprimindo o valor ASCII de ‘D’ #include <stdio.h> int main () { char Ch; Ch='D'; printf (“O codigo ASCII de %c vale %d",Ch,Ch); return(0); } CONSIDERAÇÕES A saída desse programa será: “O codigo ASCII de D vale 68”

char: armazena um caracter em 8 bits 5. Char e Strings char: armazena um caracter em 8 bits Ex2: programa que indica a tecla digitada #include <stdio.h> #include <conio.h> int main () { char Ch; Ch=getch(); printf ("Voce pressionou a tecla %c",Ch); return(0); } CONSIDERAÇÕES A função getch() Objetivo: lê um caractere da entrada padrão Biblioteca: conio.h Porém: não pertence ao padrão ANSI C Solução: scanf(“%c”,&Ch).

string: vetor de caracteres 5. Char e Strings string: vetor de caracteres Declaração: char nome_da_string[tamanho] Ex: char nome[20]; Terminado pelo caractere especial ‘\0’ Ex: char nome[10] = “Fred”; Acesso aos elementos da string Ex: char nome[10] = “Fred”; Nome[4]=‘b’; Nome[5]=‘f’; Nome[6]=‘\0’; F r e d \0 ? 1 2 3 4 5 6 7 8 9 F r e d b f \0 ? 1 2 3 4 5 6 7 8 9

5. Char e Strings Auto-avaliação: Escreva um programa que leia um caracter digitado pelo usuário, imprima o caracter digitado e o código ASCII correspondente a este caracter.

6. Comandos de Controle de Fluxo if: desvio condicional Sintaxe: If (condição) instrução; Ex1: #include <stdio.h> int main () { int num; printf ("Digite um numero: "); scanf ("%d",&num); if (num>10) printf ("\n\nO numero e maior que 10"); if (num==10) printf ("\n\nVoce acertou!\n"); printf ("O numero e igual a 10."); } if (num<10) printf ("\n\nO numero eh menor que 10"); return (0); CONSIDERAÇÕES O comando “if” exige o uso de parênteses O que está de errado no teste? if(num=10) ... // isto estah errado Operadores de comparação: >, <, >=, >=, == e != Operador de atribuição: =

6. Comandos de Controle de Fluxo for: laço de repetição Sintaxe: for(inicialização;condição;incremento){ instrução; } Ex2: #include <stdio.h> int main () { int i; for (i=0;i<10;i++) { printf ("\n Executou %d vez(es)“,i); while: laço de repetição Sintaxe: while(condição){ instrução; } Ex3: #include <stdio.h> int main () { int i; i=0; // inicialização while (i<10) { //condição printf ("\n Executou %d vez“,i); i++; //incremento

6. Comandos de Controle de Fluxo Ex4: Este programa imprime o alfabeto (letras maiúsculas) #include <stdio.h> int main() { char letra; for(letra = 'A' ; letra <= 'Z' ; letra =letra+1) printf("%c ", letra); } CONSIDERAÇÕES O valor inicial de “letra” é 65 ou ‘A’ Portanto, letra pode ser incrementado

6. Comandos de Controle de Fluxo Ex5: programa que imprime o tamanho de uma string #include <stdio.h> int main() { int i=0; char nome[10]; gets(nome); while(nome[i]!=‘\0’){ i=i+1; } printf(“O tamanho da string vale %d ", i+1); CONSIDERAÇÕES A função gets() lê uma string da entrada padrão

6. Comandos de Controle de Fluxo Auto-avaliação Explique porque está errado fazer a instrução abaixo. O que irá acontecer? if (num=10) ... Escreva um programa que coloque os números de 1 a 100 na tela na ordem inversa (começando em 100 e terminando em 1) Escreva um programa que leia duas strings e verifique se elas são iguais Escreva um programa que leia uma string, conte quantos caracteres desta string são iguais a 'a' e substitua os que forem iguais a 'a' por 'b'. O programa deve imprimir o número de caracteres modificados e a string modificada.

Palavras Reservadas do ANSI C: Toda linguagem de programação possui palavras usadas para fins diversos: Controle de repetição, desvio condicional e incondicional, tipos e seus modificadores, etc. Ao longo do curso, veremos como funcionam... Palavras Reservadas do ANSI C: auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while