
программирование_занятие_6
.doc«Решение задач на обработку чисел и строк».
Структурированные типы данных. Cтрока |
1 Определение. Строковый (литерный). Базовый.
2 Способы представления (хранения).
BASIC PASCAL
<им.пер.>$ <им.пер.>:string[12];
BASIC Использование специальной области памяти, размер которой (по умолчанию 200 байт) может быть изменен оператором clear .
PASCAL Задается как одномерный массив знаков (см. ТД "массив").
В нулевом элементе массива хранится фактическая длина строки.
* Как исключение, ввод и вывод происходит как с базовыми элементами.
3 Основные операции.
BASIC PASCAL
конкатенация (слияние) =a$+b$ =concat(a,b,...)
выделение подстроки слева =left$(a$,x)
выделение подстроки справа =right$(a$,x)
выделение подстроки =mid$(a$,m,x) =copy(a,m,x)
замена части строки внутри строки mid$(a$,m,x)=
вставка строки внутрь строки insert(q,z,p)
удаление части строки delete(s,p,n)
4 Связь с данными других типов.
BASIC PASCAL
определение длины строки =len(a$) =lenth(a)
поиск подстроки в строке =instr(a$,b$) =pos(b,a)
представление чисел строкой цифр =str$(x) str(v:d:s,z);
{ =bin$(x) =oct$(x) =hex$(x) }
превращение строки цифр в число =val(a$) val(s,v,c)
-----------------------------------------------------------------------
2004 A09 |
программы |
Определите значение целочисленных переменных x, y и t после выполнения фрагмента программы:
|
1 |
|
|
||||||||||||||||
2005 А07 |
программа |
Определите значение целочисленных переменных a и b после выполнения фрагмента программы (ниже представлена одна и та же программа, записанная на разных языках программирования):
|
|
|
|||||||||||||||||
2004 С05 |
прогр |
Во входном файле text.dat содержится текст на английском языке, заканчивающийся точкой (другие символы “.” в этом файле отсутствуют). Требуется написать программу на языке Паскаль или Бейсик, которая будет определять и выводить на экран английскую букву, встречающуюся в этом тексте чаще всего, и количество там таких букв. Строчные и прописные буквы при этом считаются не различимыми. Если искомых букв несколько, то программа должна выводить на экран первую из них по алфавиту. Например, пусть файл содержит следующую запись: It is not a simple task. Yes! Чаще всего здесь встречаются буквы I, S и T (слово Yes в подсчете не учитывается, так как расположено после точки). Следовательно, в данном случае программа должна вывести два символа, разделенных пробелом: I 3
|
|
|
|
||||||||||||||||
2009 А05 |
программа |
Определите значение переменной c после выполнения следующего фрагмента программы.
|
4 |
|
|
||||||||||||||||
2009 B02 |
Программа |
Запишите значение переменной b после выполнения фрагмента алгоритма:
Примечание: знаком := обозначена операция присваивания. знаком * обозначена операция умножения. |
511 |
|
|
||||||||||||||||
2009 С01 |
программа |
Требовалось написать программу, которая вводит с клавиатуры координаты точки на плоскости (x,y – действительные числа) и определяет принадлежность точки заштрихованной области, включая ее границы. Программист торопился и написал программу неправильно.
Последовательно выполните следующее: 1) Приведите пример таких чисел x, y, при которых программа неверно решает поставленную задачу. 2) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы.)
|
|
|
|
||||||||||||||||
2005 С03 |
|
|
|
|
|
||||||||||||||||
2009 С02 |
программа |
Опишите на русском языке или одном из языков программирования алгоритм получения из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать модули значений элементов первого массива (не используя специальной функции, вычисляющей модуль числа). |
|
|
|