фыа. отчет 1 прог_двл. Лабораторная работа 1 посвящена созданию программ с использованием простых управляющих структур условного оператора, цикла. В задании используются простые типы данных
Скачать 218.34 Kb.
|
Введение. Лабораторная работа № 1 посвящена созданию программ с использованием простых управляющих структур: условного оператора, цикла. В задании используются простые типы данных. Задание состоит из двух задач. Решение первой задачи предусматривает использование простых типов данных. В ходе выполнения лабораторной работы необходимо составить программы на языке Паскаль. В некоторых программах полезно определить вспомогательные функции или процедуры. Решение задачи №1. Даны натуральные числа n, m. Получить сумму m последних цифр числа n. Число n вводить как величину типа integer, и строки не использовать. Пример. Пусть n = 12345, m = 3, тогда ответ равен 3 + 4 + 5 = 12. Используем цикл с предусловием (while): Используется в случае, когда циклическими действиями управляет логическое условие, и как правило, к моменту выполнения не ясно, сколько нужно повторить циклические действия. while <логическое выражение> do | заголовок цикла <оператор> | тело цикла Листинг программы: program lab1; var n, m, ans, nmb : integer; begin readln(n, m); ans := 0; while(m <> 0) do begin nmb := n mod 10; n := n div 10; ans := ans + nmb; dec(m); end; writeln(ans); end. Тестирование программы: При n = 12345, m = 3 (используем данные из примера): Рис. 1 При n = 6789, m = 2: Рис. 2 Решение задачи №2. Для каждой цифры '0', '1', ... , '9' подсчитать количество вхождений в данную строку S. Используем цикл с параметром (for): Используется в случае, когда число повторений цикла может быть определено перед его выполнением. for <переменная>:=<диапазон> do <оператор> <диапазон>::=<выражение> <направление> <направление>::= to | downto Листинг программы: program lab2; var i, j, q : integer; str : string; c : char; begin readln(str); for i := 0 to 9 do begin c := chr(ord('0')+i); q := 0; for j := 1 to length(str) do if(str[j] = c) then inc(q); writeln('Цифра ', c, ' встречается в строке ', q, ' раз'); end; end. Тестирование программы: Задаем строку S: 333779652008888 Рис. 3 Задаем строку S: 2687064395678213649025798632659 Рис. 4 |