Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Программирование на языке высокого уровня

Работа добавлена на сайт samzan.net:


Министерство образования РФ

              Томский Государственный Университет Систем Управления и

                                                       Радиоуправления      

                                                               (ТУСУР)

Кафедра КСУП

Отчет

О лабораторной работе № 4 (Задачи №2 и №12)

По дисциплине «Программирование на языке высокого уровня»

                                                                                                                       

                                                                                                    

                                                                                                      Выполнил студент гр.585-2

                                                                  Миронов И. В.

                                                                                                      Проверил ст.преп. каф. КСУП      

                                                                                                      Потапова Е. А.

                           

Томск 2005         


Содержание

  1.  Содержание --------------------------- 2 стр.
  2.  Введение ----------------------------- 3 стр.
  3.  Задача №2:

 Основная часть ----------------------- 4–6 стр.

  •  Условие  задачи ------------------ 4 стр.
    •  Описание переменных -------------- 4 стр.
    •  Пошаговое описание алгоритма ----- 4 стр.
    •  Блок-схема ----------------------- 5 стр.
    •  Текст программы ------------------ 6 стр.
  1.  Задача №12:

 Основная часть ----------------------- 7–9 стр.

  •  Условие  задачи ------------------ 7 стр.
    •  Описание переменных -------------- 7 стр.
    •  Пошаговое описание алгоритма ----- 7 стр.
    •  Блок-схема ----------------------- 8 стр.
    •  Текст программы ------------------ 9 стр.
  1.  Вывод -------------------------------- 10 стр.

ВВЕДЕНИЕ

Строки.

       Тип string (строка) в Турбо Паскале широко используется для обработки текстов. Количество символов в строке-переменной может меняться от 0 до N, где N- максимальное количество символов в строке. Значение N определяется объявлением типа string [N] и может быть любой константой порядкового типа, но не более 255.

        Действия над строками и символами реализуются с помощью описываемых ниже стандартных процедур и функций:

        concat (s1 [,s2,...,sN] ) – функция типа string; возвращает строку, представляющую собой сцепление строк-параметров s1,s2,...,sN.

        cоpy (st, index, count) – функция типа string; копирует из строки st count символов, начиная с символа с номером index.

        delete (st, index, count) – процедура; удаляет count символов из строки st, начиная с символа с номером index.

        insert (subst, st, index) – процедура; вставляет подстроку subst в строку st, начиная с символа с номером index.

        length (st) – функция типа integer; возвращает длину строки st.

        pos (subst, st) – функция типа integer; отыскивает в строке st первое вхождение подстроки subst и возвращает номер позиции с которой она начинается; если подстрока не найдена, возвращается ноль.

        str (x [: windth  [:decimals]], st) – процедура; преобразует число Х любого вещественного или целого типов в строку символов st так, как это делает процедура writeln перед выводом; параметры width и decimals, если они присутствуют, задают формат представления: width определяет общую ширину поля, выделенного под соответствующее символьное представление вещественного или целого числа Х, а decimals – количество символов в дробной части (этот параметр имеет смысл только в том случае, когда Х – вещественное число).

        val (st, x, code) – процедура; преобразует строку st во внутреннее представление целой части или вещественной переменной Х, которой определяет тип этой переменной; параметр code содержит ноль, если преобразование прошло успешно, и тогда в Х помещается результат преобразования, в противном случае он содержит номер позиции в строке st, где обнаружен ошибочный символ, и в этом случае содержимое Х не меняется.

         upcase (ch) – функция типа char; возвращает для символьного выражения ch, которое должно представлять собой строчную латинскую букву, соответствующую заглавную букву; если значением ch является любой другой символ, функция возвращает его без преобразования.

ЗАДАЧА №2

Основная часть.

1). Условие задачи:

2. Для заданных трех строк S1, S2 и S3 определить какая из этих строк

является палиндромом.

2). Описание переменных, используемых в программе:

 Str1[i],str2[i],str3[i] – символьный массив.

 s1,s2,s3 – строки.

 d1,d2,d3 – переменные, определяющее симметричность строк.

 n – кол-во символов строке.

 i – счетчик цикла.

3). Пошаговое описание алгоритма:

Шаг №1 выводим последовательно три строки символов;

Шаг №2 проверяем каждую строчку на симметричность(т.е. палиндром), если первый член равен n-ом, второй равен (n-1)-ому то строка - полиндром;

i,n,d1,d2,d3 – целочисленные переменные. Для этих переменных выбираем тип integer, так как нужны целочисленные значения.

str[i],str[i],str[i] – строковые массивы.

s1,s2,s3 – строковые переменные.

Блок – схема:

ТЕКСТ ПРОГРАММЫ:

Uses Crt;

var

str1,str2,str3:array [1..100] of char;

  s1,s2,s3:string;

  i,n:integer;

  d1,d2,d3:integer;

BEGIN

clrscr;

randomize;

d1:=1;d2:=1;d3:=1;

write('Введите n - ');

readln(n);

write('1-ая строка: ');

for i:=1 to n do

begin

str1[i]:=chr(65+random(2));

s1:=s1+str1[i];

end;

write(s1);

for i:=1 to n do if  (str1[i]=str1[n-i+1]) then d1:=d1*1 else d1:=d1*0;

if d1=1 then write ('-Палиндром');

write('2-ая строка: ');

 for i:=1 to n do

begin

str2[i]:=chr(65+random(2));

s2:=s2+str2[i];

end;

write(s2);

for i:=1 to n do if (str2[i]=str2[n-i+1]) then d2:=d2*1 else d2:=d2*0;

if d2=1 then write ('-Палиндром');

