Инфоурок Информатика ПрезентацииРешение С1 по информатике - поиск ошибок в программе со сложным условием

Рабочий лист по информатике на тему: "Программирование на Python: сложные условия and, or, not"

Файл будет скачан в формате:

  • pdf
448
26
21.01.2024
«Инфоурок»

Материал разработан автором:

Борончиев Марат Мурзабекович

Учитель

Рабочий лист изложен простым и понятным языком на четырех листах А4 с примерами написания кода. Может использоваться, как для самостоятельного изучения темы, так и закрепления знаний и повторения темы. Содержание. Задание 1. Логические операции Логический оператор "and" Задание 2. Написать код. Проверить Логический оператор "or" Задание 3. Написать код. Проверить Логический оператор "not" Задание 4. Написать программу. Задание 5. Написать программу. Ответы. Подходит для цветной и черно-белой печати.

Краткое описание методической разработки

Рабочий лист изложен простым и понятным языком на четырех листах А4 с примерами написания кода. 
Может использоваться, как для самостоятельного изучения темы, так и закрепления знаний и повторения темы. 

Содержание. 

Задание 1. Логические операции

Логический оператор "and" 

Задание 2. Написать код. Проверить

Логический оператор "or" 

Задание 3. Написать код. Проверить

Логический оператор "not" 

Задание 4. Написать программу.

Задание 5. Написать программу.

Ответы. 

 

Подходит для цветной и черно-белой печати.

Развернуть описание

Решение С1 по информатике - поиск ошибок в программе со сложным условием

Скачать материал

Выберите документ из архива для просмотра:

Выбранный для просмотра документ inf_ege_c1.pptx

Скачать материал "Решение С1 по информатике - поиск ошибок в программе со сложным условием" Смотреть ещё 6 054 курса

Методические разработки к Вашему уроку:

