Рядкові величини в С++ Максименко Марина Миколаївна вчитель інформатики вищої категорії, вчитель-методист Конотопської гімназії Конотопської міської ради.

Презентация:



Advertisements
Похожие презентации
Типи даних. Змінні в С++. Присвоєння значень змінним Максименко Марина Миколаївна вчитель інформатики вищої категорії, вчитель-методист Конотопської гімназії.
Advertisements

Виконання простих операцій. Математичні операції мови С++. Уведення даних Максименко Марина Миколаївна вчитель інформатики вищої категорії, вчитель-методист.
Впорядкування масивів Максименко Марина Миколаївна вчитель інформатики вищої категорії, вчитель- методист Конотопської гімназії Конотопської міської ради.
Основи алгоритмізації та програмування Надання значень величинам. Вказівки присвоєння та введення.
Вказівники Вказівник (або покажчик) – особливий тип даних, значенням якого є адреса певного байта оперативної памяті. Значення покажчика - це беззнакове.
Символьні та рядкові величини. Для роботи з символами, словами і рядками в Паскалі існують типи даних - CHAR і STRING, що являють собою символи в кодуванні.
8 Практична робота 11 Налагодження готової програми За новою програмою Урок 38.
Табличний процесор (електронні таблиці - ЕТ) Microsoft Excel.
Рядкові величини Рядок це послідовність символів кодової таблиці ЕОМ. При використанні у виразах рядок охоплюється з двох сторін апострофами. Кількість.
Рядкова величина – послідовність довільних символів, що охоплюється з обох боків апострофами. Для опису рядкових величин використовують ідентифікатор.
Класи пам'яті даних. Клас пам'яті, час існування та видимість об'єкта Кожен обєкт програми (змінна, функція,...) має свій тип і клас памяті. Тип визначає.
Введення даних і виведення результатів. Використання присвоєння Нехай змінній а потрібно надати початкове значення 5, змінній b 10, змінній с -2,5, змінній.
Основи алгоритмізації та програмування Опрацювання табличних величин. Заняття 1. Алгоритми формування масивів, виведення масивів, зміни значень елементів.
Текстові файли Приклади використання. Текстові файли призначені для зберігання символів Для опису текстової файлової змінної використовується тип Text.
Файлові операції у С++ Максименко Марина Миколаївна вчитель інформатики вищої категорії, вчитель- методист Конотопської гімназії Конотопської міської ради.
Обробка символьних рядків в мові С++. План 1.Загальні відомості про рядковий тип даних. 2.Рядок як параметр функції.
Типи даних мови Visual Basic та їх опис. Опис величин Величина - це об'єкт, який має стале або змінне значення. Основні характеристики величин: ім'я,
Функції з неоголошеними параметрами Інколи у функції потрібно передати деяке число фіксованих параметрів та невизначене число додаткових. В цьому випадку.
1. Назвіть базові типи даних у Паскалі. 2. Які дії можна виконувати з числовими величинами? 3. Що таке масив? 4. Яка різниця між функцією та процедурою?
Формула – це основний інструмент аналізу даних. За допомогою формул можна виконувати математичні дії, порівнювати, обєднувати дані як у межах одного робочого.
Транксрипт:

Рядкові величини в С++ Максименко Марина Миколаївна вчитель інформатики вищої категорії, вчитель-методист Конотопської гімназії Конотопської міської ради Сумської області 2008 р.

Зміст Оголошення символьних рядків Ініціалізація символьного рядка Уведення та виведення рядків Передавання рядка у функції Приклади Завдання Вказівники і символьні рядки Функції для роботи з рядками Приклади Завдання Література

Оголошення символьних рядків Символьний рядок у С++ являє собою масив елементів типу char, який закінчується символом \0 (NULL). Масиви символів оголошуються так: char назва_рядка[довжина_рядка]; Наприклад: char a[32]; const int len=80; char str[len]; Оскільки рядки є масивами символів, то назва рядка є вказівником на його перший елемент. Увага! Символ NULL є одним з символів рядка. Тобто a – масив з елементами, пронумерованими a[0]…a[31] У програмах на С++ зустрічаються окремі символи, взяті в одинарні лапки (F), і символи у подвійних лапках (F). F – символьна константа, 1 байт пам'яті; F – рядкова константа, 2 байти пам'яті.

Ініціалізація символьного рядка С++ дозволяє ініціалізувати масиви при оголошенні: const char text[]=Ми вивчаємо програмування; char slovo[11]=University; char sl[]={U,n, i,v,e,r,s,i,t,y,\0}; char tit[32]=Hello, C++; Якщо кількість символів, що присвоюється рядку, менша від розміру масиву, більшість компіляторів С++ присвоюють символи NULL елементам рядкового масиву, що залишаються. Пізніше, в програмі, у цей масив можна буде вмістити довший рядок, обов'язково помістивши в кінці символ \0.

Уведення та виведення рядків Увести весь масив символів можна за допомогою команди: cin>>text; Увага! Якщо рядок даних містить символ пропуску, то ця команда зчитає дані лише до першого пропуску. Щоб зчитати весь рядок до символу вводу, необхідно застосувати команду: cin.get(str,80); Увага! Якщо використати цю команду двічі, то другій рядок не зчитається. Щоб уникнути таку помилку потрібно використати наступну серію команд: cin.get(str,80); cin.get(); cin.get(a,32); або команду cin.getline(str, 80,\n) Дія команди cin.getline(str, 80,\n) припиняється у випадках: Якщо зустрічається символ-обмежувач \n; Якщо уводиться вказівник кінця файлу; Якщо кількість уведених символів 79 (80-1). Аргумент функції \n можна не вказувати (значення за замовчуванням): cin.getline(str, 80) Виведення значення рядка на екран: cout<<text;

