Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум ОА Цымбалюк.doc
Скачиваний:
6
Добавлен:
29.08.2019
Размер:
2.1 Mб
Скачать
  1. Написать программу для решения задачи:

  1. Дана строка символов, разделённая одним пробелом, подсчитать количество слов в строке.

  2. Дана строка символов, разделённая одним или несколькими пробелами, подсчитать количество слов в строке.

  3. Из данной строки получить новые заменив в ней символы, стоящие после первой "*" символом"-" иначе вывести сообщение.

  4. Выдать номер позиции строки, в которой впервые встречается символ ‘d’.

  5. Из данной строки получить новую, заменив "sbc" на "abed".

  6. Подсчитать, сколько слов начинается на ‘ат’.

  7. Из данной строки получить новую, удалив все символы, не являющиеся буквами латинского алфавита.

  8. Найти наименьшую длину слова в заданной строке.

  9. Найти самое длинное слово в строке.

  10. Выяснить, есть ли в данной строке символы, входящие в слово clear.

  11. Подсчитать, сколько слов начинается с последней буквы первого слова.

  12. Определить сколько раз в строке содержится заданное слово.

Сдайте работу преподавателю

Вопросы для контроля и самоконтроля:

  1. Встроенный строковый тип.

  2. Класс string

  3. Минимальный набор операций, которыми должен обладать класс string

  4. Функции работы со строками Задание №7. Функции

Цель занятия: Научиться создавать собственные функции

Студенты должны знать:

уметь:

Теория.

Функция – это программный модуль, решающий некоторую задачу. Несколько функций могут быть объединены в библиотеку. Синтаксис описания функции: тип_результата имя_функции (список_аргументов) {объявление локальных переменных; операторы; return возвращаемое значение}

Пример1. Заполнение экрана строкой С++

Void fill_screen (void)

{

int n=80*25/5;

for (int i=1;i<=n; i++)

cout <<”C++! ”;

return;

} Вызов функции: fill_screen();

Пример2. Нахождение минимального числа из трёх предложенных

float minim(float a, float b, float c)

{ float m=a;

If (b<m) m=b;

If (c<m) m=c;

return m;}

float x=2.5, y=3.1, z=5.8;

float min;

min = minim (x,y,z);

cout << “min of them = “ << min;

Пример3. Прототипы функции – это её опережающее объявление. В прототипе указывается только имя функции, тип результата и типы аргументов.

#pragma kkk

#include <conio.h>

#include <iostream.h>

#include <math.h>

int factorial (int); //прототип функции factorial

#pragma v_f

int main ()

{ const int n=10;

for (int i=0; i<=n; i++)

cout << i<< “! = “ << factorial (i) <<endl;

getch();

return 0;

}

int factorial (int n)

{ if (n<0)

{ cout <<”Error: n<0!”; return -1; }

int r=1.;

for (int i=1; i<=n; i++)

r*=i;

return r;

}

Задание.

1. Создайте консольное приложение.

  1. Задание для самостоятельного выполнения:

  1. А). Дайте краткое описание функций:

  1. int P(int x1, int x2) {int x3=x2*x1; return x3}

  2. int S(int x, int y) {if (x>y) return y; else return x;}

  3. void myprint (int x) {cout <<”x=”<<x; return;}

  4. void say_yes (void) {cout <<”YES!”; return}

  5. void repeat (char symbol) {for (int i=0;i<20;i++) cout <<symbol; return}

  6. void minpow (float x, int k) {float y=pow(x,k); cout <<y; return;}

Б). Найдите ошибки в инструкциях

  1. int F(int k) { int k=0; return k;}

  2. float G(int x, float y) {return x+y;}

  3. int summa (int a,b) {int c=a+b; return c;}

  4. void myprintf(int k) {cout << “k=”<<k; return k;}

  5. int raznost (int n, int m){int result=m-n; return;}

  6. void S{int,int) {cout <<int<<int; return;}