|
Язык программирования Pascal |
b>3.4.3 ПрограммаUses graph,crt;Var gd, gm: integer;Begingd: =0; gm: =0;Initgraph (gd, gm,' ');setcolor (5);Line (100, 200,250, 200);Line (250, 200, 209,150);Arc (157,183, 61, 195, 60);Setfillstyle (0,3);Floodfill (256, 200,5);Ellipse (200, 135, 75, 233, 15, 20);Ellipse (200, 135, 303, 75, 15, 20);Ellipse (208, 139, 303, 91, 15, 24);setfillstyle (1,8);floodfill (220,145,5);Arc (120, 200, 180, 0,10);Setfillstyle (1,1);Floodfill (125, 202,5);Arc (120, 200, 180, 0, 15);Arc (130, 200, 260, 0, 15);Arc (200, 200, 180, 0,10);setfillstyle (1,1);Floodfill (125, 202,5);Arc (120, 200, 180, 0, 15);Arc (130, 200, 260, 0, 15);Arc (200, 200, 180, 0,10);Setfillstyle (1,1);Floodfill (200, 202,5);Arc (200, 200, 180, 0, 15);Arc (210, 200, 260, 0, 15);Line (150, 90, 150, 124);Line (155, 90, 155, 123);Line (150, 90, 155, 90);Setfillstyle (1,1);Floodfill (153, 100,5);Arc (144, 83, 41, 310,10);Arc (158, 83, 259, 126,10);Setfillstyle (1,1);Floodfill (144, 83,5);Circle (144, 83,5);Setfillstyle (1,2);Floodfill (144, 83,5);Circle (158, 83,5);Setfillstyle (1,2);Floodfill (158, 83,5);Circle (255, 200,5);Setfillstyle (1,4);Floodfill (255, 200,5);Setfillstyle (1,8);Floodfill (200, 150,5);Circle (215, 177,7);Setfillstyle (1,9);Floodfill (215, 177,5);Setfillstyle (1, 14);floodfill (121, 200,5);readkey;closegraph;end.3.5 Решение задачи3.5.1 Постановка задачиДаны первый член и разность арифметической прогрессии. Написать рекурсивную функцию для нахождения суммы n первых членов прогрессии.3.5.2 Таблица идентификаторов|
№ | Переменные | Тип | Значение | | 1 | Sn | Real | Сумма n первых членов арифметической прогрессии | | 2 | n | integer | Количество членов арифметической прогрессии | | 3 | A1,A2 | Real | Первый и второй члены арифметической прогрессии | | 4 | d | Real | Разность прогрессии | | | 3.5.3 Блок-схема3.5.4 ПрограммаProgram recursiy;var A1,d,A2,Sn: real; n: integer;function prog (n: integer): integer;beginif n=1 then prog: =A1 else prog: =A1+d* (n-1) +prog (n-1);end;beginWriteln ('введите n');readln (n);writeln ('введите первый и 2-ой член арифметической прогрессии');readln (A1, A2);d: =A2-A1;Sn: =prog (n);writeln (Sn);readln;end.3.5.5 Результат работы программы3.6 Решение задачи3.6.1 Постановка задачиДан двумерный массив. Удалить среднюю строку (строки).3.6.2 Таблица идентификаторов|
№ | Переменные | Тип | Значение | | 1 | a | array | заполнение двумерного массива | | 2 | i, j | integer | Параметры цикла | | 3 | n, m | integer | Размерность массива | | 4 | k | integer | Количество элементов до среднего | | | 3.6.3 Блок-схема3.6.4 ПрограммаVar a: array [1. .100,1. .100] of integer;i,j,m,n,k: integer;beginwriteln ('Введите разм. мас');readln (n,m);randomize;for i: =1 to n dobeginfor j: =1 to m dobegina [i,j]: =random (100);write (a [i,j]: 3);end;writeln;end;writeln ('После удаления');if n mod 2<>0 then begin k: =n div 2+1;For i: =k to n-1 dofor j: =1 to m doa [i,j]: =a [i+1,j] ;for i: =1 to n-1 dobeginfor j: =1 to m dowrite (a [i,j]: 3);writeln;end;endelseif n mod 2=0 then begin k: =n div 2;For i: =k to n-2 dofor j: =1 to m doa [i,j]: =a [i+2,j] ;for i: =1 to n-2 dobeginfor j: =1 to m dowrite (a [i,j]: 3);writeln;end; end;readln;end.3.6.5 Результат работы программы3.7 Решение задачи3.7.1 Постановка задачиДан одномерный массив целых чисел произвольной длины. Заполните массив случайными числами до 100. Используя, оператор выбора, создайте меню, в котором при нажатии на клавишу производятся следующие действия:1 - вычислить среднее геометрическое четных элементов массива;2 - найти количество делителей максимального числа;3 - вставить в массив два элемента с данными значениями: первый после минимального элемента, второй - перед минимальным элементом.3.7.2 Таблица идентификаторов|
№ | Переменные | Тип | Значение | | 1 | a | array | Заполнение одномерного массива | | 2 | Max | integer | Максимальный элемент | | 3 | Min | integer | Минимальный элемент | | 4 | i | integer | Параметр цикла | | 5 | N | integer | Размерность массива | | 6 | k | integer | Количество делителей | | 7 | m | integer | Выбор действия | | 8 | s | Real | среднее геометрическое четных элементов массива | | 9 | v, c | integer | два элемента вставляемые в массив | | 10 | k1 | integer | Номер позиции перед (после) которой вставляем элемент | | 11 | f | integer | Количество элементов, которые делятся на 2 без остатка | | 12 | d | integer | Произведение всех элементов, которые делятся на 2 без остатка | | |
3.7.3 Блок-схема 3.7.4 Программаuses crt;Var a: array [1. .100] of integer;n, i,m,min,max,k,f,d,k1,c,v: integer;S: real;beginclrscr;randomize;writeln ('введите разм. массива');readln (n);for i: =1 to n dobegina [i]: =random (101);write (a [i]: 3);end;writeln;writeln ('введите номер операции программы');writeln ('1-вычислить среднее гео-ое четных эл. мас');writeln ('2-найти ко-во делителей max числа');writeln ('3-вставить в массив: 1-ый после min эл,2-ой перед min эл');readln (m);case m of1: begin f: =0;for i: =1 to n dobeginif a [i] mod 2=0 then f: =f+1end; writeln (f);d: =1; s: =0;for i: =1 to n dobeginif a [i] mod 2=0 then d: =d*a [i] ;end;writeln (d);if d=0 then s: =0 else s: =exp (1/f * ln (d));writeln ('ср. геом=',S: 3: 3);readln;end;2: beginmax: =a [1] ;for i: =1 to n doif a [i] >max then begin max: =a [i] ;end;for i: =1 to max doif max mod i=0 then k: =k+1;writeln ('ко-во делителей max числа',k);readln;end;3: beginwriteln ('введите 2 числа');readln (v,c);min: =a [1] ;k1: =1;for i: =1 to n doif a [i] <min then begin min: =a [i] ; k1: =i; end;writeln;for i: =n downto k1 doa [i+1]: =a [i] ;a [k1]: =v;for i: =n+1 downto k1+1 doa [i+1]: =a [i] ;a [k1+2]: =c;for i: =1 to n+2 dowrite (a [i]: 3);readln;end;end;end.3.7.5 Результат работы программы3.8 Решение задачи3.8.1 Постановка задачиДан массив записей, содержащий сведения о расписании поездов: направление; фамилия, имя, отчество машиниста; время отправления поезда. Необходимо осуществить:1. заполнение массива данными;2. поиск поездов по фамилии, имени, отчеству машиниста;3. редактирование времени отправления поезда;4. удаление поездов по полю "Направление";5. сортировку по полю "Направление".3.8.2 Таблица идентификаторов|
№ | Переменные | Тип | Значение | | 1 | A | array | Заполнение массива | | 2 | N | integer | Количество поездов | | 3 | Nap | string | Поле направления | | 4 | fio | String | Поле фамилии имя отчества | | 5 | vy | String | Поле время отправления | | 6 | i, j | integer | Параметры цикла | | 7 | q | integer | Выбор действия | | 8 | s1 | string | Новое время | | 9 | x | Rs | Дополнительная переменная для сортировки | | 10 | s | String | Время | | 11 | w | String | Фамилия, Имя, Отчество машиниста | | 12 | r | String | Направление поезда, которое удаляем | | 13 | k | Integer | Номер удаляемой записи | | 14 | f | integer | флажок | | | 3.8.3 Блок-схема3.8.4 Программаtype RS=RecordNap: string [40] ;fio: string [40] ;vy: string [10] ;end;var a: array [1. .50] of RS;n, i,j,q,k,f: integer; s,s1,w,r: string; x: RS;beginWriteln ('введите kol poezdov');readln (n);for i: =1 to n dobeginwriteln ('введите Направление',' ', i,' ','поезда');readln (a [i]. Nap);writeln ('введите Ф. И.О. ',' ', i,' ','машиниста');readln (a [i]. fio);writeln ('введите время',' ', i,' ','отправления');readln (a [i]. vy);end;writeln ('введите номер операции программы');writeln ('1-поиск поездов по фамилии, имени, отчеству машиниста');writeln ('2-редактирование времени отправления поезда');writeln ('3-удаление поездов по полю <Направление>');writeln ('4-сортировку по полю <Направление>');readln (q);case q of1: beginwriteln ('ведите Ф. И.О. машиниста ');readln (w);f: =0;for i: =1 to n dobeginif a [i]. fio=w then beginwriteln ('Направление ',a [i]. Nap,' ','время ',a [i]. vy);f: =1; end;if f=0 then writeln ('таких нет');end; end;2: beginwriteln ('введите время которое вы хотите поменять');readln (s);writeln ('введите время на которое вы хотите поменять');readln (s1);for i: =1 to n do beginif a [i]. vy=s then a [i]. vy: =s1;end;for i: =1 to n dobeginwriteln (i,' ','машинист ',a [i]. fio,' ','Направление ',a [i]. Nap);writeln ('время ',a [i]. vy);writeln;end; end;3: beginwriteln ('введите Направление поезда, которое вы хотите удалить');readln (r);for i: =1 to n do beginif a [i]. Nap=r thenk: =i;for i: =1 to n doif i<>k thenwriteln (i,' ','машинист ',a [i]. fio,' ','Направление ',a [i]. Nap);writeln ('время ',a [i]. vy);end;end;4: beginfor i: =1 to n-1 dofor j: =1 to n doif a [i]. Nap>a [j]. Nap thenbeginx: =a [i] ;a [i]: =a [j] ;a [j]: =x;end;for i: =1 to n dobeginwriteln (i,' ','машинист ',a [i]. fio,' ','Направление ',a [i]. Nap);writeln ('время ',a [i]. vy);end;end;end;readln;end.3.8.5 Результат работы программы3.9 Решение задачи3.9.1 Постановка задачиНаписать программу решения ребуса VOLVO+FIAT=MOTOR.3.9.2 Таблица идентификаторов|
№ | Переменные | Тип | Значение | | 1 | v, o, l, f, i, a, t, m, r | 0. .9 | Параметры цикла | | 2 | dig | 0. .9 | Множество цифр | | 3 | Sum | longint | Сумма VOLVO+FIAT | | 4 | motor | longint | MOTOR | | | 3.9.3. Блок-схема3.9.4 ПрограммаUses crt;varv, o, l, f, i, a, t, m, r: 0. .9;dig: set of 0. .9;sum, motor: longint;beginclrscr;for v: =0 to 9 do begininclude (dig,v);for o: =0 to 9 doif not (o in dig) then begininclude (dig,o);for l: =0 to 9 doif not (l in dig) then begininclude (dig, l);for f: =0 to 9 doif not (f in dig) then begininclude (dig,f);for i: =0 to 9 doif not (i in dig) then begininclude (dig, i);for a: =0 to 9 doif not (a in dig) then begininclude (dig,a);for t: =0 to 9 doif not (t in dig) then begininclude (dig,t);for m: = 0 to 9 doif not (m in dig) then begininclude (dig,m);for r: =0 to 9 doif not (r in dig) then begininclude (dig,r);Sum: =v*10000 + (o+f) *1000 + (l+i) *100 + (v+t) *10 + (o+t);Motor: =m*10000+o*1000+t*100+o*10+r;if sum = motor thenwriteln (v,o,l,v,o,'+',f, i,a,t,'=', m,o,t,o,r);exclude (dig,r)end;exclude (dig,m);end;exclude (dig,t);end;exclude (dig,a);end;exclude (dig, i);end;exclude (dig,f);end;exclude (dig,l);end;exclude (dig,o);end;exclude (dig,v);end;readln;end.3.9.5 Результат работы программы3.10 Решение задачи3.10.1 Постановка задачиДана строка символов s1, s2, …, sn. Известно, что среди s1, …, sn есть, по крайней мере одна запятая. Найти натуральное i такое, что si - последняя по порядку запятая.3.10.2 Таблица идентификаторов|
№ | Переменные | Тип | Значение | | 1 | v | char | запятая | | 2 | s | string | Строка | | 3 | i | integer | Параметр цикла | | 4 | n | integer | Номер позиции | | | 3.10.3 Блок-схема3.10.4 Программаuses crt;var v: char;s: string;i,n: integer;begin clrscr;writeln ('Vvedite stroky');readln (s);begin v: =',';for i: =1 to length (s) doif s [i] =v then n: =i;end;writeln (n);readln;end.3.10.5 Результат работы программыЗаключениеЯ закрепила теоретические знания языка программирования на практике. Практические занятия используются для тщательного изучения содержательно-методических принципов построения программы, содержания и структуры прикладного программного обеспечения, обсуждения методики изучения отдельных тем курса с различными вариантами технического и методического обеспечения.Список литературы1. Немнюгин С.А. Turbo PASCAL С-П Изд-во Питер 2000.2. Фаронов В.В. Turbo Pascal 7.0.М. "Нолидж", 19993. Шаньгин В.Ф., Поддубная Л., серия ПО ЭВМ кн.7, М, ВШ, 19914. Васюкова Р.Д., Практикум по основам программирования, Язык ПАСКАЛЬ, М, ВШ, 19915. Новичков В.С., Алгоритмические языки в техникуме, ПАСКАЛЬ, М, 1990
Страницы: 1, 2
|
|
|
© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент. |
|
|