Мурманский филиал Петровского колледжа Лабораторная работа 1 Технология разработки программных продуктов Выполнила студентка 4-го курса Тимонина Зоя Викторовна 1. Задание Составить набор тестов для проверки программы, с помощью которой решается предлагаемая задача. Задача написать программу, в которой с клавиатуры вводятся три целых положительных числа, которые являются сторонами треугольника. На экран выводится сообщение, является ли треугольник
неравносторонним, равнобедренным, равносторонним. Треугольник должен быть правильным, т.е. сумма длин любых двух сторон должна быть больше длины третьей стороны. Программа должна быть составлена с применением пользовательских процедур и функций. 2. Спецификация программы - Название задачи треугольник Название программы triangle Система программирования
Turbo Pascal 7.0 Системные требования IBM PCAT 286 и выше - Входные данные Три целых числа стороны треугольника - Выходные данные Сообщение о виде треугольника. 3. Постановка задачи Нужно составить программу, которая бы сравнивала каждую пару сторон и, в зависимости от результата, выдавала бы на экран сообщение о типе треугольника.
Также, необходимо составить набор тестов, направленных на обнаружение возможных ошибок. 4. Спецификация переменных Имя переменной в программеНазначение переменной в программеТип переменнойДиапазон типаaМассив, содержащий длины сторонArray of Integer-32768 32767 каждыйiВспомогательная переменная, счетчикInteger-5. Текст программы program triangle Uses Crt var a array 1 3 of integer i integer Procedure valid begin if a1a2 a3 and a1a3 a2 and a2a3
a1 then begin if a1a2 and a1a3 then WriteLn Треугольник равносторонний else if a1a2 or a1a3 or a2a3 then WriteLn Треугольник равнобедренный else WriteLn Треугольник неравносторонний end else WriteLn Треугольник неправильный end Procedure Valid begin ClrScr WriteLn Ввод длин сторон треугольника for i 1 to 3 do begin WriteLn Введите длину ,i, стороны треугольника Read ai end
Valid ReadKey end. Тест 1 При вводе значений X, Y 32767 или X, Y -32768, например X33555 Y443 или X887 Y34222 или X -33555 Y -999 или X -777 Y-34677 возникает ошибка, программа прерывается, так как вводимые значения выходят за границы диапазона, определенного в программе типа данных integer Тест 2 Мурманский филиал Петровского колледжа Лабораторная работа 2
Технология разработки программных продуктов Выполнила студентка 4-го курса Тимонина Зоя Викторовна 3. Задание Составить тесты для проверки программы, используя метод покрытия операторов и метод покрытия решений. Сформировать список ошибок, которые могут быть выявлены этими тестами. Задача написать программу, в которой находятся корни квадратного уравнения вида ax2bxc0. Случай комплексных корней дискриминант меньше нуля не рассматривать.
Коэффициенты a, b и c вводятся с клавиатуры. Значения корней выводятся на экран Программа должна быть составлена с применением пользовательских процедур и функций. 4. Спецификация программы - Название задачи квадратное уравнение - Название программы quadrur - Система программирования Turbo Pascal 7.0 - Системные требования IBM PCAT 286 и выше -
Входные данные Три действительных числа коэффициенты Выходные данные Вычисленные корни уравнения. 5. Постановка задачи Нужно составить программу, которая бы вычисляла решения квадратного уравнения, если уравнение действительно является квадратными и если имеются действительные корни уравнения. Используя методы покрытия операторов и покрытия решений необходимо составить набор тестов, направленных
на обнаружение возможных ошибок. Также необходимо сформировать список ошибок. 6. Спецификация переменных Имя переменной в программеНазначение переменной в программеТип переменнойДиапазон типаaПервый коэффициент уравненияReal2.9e-39 1.7e38bВторой коэффициент уравненияReal2.9e-39 1.7e38cТретий коэффициент уравненияReal2.9e-39 1.7e7. Текст программы program quadrur Uses Crt var a, b, c real procedure Entering begin
Write Введите значение a ReadLn a Write Введите значение b ReadLn b Write Введите значение c ReadLn c end procedure Entering function Disreal begin dis bb-4ac end function Dis function Validboolean begin Valid true if a 0 then begin Writeln Уравнение линейное Valid false end else if
Dis 0 then begin Writeln Уравнение не имеет действительных корней Valid false end end function Valid function Resultsreal begin WriteLn x1 b-SQRTdis2a36 WriteLn x2 bSQRTdis2a36 end function Results begin ClrScr Write Решение квадратного уравнения WriteLn вида ax2bxc0 WriteLn Entering if Valid true then
Results ReadKey end. 8. Набор тестов тестирование Метод покрытия операторов Очевидно, что выполнить все операторы можно, подобрав тестовые значения, при которых будут выполнены все ветви функции Valid, где происходит сравнение с нулем переменной a и функции Dis. Остальные части программы имеют линейную структуру и при выполнении программы будут выполнены в любом случае. Таким образом, подобрав значения переменных, при которых истинны пары условий a 0,
Dis 0 a 0, Dis 0 a 0, Dis 0 a 0, Dis 0, выполним каждый оператор программы. Первую пару можно не рассматривать, т.к. при a 0 нет смысла переходить к проверке значения дскриминанта, т. е. необходимо провести три теста Тест 1 Определяет, будет ли выполнен оператор вывода на экран сообщения Уравнение линейное, когда a 0 Входные данные a0, b2, c3 Тест 2 Определяет, будет ли выполнен оператор вывода на экран сообщения
Уравнение не имеет действительных корней, когда a 0, dis 0 Входные данные a3, b2, c4 Тест 3 Определяет, будет ли выполнена функция Results, когда a 0, dis 0 Входные данные a2, b5, c3 Метод покрытия решений Для того, чтобы каждое решение приняло значение ИСТИНА либо ЛОЖЬ хотя бы один раз, достаточно трех тестов, когда a 0 a 0,
Dis 0 a 0, Dis 0 Тест 4 Определяет, будет ли выполнен оператор вывода на экран сообщения Уравнение линейное, когда a 0 Входные данные a0, b3, c-2 Тест 5 Определяет, будет ли выполнен оператор вывода на экран сообщения Уравнение не имеет действительных корней, когда a 0, dis 0 Входные данные a3, b2, c1 Тест 6 Определяет, будет ли выполнена функция
Results, когда a 0, dis 0 Входные данные a2, b4, c1 9. Ошибки Тест 1 выявляет ошибку, когда при введенном a0 вычисления производятся далее. Тест 2 выявляет ошибку, когда при значении Dis 0 вычисления производятся далее. Тест 3 выявляет ошибку, когда при значениях a0, Dis 0 вычисления далее не производятся. Тест 4 выявляет ошибку, когда при введенном a0 вычисления производятся далее.
Тест 5 выявляет ошибку, когда при значении Dis 0 вычисления производятся далее. Тест 6 выявляет ошибку, когда при значениях a0, Dis 0 функция Valid не возвращает значение true и вычисления далее не производятся. Мурманский филиал Петровского колледжа Лабораторная работа 2 Технология разработки программных продуктов Выполнила студентка 3-го курса
Тимонина Зоя Викторовна Мурманск 2003 1. Задание Составить спецификацию программы обязательно включающую блок-схему алгоритма. Написать программу, в которой вычисляется Y 2. Спецификация программы - Название задачи Вычисление выражение Название программы lab2 Система программирования Turbo Pascal 7.0 Системные требования IBM PCAT 286 и выше -
Входные данные x действительное число - Выходные данные Вычисленное выражение по формуле 1-xSQRTxx-105 3. Постановка задачи Нужно составить программу, которая после ввода с клавиатуры числа, значение которого присваивается переменной, проверяла бы удовлетворяет ли введенное значение условию задачи и, затем, если введено допустимое значение, вычисляла бы значение выражения 1-xSQRTxx-105. Необходимо учесть, что при x2 105 знаменатель выражения
обращается в ноль, обращая все выражение в , а при x2 105 выражение не имеет действительных решений. 4. Спецификация переменных Имя переменной в программеНазначение переменной в программеТип переменнойДиапазон типаXИсходное числоReal2.9E 39 1.7E38YХранение результата вычисленийReal2.9E 39 1.7E38 5. Блок-схема программы 6. Текст программы Program lab2 Uses Crt var x, y real begin ClrScr Repeat Write Введите значение
X Readln x if xx 105 then Writeln значение X2 должно быть 105 until xx 105 y1-xSQRTxx-105 WriteLn Результат ,y ReadLn end. Мурманский филиал Петровского колледжа Лабораторная работа 2 Технология разработки программных продуктов Выполнила студентка 3-го курса Тимонина Зоя Викторовна 7. Задание Написать программу, в которой предусмотрен контроль ввода данных.
Вычислить 2. Спецификация программы - Название задачи Вычисление выражение Название программы Vychvyr2 Система программирования Turbo Pascal 7.0 Системные требования IBM PCAT 286 и выше - Входные данные x действительное число - Выходные данные Вычисленное выражение по формуле 1-xEXPLNxx-1050.5 6.
Постановка задачи Нужно составить программу, которая после ввода с клавиатуры числа, значение которого присваивается переменной, вычисляла бы значение выражения 1 x EXP LN x x - 105 0.5. При этом значение введенной переменной должно быть v105, т. к. только в этом случае выражение имеет действительные решения. 7. Спецификация переменных x исходное число, может быть только v105, тип Real y вспомогательная переменная, используемая для хранения результата.
8. Блок-схема программы 9. Текст программы Program Vychvyr2 Uses Crt Var x, y Real Begin Repeat ClrScr WriteLn Выражение имеет действительные решения при XX 105 Write Для вычисления выражения введите значение переменной ReadLn x Until xx 105 y 1-xEXPLNxx-1050.5 Writeln Writeln
При X ,x, значение выражения Y ,y End. Мурманский филиал Петровского колледжа Лабораторная работа 3 Технология разработки программных продуктов Выполнила студентка 4-го курса Тимонина Зоя Викторовна 10. Задание Составить тесты для проверки программы, используя метод покрытия операторов и метод покрытия решений. Сформировать список ошибок, которые могут быть выявлены этими тестами.
Задача написать программу, вычисляющую значения выражения , где Значения переменных k, z вводятся с клавиатуры. Результат выводится на экран. Программа должна быть составлена с применением пользовательских процедур и функций. 11. Спецификация программы - Название задачи функция - Название программы func - Система программирования
Turbo Pascal 7.0 - Системные требования IBM PCAT 286 и выше - Входные данные Два действительных числа переменные Выходные данные Вычисленное значение функции в точке. 12. Постановка задачи Нужно составить программу, которая бы вычисляла значение функции после проверки допустимости значений. Используя методы покрытия операторов и покрытия решений необходимо составить
набор тестов, направленных на обнаружение возможных ошибок. Также необходимо сформировать список ошибок. 13. Спецификация переменных Имя переменной в программеНазначение переменной в программеТип переменнойДиапазон типаKПоказатель степени функцииReal2.9e-39 1.7e38ZКоэффициент, образующий аргумент функцииReal2.9e-39 1.7e38XАргумент функцииReal2.9e-39 1.7e38YЗначение функцииReal2.9e-39 1.7e3814. Текст программы program func
Uses Crt var k, z, x, y real procedure Header begin WriteLn Нахождение значения функции YLnk1X, WriteLn где Xkz3 при k 1 WriteLn Xzz1 при k 1 WriteLn end procedure Header procedure XValuek,zreal var xreal begin if k 1 then x kzzz1 else x zz11 end procedure XValue procedure OutCount begin if x 0 then begin WriteLn
X ,x, функция в этой точке не определена Exit end else if k 0 then begin WriteLn Y 1 Exit end else begin y explnlnxk Write Y ,y end end procedure OutCount begin ClrScr Header Write Введите значение k ReadLn k Write Введите значение z ReadLn z XValuek,z,x OutCount ReadKey end. 15. Набор тестов тестирование
Метод покрытия операторов Очевидно, что выполнить все операторы можно, подобрав тестовые значения, при которых будут выполнены все ветви функции Valid, где происходит сравнение с нулем переменной a и функции Dis. Остальные части программы имеют линейную структуру и при выполнении программы будут выполнены в любом случае. Таким образом, подобрав значения переменных, при которых истинны пары условий a 0, Dis 0 a 0, Dis 0 a 0, Dis 0 a 0, Dis 0, выполним каждый оператор программы.
Первую пару можно не рассматривать, т.к. при a 0 нет смысла переходить к проверке значения дскриминанта, т. е. необходимо провести три теста Тест 1 Определяет, будет ли выполнен оператор вывода на экран сообщения Уравнение линейное, когда a 0 Входные данные a0, b2, c3 Тест 2 Определяет, будет ли выполнен оператор вывода на экран сообщения Уравнение не имеет действительных корней, когда a 0, dis 0
Входные данные a3, b2, c4 Тест 3 Определяет, будет ли выполнена функция Results, когда a 0, dis 0 Входные данные a2, b5, c3 Метод покрытия решений Для того, чтобы каждое решение приняло значение ИСТИНА либо ЛОЖЬ хотя бы один раз, достаточно трех тестов, когда a 0 a 0, Dis 0 a 0, Dis 0 Тест 4 Определяет, будет ли выполнен оператор вывода на экран сообщения
Уравнение линейное, когда a 0 Входные данные a0, b3, c-2 Тест 5 Определяет, будет ли выполнен оператор вывода на экран сообщения Уравнение не имеет действительных корней, когда a 0, dis 0 Входные данные a3, b2, c1 Тест 6 Определяет, будет ли выполнена функция Results, когда a 0, dis 0 Входные данные a2, b4, c1 16.
Ошибки Тест 1 выявляет ошибку, когда при введенном a0 вычисления производятся далее. Тест 2 выявляет ошибку, когда при значении Dis 0 вычисления производятся далее. Тест 3 выявляет ошибку, когда при значениях a0, Dis 0 вычисления далее не производятся. Тест 4 выявляет ошибку, когда при введенном a0 вычисления производятся далее. Тест 5 выявляет ошибку, когда при значении Dis 0 вычисления производятся далее.
Тест 6 выявляет ошибку, когда при значениях a0, Dis 0 функция Valid не возвращает значение true и вычисления далее не производятся. Мурманский филиал Петровского колледжа Лабораторная работа 3 Технология разработки программных продуктов Выполнила студентка 3-го курса Тимонина Зоя Викторовна Мурманск 2003 год 8. Задание
Написать программу, в которой создается случайным образом двумерный массив A33, вычисляется сумма элементов, на экран выводится созданный массив в виде таблицы и значение суммы. Составить блок-схему алгоритма. 2. Спецификация программы - Название задачи подсчет элементов массива Название программы lab3 Система программирования Turbo Pascal 7.0 Системные требования
IBM PCAT 286 и выше - Входные данные нет - Выходные данные Созданный случайным образом двумерный массив A3,3 Сумма элементов массива. 10. Постановка задачи Нужно составить программу, которая создавала бы случайным образом двумерный массив с девятью элементами и вычисляла сумму этих элементов. 11. Спецификация переменных A3,3 массив случайных чисел типа
Byte i индекс строк массива, тип Byte j индекс столбцов массива, тип Byte s счетчик, накапливающий сумму элементов массива, тип Word 12. Блок-схема программы 13. Текст программы program lab3 uses crt var a array 1 3,1 3 of Byte s, j Byte i Word begin ClrScr Randomize s 0 for i 1 to 3 do begin WriteLn for j 1 to 3 do begin ai,j roundrandom100 s sai,j
Write ai,j3 end end WriteLn Write Сумма элементов ,s ReadLn end. Мурманский филиал Петровского колледжа Лабораторная работа 4 Технология разработки программных продуктов Выполнила студентка 4-го курса Тимонина Зоя Викторовна 17. Задание Составить тесты для проверки программы, используя методы покрытия операторов и покрытия условий.
Сформировать список ошибок, которые могут быть выявлены этими тестами. Задача Вычислить число сочетаний из N по M по формуле , при N M Значения M и N вводятся с клавиатуры. Результат вывести на экран. Программа должна быть составлена с применением пользовательских процедур и функций. 18. Спецификация программы - Название задачи сочетание
Название программы statist Система программирования Turbo Pascal 7.0 Системные требования IBM PCAT 286 и выше - Входные данные Два целых числа члены сочетания - Выходные данные Вычисленное по формуле число сочетаний. 14. Постановка задачи Нужно составить программу, которая по двум введенным с клавиатуры числам, являющимся членами сочетания,
вычисляла бы число сочетаний по формуле . Также, необходимо, используя метод покрытия операторов и метод покрытия условий, составить набор тестов, направленных на обнаружение возможных ошибок. 15. Спецификация переменных Имя переменной в программеНазначение переменной в программеТип переменнойДиапазон типаmПервый член сочетания, положительная переменнаяInteger-32768 32767nВторой член сочетания, положительная переменнаяInteger-32768 32767resВспомогательная положительная переменная, используемая для хранения
результатаReal2.9e-39 1.7e3816. Текст программы program Statist Uses Crt var n, m integer res real procedure header begin ClrScr Writeln N Write Вычислим значение выражения WriteLn , при N M Writeln MN-M end procedure header function factoraintegerlongint begin if a 1 then factor 1 else factor afactora-1 end function factor begin program
Header m 0 n 0 repeat Write Введите значение M ReadLn m Write Введите значение N ReadLn n if m n then WriteLn M должно быть меньше N until m n res factornfactormfactorn-m Write Значение выражения ,res ReadKey end. program 17. Набор тестов Метод покрытия операторов Тест 1 Определяет, будет ли выполнен оператор вывода на экран
сообщения М должно быть меньше N, когда m n Входные данные m3 n2 Тест 2 Определяет, будет ли выполнен оператор вывода на экран сообщения М должно быть меньше N, когда m n Входные данные m3 n3 Тест 3 Определяет, будут ли производиться вычисления, когда входные данные содержат хотя бы одно отрицательное число. Входные данные m-1 n5 Тест 4 Определяет, будут ли производиться вычисления, когда входные данные
содержат хотя бы один ноль. Входные данные m0 n2 Тест 5 Определяет, будет ли выполнен оператор Factor 1 в функции Factor, если во входных данных содержится хотя бы одна единица. Входные данные m1 n5 Тест 6 Определяет, будет ли выполнен оператор Factor aFactora-1 в функции Factor, если во входных данных содержится хотя бы одно число, удовлетворяющее
условию a 1 Входные данные m2 n4 Метод покрытия операторов Тест 7 Определяет, будет ли выполнен оператор вывода на экран сообщения М должно быть меньше N, когда m n Входные данные m3 n2 Тест 8 Определяет, будет ли выполнен оператор вывода на экран сообщения М должно быть меньше N, когда m n Входные данные m2 n3
Тест 9 Определяет, будет ли выполнен оператор вывода на экран сообщения М должно быть меньше N, когда m n Входные данные m3 n3 Тест 10 Определяет, будет ли выполнен оператор вывода на экран сообщения М должно быть меньше N, когда m n Входные данные m3 n2 Тест 11 Определяет, будут ли производиться вычисления, когда входные условия удовлетворяют условию m
n Входные данные m1 n5 Тест 12 Определяет, будут ли производиться вычисления, когда входные условия удовлетворяют условию m n Входные данные m3 n3 Тест 13 Определяет, будет ли выполнен оператор Factor 1 в функции Factor, если во входных данных содержится хотя бы одна единица. Входные данные m1 n5 Тест 14 Определяет, будет ли выполнен оператор
Factor aFactora-1 в функции Factor, если во входных данных содержится хотя бы одно число, удовлетворяющее условию a 1 Входные данные m2 n4 18. Ошибки Тест 1 выявляет ошибку, когда при введенных значениях m n вычисления производятся далее. Тест 2 выявляет ошибку, когда при введенных значениях m n вычисления производятся далее. Тест 3 выявляет ошибку, когда во входных данных находится отрицательное число, а вычисления производятся далее. Тест 4 выявляет ошибку, когда во входных данных находится ноль, а вычисления
производятся далее. Тест 5 выявляет ошибку, когда находим факториал от единицы, а программа либо зацикливается, либо выводит неверный результат. Тест 6 выявляет ошибку, когда находим факториал числа, большего единицы, а в результате получаем единицу. Тест 7 выявляет ошибку, когда при введенных значениях m n вычисления производятся далее. Тест 8 выявляет ошибку, когда входные данные удовлетворяют условию m n, а вычисления далее не производятся. Тест 9 выявляет ошибку, когда при введенных значениях m n вычисления производятся
далее. Тест 10 выявляет ошибку, когда входные данные удовлетворяют условию m n, а вычисления далее не производятся. Тест 11 выявляет ошибку, когда входные данные удовлетворяют условию m n, а вычисления далее не производятся. Тест 12 выявляет ошибку, когда при введенных значениях m n вычисления производятся далее. Тест 13 выявляет ошибку, когда находим факториал от единицы, а программа либо зацикливается, либо выводит неверный результат. Тест 14 выявляет ошибку, когда находим факториал числа, большего единицы,
а в результате получаем единицу. Мурманский филиал Петровского колледжа Лабораторная работа 4 Технология разработки программных продуктов Выполнила студентка 3-го курса Тимонина Зоя Викторовна Мурманск 2003 9. Задание Составить программу, в которой экран случайным образом заполняется символом , выход из программы происходит по нажатию любой клавиши.
Составить спецификацию. Использовать стандартные библиотечные функции, например функцию очистки экрана и др. 10. Спецификация программы - Название задачи вывод символа в произвольном порядке Название программы lab4 Система программирования Turbo Pascal 7.0 Системные требования IBM PCAT 286 и выше - Входные данные нет - Выходные данные Двумерный массив, элементы строк которого заполнены символом .
19. Постановка задачи Нужно составить программу, которая создавала бы в области, зарезервированной для видеопамяти двумерный массив 1 2000,1 2, значение элементов строк которого соответствовало бы ASCII коду соответствующего символа экрана. Затем создать цикл, в котором происходит проверка ASCII кода символа в случайном месте экрана и, в случае, если это не , последующая запись в видеопамять символа . Перед началом цикла происходит очистка экрана с помощью стандартной процедуры
ClrScr. Программа завершается при нажатии любой клавиши. 20. Спецификация переменных Имя переменной в программеНазначение переменной в программеТип переменнойДиапазон типаScreenМассив, содержащий адреса видеопамятиArray of byte0 255 каждый элементiВспомогательная переменная, содержащая значение индекса строки элемента массиваWord0 6553521. Текст программы program Lab4 uses Сrt var Screen array 1 2000,1 2 of byte absolute
B8000 i Word begin ClrScr Randomize Repeat begin i roundrandom2001 if Screen i,1 42 then begin Screen i,1 42 Delay 100 end end until KeyPressed end. Мурманский филиал Петровского колледжа Лабораторная работа 5 Технология разработки программных продуктов Выполнила студентка 4-го курса Тимонина Зоя Викторовна 19.
Задание Составить тесты для проверки программы, используя методы покрытия операторов и покрытия условий. Сформировать список ошибок, которые могут быть выявлены этими тестами. Задача вычислить значение функции Программа должна быть составлена с применением пользовательских процедур и функций. 20. Спецификация программы - Название задачи функция Название программы func1 Система программирования Turbo
Pascal 7.0 Системные требования IBM PCAT 286 и выше - Входные данные Действительное число аргумент функции - Выходные данные Вычисленное значение функции. 22. Постановка задачи Нужно составить программу, которая бы в зависимости от введенного с клавиатуры значения аргумента вычисляла бы значение функции. Необходимо предусмотреть контроль ввода значений.
Также, необходимо, используя метод покрытия операторов и метод покрытия условий, составить набор тестов, направленных на обнаружение возможных ошибок. 23. Спецификация переменных Имя переменной в программеНазначение переменной в программеТип переменнойДиапазон типаxЗначение аргумента функцииReal0 1GoodБулева переменная, сигнализирующая об успешном преобразовании введенного с клавиатуры значенияBoolean2.9e-39 1.7e3824.
Текст программы program func1 Uses Crt var x real Good boolean procedure Header begin WriteLn Вычислим значение функции WriteLn Y x3, при x 0, затем x x 1 WriteLn Y v2x1, при 0 x 2 WriteLn 3x-1 WriteLn Y при x 2 WriteLn Cos x WriteLn end procedure Header procedure ClrPlace var i byte begin WriteLn
WriteLn Нажмите для выхода любую клавишу ReadKey GotoXY1,8 for i 1 to 5 do begin ClrEol Writeln end GotoXY1,8 end procedure ClrPlace procedure Entering var XStr string Code integer begin Write Введите значение X Read XStr Val XStr,x,Code if Code 0 then begin Good false WriteLn Ошибка в ,Code, позиции ClrPlace end else Good true end procedure
Entering procedure OutCountxreal var i byte begin i 0 if x 0 then begin x 0 WriteLn X ,x WriteLn Y ,xxx1 end else if x 0 AND x 2 then begin 0 x 2 WriteLn X ,x WriteLn Y ,SQRT2x1 end else if x 2 then begin x 2 WriteLn X ,x if Cosx0 then WriteLn Ф-ция в этой точке не определена else WriteLn Y ,3x-1Cosx end ReadKey endprocedure OutCount begin
ClrScr Header Entering if Good true then OutCountx end. 25. Набор тестов Метод покрытия операторов Тест 1 Определяет, будет ли выполнен оператор вывода на экран сообщения М должно быть меньше N, когда m n Входные данные m3 n2 Тест 2 Определяет, будет ли выполнен оператор вывода на экран сообщения
М должно быть меньше N, когда m n Входные данные m3 n3 Тест 3 Определяет, будут ли производиться вычисления, когда входные данные содержат хотя бы одно отрицательное число. Входные данные m-1 n5 Тест 4 Определяет, будут ли производиться вычисления, когда входные данные содержат хотя бы один ноль. Входные данные m0 n2 Тест 5 Определяет, будет ли выполнен оператор Factor 1 в функции
Factor, если во входных данных содержится хотя бы одна единица. Входные данные m1 n5 Тест 6 Определяет, будет ли выполнен оператор Factor aFactora-1 в функции Factor, если во входных данных содержится хотя бы одно число, удовлетворяющее условию a 1 Входные данные m2 n4 Метод покрытия решений Тест 7 Определяет, будет ли выполнен оператор вывода на экран сообщения
М должно быть меньше N, когда m n Входные данные m3 n2 Тест 8 Определяет, будет ли выполнен оператор вывода на экран сообщения М должно быть меньше N, когда m n Входные данные m2 n3 Тест 9 Определяет, будет ли выполнен оператор вывода на экран сообщения М должно быть меньше N, когда m n Входные данные m3 n3
Тест 10 Определяет, будет ли выполнен оператор вывода на экран сообщения М должно быть меньше N, когда m n Входные данные m3 n2 Тест 11 Определяет, будут ли производиться вычисления, когда входные условия удовлетворяют условию m n Входные данные m1 n5 Тест 12 Определяет, будут ли производиться вычисления, когда входные условия удовлетворяют условию m n Входные данные m3 n3 Тест 13
Определяет, будет ли выполнен оператор Factor 1 в функции Factor, если во входных данных содержится хотя бы одна единица. Входные данные m1 n5 Тест 14 Определяет, будет ли выполнен оператор Factor aFactora-1 в функции Factor, если во входных данных содержится хотя бы одно число, удовлетворяющее условию a 1 Входные данные m2 n4 26. Ошибки Тест 1 выявляет ошибку, когда при введенных значениях m
n вычисления производятся далее. Тест 2 выявляет ошибку, когда при введенных значениях m n вычисления производятся далее. Тест 3 выявляет ошибку, когда во входных данных находится отрицательное число, а вычисления производятся далее. Тест 4 выявляет ошибку, когда во входных данных находится ноль, а вычисления производятся далее. Тест 5 выявляет ошибку, когда находим факториал от единицы, а программа либо зацикливается, либо выводит неверный результат. Тест 6 выявляет ошибку, когда находим факториал числа, большего единицы,
а в результате получаем единицу. Тест 7 выявляет ошибку, когда при введенных значениях m n вычисления производятся далее. Тест 8 выявляет ошибку, когда входные данные удовлетворяют условию m n, а вычисления далее не производятся. Тест 9 выявляет ошибку, когда при введенных значениях m n вычисления производятся далее. Тест 10 выявляет ошибку, когда входные данные удовлетворяют условию m n, а вычисления далее не производятся. Тест 11 выявляет ошибку, когда входные данные удовлетворяют условию m n, а вычисления
далее не производятся. Тест 12 выявляет ошибку, когда при введенных значениях m n вычисления производятся далее. Тест 13 выявляет ошибку, когда находим факториал от единицы, а программа либо зацикливается, либо выводит неверный результат. Тест 14 выявляет ошибку, когда находим факториал числа, большего единицы, а в результате получаем единицу. Мурманский филиал Петровского колледжа Лабораторная работа 5 Технология разработки программных продуктов
Выполнила студентка 3-го курса Тимонина Зоя Викторовна Мурманск 2003 11. Задание С использованием собственных, пользовательских процедур и функций, составить программу, в которой вычисляется Составить аналитический профиль программы. 12. Спецификация программы - Название задачи вычисление значения числового ряда Название программы lab5 Система программирования Turbo
Pascal 7.0 Системные требования IBM PCAT 286 и выше - Входные данные k целое число - Выходные данные result число типа real, результат вычислений. 13. Постановка задачи Нужно составить программу, которая вычисляла бы значение числового ряда при заданном количестве членов k. Удобнее сделать это, разделив процесс подсчета на два основных этапа подсчет произведений и подсчет сумм произведений. Для этого необходимо создать соответствующие процедуру и функцию.
14. Спецификация переменных Имя переменной в программеНазначение переменной в программеТип переменнойДиапазон типаkЧисло, определяющее соответствующий член рядаinteger-32768 32767resultЧисло, накапливающее результатreal2.9e-39 1.7e38iВспомогательная локальная переменная-счетчикinteger-32768 32767multiВспомогательная локальная переменная, накапливающая результат.real2.9e-39 1.7e38 15. Аналитический профиль программы. строкипрофильаналитический профильТекст программы1. program lab52. 3. uses Crt4. 5. var6. k integer7. result real8. 9. function
Addmultirealreal10. 11begin11. 11 result result multi12. 11end function Add13. procedure Multiple k integer14. var15. i integer16. multi real17. 11begin18. 11 multi 119. 5k for i 1 to k-1 do20. 4k-1 begin21. 4k-1 multi multi sini22. 4k-1 Addmulti23. 4k-1 end24. 11end procedure Multiple25. 11begin26. 11 ClrScr27. 11 Write Введите k 28. 11 Readlnk29. 11 result 030. 11
Multiplek31. 11 Writeln Результат вычислений ,result32. 11end.Профиль программы дан для k 5 6. Текст программы program lab5 uses Crt var k integer result real function Addmultirealreal begin result result multi end function Add procedure Multiple k integer var i integer multi real begin multi 1 for i 1 to k-1 do begin multi multi sini Addmulti end end procedure Multiple begin
ClrScr Write Введите k Readlnk result 0 Multiplek Writeln Результат вычислений ,result end. Мурманский филиал Петровского колледжа Лабораторная работа 6 Технология разработки программных продуктов Выполнила студентка 3-го курса Тимонина Зоя Викторовна 16. Задание С использованием собственных, пользовательских процедур и функций, составить программу, в которой
с клавиатуры вводится строка, подсчитывается количество вводимых символов а или А, а также выдается код этих символов по таблице кодов ASCII. На экран выводится исходная строка и результат. Составить спецификацию и аналитический профиль программы. 17. Спецификация программы - Название задачи подсчет количества символов
Название программы lab6 Система программирования Turbo Pascal 7.0 Системные требования IBM PCAT 286 и выше - Входные данные - Строка символов - SInp - Выходные данные - Исходная строка - Общее количество встречающихся символов А или а - ALatBig, aLatSmall, ACyrBig, aCyrSmall количество во введенной строке символов
A, a латиницей и А, а кириллических соответственно. 27. Постановка задачи Нужно составить программу, которая выдавала бы пользователю запрос на ввод с клавиатуры произвольной фразы, подсчитывала бы в ней количество символов А и а и выдавала количество и ASCII код этих символов и саму исходную фразу на экран. 28. Спецификация переменных Имя переменной в программеНазначение переменной в программеТип переменнойДиапазон
типаSInpХранение введенной с клавиатуры строкиString0 255 каждый элементALatBigПодсчет больших букв А латиницейinteger-32768 32767aLatSmallПодсчет малых букв а латиницейinteger-32768 32767ACyrBigПодсчет больших букв А кириллицейinteger-32768 32767aCyrSmallПодсчет малых букв а кириллицейinteger-32768 32767iСчетчикinteger-32768 3276729. Аналитический профиль программы строкиПрофильАналитический профильТекст программы30. program LabWork631. 32. Uses Crt33. 34. var35. SInp string36. 37.
Function Codechcharbyte38. begin39. Code ordch40. end Function Code41. Procedure onScreenALatBig, aLatSmall, ACyrBig, aCyrSmall integer42. begin43. if ALatBigaLatSmallACyrBigaCyrSmall 0 then44. begin45. Write Символы A и a встречаются в строке 46. Write ALatBigaLatSmallACyrBigaCyrSmall, раз, 47. WriteLn причем48.
WriteLn49. if ALatBig 0 then50. begin51. Write Большая латинская A код ASCII ,CodeA,52. WriteLn встречается ,ALatBig, раза53. end54. else55. WriteLn Большая латинская A не встречается56. if ALatSmall 0 then57. begin58. Write Малая латинская a код ASCII ,Codea,59. WriteLn встречается ,ALatSmall, раза60. end61. else62. WriteLn Малая латинская a не встречается63. if
ACyrBig 0 then64. begin65. Write Большая русская А код ASCII ,CodeА,66. WriteLn встречается ,ACyrBig, раза67. end68. else69. WriteLn Большая русская А не встречается70. if ACyrSmall 0 then71. begin72. Write Малая русская а код ASCII ,Codeа,73. WriteLn встречается ,ACyrSmall, раза74. end75. else76. WriteLn Малая русская а не встречается77. end78. else79. begin80.
Write Во введенной Вами строке символы 81. WriteLn A и a не встречается.82. end83. end Procedure onScreen84. Procedure CharCountSinpstring85. var86. i, ALatBig, aLatSmall, ACyrBig, aCyrSmall integer87. begin88. ALatBig 089. aLatSmall 090. ACyrBig 091. aCyrSmall 092. for i 1 to LengthSInp do93.
Case SInpi of94. A incALatBig95. a incaLatSmall96. А incACyrBig97. а incaCyrSmall98. end99. onScreenALatBig, aLatSmall, ACyrBig, aCyrSmall100. end Procedure CharCount101. begin102. ClrScr103. Write Введите строку 104. Read SInp105. WriteLnВведена строка ,SInp106. CharCountSInp107. ReadKey108. end.4.
Текст программы program LabWork6 Uses Crt var SInp string Function Codechcharbyte begin Code ordch end Function Code Procedure onScreenALatBig, aLatSmall, ACyrBig, aCyrSmall integer begin if ALatBigaLatSmallACyrBigaCyrSmall 0 then begin Write Символы A и a встречаются в строке Write ALatBigaLatSmallACyrBigaCyrSmall, раз,
WriteLn причем WriteLn if ALatBig 0 then begin Write Большая латинская A код ASCII ,CodeA, WriteLn встречается ,ALatBig, раза end else WriteLn Большая латинская A не встречается if ALatSmall 0 then begin Write Малая латинская a код ASCII ,Codea, WriteLn встречается ,ALatSmall, раза end else
WriteLn Малая латинская a не встречается if ACyrBig 0 then begin Write Большая русская А код ASCII ,CodeА, WriteLn встречается ,ACyrBig, раза end else WriteLn Большая русская А не встречается if ACyrSmall 0 then begin Write Малая русская а код ASCII ,Codeа, WriteLn встречается ,ACyrSmall, раза end else
WriteLn Малая русская а не встречается end else begin Write Во введенной Вами строке символы WriteLn A и a не встречается. end end Procedure onScreen Procedure CharCountSinpstring var i, ALatBig, aLatSmall, ACyrBig, aCyrSmall integer begin ALatBig 0 aLatSmall 0 ACyrBig 0 aCyrSmall 0 for i 1 to
LengthSInp do Case SInpi of A incALatBig a incaLatSmall А incACyrBig а incaCyrSmall end onScreenALatBig, aLatSmall, ACyrBig, aCyrSmall end Procedure CharCount begin ClrScr Write Введите строку Read SInp WriteLnВведена строка ,SInp CharCountSInp ReadKey end.
! |
Как писать рефераты Практические рекомендации по написанию студенческих рефератов. |
! | План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом. |
! | Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач. |
! | Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты. |
! | Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ. |
→ | Виды рефератов Какими бывают рефераты по своему назначению и структуре. |