Fundamentos de Programação 1 Slides C – Número 4 Prof. SIMÃO Jean Marcelo SIMÃO Estrutura de Dados Homogêneas “vetores de números e de caracteres”

Slides:



Advertisements
Apresentações semelhantes
Um programa em C Bibliotecas Variáveis globais
Advertisements

Manipulação de Strings Marco Reis. Novo arquivo Adicione ManipulacaoDeStrings.c ao projeto. Cada projeto pode ter apenas um método main. Como outros programas.
Introdução à Linguagem C
Estruturas de Dados I Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
LINGUAGEM ESTRUTURADA TURBO C
Universidade Federal do Espírito Santo Programação II Vetores Professora: Norminda Luiza.
Linguagem C Strings.
Armazenamento de Dados em Arquivos
Vetores, Matrizes e Funções
Estruturas de Dados Homogêneas Unidimensionais – Vetores e Strings
Slides Prof. Jean SIMÃO Revisão: Prof. João FABRO
Linguagem C Strings.
Armazenamento de Dados em Arquivos
Estruturas de Dados Homogêneas Multidimensionais – Matrizes
Matrizes e Funções - Continuação
Slides: Prof. SIMÃO Revisão: Prof. João Fabro
Slides: Prof. João Fabro UTFPR - Curitiba
Fundamentos de Programação 1
1MF. Vectores Tipo de dado usado para representar um CONJUNTO de dados do um mesmo tipo Estrutura de dados homogénea unidimensional Ex: Ler a nota de 3.
O Portal do Estudante de Computação
Vetor de Ponteiros Exemplo de Alocação. Escrever Vetor de Vetores de floats int main() { int i, k, n; float **vetor; // vetor de vetores int *tamanho;
APRESENTAÇÃO: GIANCARLO DE GUSMÃO GONÇALVES CURSO DE C AULA 08: Tipos Estruturados.
O Portal do Estudante de Computação
Ameliara Freire O comando de entrada de dados é utilizado quando desejamos fornecer um valor para um nosso programa. Os dispositivos.
PROGRAMAÇÃO ESTRUTURADA II
Linguagem de Programação I Parte II
Computação Eletrônica
Aula 10 - Armazenamento de Dados em Registros
Linguagem de Programação
Vetor Prof. Guilherme Baião S. Silva Adaptações:
Introdução à Linguagem C
Estruturas de Dados Aula 6: Cadeias de Caracteres
PCI- Estrutura Condicional Profa. Mercedes Gonzales Márquez.
Revisão Luis Antonio Tavares
Programação de Computadores I – Arquivos
Linguagem C - Funções Automação Industrial Informática Básica
1 Introdução à Linguagem C Strings Deise Saccol Adaptado de slides das Profas. Patrícia Jaques e Mônica Py.
1 Introdução à Linguagem C Strings Deise Saccol Adaptado de slides das Profas. Patrícia Jaques e Mônica Py.
Introdução a Programação
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Estruturas Homogêneas – Vetores e Matrizes
Profa. Maria Augusta Constante Puget
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Fundamentos de Programação 1 Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Seqüências ou de Texto ”.
Fundamentos de Programação 1 Slides 6 – ‘Exercícios Gerais’ Prof. SIMÃO Jean Marcelo SIMÃO Estrutura de Dados Homogêneas “Exercícios””
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C”
Fundamentos de Programação 1 Slides 19 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Binários”.
Fundamentos de Programação 1 Slides 11 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “ Struct, Union, Enum, Typedef ”
Fundamentos de Programação1 Aula N. 01 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Introdução e elementos principais”
Fundamentos de Programação 1 Aula N. 02 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Laços de Repetição em C”
Fundamentos de Programação 1 Slides 12 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Union, Enum e Typedef ”
Fundamentos de Programação 1 Slides 7 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Funções”
Fundamentos de Programação 1 Slides 21 Prof.ª Fabiany e Prof. SIMÃO Linguagem C “Lista Encadeada”.
Fundamentos de Programação 1 Slides 22 Prof.ª Fabiany e Prof. SIMÃO Linguagem C “Lista Duplamente Encadeada - Projeto com vários Arquivos”.
Algoritmos Grupos de Slides No 2. Prof. SIMÃO Estrutura de decisão simples “Se” if end Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto.
Estruturas Homogêneas - Vetores
1 Aula 07 Strings Prof. Filipe Mutz. 2 Em nossos programas ainda não vimos como armazenar palavras e textos, e eles são muito importantes! Exemplos: Programas.
Fundamentos de Programação 1 Slides 7 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Funções” 1.
Grupos de Slides No 5. Prof. SIMÃO
Fundamentos de Programação1 Aula N. 01 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Introdução e elementos principais” 1.
Fundamentos de Programação 1 Linguagem C Slides 03 – ‘Vetores’ Prof. SIMÃO Jean Marcelo SIMÃO Estrutura de Dados Homogêneas “Vetores” 1.
Computação – Informática Aula N. 05 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Matrizes em C” 1.
Algoritmos Grupos de Slides No 7. Prof. SIMÃO Estrutura de Repetição “para - passo”” for Feito por Prof. Jean Marcelo SIMÃO e revisado por Prof. Luis Alberto.
Fundamentos de Programação 1 Slides 18 Prof. SIMÃO Jean Marcelo SIMÃO Linguagem C “Arquivos Seqüências ou de Texto ”. 1.
Fundamentos de Programação 1
Fundamentos de Programação 1
Fundamentos de Programação 1
Fundamentos de Programação 1
Fundamentos de Programação 1
Fundamentos de Programação 1
Transcrição da apresentação:

Fundamentos de Programação 1 Slides C – Número 4 Prof. SIMÃO Jean Marcelo SIMÃO Estrutura de Dados Homogêneas “vetores de números e de caracteres”

Vetores de números e de caracteres (string) Vetores de cacteres são “especiais”. Um vetor comporta uma ‘frase’, chamada no jargão da informática de string. Na verdade, nesse jargão, o vetor de caracteres é chamado (ele mesmo) de string.

Exercício Elabore um programa que recebe informações de 30 alunos, sendo estas informações o nome e as duas notas de cada um. O programa deve ainda fornecer a média de notas de cada aluno apresentando seu nome.

Solução para o exercício – v1 #include "stdio.h" //Programa de Nomes e Notas de Alunos. int main ( ) { float notas[3]; char nome[150]; // Um vetor de caracteres ou string. int cont; for ( cont = 0; cont < 30; cont = cont + 1) { fflush ( stdin ); printf ( "\n Digite o nome do aluno: \n" ); int cont2; for ( cont2 = 0; cont2 < 149; cont2 = cont2 + 1 ) { scanf ( "%c", &nome [cont2] ); if ( '\n' == nome[cont2] ) { break; } nome [cont2] = ‘\0’ printf ( "Digite as duas notas do aluno \n" ); printf ( "Primeira nota: " ); scanf ( "%f", &notas[0] ); printf ( "Segunda nota: " ); scanf ( "%f", &notas[1] ); // não esquecer de validar as variáveis... notas[2] = ( notas[0] + notas[1] ) / 2.0; printf (" \n A média do aluno " ); int cont2; for ( cont2 = 0; cont2 < 150; cont2 = cont2 + 1 ) { printf ("%c", nome[cont2]); if ( '\0' == nome[cont2] ) { break; } printf ( " é %f: \n", notas[2] ); } return 0; } Leitura do nome Mostra o nome Todo vetor de caracteres é finalizado com um caracter ‘especial’, o caracter ‘/0’.

Solução para o exercício – v.2 // VetorCaracteres2.cpp : Defines the entry point for the console application. #include "stdio.h" //Programa Nomes e notas de alunos. int main ( ) { floatnotas[3]; charnome[150]; // Um vetor de caracteres ou “string”. int cont; for ( cont = 0; cont < 30; cont = cont + 1 ) { fflush ( stdin ); printf ( "\n Digite o nome do aluno: \n" ); scanf ( "%s", nome ); printf ( "Digite as duas notas do aluno \n" ); printf ( "Primeira nota: " ); scanf ( "%f", &notas[0] ); printf ( "Segunda nota: " ); scanf ( "%f", &notas[1] ); // não esquecer de validar as variáveis... notas[2] = ( notas[0] + notas[1] ) / 2.0; printf (" \n A média do aluno %s é %f: \n", nome, notas[2] ); } return 0; } Leitura do nome via %s no scanf(). Mostra o nome O %s adiciona o caracter especial ‘/0’ automaticamente ao vetor de caracteres (i.e. a string) scanf() para com espaço

// VetorCaracteres3.cpp : Defines the entry point for the console application. #include "stdio.h" #include "string.h" // Programa Nomes e notas de alunos. int main ( ) { floatnotas [ 3 ]; charnome [ 150 ]; // Um vetor de caracteres ou string. int cont; for ( cont = 0; cont < 2; cont = cont + 1 ) { fflush( stdin ); printf ( "\n Digite o nome do aluno: \n" ); gets ( nome ); printf ( "Digite as duas notas do aluno. \n" ); printf ( "Primeira nota: " ); scanf ( "%f", &notas[0] ); printf ( "Segunda nota: " ); scanf ( "%f", &notas[1] ); // não esquecer de validar as variáveis... notas[2] = ( notas[0] + notas[1] ) / 2.0; printf ( " \n A média do aluno %s é %f: \n", nome, notas[2] ); } return 0; } Solução para o exercício – v.3 Leitura do nome via gets (). gets ( )

#include "stdio.h" #include "string.h" // Programa Nomes e notas de alunos. int main ( ) { floatnotas[3]; charnome[150]; // Um vetor de caracteres ou string. int cont; for ( cont = 0; cont < 2; cont = cont + 1) { fflush(stdin); puts ( "\n Digite o nome do aluno: \n" ); gets ( nome ); gets ( nome ); puts ( "Digite as duas notas do aluno \n" ); puts ( "Primeira nota: " ); scanf ( "%f", &notas[0] ); puts ( "Segunda nota: " ); scanf ( "%f", &notas[1] ); // não esquecer de validar as variáveis... notas[2] = ( notas[0] + notas[1] ) / 2.0; printf ( " \n A média do aluno %s é %f: \n", nome, notas[2] ); } return 0; } Solução para o exercício – v.4 puts ( )

Não esquecer da validação... vide algoritmo abaixo. Algoritmo ‘Nomes e notas de alunos’. Início Real notas[3]; Caracter nome[150]; Inteiro cont; para cont de 0 até 29 passo 1 faça Imprima (“Digite o nome do aluno: ”); Leia ( nome ); faça Imprima (“Digite a primeira nota do aluno”); Leia (nota[0]); se ( ( nota[0] 10) ) então Imprima (“Nota não válida.”); fim-se enquanto ( ( nota[0] 10 ) ) faça Imprima (“Digite a primeira nota do aluno”); Leia (nota[1]); se ( ( nota[1] 10) ) então Imprima (“Nota não válida.”); fim-se enquanto ( ( nota[1] 10 ) ) notas[2] ← notas[0] + notas[1]; Imprima (“ A média do aluno %s é %i: ”, nome, notas[2]); fim-para Fim.

ou ainda... Algoritmo ‘Nomes e notas de alunos’. Início Real notas[3]; Caracter nome[150]; Inteiro cont; para cont de 0 até 29 passo 1 faça Imprima (“Digite o nome do aluno: ”); Leia ( nome ); repita Imprima (“Digite a primeira nota do aluno”); Leia (nota[0]); se ( ( nota[0] 10) ) então Imprima (“Nota não válida.”); fim-se até ( (nota[0] >= 0 ) e ( nota[0] <= 10) ) repita Imprima (“Digite a segunda nota do aluno”); Leia (nota[1]); se ( ( nota[1] 10) ) então Imprima (“Nota não válida.”); fim-se até ( ( nota[1] >= 0 ) e ( nota[1] <= 10 ) ) notas[2] ← notas[0] + notas[1]; Imprima (“ A média do aluno %s é %i: ”, nome, notas[2]); fim-para Fim.

Caracter de finalização - 1 #include int main() { int numero = 0; int espacos = 0; char nome[100]; printf ("Digite um nome e em seguida digite '!' \n"); fflush (stdin); gets (nome); for (int cont = 0; cont < 99; cont++) { if ( nome[cont] == ' ') { espacos = espacos + 1; } if(nome[cont] == '!') { numero = cont - espacos; break; } printf("O numero de caracteres do nome digitado eh %i \n", numero); getchar(); return 0; }

Caracter de finalização - 2 #include int main() { int numero = 0; int espacos = 0; char nome[100]; printf ("Digite um nome : \n"); fflush (stdin); gets (nome); for (int cont = 0; cont < 99; cont++) { if ( nome[cont] == ' ') { espacos = espacos + 1; } if(nome[cont] == ‘\0') { numero = cont - espacos; break; } printf("O numero de caracteres do nome digitado eh %i \n", numero); getchar(); return 0; }

Exercício Elabore um programa para ler o nome e o sobrenome de dez pessoas, Imprimindo-os no seguinte formato: sobrenome, nome. -Faça uma primeira versão do algoritmo lendo cada frase de uma única vez. - Faça uma segunda versão do algoritmo lendo caracter a caracter de cada frase.. Obs: frase significa um vetor de caracteres...