Передавання рядка у функції Передавання символьного рядка у функцію подібне до передавання будь-якого масиву як параметру. Наприклад: void show-ryad(char ryad[]) Не треба указувати розмір рядка. Замість цього функція може визначити останній елемент, просто знайшовши в масиві символ NULL

Приклади Ініціалізація рядків при оголошенні: #include int main() { char tit[32]=Hello, C++; char les[]=Simvolni ryadki; cout<<Book:<<tit<<endl; cout<<Lesson:<<les<<endl; getch(); return 0;} Передавання рядків у функції: #include void show_ryad(char ryad[]) {cout<<ryad<<endl;} int main() {show_ryad(Hello, C++); show_ryad(Simvolni ryadki); getch(); return 0;}

Приклади (продовження) Визначить кількість символів у рядку: #include int str_len(char ryad[]) {for (int i=0; ryad[i]!=\0; i++); return (i);} int main() {char tit[32]=Hello, C++; cout<<dlina tit=<<str_len(tit)<<endl; char les[]=Simvolni ryadki; cout<<dlina les=<<str_len(les)<<endl; getch(); return 0;} Заповнити рядок латинськими літерами та вивести його на екран: #include int main() { char abc[27]; char let; int i; for (let=A, i=0; let<=Z; let++,i++) abc[i]=let; abc[i]=\0; cout<<abc<<endl; getch(); return 0;}

Завдання 1. Виведіть маленькі літери латинського алфавіту. 2. Увести рядок символів та визначити його довжину 3. Увести фразу і вивести її в зворотному порядку 4. Нехай задано рядок Skoro budut kanikuli. Визначить її довжину. Вивести на екран друге слово.

Вказівники і символьні рядки Оголошення char *b; задає змінну b, що може містити адресу деякого об'єкта. Однак у цьому випадку компілятор не резервує місце для зберігання символів і не ініціалізує змінну b конкретним значенням. Зробить це можна, наприклад, присвоївши b вказівник на вже існуючий символьний масив або динамічно виділивши память під новий масив: char r[]=Hello, world!; char *b; b=&r[7]; *b=W; //b=World! char *s; s=new char[50]; cin>>s; int d=0; while (*s++)d++; cout<<d; delete[] s; //увести рядок та визначити його довжину

Функції для роботи з рядками Заголовковий файл strlen(s)кількість елементів у рядкузастосовується у виразах strcat(s1,s2)з'єднання рядківрезультат присвоює змінній s1 strncat(s1,s2,n)до змінної s1 додає перших n символів рядка s2 команда strcmp(s1,s2)Порівнює рядки. Повертає 0, якщо рядки рівні, число мене від нуля, якщо s1 s2 застосовується у виразах

Функції для роботи з рядками Заголовковий файл strcpy(s1,s2)копіює символи з рядка s2 в рядок s1 команда strncpy(s1,s2,n)копіює перших n символів рядка s2 в рядок s1 команда strchr(s1,a)визначає перше входження символу у рядок s1 так: повертає рядок, який починається від першого входження заданого символу до кінця рядка s1 застосовується у виразах strrchr(s1,a)визначає останнє входження символу у рядок s1 застосовується у виразах

Функції для роботи з рядками Заголовковий файл strspn(s1,s2)Визначає номер першого символу, який входить у рядок s1, але не входить у рядок s2 застосовується у виразах strtok(s1,s2)визначає частину рядка s1, яка закінчується перед першим однаковим символом рядків s1 та s2 застосовується у виразах strset(s1,a, n)вставляє n разів заданий символ перед рядком s1 застосовується у виразах

Функції для роботи з рядками Заголовковий файл strupr(s1)перетворює усі малі літери рядка у великі команда strlwr(s1)перетворює усі великі літери рядка у малі команда strrev(s1)записує рядок у зворотному порядку команда

Приклади char lviv[]=Львівська політехніка; un[30]=НУ; r1[30]=; char *p; int n;

Завдання 1. Увести рядок символів за допомогою вказівника і виділення динамічної пам'яті та визначити його довжину 2. Увести рядок символів та визначити його довжину з використанням функції strlen 3. Уведіть фразу х кількох слів і виведіть її в зворотному порядку 4. Нехай задано рядок Skoro budut kanikuli. Визначить її довжину. Вивести на екран друге слово. 5. Увести фразу, вилучіть з неї пропуски та коми, інші символи продублювати 6. Увести введені з клавіатури два слова і порівняти їх 7. Написати програму для підрахування кількості входжень у заданий текст символу x 8. Написати програму, яка перевірятиме, чи задане слово читається однаково з початку в кінець, і з кінця до початку

Література Лєхан С.Ф. Інформатика С++. Спецкурс класи. – Шепетівка; Аспект, Глинський Я.М., Анохін В.Є., Ряжська В.А. С++ і С++ Builder. Навчальний посібник. – Львів: СПД Глинський, Глушаков С.В., Смирнов С.В., Коваль А.В. Практикум по С++. – Харьков: Фолио, Павловская Т.А. С/С++. Программирование на языке высокого уровня. – СПб.: Питер, 2003 Лисенко Т.І. Поглиблене вивчення програмування в школі. – К.:ТОВ Редакція Комп'ютер, 2007.