Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ ВЫСОКОГО УРОВНЯ СИ. Лабораторный практикум доцента кафедры «Системы управления и компьютерные технологии» Пановой Т.В..doc
Скачиваний:
106
Добавлен:
26.03.2015
Размер:
585.22 Кб
Скачать

3. Блок-схема алгоритма:

4. Текст программы:

#include <stdio.h>

#include <conio.h>

void main()

{

const n=80; // максимальная длина строки (предложения)

char s=' ',ss,a[n];

int i=0,k=0,p=0; /* k –счетчик символов в слове; p – счетчик лишних пробелов */

printf("\nInput a sentence and a point: ");

while(i<n-1 && s!= '.')

{

ss=s;

s=getchar(); // получение символа

if (s==' ' || s== '.') // если конец слова или конец предложения, то

{

if (ss==' ') /* если предыдущий символ перед пробелом или точкой – пробел, то */

p++; // увеличение счетчика пробелов

if (ss!='.') // если не конец предложения, то

k=0; // обнуление счетчика символов в слове

}

else

{

a[k]=s; // формирование строки как массива символов

k++; // увеличение счетчика символов в слове

i++;

}

}

if (p>0 || i>=n-1)

printf("\nwrong sentence");

else

{

a[k]='\0'; // конец строки

printf("\nlast word: %s",a);

}

getch();

return;

}

5. Тестирование:

Теоретически рассчитанное выходное значение

Практически полученное выходное значение

Тест 1: входная строка - предложение:”very long string.”

last word: string

last word: string

Тест 2: входная строка - предложение:”very long string.”

wrong sentence

wrong sentence

Тест 3: входная строка - предложение:”very long string .”

wrong sentence

wrong sentence

Задача 3

1. Постановка задачи: ввести и вывести две строки; подсчитать в одной строке количество одинаковых сочетаний символов другой строки.

2. Блок-схема алгоритма:

3. Текст программы:

#include <stdio.h>

#include <conio.h>

#include <string.h>

#define n 80

int main()

{

char str1[n],str2[n],*p1,*p2;

int i=0,m=0,lstr,lsym,k=0;

printf(“\nInput string_1: “);

gets(str1);

printf(“\nInput string_2: “);

gets(str2);

printf(“\nOutput string_1: “);

puts(str1);

printf(“\nOutput string_2: “);

puts(str2);

lstr=strlen(str1);

lsym=strlen(str2);

p1=str1;

p2=str2;

while(i<=lstr)

{

if (*p1==*p2)

{

m++;

p2++;

if (m==lsym)

{

k++;

m=0;

p2=str2;

}

}

else

{

m=0;

p2=str2;

}

p1++;

i++;

}

printf(“\n%d”,k);

getch();

return 0;

}

4. Тестирование:

Теоретически рассчитанное выходное значение

Практически полученное выходное значение

Тест: входная строка 1: my kitchen, your kitten, our kite, her kittens, his cat

входная строка 2: kit

количество сочетаний символов =4

количество сочетаний символов =4

Задача 4

1. Постановка задачи: ввести и вывести строку; подсчитать и вывести количество слов в строке.

2. Блок-схема алгоритма:

3. Текст программы:

#include <stdio.h>

#include <conio.h>

#include <string.h>

void main()

{

const n=80; // ограничение символов в строке

char str[n]; // массив для хранения строки

char sym;

int k=0,count=1,length;

printf("\nInput string of symbols with a point in the end: ");

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

{

sym=getchar();

if (sym=='.')

break;

str[k]=sym;

k++;

}

str[k]='\0';

printf(“\nOutput string: “);

printf("\n%s",str);

length=strlen(str);

for (i=0;i<length;i++)

if (str[i]==' ')

count++;

printf(“\n%d”,count);

getch();

return;

}

4. Тестирование:

Теоретически рассчитанное выходное значение

Практически полученное выходное значение

Тест: входная строка: I like dogs very much.

количество слов =5

количество слов =5

2. Выполнение индивидуального задания.

1. Постановка задачи.

Разработать алгоритм и написать программу, согласно индивидуальному заданию.

2. Входные и выходные данные.

Все действующие в программе переменные должны быть объявлены.

Ввод данных с клавиатуры должен предваряться выводом соответствующего сообщения.

3. Блок-схема алгоритма.

Представить алгоритм задачи в виде блок-схемы.

4. Текст программы.

Разработанный алгоритм реализуется на языке программирования высокого уровня Cи.

5. Тестирование.