write('3-я строка: ');

 for i:=1 to n do

begin

str3[i]:=chr(65+random(2));

s3:=s3+str3[i];

end;

write(s3);

for i:=1 to n do if (str3[i]=str3[n-i+1]) then d3:=d3*1 else d3:=d3*0;

if d3=1 then write ('-Палиндром);

readln;

END.

{использование доп. библиотеки}

{присвоение переменным str1[i],str2[i],str3[i] значение char – строковой массив}     

{присвоение переменным s1,s2,s3 значение string}     

{присвоение переменным i,n,d1,d2,d3 значение integer}

{очистка экрана}

{Вводим n}

{Выводим произвольно первую строку на экран}

{Если строка симметрична, то она палиндром}

{Выводим произвольно вторую строку на экран}

{Если строка симметрична, то она палиндром}

{Выводим произвольно третью строку на экран}

{Если строка симметрична, то она палиндром}

{конец программы}


ЗАДАЧА №12

Основная часть.

1). Условие задачи:

12. Составить программу, в результате выполнения которой из первой

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

2). Описание переменных, используемых в программе:

 Str1[i],str2[i],str3[i] – символьный массив.

 s1,s2,s3 – строки.

 n – кол-во символов строке.

 i,j – счетчики циклов.

 k – номер символа в строке.

3). Пошаговое описание алгоритма:

Шаг №1 выводим последовательно три строки символов;

Шаг №2 с помощью оператора pos находим в первой строке символы, которые есть во второй и с помощью оператора delete удаляем эти символы из первой строки (k-номер символа в первой строке);

Шаг №3 Присваиваем третьей строке(s3) значение, полученное в результате удаления из первой строки символов, имеющихся во второй строке;

Шаг №4 выводим строку s3 на экран;

i,n,j,k – целочисленные переменные. Для этих переменных выбираем тип integer, так как нужны целочисленные значения.

str[i],str[i],str[i] – строковые массивы.

s1,s2,s3 – строковые переменные.

Блок – схема:

ТЕКСТ ПРОГРАММЫ

Uses Crt;

var

str1,str2,str3:array [1..100] of char;

s1,s2,s3:string;

i,n,j,k,p:integer;

BEGIN

clrscr;

randomize;

write('Введите n - ');

readln(n);

write('Первая строка имеет вид: ');

for i:=1 to n do

begin

str1[i]:=chr(65+random(10));

s1:=s1+str1[i];

end;

writeln(s1);

write('Вторая строка имеет вид: ');

 for j:=1 to n do

begin

str2[j]:=chr(65+random(10));

s2:=s2+str2[j];

end;

writeln(s2);

write('Третья строка имеет вид: ');

for j:=1 to n do

begin

   repeat

   k:=pos(str2[j],s1);

   if k>0 then delete(s1,k,1);

   until k=0;

end;

s3:=s1;

writeln(s3);

readln;

END.

{использование доп. библиотеки}

{присвоение переменным str1[i],str2[i], str3[i] значение char – строковой массив}     

{присвоение переменным s1,s2,s3 значение string}     

{присвоение переменным i,n,j,k,p значение integer}

{очистка экрана}

{Вводим n}

{Выводим произвольно первую строку на экран}

{Выводим произвольно первую строку на экран}

{Выводим третью строку}

{Удаляем из первой строки элементы принадлижащие второй строке }

{Присваиваем s3:=s1}

{Выводим третью строку}

{конец программы}

ВЫВОД.

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

Конец

d1:=d1*1

Да

Нет

Для i от 1 до n

Нет

Да

i=n

Ввод n

начало

Для i от 1 до n

d1:=d1*0

Да

Нет

i=n

Вывод str1[i]

str1[i]=

=str1[n-i+1]

S1

Палиндром

S3

s3:=s1

Да

Выводим аналогично вторую и третью строку

Да

Да

Нет

K=0

delete(s1,k,1)

Да

k>0

начало

Выводим аналогично вторую строку

i=n

d1:=d1*0

Для i от 1 до n

str1[i]=

=str1[n-i+1]

i=n

Вывод str1[i]

Для i от 1 до n

Конец

d1:=d1*1

Нет

Ввод n

Да

Да

Нет

k:=pos(str2[j],s1);

Для i от 1 до n

Да

i=n

Нет

Нет




1. На тему- Розвиток парашутизму та парашутного спорту
2. Менеджмент и маркетинг Кафедра Финансы и кредит Методические указания
3. Этика Свободы [2] Часть I
4. Введение.
5. Московский государственный университет путей сообщения Кировский филиал МИИТ
6. тема планів в організації Упровадження перетворення стратегії в реальні справи є заключним етапом страт.
7. Головне завдання Партії Повернути українському народу віру в себе в те що ми ~ найкраща нація і з
8. Пищевые машины Рассмотрено на заседании кафедры Протокол 2 от 15 сентября 2008 г
9. Основні ідеї Римського клубу
10. Система органов государства
11. Философия и история ЮРГУЭС В
12. Как содержание урока должно учитывать психологические особенности восприятия и памяти учащихся
13. импортных операций с учетом действующего международного и национального законодательства [23].
14. Сравнительный анализ Конституции Литовской и Латвийской Республик
15. фекальных и производственных сточных вод при соответствующей системе наружной канализации и при условии их
16. ДОР гМосква Ленинградское шоссе 34 к
17. 2013г. Председатель ПЦК Комбатова И
18. Диагностика и лечение артериальной гипертензии в детском возрасте
19.  Изменились ли предпочтения российских избирателей опыт 1990х годов2 6
20. Разведка и контрразведка в годы Великой Отечественной войны 1941-1945 гг