Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Процедура Результат Код

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

 

УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ «МОГИЛЕВСКИЙ ГОСУДАРСТВЕННЫЙ ПОЛИТЕХНИЧЕСКИЙ КОЛЛЕДЖ»

 

 

Специальность 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) они преобразуются в строки и 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.

 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...