Задача: Напишите программу для печати треугольника Паскаля с заданным количеством строк.
Например: количество строк равно 5, тогда треугольник Паскаля будет напечатан следующим образом:
Вход: n = 5 Выход: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1
Треугольник Паскаля также часто используется крупными компаниями при наборе программистов. В этой статье TipsMake.com вместе с вами узнают, как написать программу для печати треугольника Паскаля на Python.
Метод 1: Используйте формулу nCr, т.е. n!/(nr)!r!
После использования формулы nCr графическое представление становится следующим:
0C0 1C0 1C1 2C0 2C1 2C2 3C0 3C1 3C2 3C3
- Получите количество строк для печати, допустим, это n.
- Выполните внешнюю итерацию i от 0 до n раз, чтобы напечатать строки.
- Выполните внутреннюю итерацию для j от 0 до (N-1).
- Печатайте пробел «».
- Закрыть внутренний цикл (j-цикл) // требуется для левого интервала.
- Выполните внутреннюю итерацию для j от 0 до i.
- Выведите nCr чисел i и j.
- Закройте внутреннюю петлю.
- Печатать символ новой строки (n) после каждой внутренней итерации.
Вот пример кода:
6 задание ЕГЭ по информатике. САМОЕ ПОНЯТНОЕ РЕШЕНИЕ. Запишите число которое будет напечатано в рез
# Напечатать треугольник Паскаля в Python из математического импортного факториала # input nn = 5 для i в диапазоне (n): для j в диапазоне (n-i+1): # для интервала слева print(end=» «) для j в диапазоне (i+1): # nCr = n!/((nr)!*r!) print(factorial(i)//(factorial(j)*factorial(ij)), end=» «) # для новой строки Распечатать()
Способ 2:
Что будет напечатано следующей программой
В3. Определите, что будет напечатано в результате работы следующего
фрагмента программы:
Var k, s : integer;
BEGIN
s := 0;
k := 0;
while s begin
s := s+10;
k := k+1;
end;
write(k);
END.
Решение:
В программе использован цикл с предусловием, значит операции из тела цикла будут выполняться, пока условие истинно. Из сказанного следует, что выполнение цикла прекратится при s=1024 или любом большем числе. S каждый раз увеличивается на 10, следовательно ее значение всегда кратно 10. Необходимо определить число кратное 10, следующее после 1024 — это число 1030.
Переменная К считает количество таких чисел. К=1030/10=103.
Ответ: 103
В3. Определите, что будет напечатано в результате работы следующего
фрагмента программы:
var k, s: integer;
begin
s:=0;
k:=1;
while k < 11 do begin
s:=s+k;
k:=k+1;
end;
write(s);
end.
Решение:
Цикл закончится, когда К станет равна 11 (по условию К должна быть строго меньше 11 и при этом ее значение каждый раз увеличивается ровна на 1). Последнее значение К, участвующее в вычислениях будет = 10 (увеличение К производится после выполнения действия s:=s+k).
S является суммой всех значений К. Мы можем найти их сумму, прибавляя последовательно все числа: 1+2+3+4+5+6+7+8+9+10 = 55, а можем воспользоваться формулой нахождения суммы первых n элементов арифметической прогрессии: s=(a1+an)/2*n.
6 задание ЕГЭ информатика Запишите число которое будет напечатано в результате выполнения следующей
Тогда s=(1+1 0)/2*10=55
Ответ: 55
В3. Определите, что будет напечатано в результате работы следующего
фрагмента программы:
var n, s: integer;
begin
n := 1;
s := 0;
while n s := s + 7;
n := n + 1
end;
write(s)
end.
Решение:
Цикл будет выполнен с последним значением n = 101, т.к. под условие не подходят значения начиная с 102. Переменная n является счетчиком, т.к. определяет, сколько раз будет выполнен цикл (при каждом выполнении тела цикла ее значение увеличивается на 1).
Из сказанного следует, что к начальному значению переменной S (0) семерка будет прибавлена 101 раз. S=0+7*101=707
Ответ: 707
Задания для тренировки:
Определите, что будет напечатано в результате работы следующих фрагментов программ:
1. var n, s:integer; begin n := 4; s := 0; while n begin s := s + n; n := n + 1 end; write(s) end. |
2. var n, s: integer; begin n := 0; s := 512; while s >= 0 do begin s := s — 20; n := n + 1 end; write(s) end. |
3. var n, s: integer; begin n := 24; s := 0; while n begin s := s + 20; n := n + 2 end; write(s) end. |
4. var n, s: integer; begin n := 4; s := 15; while s begin s := s + 12; n := n + 2 end; write(n) end. |
Источник: zainform.blogspot.com
Вася составил программу решающую квадратное уравнение в результате сбоя строчки
Программирование на Паскале. Тема: «Решение квадратного уравнения с использованием конструкции IF–THEN–ELSE»
До сих пор мы с вами говорили о каких-то отвлечённых задачах из области математики. Сегодня мы поговорим о конкретной задаче, которая встречается у вас почти на каждом уроке. Это решение квадратного уравнения. Я хочу, чтобы вы на примере этой задачи поняли, что программирование — это не просто прихоть учителя, это действительно раздел информатики, который может нам помочь, например, в решении конкретных математических задач. Нужно только уметь разбираться в этом.
2. Математическое решение
Давайте вспомним, что понимают под квадратным уравнением?
Что из себя представляют числа a,b,c и как их называют?
С чего начинают решение квадратного уравнения?
Найдите вокруг себя формулу дискриминанта. (D=b 2 -4ac) (Приложение 3)
Как мы решаем далее квадратное уравнение? (сравнение D с нулём)
Какие выводы мы из этого делаем?
(если D 0, то два корня)
Как найти корни квадратного уравнения? Найдите формулы корней среди тех, что развешены повсюду.
Если я случай наличия корней квадратного уравнения сведу к условию D0, то что я получу в случае D=0?
(Два одинаковых корня)
Давайте ещё раз подробно разберём нашу задачу:
Итак, у нас есть квадратное уравнение ax 2 +bx+c=0.