Программирование Паскаль. ЛБ 1 паскаль. Формулировка задачи 1
Скачать 347.3 Kb.
|
ОглавлениеВведение 2 1.Формулировка задачи №1 3 2.Анализ задачи №1 3 2.1.Описание используемых переменных 3 2.2.Описание алгоритма 3 3.Тестирование программы №1 5 Приложение 1. Листинг программы №1 8 4.Формулировка задачи №2 9 5.Анализ задачи №2 9 5.1.Описание используемых переменных 9 5.2.Описание алгоритма задачи №2 9 5.3.Блок-схема алгоритма программы №2 10 6.Тестирование программы №2 11 Приложение 2. Листинг программы №2 14 Заключение 15 ВведениеЦелью работы является создание программ с использованием простых управляющих структур без использования массивов. В задаче №1 используется простые типы данных, условный оператор и циклы, в задаче № 2 используется строковый тип данных. Формулировка задачи №1Даны натуральные n, m. Получить все меньшие n натуральные числа, сумма цифр которых равна m. Анализ задачи №1Программа должна запросить натуральные числа n и m и вывести результат в виде чисел, которые меньше n и сумма цифр, которых равна m. В программе используются следующие переменные и типы: Natural: n, m, i, k, s – натуральные числа т.к. по условию задачи предполагается использование натуральных чисел. Описание алгоритмаПрограмма с помощью процедуры “Writeln” получает на ввод два натуральных числа n и m, и считывает их с помощью процедуры “Readln”. Используя цикл “For” и вложенного в него цикла “While” находим сумму цифр всех чисел меньших n. Применяя условный оператор “If...then” сравниваем полученные суммы c m и в случае совпадения производим вывод с помощью процедуры “Writeln”. Конец write('0'); if (n=0) or (m=0) да Write (i,' ') if s=m s:=s+k mod 10; k:=k div 10; да While k>0 s: =0; k: =i; For i:=1 to n-1 Ввод n и m Начало Блок- схема алгоритма программы № 1 Тестирование программы №1Скриншот 1. Ввод данных. Скриншот 2. Вывод данных. Скриншот 3. Если n или m равны нулю. Приложение 1. Листинг программы №1type natural=0..maxint;{описание типа} Var n,m,i,k,s: natural;{описание переменных} Begin Writeln('Введите N ');{ввод данных} Readln(n); Writeln('Введите M '); Readln(m); For i:=1 to n-1 do{Получение суммы цифр всех чисел меньше n} Begin s:=0; k:=i; While k>0 do begin s:=s+k mod 10; k:=k div 10; end; if s=m then {Сравнение сумм цифр n и m} write(i,' ');{Вывод результата} end; if (n=0) or (m=0) then write('0'); end. Формулировка задачи №2Проверить, правильно ли в данной строке расставлены круглые скобки (т.е. находится ли справа от каждой открывающей скобки соответствующая закрывающая скобка, а слева от каждой закрывающей — соответствующая открывающая). Ответ — «да» или «нет». Анализ задачи №2Программа должна запрашивать строку символов и при просмотре этой строки считывать количество открывающихся и закрывающихся скобок. Необходимо использовать строковый тип данных. Описание используемых переменныхString: S – Строковый тип данных необходим по условию задачи. Word: I, a– Целочисленный тип данных для счета с диапазоном 0..65535 т.к не предполагается использования отрицательных чисел. Описание алгоритма задачи №2Программа с помощью процедуры “Writeln” получает на ввод строку символов и считывает ее с помощью процедуры “Read”. С помощью цикла “For” и условного оператора “If …then” производится просмотр строки и если встречает ‘(’, то увеличивает счетчик на, если ‘)’, то уменьшает В случае если скобки расставлены верно, то программа выводит ответ “Да” в противном случае – “Нет”. Блок-схема алгоритма программы №2конец write('Нет'); write('Да') нет да if a=0 да inc(a); dec(a); да if s[i]='(' if s[i]= ')' for i:=1 to length(s);+1 Ввод S Начало a:=0; Тестирование программы №2Скриншот 3. Ввод данных. Скриншот 4. Вывод данных. Скриншот 5. Приложение 2. Листинг программы №2Var s: string; {Описание типов данных} a,i:integer; Begin Writeln('Введите строку символов '); {Ввод данных} Read(s); a:=0; For i:=1 to length(s) do {Просмотр строки в цикле For} begin if (s[i]='(') and (a>=0) then inc(a); if s[i]=')' then dec(a); end; if a=0 then write('Да') else write('Нет'); end. ЗаключениеВ ходе выполнения лабораторной работы №1 было сформулировано задание, разработан алгоритм, составлена и протестирована программа. Проведенные тесты показали, что программа работает правильно. |