Процедура Результат Код
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ «МОГИЛЕВСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ КОЛЛЕДЖ»
Специальность 2-26 02 03, 2-36 01 06, 2-36 01 01, 2-36 01 03, 2-40 01 01, 2-53 01 05
Дисциплина Информатика
УТВЕРЖДАЮ Зам.директора по УР ______ В.А.Бансюкова ____________________
ПРАКТИЧЕСКАЯ РАБОТА № 10 СОСТАВЛЕНИЕ АЛГОРИТМОВ И ПРОГРАММ ПО ВЫПОЛНЕНИЮ ПРАКТИЧЕСКИХ ЗАДАНИЙ ИЗ РАЗЛИЧНЫХ ПРЕДМЕТНЫХ ОБЛАСТЕЙ
МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ
Разработал преподаватель Разиева Л.П.
Обсуждены и одобрены на заседании цикловой комиссии спецдисциплин специальности «Программное обеспечение информационных технологий»
Протокол № ___ от _______________ Цели занятия 1.1 Формирование навыков работы со строковыми величинами, умений решения задач на перевод текстовой информации в цифровую и наоборот 1.2 Формирование навыков работы в интегрированной среде Turbo Pascal
Методическое обеспечение
2.1 Методические рекомендации по выполнению практической работы 2.2 Персональный компьютер IBM PC 2.3 Программное обеспечение – Windows ХP, обучающая программа TPBegin, интегрированная среда Turbo Pascal (ИС ТР)
Последовательность выполнения работы
3.1 Ознакомьтесь с теоретическим материалом по работе 3.2 Загрузите ИС Turbo Pascal 3.3 Перейдите в свою папку { File –> Change dir, перейти двойным щелчком мыши на свой диск, а затем в свою папку } 3.4 Выполните задание к работе 3.5 Сохраните программы в своей папке { File –> Save или F2} 3.6 Продемонстрируйте результаты работы преподавателю 3.7 ЗакройтеИС Turbo Pascal { File –>Exit (Alt-X)} 3.8 Оформите отчет
Теоретическое обоснование
Напомним, что целые или вещественные числа преобразуются в строки процедурой Str(V, S). Онапереводит числовую переменную V в переменную S типа String. Процедура Val(S, V, code) преобразует строковое представление числа S в его числовое значение V. Если преобразование возможно, то в переменной code возвращается 0, если невозможно, то в code возвращается ненулевое значение. Например, пусть s – строка string[5], x, k – переменные типа integer, y – переменная типа real. Процедура Результат Код Str(15,s) ‘15’ Str(-3,s) ‘-3’ Str(73456789,s) ‘73456’ Str(73.456789,s) ’73.45’ Val (‘9.89’, y, k) 9.8900000000E+00 k=0 Val (‘9.89’, x, k) 0 k=2 Val (‘-81’, y, k) -8.100000000E+01 k=0 Val (‘-81’, x, k) -81 k=0 Val (‘81а’, x, k) 0 k=3 Разберем примеры решения задач. Пример 1. Составить программу, которая преобразует введенные с клавиатуры числа в строки и выполняет действия над ними. С клавиатуры вводятся два числа (например, 12 15) и помещаются в целочисленные переменные a и b. Выводится их сумма, например, 12+15 = 27. Затем процедурами Str(a,sa) и Str(b,sb) они преобразуются в строки sа и sb. Выводится результат слияния этих строк: ‘12’+’15’ = ‘1215’. Программа может выглядеть так: Program Prim10_1; var a, b, с: integer; sa, sb, sс: string; begin write('Введите два числа: '); readln(a,b); { ввод чисел } с:= а + b; writeln('Сумма чисел: ', a,' + ',b, ' = ', с); { вывод суммы чисел } Str(a,sa); Str(b,sb); { преобразование чисел в строки } sс:= sa + sb; writeln('Слияние строк: ', sa, ' + ', sb, ' = ', sс); { вывод строки } end. Пример 2. Подсчитать сумму цифр данного числа. Решение. Пусть число вводиться с клавиатуры как строка. Алгоритм решения задачи состоит в следующем: - вычислить длину введенной строки (т.е. нашего числа) - перевести каждый символ строки в число - посчитать сумму чисел - вывести результат на экран Назначение переменных: st - строка, в которую мы будем вводить наше число; i - номер текущего символа строки st; d - цифра числа, в которую преобразовывается символ строки st; s - сумма цифр числа; k - значение ошибки для процедуры Val.
В соответствии с алгоритмом решения составим программу на языке Паскаль: program Prim10_2; Var i, k, d, S: Integer; St:string; Begin write('Введите число: '); readln(St); { ввод строки } s:=0; {начальное значение суммы} For i:=1 To Length(st) Do Begin Val (st[i],d,k); {преобразование символа в число} If k=0 then s:=s+d {если это число, то прибавляем его к сумме} else write(‘это не число’); End; Writeln(‘Сумма цифр равна ‘,s); End. Пример 3. Определить, является ли шестизначное число «счастливым», т.е. совпадает ли сумма первых трех цифр этого числа с суммой последних трёх цифр. Решение. Шестизначное число является «счастливым», если суммы трёх его цифр, расположенных слева и справа, одинаковы. Будем считать, что число вводиться с клавиатуры как строка. Алгоритм решения задачи состоит в следующем: - посчитать сумму первых трёх цифр: скопировать символ из строки (copy), перевести его в число (val) и прибавить к сумме; - посчитать сумму последних трёх цифр; - сравнить полученные суммы; - вывести результат на экран. В соответствии с алгоритмом решения составим программу на Паскале: program Prim10_3; var chislo, s1, s2: string[6]; i, n, sum_1, r1, sum_2, r2, p: integer; Begin write('Введите строку: '); readln(chislo); { ввод строки } sum_1:=0; sum_2:=0; for i:=1 to 3 do { подсчет суммы первых трёх цифр } begin s1:=copy (chislo, i, l); val (s1, r1,p); if p=0 then sum_1:= sum_1+r1 else writeln(‘это не число’) end; for i:=6 downto 4 do { подсчет суммы последних трёх цифр } begin s2:=copy (chislo, i, l); val(s2,r2,p); if p=0 then sum_2:= sum_2+r2 else writeln(‘это не число’) end; { сравнение полученных сумм и вывод результата } if s1=s2 then wrteln (chislo, ’ – счастливое’) else writeln (chislo, ’ – несчастливое’); End.
Читайте также: d) Процедура оформления дефектной ведомости или заявки на ремонт. Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|