Решение квадратного уравнения. Оператор варианта. Вычисление площадей фигур. 10. Примерные задания к контрольной работе
Скачать 443 Kb.
|
ОБРАБОТКА СИМВОЛЬНЫХ И СТРОКОВЫХ ВЕЛИЧИН 3Получить перевертыш: ОГОРОД - ДОРОГО. Program Primer11; uses crt; var a: string; i,l: integer; Begin clrscr; write('Введите слово :'); readln(a); clrscr; { for i:=length(a) downto 1 do write(a[i]); } writeln(a); l:=length(a); for i:=l downto 1 do writeln(copy(a,i,1)); readkey; End. Очень давно слово "АБРАКАДАБРА" записывали определенным образом на ткани и это заклинание носили в виде шарфика вокруг шеи. Считалось, что заклинание защищает от малярии и других болезней. Получить эту запись в виде треугольника. Program Primer12; uses crt; Программу можно написать var a: string; и другими способами. i, k: integer; Begin Можете подумать на досуге. clrscr; a:='a b r a k a d a b r a'; k:=0; for i:=1 to 11 do begin gotoxy(30+i,9+i); delete(a,22-k,2); write(a);k:=k+2 end; readkey; End. З А Д А Н И Я: 1. Набрать и исполнить программы. Разобраться в работе программ. 2. Ввести слово произвольной длины и напечатать его в виде треугольника: 1)Л 2) ЛИПА 3) ЛИПА 4) ЛИПКА ЛИ ЛИП ИПА ИПК ЛИП ЛИ ПА П ЛИПА Л А ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 29ОБРАБОТКА СИМВОЛЬНЫХ ВЕЛИЧИН 4Задача: Ввести с клавиатуры предложение. 1. Подсчитать в нем количество всех символов. 2. Подсчитать количество букв "а". 3. Заменить запятые пробелами. 4. Осуществить движение первых двух символов вниз. Program Simwol; Uses crt; var a, { начальное предложение } b, { промежуточная переменная } c: string; { конечное предложение } i, { переменная цикла } k, { счетчик символов "а" } l: integer; { счетчик символов } Begin clrscr; write('Введите предложение :'); readln(a); l:=length(a); writeln('В предложении содержится ',l,' символов'); k:=0; b:=''; c:=''; for i:=1 to l do begin b:=copy(a,i,1); if b='a' then k:=k+1 end; writeln('В предложении содержится ',k,' символов "a"); for i:=1 to l do begin b:=copy(a,i,1); if b<>',' then c:=c+b else c:=c+' ' end; delay(6000); { временная задержка вывода (пауза) } clrscr; write(c); b:=copy(c,1,2); for i:=2 to 22 do begin gotoxy(1,i); write(b); delay(500); { печать двух символов } gotoxy(1,i); write(' ') { стирание этих символов } end; readkey; End. З А Д А Н И Я: 1. Набрать и исполнить программу. 2. Разобраться в работе программы. 3. Заменить движение первых двух символов на движение слова. 4. Заменить движение слова по вертикали на движение по наклонной. 5. Заменить движение слова на перемещение букв этого слова по одной. М А С С И В ЫПОСТАНОВКА ЗАДАЧИ - существует большое число задач, требующих много однотипных переменных. Например, присвоить переменным значения среднесуточных температур в течение года. Работать с таким количеством переменных очень трудно: процесс описания, присваивания, способы обработки переменных и т.д. РЕШЕНИЕ ЗАДАЧИ - введем новое понятие - массив. МАССИВ - это упорядоченный по номерам набор значений, объединенных общим типом и именем. Упорядоченность в том, что элементы массива располагаются в последовательных, пронумерованных ячейках памяти. Массив имеет фиксированные: имя, тип и количество значений. Массиву выделяется место в памяти. Элементы массива - это переменные с индексами. Индексы можно вычислять. ОПРЕДЕЛЕНИЕ МАССИВА - массивы, как и простые переменные, подлежат описанию в разделе переменных: VAR <имя>: ARRAY[ array (эррэй) - массив. of (оф) - из. Тип индексов - любой скалярный тип кроме real. Индексы можно вычислять. Тип элементов - любой для данной версии языка. [min..max] - размер массива. min - нижняя, max –верхняя границы индексов. min<=max. Границы можно задать с помощью переменных. Можно задавать постоянный массив: const x: array [1..10] of integer=(4,6,3,5,2,1,7,8,9,13); const x: array [1..8] of char=('a','b','c','d','e','f','g','h'); Элементы таких массивов являются константами. Если массивы одинаковы и отличаются лишь именами, то их можно описать в одной строке: var a,b,c :array[1..n] of real; , где n -верхняя граница индекса и n описывается в разделе констант. ВИДЫ МАССИВОВ : Одномерные - ряд элементов. B[5] - 5-ый элемент массива. Двумерные - таблицы. B[3,5] - элемент таблицы B ,стоящий в 3 строке и в 5 столбце. Многомерные - ряд таблиц (изучаются в Вузе). ЗАПОЛНЕНИЕ МАССИВА: 1. С помощью CONST. 2. С помощью READ и циклической конструкции. 3. Часто требуется обнуление ячеек массива. For I:=1 to n do A[I]:=0; 4. Для отладки программ и для программирования игр, тестов применяют заполнение массива случайными числами. randomize; For I:=1 to n do A[I]:=random(q-p+1)+p; qp 5. Присваивание значений. A[1]:=7; A[2]:=77; A[3}:=33; и т. д. ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 30 ЗАПОЛНЕНИЕ И ВЫВОД МАССИВОВЗаполнить и вывести на экран одномерный массив целых чисел. Program Primer1; uses crt; var a: array[1..5] of integer; i: integer; Begin clrscr; {******* заполнение массива c клавиатуры *******} for i:=1 to 5 do begin write('a[',i,']='); readln(a[i]); end; clrscr; {***** вывод массива на экран *****} Write(‘Массив А: ’); for i:=1 to 5 do write(a[i],’ ‘); readkey; End. З А Д А Н И Я: 1. Набрать и исполнить программу. 2. Увеличить число элементов массива. 3. Описать размерность массива с помощью переменных. 4. Оформить программу с помощью процедуры ввода массива и процедуры вывода массива на экран. 5. Заполнить массив нулями. ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 31 ЗАПОЛНЕНИЕ И ВЫВОД МАССИВОВ (продолжение) Заполнить и вывести на экран одномерный массив символов. Program Primer2; uses crt; const a: array[1..5] of char=('a','b','c','d','e'); procedure Print(n: integer); var i: integer; begin for i:=1 to n do write (a[i]:2) end; Begin clrscr; write('Массив А: '); Print(5); readkey; End. З А Д А Н И Я: 1. Набрать и исполнить программу. 2. Вывести на экран первые 3 буквы. 3. Вместе с тремя буквами вывести на экран последнюю букву. 3. Заполнить массив дробными и отрицательными значениями. 4. Заполнить и вывести на экран одномерный массив, содержащий 200 одинаковых элементов. 5. Вывести элементы построчно ( используйте wherex, см. практическое занятие 17 ). 6. Вывести элементы в указанной с клавиатуры строке экрана. ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 32ОБРАБОТКА ОДНОМЕРНЫХ ЧИСЛОВЫХ МАССИВОВ. #1. СУММИРОВАНИЕ ЭЛЕМЕНТОВ МАССИВАПОСТАНОВКА ЗАДАЧИ: Найти сумму элементов одномерного массива. Найти среднее арифметическое. Program Summa; uses crt; const n=5; var a: array[1..n] of integer; m,i,s: integer; Автоматическое заполнение случайными числами от1 до20 procedure Input; Procedure Input; begin begin for i:=1 to n do p:=1; q:=20; randomize; begin for i:=1 to n do a[i]:=random(q-p+1)+p; write('a[',i,']='); readln(a[i]); end; end end; procedure Print; begin write('Массив целых чисел А: '); for i:=1 to n do write(' ',a[i]) writeln; writeln; { пропуск строки } end; procedure Sum( m: integer); begin s:=0; for i:=1 to m do s:=s+a[i]; end; Begin ClrScr; Input; { заполнение массива из 5 элементов } ClrScr; Print; { печать заполненного массива } write('Сколько элементов суммировать: '); readln(m); Sum(m); writeln; { суммирование m элементов массива } writeln('Сумма ',m,' элементов массива равна: ', s); { суммирование всех элементов массива } Sum(n); writeln; writeln('Сумма всех ',n,' элементов массива равна: ', s); Write ('Среднее арифметическое всех элементов равно ', s/n); Readkey; End. З А Д А Н И Я: 1. Набрать и исполнить программу. 2. Увеличить число элементов массива. 3. Найти сумму 8 элементов массива. 4. Осуществить ввод количества элементов массива с клавиатуры. ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 33 #2. ОБРАБОТКА ОДНОМЕРНЫХ ЧИСЛОВЫХ МАССИВОВ СУММА ЭЛЕМЕНТОВ МАССИВА ПО УСЛОВИЮПОСТАНОВКА ЗАДАЧИ: Заполнить и вывести массив на экран. Ввести условие суммирования ( а[i] Найти сумму и вывести на экран результат. Program SumUsl; uses crt; const a: array[1..10] of integer=(3,5,2,1,6,3,8,7,5,9); var i, s, u: integer; procedure Su; begin s:=0; for i:=1 to 10 do if a[i] write('Сумма элементов меньших ',u,' равна ',s); end; Begin ClrScr; Print; { смотри занятие 32 } writeln; writeln; write('Введите условие суммирования : '); readln(u); Su; Readkey; End. З А Д А Н И Я: 1. Изменить условие суммирования. 2. Написать процедуру Input. 3. Найти произведение элементов по условию. ПРАКТИЧЕСКОЕ ЗАНЯТИЕ № 34 #3. ОБРАБОТКА ОДНОМЕРНЫХ МАССИВОВ |