Отчёт по семинару 2 (1168196)
Текст из файла
ЗАДАНИЕ 1
Условие
Вычислить, сколько слов встречается в тексте до первой точки.
Состав данных
Имя | Смысл | Тип | Структура |
Исходные данные | |||
text | исходная строка | строковый (char[]) | массив символов размера 1024 |
Промежуточные | |||
l | длина исходной строки | целый | простая переменная |
i | номер рассматриваемого символа | целый | простая переменная |
Выходные данные | |||
count | количество слов до первой точки | целый | простая переменная |
Блок-схема алгоритма
Программа на С++
#include "stdafx.h"
#include <iostream>
int main()
{
setlocale(LC_ALL, "Russian");
char text[1024];
printf_s("Введите строку: ");
scanf_s("%[^\n]s", text, 1024); //считываем строку, включая пробелы
int l = strlen(text); //длина строки
int i = 0; //начнем с 0-го символа
int count = 0; //кол-во слов
while (i < l - 1 && text[i + 1] != '.') //пока не дойдем до конца строки или первой точки
{
if (text[i] == ' ') //если пробел или точка
count++; //одно слово считано
i++;
if (text[i + 1] == '.') //если дальше точка
count++; //то учитываем еще одо слово перед концом цикла
}
printf_s("Слов до первой точки: %d\n", count);
system("pause");
return 0;
}
ЗАДАНИЕ 2
Условие
Для каждой последовательности, А и В, выяснить, какое из слов –первое или последнее – имеет большую длину.
Состав данных
Функция main
Имя | Смысл | Тип | Структура |
Исходные данные | |||
A, B, C | исходная последовательности | строковый (char[]) | массив символов размера 1024 |
Выходные данные | |||
A, B, C | преобразованные последовательности | строковый (char[]) | массив символов размера 1024 |
Имя | Смысл | Тип | Структура |
Исходные данные | |||
a | входная строка | строковый (char*) | массив символов |
Промежуточные | |||
i | номер рассматриваемого символа | целый | простая переменная |
len | длина строки s | целый | простая переменная |
f | длина первого слова | целый | простая переменная |
l | длина последнего слова | целый | простая переменная |
Выходные данные | |||
f | переменная, отражающая результат: 0 – первое слово длиннее 1 – последнее слова длиннее 2 – оба слова одной длины | целый | простая переменная |
Функция first_last_longer
Блок-схема алгоритма
Функция first_last_longer
Функция main
Программа на С++
#include "stdafx.h"
#include <iostream>
//функция, определяющая, первое или последнее слово больше
int first_last_longer(char* a)
{
int f = 0, l = 0; //длины первого и послднего
int len = strlen(a);
//находим длину первого
int i = 0;
while (i < len && a[i] != ' ') //пока не дойдем до конца или не встретим первый пробел
{
i++;
f++;
}
//длину последнего
i = len - 1;
while (i >= 0 && a[i] != ' ')
{
i--;
l++;
}
//сравниваем и выдаем результат
if (f > l) //первое больше - 0
return 0;
else if (f < l) //последнее больше - 1
return 1;
else //равны - 2
return 2;
}
int main()
{
setlocale(LC_ALL, "Russian");
char A[1024], B[1024];
printf_s("Введите строку A: ");
gets_s(A);
printf_s("Введите строку B: ");
gets_s(B);
int resA = first_last_longer(A);
int resB = first_last_longer(B);
printf_s("\nA: ");
if (resA == 0)
printf_s("первое длиннее\n");
else if (resA == 1)
printf_s("последнее длиннее\n");
else
printf_s("первое и последнее одинаковой длины\n");
printf_s("\nB: ");
if (resB == 0)
printf_s("первое длиннее\n");
else if (resB == 1)
printf_s("последнее длиннее\n");
else
printf_s("первое и последнее одинаковой длины\n");
system("pause");
return 0;
}
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.