Описание презентации по отдельным слайдам:

  • Вернуться

    1 слайд

    Вернуться

  • в программе осуществлен ввод лишних данных; ошибка в операторе условия (> вм...

    2 слайд

    в программе осуществлен ввод лишних данных; ошибка в операторе условия (> вместо <, + вместо -) или в условии выхода из области; несоответствие количества «скобок» в условии (while и if, ошибка до или после else); возможно строки в программе поменяны местами (или строка удалена) ВОЗМОЖНЫЕ ВАРИАНТЫ ОШИБОК:

  • входные данные – числовые выражения и задание содержит три вопроса: определит...

    3 слайд

    входные данные – числовые выражения и задание содержит три вопроса: определить при каких входных данных программа работает неверно (вопрос для всех классов заданий С1); определить лишнюю часть представленной программы; исправить предложенную программу. входные данные – числовые выражения, но вопросов два (т.е. в исходной части программы две ошибки); входные данные – числовые, вопросов два, оба касаются исправления программы, но второй вопрос сформулирован довольно жёстко (требует не содержать логических функций и т.д.) входные данные – строковые переменные, а в остальном соответствует первому классу заданий С1. Классификация заданий С1

  • Задача№1. Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой...

    4 слайд

    Задача№1. Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой с кла­ви­а­ту­ры счи­ты­ва­ют­ся ко­ор­ди­на­ты точки на плос­ко­сти (x, y — дей­стви­тель­ные числа) и опре­де­ля­ет­ся при­над­леж­ность этой точки за­дан­ной за­штри­хо­ван­ной об­ла­сти (вклю­чая гра­ни­цы). Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но. ПРО­ГРАМ­МАНА ПАС­КА­ЛЕ ПРО­ГРАМ­МА НА БЕЙ­СИ­КЕ ПРО­ГРАМ­МА НА СИ var x,y: real;begin readln(x,y); if y<=x then if y<=─x then if y>=x*x─2 then write('при­над­ле­жит') else write('не при­над­ле­жит') end. INPUT x, yIF y<=x THEN IF y<=-x THEN IF y>=x*x-2 THEN PRINT "при­над­ле­жит" ELSE PRINT "не при­над­ле­жит" ENDIF ENDIF ENDIF END void main(void){float x,y; scanf("%f %f",&x,&y); if (y<=x) if (y<=-x) if (y>=x*x-2) printf("при­над­ле­жит"); else printf("не при­над­ле­жит"); } ПРО­ГРАМ­МАНА ПАС­КА­ЛЕ var x,y: real;begin readln(x,y); if y<=x then if y<=─x then if y>=x*x─2 then write('при­над­ле­жит') else write('не при­над­ле­жит') end.

  • Пе­ре­ри­суй­те и за­пол­ни­те таб­ли­цу, ко­то­рая по­ка­зы­ва­ет, как ра­б...

    5 слайд

    Пе­ре­ри­суй­те и за­пол­ни­те таб­ли­цу, ко­то­рая по­ка­зы­ва­ет, как ра­бо­та­ет про­грам­ма при ар­гу­мен­тах, при­над­ле­жа­щих раз­лич­ным об­ла­стям (A, B, C, D, E, F, G и H). Точки, ле­жа­щие на гра­ни­цах об­ла­стей, от­дель­но не рас­смат­ри­вать. В столб­цах усло­вий ука­жи­те "да", если усло­вие вы­пол­нит­ся, "нет", если усло­вие не вы­пол­нит­ся, "—" (про­черк), если усло­вие не будет про­ве­рять­ся, "не изв.", если про­грам­ма ведет себя по-раз­но­му для раз­ных зна­че­ний, при­над­ле­жа­щих дан­ной об­ла­сти. В столб­це "Про­грам­ма вы­ве­дет" ука­жи­те, что про­грам­ма вы­ве­дет на экран. Если про­грам­ма ни­че­го не вы­во­дит, на­пи­ши­те "—" (про­черк). Если для раз­ных зна­че­ний, при­над­ле­жа­щих об­ла­сти, будут вы­ве­де­ны раз­ные тек­сты, на­пи­ши­те "не изв". В по­след­нем столб­це ука­жи­те "да" или "нет". Ука­жи­те, как нужно до­ра­бо­тать про­грам­му, чтобы не было слу­ча­ев ее не­пра­виль­ной ра­бо­ты. (Это можно сде­лать не­сколь­ки­ми спо­со­ба­ми, до­ста­точ­но ука­зать любой спо­соб до­ра­бот­ки ис­ход­ной про­грам­мы.) По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее:

  • Эле­мен­ты от­ве­та: Показать график Об­ласть Усло­вие 1 (y

    6 слайд

    Эле­мен­ты от­ве­та: Показать график Об­ласть Усло­вие 1 (y<=x) Усло­вие 2 (y<=-x) Усло­вие 3 (y>=x*x-2) Про­грам­ма вы­ве­дет Об­ласть об­ра­ба­ты­ва­ет­сяверно A нет — — — нет В нет — — — нет С нет — — — нет D да да да при­над­ле­жит да Е да нет — — нет F да нет — — нет G да да нет не при­над­ле­жит да

  • Воз­мож­ная до­ра­бот­ка (Пас­каль, раз­би­е­ние об­ла­сти на две части пря­м...

    7 слайд

    Воз­мож­ная до­ра­бот­ка (Пас­каль, раз­би­е­ние об­ла­сти на две части пря­мой x = 0): if ((y>=x*x─2) and (y<=x) and (x>=0)) or ((x<=0) and (y<=-x)) then write('при­над­ле­жит') else write('не при­над­ле­жит') Ва­ри­ан­тов до­ра­бот­ки может быть до­ста­точ­но много, но обыч­но пра­виль­ное опи­са­ние за­штри­хо­ван­ных об­ла­стей в них пред­став­ля­ет собой или объ­еди­не­ние двух (или более) воз­мож­но пе­ре­се­ка­ю­щих­ся об­ла­стей, или ис­клю­че­ние одной об­ла­сти из дру­гой.  При раз­де­ле­нии об­ла­сти вдоль какой-либо линии точки, ко­то­рые лежат на этой линии внут­ри об­ла­сти, могут быть при­чис­ле­ны к одной части, к дру­гой или к обеим (то есть, на­при­мер, в при­ве­ден­ном ре­ше­нии на языке Пас­каль одно из усло­вий (x >= 0) или (x <= 0) может быть стро­гим).

  • Задача №2. Тре­бо­ва­лось на­пи­сать про­грам­му, ко­то­рая ре­ша­ет урав­не­...

    8 слайд

    Задача №2. Тре­бо­ва­лось на­пи­сать про­грам­му, ко­то­рая ре­ша­ет урав­не­ние «a |x| = 6» от­но­си­тель­но х для любых чисел а и b, вве­ден­ных с кла­ви­а­ту­ры. Все числа счи­та­ют­ся дей­стви­тель­ны­ми. Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но. По­сле­до­ва­тель­но вы­пол­ни­те три за­да­ния: При­ве­ди­те при­мер таких чисел a, b, x, при ко­то­рых про­грам­ма не­вер­но ре­ша­ет по­став­лен­ную за­да­чу. Ука­жи­те, какая часть про­грам­мы яв­ля­ет­ся лиш­ней. Ука­жи­те, как нужно до­ра­бо­тать про­грам­му, чтобы не было слу­ча­ев ее не­пра­виль­ной ра­бо­ты. (Это можно сде­лать не­сколь­ки­ми спо­со­ба­ми, по­это­му можно ука­зать любой спо­соб до­ра­бот­ки ис­ход­ной про­грам­мы). ПРО­ГРАМ­МА НА ПАС­КА­ЛЕ vara,b,x:real;begin readln(a,b,x); if a = 0 then if b = 0 then write ('любоечисло') else write ('нетре­ше­ний') else if b = 0 then write('x = 0') else write('x =',b/a,'илиx =',-b/a); end.

  • По­яс­не­ние a = 1, b = −1, x = 0. Зна­че­ние x может быть не ука­за­но. Зна­...

    9 слайд

    По­яс­не­ние a = 1, b = −1, x = 0. Зна­че­ние x может быть не ука­за­но. Зна­че­ния а и b могут быть лю­бы­ми не­ну­ле­вы­ми чис­ла­ми с раз­ны­ми зна­ка­ми. Ошиб­ка про­грам­ми­ста со­сто­ит в том, что про­грам­ма ра­бо­та­ет не­пра­виль­но при любых не­ну­ле­вых а и Ь, име­ю­щих раз­ные знаки.   Лиш­няя часть: не нужно вво­дить х с кла­ви­а­ту­ры; верно: readln(a, Ь).   Воз­мож­ная до­ра­бот­ка: readln(а, b); if а = 0 then if b = 0 then write('любое число') else write('нет ре­ше­ний') else if b/а > 0 then write('х =', Ь/а, ' или х =', -Ь/а) else if b = 0 then write('х =0') else write('нет ре­ше­ний');

  • Задача№3 Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой с...

    10 слайд

    Задача№3 Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой с кла­ви­а­ту­ры счи­ты­ва­ют­ся ко­ор­ди­на­ты точки на плос­ко­сти (x, y — дей­стви­тель­ные числа) и опре­де­ля­ет­ся при­над­леж­ность этой точки за­дан­ной за­кра­шен­ной об­ла­сти (вклю­чая гра­ни­цы). Уче­ник на­пи­сал такую про­грам­му: ПАС­КАЛЬ var x, y: real; beginreadln(x,у); ifу >= 1-хthen begin ifу <= 2-2*x*x then write(1при­над­ле­жит') end else ifу >=x*x-5 then write('при­над­ле­жит') else write('не при­над­ле­жит') end.

  • При про­вер­ке ра­бо­ты про­грам­ма вы­пол­ня­лась по шагам для не­ко­то­рых...

    11 слайд

    При про­вер­ке ра­бо­ты про­грам­ма вы­пол­ня­лась по шагам для не­ко­то­рых кон­троль­ных зна­че­ний х и у, при этом был за­пол­нен про­то­кол те­сти­ро­ва­ния. В ре­зуль­та­те не­ак­ку­рат­но­го об­ра­ще­ния про­то­кол был ис­пор­чен, ча­стич­но со­хра­ни­лись толь­ко че­ты­ре стро­ки: По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее. Вос­ста­но­ви­те уце­лев­шие стро­ки про­то­ко­ла, за­пол­нив все клет­ки таб­ли­цы. Там, где со­дер­жа­ние вос­ста­нав­ли­ва­ет­ся не­од­но­знач­но, за­пи­ши­те любое воз­мож­ное зна­че­ние. На­при­мер, если для не­сколь­ких об­ла­стей по­лу­ча­ет­ся оди­на­ко­вая стро­ка таб­ли­цы, ука­жи­те в графе «Об­ласть» любую из этих об­ла­стей. 2. Ука­жи­те, как нужно до­ра­бо­тать про­грам­му, чтобы не было слу­ча­ев её не­пра­виль­ной ра­бо­ты. Об­ласть Усло­вие1 (у >=x+1) Усло­вие 2 (y <=2−2*x*x) Усло­вие 3 (y >= x*x−5) Вывод Верно — принадлежит нет не принадлежит да — да

  • По­яс­не­ние 2. Для на­пи­са­ния пра­виль­ной про­грам­мы не­об­хо­ди­мо раз­...

    12 слайд

    По­яс­не­ние 2. Для на­пи­са­ния пра­виль­ной про­грам­мы не­об­хо­ди­мо раз­де­лить тре­бу­е­мую об­ласть на части и опи­сать каж­дую из них. На­при­мер, можно вы­де­лить об­ла­сти FGLM, HN и QR. При этом по­лу­ча­ет­ся такой фраг­мент про­грам­мы (при­мер на Пас­ка­ле):   if (y<=1-x) and (y>=x*x-5) and (x*y<=0) or (y<=2-2*x*x) and (y>=0) then write('при­над­ле­жит') else write('не при­над­ле­жит') 1. График Об­ласть Усло­вие1 (у >=x+1) Усло­вие 2 (y <=2−2*x*x) Усло­вие 3 (y >= x*x−5) Вывод Верно BCDNP да нет — — нет KDL нет — да при­над­ле­жит нет AHQR нет — нет не принадлежит да G да да — при­над­ле­жит да

  • Задача№4 Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой с...

    13 слайд

    Задача№4 Тре­бо­ва­лось на­пи­сать про­грам­му, при вы­пол­не­нии ко­то­рой с кла­ви­а­ту­ры счи­ты­ва­ет­ся на­ту­раль­ное число N, не пре­вос­хо­дя­щее 109, и вы­во­дит­ся ко­ли­че­ство цифр этого числа. Про­грам­мист то­ро­пил­ся и на­пи­сал про­грам­му не­пра­виль­но. По­сле­до­ва­тель­но вы­пол­ни­те сле­ду­ю­щее.   1. На­пи­ши­те, что вы­ве­дет эта про­грам­ма при вводе числа 584.   3. Ука­жи­те одно число для ко­то­ро­го эта про­грам­ма будет ра­бо­тать верно.   2. Най­ди­те все ошиб­ки в этой про­грам­ме (их может быть одна или не­сколь­ко). Ука­жи­те все стро­ки (одну или более), со­дер­жа­щие ошиб­ки, и для каж­дой такой стро­ки при­ве­ди­те пра­виль­ный ва­ри­ант. Об­ра­ти­те вни­ма­ние, что тре­бу­ет­ся найти ошиб­ки в име­ю­щей­ся про­грам­ме, а не на­пи­сать свою, воз­мож­но, ис­поль­зу­ю­щую дру­гой ал­го­ритм ре­ше­ния. Ис­прав­ле­ние ошиб­ки долж­но за­тра­ги­вать толь­ко стро­ку, в ко­то­рой на­хо­дит­ся ошиб­ка.

  • Про­грам­ма вы­ве­дет число 2. Про­грам­ма ра­бо­та­ет верно для всех чисел,...

    14 слайд

    Про­грам­ма вы­ве­дет число 2. Про­грам­ма ра­бо­та­ет верно для всех чисел, на­чи­на­ю­щих­ся на 9. в том числе для числа 9. [До­ста­точ­но ука­зать любое такое число.] В ка­че­стве от­ве­та для осталь­ных чисел про­грам­ма выдаёт число на 1 мень­шее, чем нужно. Воз­мож­ные (не все) ва­ри­ан­ты ис­прав­ле­ния для языка Пас­каль: 1) ис­прав­ле­ние усло­вия про­дол­же­ния цикла на while (N >= 1) do или while (N > 0) do. При этом за­ме­на на while (N >= 0) do кор­рект­ной не яв­ля­ет­ся. 2) ис­прав­ле­ние ини­ци­а­ли­за­ции на sum := 1, а усло­вие про­дол­же­ния цикла на while (N > 9) do или while (N >= 10) do. По­яс­не­ние

  • 15 слайд

  • 16 слайд

Рабочие листы
к вашим урокам

Скачать

Краткое описание документа:

В данной презентации рассмотрены варианты решений задач типа С1 по информатике. Показана их условная класификация. Приведены воможные ошибки при поиске ответа. Тезисы Часть С состоит из четырех заданий. Для выполнения заданий этой части необходимо написать развернутый ответ в произвольной форме. Задание С1 относится к повышенному уровню сложности. Задания этого типа проверяют знание программирования с использованием условного оператора и различных его разновидностей, они требуют от учащихся внимания («найти лишнюю часть», «добавить недостающую часть»), простейших знаний языков программирования и логических функций.

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

7 366 467 материалов в базе

Скачать материал

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

Скачать материал
    • 08.05.2014 3271
    • ZIP 274.8 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Мухаметгалиев Равиль Рафаильевич. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Мухаметгалиев Равиль Рафаильевич
    Мухаметгалиев Равиль Рафаильевич

    учитель информатики

    • На сайте: 12 лет и 2 месяца
    • Подписчики: 0
    • Всего просмотров: 3466
    • Всего материалов: 1

Оформите подписку «Инфоурок.Маркетплейс»

Вам будут доступны для скачивания все 360 307 материалов из нашего маркетплейса.

Мини-курс

Инновационные подходы в преподавании литературы

3 ч.

Подать заявку О курсе

Мини-курс

Финансовое управление корпорацией

2 ч.

Подать заявку О курсе

Мини-курс

Финансовый менеджмент: анализ, планирование и системное управление

3 ч.

Подать заявку О курсе
Смотреть ещё 6 054 курса