Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Тема: «Символьный тип данных»Содержание книги
Поиск на нашем сайте
Диапазон значений: значением переменной символьного типа может быть любой символ буквы, цифры, знаки операций, скобки, пробелы и специальные символы. Каждому символу алфавита соответствует индивидуальный код от 0 до255. Наиболее распространенной международной согласованной системой кодирования всех символов является система ASCII. Символы с кодами 0 до 127 представляют так называемую основную таблицу кодов ASCII. Эта часть идентична на всех IBM-компьютерах. Коды с символами от 128 до 255 представляют национальную часть. Так как символы языка упорядочены, то к символьным данным применимы операции сравнения. Операция сравнения осуществляется следующим образом: из двух символов меньше тот, который встречается в таблице раньше. Функция ORD от величины типа Char дает код соответствующего символа. Величины символьного типа сравниваются по своим кодам. Пример определения символьного типа в программе: Var word: Char;
Примеры решений задач 1. Программа проверки введения клавиши ‘ Y ’. Program keyp; Var ch: char; Begin Repeat Readln(ch); Until (ch=’y’) or (ch=’Y’) End. 2. Программа вывода последовательностей букв. Program abc_xyz; Var c,d: char; Begin For c:=’a’ to ‘z’ do Begin For d:=’a’ to c do write(d); Writeln(‘ ‘) end end. Список задач 1. Удалить группу символов, расположенных между круглыми скобками включая сами скобки. 2. Дано натуральное число n и n символов. Подсчитать, сколько раз среди данных символов встречается символ "+" и сколько раз символ "*". 3. Подсчитать общее число вхождений символов "+", "-", "*" в последовательности n символов. 4. Выделить символы, заключённые в фигурные скобки. 5. Удалить символы, заключённые в фигурные скобки. 6. Переставить местами группы символов While и Do. 7. Переставить местами группы символов Repeat и Until. 8. Подсчитать наибольшее число букв а, идущих подряд в данной последовательности символов. 9. Вычислить s- сумму порядковых номеров всех букв, входящих в слово SUM. 10. Напечатать текст, образованный литерами с порядковыми номерами 65, 71 и 69. 11. Если в заданный текст входит каждая из букв слова key, тогда напечатать yes, иначе no. 12. Напечатать заданный текст, удалив из него лишние пробелы, т.е. из нескольких подряд идущих пробелов оставить только один. 13. В заданный непустой текст входят только цифры и буквы. Определить, удовлетворяет ли он следующему свойству: а) текст содержит (помимо букв) только одну цифру причём её числовое значение равно длине текста; б) сумма числовых значений цифр, входящих в текст, равна длине текста; 14. Логической переменной b присвоить значение true, если между литерами 'a' и 'z' нет иных символов, кроме строчных латинских букв, и значение false иначе. Практическая работа № 7 Тема: «Функции и процедуры» Вспомогательные алгоритмы организуются двумя способами в зависимости от использования: 1) ПРОЦЕДУРЫ: Программа процедура предназначена для выполнения какой-то законченной последовательности действий. Любая процедура начинается с заголовка. В отличии от основной программы заголовок в процедуре обязателен. Он состоит из зарезервированного слова Procedur e, за которым следует идентификатор имени процедуры, а далее в круглых скобках список формальных параметров: Procedure <имя процедуры> (список формальных параметров) За заголовком могут идти такие же разделы, что и в основной программе. В отличии от основной программы процедура завершается не точкой, а точкой с запятой. Procedure < имя процедуры >[(< аргументы >: < тип аргументов>]; Var <значение>:< тип значения >])]; Var < переменная 1>[,< переменная 2>,...]: тип; Begin < тело процедуры>; End; Для вызова процедуры из основной программы или другой подпрограммы следует записать оператор, состоящий из имени процедуры и списка фактических параметров, которые должны совпадать по количеству и типу с формальными параметрами процедуры. 2) ФУНКЦИИ: Подпрограмма-функция предназначена для вычисления какого-либо параметра. У подпрограммы-функции два основных отличия от процедуры: а) заголовок состоит из слова function, за которым следует имя функции, далее в круглых скобках - список формальных параметров, затем через двоеточие записывается тип функции - тип возвращаемого параметра. Функция может возвращать параметры следующих типов: любого порядкового, любого вещественного, стандартного строкового и символьного. б) в теле функции хотя бы раз имени функции должно быть присвоено значение. Function < имя функции >[(< аргументы >: < тип аргументов>):< тип значения функции>]; Var < переменная 1>[,< переменная 2>,...]: тип; Begin <тело функции>; <имя функции>:=<выражение значение функции>; End;
Примеры решений задач. 1. Пример функции для вычисления факториала. Function Fac to rial(N: Byte) :Longint; Var Fact: longint; I: byte; Begin Fact:=n; For i:=n-1 downto 2 do Fact:=fact*i; Fac to rial:=fact; End; Вариант 1. Использование процедуры без параметров. Program Square1; Var АВ, ВС, СD, DA, DB, a, b, c, p, s, S1, S2: Real; Procedure geron; Begin p:= (a+b+c)/2; s:= sqrt(p*(p–a)*(p–b)*(p–a)); End; Begin WriteLn (‘Введите длины сторон АВ, ВС, СD, DA, DB’); ReadLn (AB, ВС, СD, DA, DB); a:= AB; b:=DB; c:=DA; geron; S1:=s; a:= BC; b:=CD; c:=DB; geron; S2:=s; WriteLn (‘Площадь равна:’, S1+S2) End. АВ, ВС, СD, DA, DB, a, b, c, p, s, S1, S2 – глобальные переменные;
Вариант 2. Использование процедуры без параметров. Program Square2; Var АВ, ВС, СD, DA, DB, a, b, c, s, S1, S2: Real; Procedure geron; Var p:Real; Begin p:= (a+b+c)/2; s:= sqrt(p*(p–a)*(p–b)*(p–a)); End; Begin WriteLn (‘Введите длины сторон АВ, ВС, СD, DA, DB’); ReadLn (AB, ВС, СD, DA, DB); a:= AB; b:=DB; c:=DA; geron; S1:=s; a:= BC; b:=CD; c:=DB; geron; S2:=s; WriteLn (‘Площадь равна:’, S1+S2) End. АВ, ВС, СD, DA, DB, a, b, c, s, S1, S2 – глобальные переменные; p – локальная переменная.
Вариант 3. Использование процедуры с параметрами. Program Square3; Var АВ, ВС, СD, DA, DB, s, S1, S2: Real; Procedure geron (a, b, c); Var p:Real; Begin p:= (a+b+c)/2; s:= sqrt(p*(p–a)*(p–b)*(p–a)); End; Begin WriteLn (‘Введите длины сторон АВ, ВС, СD, DA, DB’); ReadLn (AB, ВС, СD, DA, DB); geron (AB, DB, DA); S1:=s; geron (BC, CD, DB); S2:=s; WriteLn (‘Площадь равна:’, S1+S2) End. АВ, ВС, СD, DA, DB – фактические параметры; a, b, c – формальные параметры.
Вариант 4. Использование процедуры с возвращением значения. Program Square4; Var АВ, ВС, СD, DA, DB, S1, S2: Real; Procedure geron (a, b, c; Var s:Real); Var p:Real; Begin p:= (a+b+c)/2; s:= sqrt(p*(p–a)*(p–b)*(p–a)); End; Begin WriteLn (‘Введите длины сторон АВ, ВС, СD, DA, DB’); ReadLn (AB, ВС, СD, DA, DB); geron (AB, DB, DA, S1); geron (BC, CD, DB, S2); WriteLn (‘Площадь равна:’, S1+S2) End.
Вариант 5. Использование процедуры-функции. Program Square5; Var АВ, ВС, СD, DA, DB, S: Real; Function geron (a, b, c: Real): Real; Var p:Real; Begin p:= (a+b+c)/2; geron:= sqrt(p*(p–a)*(p–b)*(p–a)); End; Begin WriteLn (‘Введите длины сторон АВ, ВС, СD, DA, DB’); ReadLn (AB, ВС, СD, DA, DB); S:= geron (AB, DB, DA) + geron (BC, CD, DB); WriteLn (‘Площадь равна:’, S) End.
Список задач 1. Даны действительные числа s, t. Получить: 2. Даны действительные числа s, t. Получить: 3. Даны действительные числа a, b, c. Получить: 4. Даны действительные числа a, b. Получить: u=min (ab), v=min (ab, a+b), f= min (u+v2,3.14) 5. Даны натуральные числа n, m, целые числа a1, a2,..., an, b1,..., bm, c1,..., с10. Получить: L = min (b1, …, bm) + min (a1, …, am) + min (c1, …, c10). 6. Даны натуральные числа k, l, m, действительные числа x1,..., xk, y1,..., yl, z1,..., zm. Получить L = max(y1,…, yl) + max(z1,…, zm), если max(x1,…, xk) > 30. 7. Дано натуральное число n. Среди чисел 1, 2, 3,..., n найти все те, которые можно представить в виде сумм квадратов двух натуральных чисел. Определить процедуру, позволяющую распознавать полные квадраты. 8. Даны действительные числа x1, y1, x2, y2,..., x10, y10. Найти периметр десятиугольника, вершины которого имеют соответственно координаты (x1, y1), (x2, y2),..., (x10, y10). Определить процедуру вычисления расстояния между двумя точками, заданными своими координатами. 9. Даны действительные числа a, b, c, d, е. Найти площадь пятиугольника. Определить процедуру вычисления площади треугольника по трём сторонам. 10. Даны натуральное число n, действительные числа x1, y1, x2, y2,..., xn, yn. Найти площадь n -угольника, вершины которого при некотором последовательном обходе имеют координаты (x1, y1), (x2, y2),..., (xn, yn). Определить процедуру вычисления площади n-угольника по координатам его вершин. 11. Дано натуральное число n. Выяснить, имеются ли среди чисел n, n+1,..., 2n близнецы, т.е. простые числа, разность между которыми равна. Определить процедуру, позволяющую распознать простые числа. 12. Составить процедуру, результатом работы которой является истинное значение, если символ, заданный при обращении к процедуре, буква, и ложное значение в противном случае. 13. Составить процедуру, результатом работы которой является символ, заданный при обращении к процедуре, если этот символ не является буквой, и соответствующая строчная (малая) буква в противном случае. 14. Составить процедуру, заменяющую в исходной строке символов все единицы нулями и все нули единицами. Замена должна выполняться, начиная с заданной позиции строки. Практическая работа № 8
|
||||
Последнее изменение этой страницы: 2021-07-18; просмотров: 154; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.144.239 (0.006 с.) |