Отчет к лабораторным работам по "Программирование"

Автор работы: Пользователь скрыл имя, 27 Декабря 2011 в 19:33, лабораторная работа

Описание

Проверить 5-символьные слова на присутствие в них цифр, слова с цифрами распечатать, найти слова, которые повторяются в тексте. Найти первое цифровое слово и возвести его значение в куб.

Содержание

Условие: 3
Таблица спецификаций глобальных данных 3
Математическая модель 3
Алгоритм 4
Таблица тестов 7
Исходный текст программы 8
Выполнение программы 10

Работа состоит из  1 файл

программирование 5.docx

— 56.68 Кб (Скачать документ)

Министерство  образования и науки Российской Федерации

ИРКУТСКИЙ ГОСУДАРСТВЕНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

факультет кибернетики

кафедра Вычислительной техники

ОТЧЕТ

к лабораторным работам по дисциплине

программирование
Работа  со строками 

(наименование  темы) 

Выполнил  студент группы ИТб-11-1       Белясников С. А.
  шифр  группы   подпись   Фамилия И. О.
Проверил         Китаева О. И.
  должность   подпись   Фамилия И. О.

Иркутск 2011 г.

 

 

Оглавление

РАБОТА СО СТРОКАМИ. 3

    Условие: 3

    Таблица спецификаций глобальных данных 3

    Математическая модель 3

    Алгоритм 4

    Таблица тестов 7

    Исходный текст программы 8

    Выполнение программы 10 
     

РАБОТА  СО СТРОКАМИ.

     3 вариант. Проверить 5-символьные слова на присутствие в них цифр, слова с цифрами распечатать, найти слова, которые повторяются в тексте. Найти первое цифровое слово и возвести его значение в куб.

     Условие:

     Задан текст, состоящий из слов, записанных через пробелы или запятые. Длина  текста не больше 255 символов. В тексте могут быть использованы любые символы. Словом считать последовательность символов, не содержащую пробел. Необходимо введенный текст вывести на экран до и после его преобразования.

     Таблица спецификаций глобальных данных

     
Имя переменной Назначение Тип ОДЗ Единицы измерения
st Текст String 1..255 символов  
mas Массив слов Array 5 символов  
i Счётчик Integer 1..255  
m Счётчик Integer 1..255  
j Доп.перем Integer 1..255  
k Позиция символа Integer 1..255  
x Цифровое слово Integer 0..99999  
hasdigit Наличие числа Boolean False, true  
digit Наличие цифрового  слова Boolean False, true  
code Успех преобразования строки в число Integer 0,1  

     Математическая модель 

      Алгоритм

     Таблица тестов 

     
  Входные данные Выходные  данные Примечание
st Mas Mas с цифрой Mas с одинаковыми X  
1 Unit 12 qwert unit prod2 135 Unit 12 qwert unit prod2 135 Prod2 Unit 144  
 

     Исходный  текст программы 

         program Lab5_1; 

         {$APPTYPE CONSOLE} 

         uses

           SysUtils; 

         Var

           st:string;

           mas:array[1..20] of string;

           i,m,n,j,k,x:integer;

           hasdigit,digit:Boolean;

           code:integer;

         begin

           hasdigit:=False;

           write('st=');

           readln(st);

           j:=1;

           x:=-1;

             repeat

             k:=pos(' ',st);

             if k<>0 then

               begin

                 mas[j]:=copy(st,1,k-1);

                 st:=copy(st,k+1,length(st));

               end

                 else

                   mas[j]:=st;

                 inc(j)until k=0;

                 for i:=1 to j-1 do

                   write(mas[i],' ');

                   Writeln;

                   Writeln('_________________________');

                 for i:=1 to j-1 do

                   begin

                     if (Length(mas[i])=5) then

                       begin

                         for m:=0 to 9 do

                           begin

                             if (Pos(IntToStr(m),mas[i])>=1) and (Pos(IntToStr(m),mas[i])<=5) and (hasdigit=false) then

                               begin

                                 hasdigit:=true;

                                 write(mas[i],' ');

                               end;

                           end;

                       end;

                       hasdigit:=false;

                   end;

               writeln;

               Writeln('_________________________');

                 for i:=1 to j-1 do

                   begin

                     for m:=i+1 to j-1 do

                       begin

                         if mas[i]=mas[m] then

                           begin

                             write(mas[i],' ');

                           end;

                       end;

                   end;

               writeln;

               Writeln('_________________________');

                 for i:=1 to j-1 do

                   begin

                     Val(mas[i],x,code);

                     if (code=0) and (digit=false) then

                       begin

                         x:=x*x;

                         Writeln(x);

                         digit:=True;

                       end;

                   end;

               readln;

    end.

     Выполнение  программы 

     

Информация о работе Отчет к лабораторным работам по "Программирование"