Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Практическое занятие № 5. Программирование. Циклы
Цель занятия Цель занятия – знать операторы цикла. Уметь записать алгоритм цикла в виде программы Turbo Pascal, ввести в компьютер и запустить программу, получить результат. Теоретический материал для практического занятия № 5 Оператор цикла с параметрами Счетный оператор цикла FOR имеет структуру: а) FOR i:=a TO b DO <оператор>; Здесь FOR, TO, DO – зарезервированные слова (для, до, выполнить); i – переменная цикла типа INTEGER; a – начальное значение переменной цикла (тип INTEGER); b – конечное значение переменной цикла (тип INTEGER); <оператор> – произвольный оператор Турбо Паскаля. Шаг изменения параметра цикла равен единице. Алгоритм выполнения оператора цикла с параметрами при выполнении оператора FOR:
Пример 1. Найти сумму значений переменной цикла. Фрагмент программы с оператором цикла запишется в виде: For i: =1 to 10 do s:=s+i; Writeln(‘s=’, s); В примере 1 рассматривается простой оператор цикла. Счётный оператор цикл FOR может иметь такую структуру: б) FOR i:= b DOWNTO a DO <оператор>; Замена зарезервированного слова TO на DOWNTO означает, что шаг изменения переменной цикла равен (-1). Пример 2. Найти сумму значений переменной цикла. Фрагмент программы с оператором цикла запишется в виде: For i: =10 to 1 downto s:=s+i; Writeln(‘s=’,s:8:3); {Результат получится тот же, что и в примере 1}. При работе с оператором FOR следует соблюдать ряд правил. Правила оператора FOR.
Оператор цикла WHILE с предусловием Структура оператора имеет вид: WHILE <условие> DO <оператор>; Здесь WHILE, DO – зарезервированные слова: WHILE –пока; DO – выполнить, <условие> – выражение логического типа; <оператор> – произвольный оператор Турбо Паскаля.
Если выражение <условие> имеет значение TRUE, то выполняется <оператор>, после чего вычисление выражения <условие> и его проверка повторяются. Если <условие> имеет значение FALSE, оператор WHILE прекращает свою работу. Пример 3. Переписать фрагмент примера 1, используя оператор цикла с предусловием. Фрагмент программы с оператором цикла запишется в виде: s:=0; i:=1; while i<=10 do Begin s:=s+i; i:=i+1; End; Writeln(‘s=’,s); В примере 3 рассматривается составной оператор цикла, тело цикла заключено в операторные скобки. Оператор цикла начинается со строки while i<=10 do, которая читается «пока выполняется условие i<=10 делать …». После чего начинается словом Begin выполнение операторов внутри цикла до слова End; 2.3. Оператор цикла REPEAT…UNTIL с постусловием Структура оператора имеет вид: REPEAT <тело_цикла> UNTIL <условие>; Здесь REPEAT, UNTIL – зарезервированные слова (REPEAT –повторять, UNTIL не переводится, <условие> -условие выхода из цикла); <тело_цикла> – произвольная последовательность операторов Турбо Паскаля; <условие> – выражение логического типа. Операторы, входящие в <тело_цикла>, выполняются хотя бы один раз, после чего вычисляется выражение <условие>: если его значение есть FALSE, операторы <тело_цикла> повторяются, в противном случае оператор REPEAT…UNTIL завершает свою работу. Пример 4. Выполнить задание примера 3. Фрагмент программы с оператором цикла запишется в виде: s:=0; i:=1; repeat s:=s+i; i:=i+1; Until i>10; Writeln(‘s=’,s); В примере 4 цикл выполняется пока переменная i £ 10, при i>10 цикл закончится. 3. Примеры выполнения задания к практическому занятию № 5 При записи циклического алгоритма на языке программирования можно выбрать любой из трёх операторов цикла. Если известно количество циклов, то предпочтительно выбрать оператора цикла с параметрами, в котором указывается начальное и конечное значения счётчика циклов. Пример 5. Написать программу примера 4 из практической работы № 2 (блок-схема 2.2). В цикле вычислить значение функции z= x* y при условии, что одна из переменных - x меняется в каждом цикле, а другая переменная - у не меняется и может быть любым целым числом.
PROGRAM PR5; Var x, y, z, i, n:integer; begin {циклический алгоритм} writeln (‘ввести x,y, количество циклов-n’); readln (x,y,n); {оператор цикла с параметрами} for i:=1 to n do begin z:=x*y; writeln (‘x= ’, x, ‘ y= ’, y, ‘ z= ’, z); x:=x+1; End; {конец оператора цикла с параметрами} End. Если неизвестно количество циклов, то следует выбрать любой из двух операторов цикла: с предусловием или с постусловием. Пример 6. Написать программу примера 2 из практической работы № 2, в котором заданы начальные значения переменных: x=1; y=5 и условие: пока y>x выполняется y: = y – x. Определить количество циклов и значения переменных: x; y после выхода из цикла. Алгоритм этой задачи представлен в виде блок-схемы 2.1. и программы: PROGRAM PR6; Var k, x, y: integer; begin {циклический алгоритм} x:=1; y:=5; k:=0; {оператор цикла с предусловием} while y>x do begin y: = y – x; k:=k+1; writeln (‘k=’, k, ‘ x= ’, x, ‘ y= ’, y); end; {конец оператора} end. В примере 6 используется оператор цикла с предусловием, который работает при условии y>x. Условие проверяется при входе в цикл. В теле цикла счётчик цикла задан в виде оператора присваивания k:=k+1; который выдаёт количество выполненных циклов. Пример 7. Этот же алгоритм рассматривается в примере 7, где используется оператор цикла с постусловием. Цикл выполняется при условии y>x, но в конце оператора проверяется условие выхода из цикла (y<=x). PROGRAM PR7; Var k, x, y: integer; begin {циклический алгоритм} x:=1; y:=5; k:=0; {оператор цикла с постусловием} repeat y: = y – x; k:=k+1; writeln (‘k=’, k, ‘ x= ’, x, ‘ y= ’, y); until y<=x; {конец оператора} end. Пример 8. Написать программу. Вычислить и вывести таблицу значений функции y=cos(x). Переменная X изменяется в интервале от x1 до xk с шагом dx. В данной программе используется оператор цикла с параметрами. PROGRAM PR8; Var x,y,dx,x1,xk:real; i, n:integer; begin {циклический алгоритм} writeln (‘ввести начальное – x1, конечное – xk, шаг – dx’); read (x1,xk,dx); n:=trunc((xk-x1)/dx+1); x:=x1; {оператор цикла с параметрами} for i:=1 to n do begin y:=cos(x); Writeln (‘x= ’, x:8:5, ‘ y= ’, y:8:5); x:=x+dx; End; {конец оператора цикла с параметрами} End. Задания к практическому занятию № 5
Задание ИДЗ №3 по теме: «Программирование. Циклы» в Приложении №1 (Задание 5). Вопросы для самоконтроля к практическому занятию № 5. Тема «Программирование. Циклы» 1. Дан оператор на паскале: FOR k:=1 TO m DO S:=S+k; Всего циклов будет выполнено: 1) k; 2) 1; 3) m; 4) s. 2. Дан оператор на паскале: FOR k:=1 TO m DO s:=s+k; Выберите условие выхода из цикла: 1) k=1; 2) k=m; 3) k>m; 4) k<m. 3. Дан фрагмент на паскале, в котором цикл закончится при условии: k:=1; s:=0; while k<=m do begin s:=s+k; k:=k+1; end; 1) k>m; 2) k=m; 3) k<m; 4) k<=m. 4. Дан фрагмент на паскале, в котором цикл закончится при условии: k:=1; repeat s:=s+k; k:=k+1; until k>m; 1) k>m; 2) k=m; 3) k<m; 4) k=s. 5. Дан оператор на паскале FOR k:=m TO n DO s:=s+k Счетчиком цикла является переменная: 1) m; 2) n; 3) k; 4) s. 6. Дан фрагмент на паскале: k:=1; s:=0; while k<=m do begin s:=s+k; k:=k+1; end; в котором цикл выполняется при условии: 1) k<=m; 2) k=m; 3) k<m; 4) k>m.
7. Дан оператор на паскале: FOR k:=3 TO m DO S:=S+k; Для выполнения циклов значение m должно быть: 1) m<k; 2) m= s; 3) m>=k; 4) m<=k. 8. Дан оператор на паскале: FOR k:=3 TO m DO S:=S+k; Значение шага изменения переменной k будет: 1) любым; 2) шаг=3; 3) шаг=1; 4) шаг= k; 9. Определите правильный ответ Дан фрагмент на паскале: k:=3; s:=0; while k>=1 do begin s:=s+k; k:=k-1; end; Writeln(‘s=’, s); Результат выполнения цикла: 1) s=6; 2) s=5; 3) s=3; 4) s=0. 10. Дан фрагмент на паскале: x:=5; z:=0; repeat z:=z+x; x:=x - 1; until x>3; writeln(z); Результат выполнения цикла: 1) z=0; 2) z=5; 3) z=9; 4) z=12. Практическое занятие №6. Языки программирования высокого уровня Цель занятия Цель занятия – познакомиться с языками программирования, знать их классификацию. Уметь анализировать возможности и особенности рассматриваемых языков программирования, делать выводы об общих и отличительных характеристиках языков высокого уровня.
|
|||||||
Последнее изменение этой страницы: 2016-08-16; просмотров: 645; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.243.184 (0.028 с.) |