Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Анализ самостоятельной работы. Работа над ошибками




О о

Решение задач.

Цель: закрепление знаний, подготовка к контрольной работе.

Ход урока;

Проверка домашнего задания с анализом выполненных ими программ. Студенты, успешно справившиеся с домашним заданием, предлагаем перейти к решению задач.

Примерные тексты задач.

1. Задана строка, содержащая буквы и числа. Найти произведение всех чисел заданной строки (использовать тип данных long, int для вывода произведения).

2. Составить алгоритм, подсчитывающий количество тех слов в строке из N букв, в которых третьей является заданная буква ь. Слова разделены пробелами. Других знаков препинания нет.

3. Написать программу, которая по введенному коду выдает на экран символ.

4. Написать программу, которая выведет следующую конструкцию из символов:

а

аб

абс

абсд

аб...я.

Домашнее задание: повторить процедуры работы со строковыми величинами и приемы обработки массивов, просмотреть решение задач на строковые величины и двумерные массивы, подготовиться к контрольной работе.

«Строковые величины и двумерные массивы».

Цель: проверка знаний студентов, навыков самостоятельного решения задач и умения применять полученные знания на практике.

Студентам предлагаем несколько вариантов работы, в каждом из которых две задачи.

Вариант 1.

1. Имеется двумерный массив целых положительных чисел. Найти номер строки, для которой среднеарифмети­ческое значение ее элементов максимально.

2. Составить алгоритм, подсчитывающий для заданного текста частоту вхождения всех букв русского алфавита.

Вариант 2.

1. Найти номер строки и столбца двумерного массива для максимального элемента этого массива.

2. Написать программу, которая введенное с клавиатуры слово напечатает следующим образом:

школа

к л

л л

алокш

Вариант 3.

1. Найти сумму элементов двумерного массива вещест­венных чисел с(15,15), расположенных на главной диаго­нали.

2. Написать программу, которая перевернет введенное с клавиатуры слово или фразу.

Цель: проанализировать наиболее характерные ошиб­ки, развивать навыки самостоятельного анализа проблем и выбора метода их решения.

Ход урока:

На данном уроке необходимо проанализировать ошибки, допущенные студентами в ходе выполнения самостоятельной работы, разобрать причины, вызвавшие эти ошиб­ки. Провести работу по исправлению допущенных ошибок. В том случае, если с какой-либо из задач не справилось большинство учащихся, ее выполнявших, то целесообразно привести решение этой задачи на доске с подробным ана­лизом решения.'

После исправления ошибок предлагаем учащимся про­верить работу их программ на компьютере (провести тес­тирование программ).

Примерные варианты решения задач:

Вариант 1.

1. program vll; uses crt;

var a:array[1..50,1..50] of integer; i,j,n,m,s,k:integer; sr:real; begin clrscr;

write('ввeдитe количество строк и столбцов'); readln (m,n); randomize; for i:=l to m do for j:=l to n do a[i,j]:=random(50); clrscr;

writeln ('исходный массив'); for i:=l to m do

begin forj:=l to ndo write(a[ij]:4); writeln; end; sr:=-5; {так как массив положительных чисел}

writeln; for i:=l to mdo \ begin.^' s:=0; ' forj:=l to ndo

J s:=s-i-a[i,j]; writeln(s/n:6:2); {распечатка средних арифметических для контроля} ifs/n>sr then begin

sr:=s/n; k:=i; end; end;

writeln;

writeln('иcкoмaя строка-',k); repeat until keypressed; end.

2. program vl 2;

uses crt;

var fr,bukv,z:string; a:array[l..32] of integer;

i,k: integer;

{определение номера буквы}

procedure por(var znach: integer;x:string;bukv:string); • var i: integer;

begin

znach:=0

i:=l;

while (i<=32) and (znach=0) do

if x=copy(bukv,i, 1) then znach:=i

else i:=i+l; end;

{исполняемая часть} begin clrscr;

wгiteln('ввeдитe фразу'); readln(fr);

Ьику:='абвгдежзийклмнопрстуфхцчшщъыьэюя'; for i:=l to 32 do a[i]:=0; for i:=l to length(fr) do begin por(k,copy(fr,i,l),bukv); {просмотр фразы и определение вхождения}

ifk>Othena[k]-a[k]+l;

end; writeln;

write ('абвгдежзийклмнопрстуфхцчшщъэюя'); writeln;

for i:=l to 32 do write(a[i]:2); repeat until keypressed; end.

Вариант2.

1. program v21; uses crt;

vara:array[1..50,1..50] of real; i,j,n,m,k,l:integer; max:real;

begin: clrscr;

write('ввeдитe размер массива m,n'); readln(m,n); randomize; I for i:=l to mdo r forj:-l to n do ' a[ij]:=random(50); ' clrscr;

; writpln ('исходный массив'); 1; for i:=l to m do begin

for j:=l ton do

write(a[ij]:6:2);

writeln;

end; max:=a[l,ll;

for i:=l to m do

forj.-l ton do

if max<a[i,j] then begin

max:=a[i,j];k:=i;l:=j; end;

writeln('мaкcимaльный элемент равен ',max:6:2,');

writeln('oh находится в ', к,'строке ', 1 'столбце');

repeat until keypressed;

end.

2.

program v22; uses crt;

yar fr:string;i,n,k:integer; begin clrscr

writeln('ввeдитe слово');; read(fr); gotoxy(4,12); write(fr);

for i:=2 to length(fr) do begin gotoxy (4,11 +i); write(copy(fr,i, 1)) gotoxy(4+length(fr)-l,11+i); write(copy(fr,length(fi-)-i+1,1)); end; for i:=2 to length(fr)-l do begin

gotoxy(3+i,l l+length(fr)); write(copy(fr,length(fr)-i+l,l)); end; repeat until keypressed; end.

Вариант3.

1. program v31;

uses crt;,

var c:array[1..15,1..15] ofreal; i,j:integer; s:real; begin clrscr; randomize; for i:=l to 15 do forj:=l to 15 do c[i,j]:=random(50); clrscr;

writeln ('исходный массив'); for i:=l to 15 do begin

forj:=l to 15 do

write(c[i,j]:6:2);

writeln; end; s:=0; fori:=l to 15 dp

s:=s+c[i,i]; '

writeln('Искомая сумма-,s: 10:2); repeat until keypressed; end.

2.

programv32 uses crt;

var fr:string;i: integer; begin

clrscr;.

vvrite('BBeflHTe слово или фразу'); readln(fr); writeln;

for i:=l to length(fr) do write(copy (fr,length(fr)-i+1,1)); repeat until keypressed; end.




Поделиться с друзьями:


Дата добавления: 2015-06-26; Просмотров: 768; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.