Программирование и основы алгоритмизации

Автор работы: Пользователь скрыл имя, 06 Декабря 2011 в 16:05, курсовая работа

Краткое описание

Целью курсового проекта является развитие навыков алгоритмизации, кодирования и тестирования программной продукции. В ходе выполнения курсового проекта необходимо решить шесть задач на языке программирования Pascal по темам: циклы, одномерные массивы и матрицы, строки и файлы

Содержание работы

Введение
1 Задание 1…………………………………………………………………………………….....4
1.1 Работа программы…………………………………………………………………………...4
1.2 Назначение переменных…………………………………………………………………….4
1.3 Блок – схема алгоритма программы………………………………………………………..5
1.4 Текст программы…………………………………………………………………………….6
1.5 Тестирование……………………………………………………………………………..….6
2 Задание 2…………………………………………………………………………………….…7
2.1 Работа программы…………………………………………………………………………...7
2.2 Назначение переменных………………………………………………………………….....7
2.3 Блок – схема алгоритма программы………………………………………………………..8
2.4 Текст программы………………………………………………………………………..….9
2.5 Тестирование……………………………………………………………………………..…10
3 Задание 3………………………………………………………………………………………11
3.1 Работа программы …………………….................................................................................11
3.2 Назначение переменных………………………………………………...............................11
3.3 Блок – схема алгоритма программы………………………………………………………12
3.4 Текст программы…………………………………………………………………………...13
3.5 Тестирование……………………………………………………………………………….14
4 Задание 4……………………………………………………………………………………...14
4.1 Работа программы………………………………………………………………………….14
4.2 Назначение переменных…………………………………………………………………...14
4.3 Блок – схема алгоритма программы………………………………………………………16
4.4 Текст программы…………………………………………………………………………...17
4.5 Тестирование……………………………………………………………………………….17
5 Задание 5……………………………………………………………………………………...18
5.1 Работа программы……………………………………………………………………….....18
5.2 Назначение переменных…………………………………………………………………...18
5.3 Блок – схема алгоритма программы………………………………………………………19
5.4 Текст программы…………………………………………………………………………...20
5.5 Тестирование…….………………………………………………………………………….21
Задание 6……………………………………………………………………………………......22
6.1 Работа программы………………………………………………………………………......23
6.2 Назначение переменных…………………………………………………………………...23
6.3 Текст программы …………………………………………………………………………..24
6.4 Тестирование …………………………………………………………………………........27
Заключение……………………………………………………………………………………..29

Содержимое работы - 1 файл

Курсак ту.doc

— 627.00 Кб (Скачать файл)
align="justify">       for j:=1 to M do

        write('M[',i,'j','] = ', Mas[i,j]);

       writeln;

      end;

     writeln;

     Summa:=0;

     Max_S:=0;

     for j:=1 to M do

      begin

       for i:=1 to N do Summa:=Summa+Mas[i,j];

       write(Summa,' ');

       if Summa>Max_S then Max_S:=Summa;

       end.

     writeln;

     writeln('Max = ',Max_S);

     readln;

     End. 

      2.5 Тестирование

      При вводе количество элементов массивов N, равном 3, программа работает корректно (1). При вводе количества элементов массивов M , равном 4, программа работает корректно (2). При вводе произвольного значения элементов программа также выполняет свой алгоритм (3).

      1:

      2:

3:

      3 Задание №3

      Вводится  строка произвольного текста. Удалить  из нее первое и последнее  слово (слова разделены пробелами).

      3.1 Работа программы

     Вводятся  две строки произвольного текста. Поменять местами их первые слова (слова разделены пробелами)

      3.2 Назначение переменных

      Назначение  переменных, используемых в задаче приведено в таблице 4

           Таблица 4 – Назначение переменных

Переменная Тип Назначение
ind integer Индекс символа
i integer элемент строки
s string Строка текста
 
 
 
 
 

      3.3 Блок – схема алгоритма программы 

     
     
     

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

     program Zadacha3;

     uses crt;

     var     s1,s2,slovo1,slovo2:string;

             i,n:integer;

     begin

     clrscr;

     writeln('ўўҐ¤ЁвҐ бва®Єг');

     readln(s1);

     writeln('ўўҐ¤ЁвҐ бва®Єг');

     readln(s2);

     n:=pos(' ',s1);

     slovo1:=copy(s1,1,n-1);

     delete(s1,1,n);

     n:=pos(' ',s2);

     slovo2:=copy(s2,1,n-1);

     delete(s2,1,n);

     s1:=slovo2+' '+s1;

     s2:=slovo1+' '+s2;

     writeln(s1);

     writeln(s2);

     readln;

     end.

      3.5 Тестирование

Когда последнее слово строки оканчивается на “k”, программа выдает верный ответ (1). При наличии между словами, впереди и после строки неопределенного количества пробелов, программа также успешно выполняет свой алгоритм (2).

      1:

     2:

      4 Задание №4

     Вводится  строка произвольного текста.  Удвоить  в ней все буквы «А» (прописные или заглавные).

      4.1 Работа программы

      Вводится  строка, произвольного текста. В цикле идет подсчет и удвоение всех букв “А”. В конце работы программы выводится на экран все буквы  “А” в удвоенном количестве.

      4.2 Назначение переменных

      Назначение  переменных, используемых в задаче приведено в таблице 4