Результаты тестирования представить в виде таблицы.

IV. Требования к разработке программы.

Программа должна содержать следующие три составные части:

  • ввод исходных данных;

  • обработку данных;

  • вывод результатов.

Произвести отладку и тестирование разработанной программы.

V. Требования к защите индивидуальных заданий.

ИМЕТЬ отчет, который включает:

  1. постановку задачи;

  2. блок-схему алгоритма;

  3. текст программы;

  4. результаты тестирования.

ЗНАТЬ ответы на контрольные вопросы.

VI. Варианты индивидуальных заданий.

Разработать алгоритмы решения задач, написать программы, реализующие соответствующие алгоритмы, и выполнить их тестирование. Входная строка вводится с клавиатуры; входная и выходная строки выводятся на экран.

Вариант №1

  1. Подсчитать количество идущих подряд одинаковых символов в строке.

  2. Преобразовать строчные буквы строки в прописные (верхний регистр).

Вариант №2

  1. Подсчитать максимальное количество одинаковых, идущих подряд, символов в строке.

  2. Сделать переворот строки.

Вариант №3

  1. Подсчитать число вхождений введенного символа в строку.

  2. Удалить все, кроме одного, идущие подряд одинаковые символы в строке.

Вариант №4

  1. Подсчитать количество слов в строке.

  2. Преобразовать прописные буквы строки в строчные (нижний регистр).

Вариант №5

  1. Подсчитать количество букв латинского алфавита в строке.

  2. Объединить две введенные строки в одну.

Вариант №6

  1. Подсчитать количество цифр в строке.

  2. Вывести первое слово введенного предложения, заканчивающегося точкой.

Вариант №7

  1. Подсчитать количество прописных букв в строке.

  2. Удалить из строки самое длинное слово.

Вариант №8

  1. Подсчитать количество строчных букв в строке.

  2. Из двух введенных строк найти ту, которая содержит наибольшее количество слов.

Вариант №9

  1. Подсчитать, сколько раз в строке повторяется введенное с клавиатуры сочетание символов.

  2. Удалить из строки самое короткое слово.

Вариант №10

  1. Подсчитать количество пробелов в строке.

  2. Преобразовать прописные буквы строки в строчные (нижний регистр).

Вариант №11

  1. Подсчитать минимальное, большее одного, количество идущих подряд символов в строке.

  2. Сделать переворот строки.

Вариант №12

  1. Подсчитать число вхождений введенной подстроки в строку.

  2. Удалить все идущие подряд одинаковые символы в строке.

Вариант №13

  1. Подсчитать количество запятых в строке.

  2. Преобразовать строчные буквы строки в прописные (верхний регистр).

Вариант №14

  1. Подсчитать количество букв в строке.

  2. Объединить две введенные строки в одну.

Вариант №15

  1. Подсчитать количество разделительных знаков в строке.

  2. Вывести самое длинное слово введенного предложения, заканчивающегося точкой.

Вариант №16

  1. Подсчитать количество букв и цифр в строке.

  2. Удалить из строки самое короткое слово.

Вариант №17

  1. Подсчитать количество символов в строке.

  2. Из двух введенных строк найти ту, которая содержит самое длинное слово.

Вариант №18

  1. Подсчитать в строке количество пробелов и запятых.

  2. Удалить из строки предпоследнее слово.

Вариант №19

  1. Подсчитать количество одинаковых слов в строке.

  2. Преобразовать строчные буквы строки в прописные (верхний регистр).

Вариант №20

  1. Удалить из строки одинаковые, идущие подряд, символы.

  2. Сделать переворот строки.

Вариант №21*

  1. Подсчитать число вхождений в строку введенного с клавиатуры символа и удалить из строки все его вхождения.

  2. Удалить из строки повторяющиеся пробелы между словами.

Вариант №22*

  1. Подсчитать в строке количество слов одинаковой длины.

  2. Поменять местами первое и последнее слово в строке.

Вариант №23*

  1. Подсчитать количество цифр в строке и удалить их.

  2. Объединить две введенные строки в одну и удалить из полученной строки все слова, начинающиеся с буквы r.

Вариант №24*

  1. Подсчитать количество разделительных знаков в строке и заменить их на пробелы.

  2. Вывести через слово введенное предложение, заканчивающееся точкой.

Вариант №25*

  1. Перевернуть первое слово в строке.

  2. Удалить из строки все слова, перед которыми стоит более одного пробела.

Соседние файлы в предмете Программирование