Лаб1_Паскаль. Программир_Ту. Задача 1 звучит следующим образом Пусть дано натуральное число n. Составить программу вычисления n
Скачать 143.02 Kb.
|
Содержание 1.Введение 2 2.Анализ задачи № 1 3 3.Решение задачи № 1 3 3.1. Описание используемых переменных, обоснование выбора типа данных 3 3.2. Описание алгоритма 3 4.Анализ задачи № 2 5 4.1.Описание используемых переменных, обоснование выбора типа данных 5 4.2.Описание алгоритма 5 ВведениеВ лабораторной работе № 1 создавались программы с использованием простых управляющих структур: условных операторов, циклов. В решаемых заданиях использовались простые типы данных, т.е. нет необходимости использовать массивы. В первой задаче использовались простой тип данных, а во второй – строковый. Выполнение работы происходило с использованием PascalABC. Анализ задачи № 1Задача № 1 звучит следующим образом: Пусть дано натуральное число n. Составить программу вычисления n3 как суммы нечетных чисел исходя из того, что: 13 = 1; 23 = 3 + 5; 33 = 7 + 9 + 11; 43 = 13 + 15 + 17 + 19; 53 = 21 + 23 + 25 + 27 + 29; … Решение задачи № 1Описание используемых переменных, обоснование выбора типа данныхИз условий следует, что требуется составить программу с возможностью возведения числа n в куб (для этих целей будет применяться оператор power, а значит будет использоваться переменные типа real). При этом после её выполнения должно выводиться тождество числа n в кубе равно сумме чисел, из которых оно состоит и в формульном выражении получаемый ответ имеет вид: n3 = (n2 – (n – 1))n + (n2 – (n – 1))n + … Рассматривая получаемую формулу, можно увидеть необходимость использования оператора циклов while. Описание алгоритмаБлок-схема представлена на рис 1. Изначально задаёмся количеством и типом используемых переменных (a, b, c, d :real); После задаём команду отображающую просьбу о вводе числа; Присваиваем переменным c, b, d первоначальные значения; Задаём оператор while, который необходим для проверки выполнения имеющегося условия d < c. На каждом этапе не забываем задавать оператор вывода, необходимый для формирования конечного ответа. После достижения невыполнения условия оператора while, программа выдает необходимый нам ответ. Рис. 1. Блок схема алгоритма получения тождества состоящего из куба задаваемого числа и его составных чисел согласно условиям. Анализ задачи № 2Условия задачи № 2 звучат следующим образом и содержат некоторые указания: Исключить из данной строки группы символов, расположенные между скобками ( , ). Сами скобки тоже должны быть исключены, а также предполагается, что внутри каждой пары скобок нет других скобок. Описание используемых переменных, обоснование выбора типа данныхИспользовались два типа переменных: string (для задания различных видов символов как буквенного вида, так и числового, а также различных знаков) и byte (так как использовалась функция pos). Описание алгоритмаДля достижения поставленной цели были использованы три переменные с двумя типами данных. Блок-схема представлена на рис. 2.1. Последние две служили обозначением начала и конца цикла repeat, в котором был задан оператор удаления delete символов с первой до последней позиции. Рис. 2.1. Блок схема алгоритма удаления символов, находящихся в скобках. Приложение 1. Листинг программы задачи № 1, ЛР № 1. var a,b,c,d:real; begin writeln('Введите число a, которое хотите возвести в куб'); readln(a); c:=power(a,2)-(a-1); b:=power(a,3); {использование power вместо sqr обусловлено возведением в куб} write(a,'^3='); d:=0; while ddo begin if d else write(c); d:=d+c; c:=c+2; end; end. Приложение 2. Тестирование программы № 1, ЛР №1. Рис. 1.2. Пример работы программы задачи № 1, ЛР № 1. Приложение 3. Листинг программы № 2, ЛР №1 var a:string; b1,b2:byte; begin writeln('Введите строку с группами символов, заключенных в круглые скобки'); readln(a); repeat b1:=pos('(',a); b2:=pos(')',a); delete(a,b1,b2+1); until(b1=0)or(b2=0); writeln(a) end. Приложение 4. Тестирование программы № 2, ЛР №1. Рис. 2.2. Пример работы программы задачи № 1, ЛР № 1. |