Таблица 4 – Назначение переменных

Переменная Тип Назначение
S string Строка 
opn integer Считает отрывающиеся скобки
cls integer Считает закрывающиеся  скобки
i integer Элемент строки
 
 
 
 
 
 
 
 

      4.3 Блок – схема алгоритма программы 

        
 

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

     program Zadanie_4;

     Uses CRT;

     var stroka: string;

         temp: string;

         i: integer;

     Begin

     ClrScr;

     writeln('Vvedite striku: ');

     readln(stroka);

     temp:='';

     for i:=1 to length(stroka) do

      if (stroka[i]='A') or (stroka[i]='a')

     then temp:=temp+stroka[i]+stroka[i]

      else temp:=temp+stroka[i];

     writeln('Novaya stroka: ', temp);

     readln;

      4.5 Тестирование

      Вводится  строка произвольного текста, имеющая  в себе буквы “а” (1). При вводе текста, программа успешно выполняет свой алгоритм (2).

      1:

      2:

 

      5 Задание №5

     Дан текстовый файл с произвольным именем. Создать файл B.TXT, в который поместить  первую половину строк исходного  файла и C.TXT, в который  поместить  оставшуюся половину. Вывести на экран  первую и последнюю строку исходного файла.

      5.1 Работа программы

      Вначале происходит инициализация и создание файлов с первого по третий. Далее поочередно считываем строки из первого и второго файла и записываем их в третий (строки из первого и второго файла помещаются в хронологическом порядке). Подсчитываем количество строк в третьем файле, максимальный и среднюю длину строки. Закрываем файлы.

      5.2 Назначение переменных 

      Назначение  переменных, используемых в задаче приведено в таблице 5

           Таблица 5 – Назначение переменных

Переменная Тип Назначение
file1 text исходный текстовый  файл для чтения
file2 text исходный текстовый  файл для чтения
file3 text Хранит чередующиеся числа из 1ого и 2ого файлов
s, s1 string Строки 
count integer Количество строк в файле
max integer Максимальная  длина строки
sr integer Средняя длина  строки
 
 
 
 
 
 
 

      5.3 Блок – схема  алгоритма программы

      

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

     program Zadanie_5;

     Uses CRT;

     var  F1: Text;

          F2: Text;

          F3: Text;

          T: string;

          i: integer;

          count: integer;

          N: integer;

          First_stroka: string;

          Second_stroka: string;

     Begin

     ClrScr;

     Assign(F1, 'File1.txt');

     Reset(F1);

     count:=1;

     readln(F1,T);

     First_stroka:=T;

     while not(Eof(F1)) do

      begin

       readln(F1,T);

       count:=count+1;

      end;

     Second_stroka:=T;

     Close(F1);

     N:=round(count/2);

     Assign(F1, 'File1.txt');

     Reset(F1);

     Assign(F2, 'B.txt');

     Rewrite(F2);

     Assign(F3, 'C.txt');

     Rewrite(F3);

     i:=0;

     while not Eof(F1) do

      begin

       i:=i+1;

       readln(F1,T);

       if i<=N then writeln(F2,T)

                else writeln(F3,T);

      end;

     Close(F1);

     Close(F2);

     Close(F3);

     writeln('Pervaya stroka: ', First_stroka);

     writeln('Vtoraya stroka: ', Second_stroka);

     readln;

     end.

      5.5 Тестирование

      Программа выполняет заданный алгоритм.

      

      

        

        
 

      6 Задание №6

     Разработать библиотечный модуль, содержащий следующие подпрограммы (процедуры или функции) для работы со строками:

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

     Б. Заменить в заданной строке все цифры  на пробелы.

     В. Выделить первое слово заданной строки.

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

      6.1 Работа программы

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

    • Процедура подсчета количества слов в строке.

      В цикле функция считает количество символов отличных от пробела, после нахождения пробела счетчик количества слов увеличивается на 1 и так до завершения цикла.

    • Процедура поиска слова по номеру в строке.

      В цикле процедура добавляет каждый символ строки s к строке s1. При нахождении символа пробела увеличивается значение счетчика слов. Проверяется равен ли счетчик числу введенному пользователем. Если числа равны то цикл останавливается и s1 выводится на экран это и есть искомое слово, если числа не равны то строка s1 опустошается. Цикл продолжается. 

    • Процедура удаления слова с заданным номером в строке.

      В цикле процедура считает количество слов в строке. После того как введенное число пользователем будет равно с счетчиком слов. Устанавливается первая переменная которая послужит номером буквы в строке с которой следует стирать символы. Дальше ищется первый пробел после этого индекса, и количество шагов поиска букв будет равно длине слова. Выполняется функция delete(). Строка выводится на экран. 

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

      6.2 Назначение переменных

      Назначение  переменных, используемых в подпрограммах, приведено в таблице 6.

            Таблица 6 – Назначение переменных подпрограмм модуля.

Информация о работе Программирование и основы алгоритмизации