середа, 16 грудня 2015 р.
збірка чудових шаблонів
Велика збірка чудових шаблонів допоможе вам створити неперевершені презентації на різні теми. Гармонійно поєднані графічні елементи і тематичні картинки створюють приємний інтерфейс кожного шаблону презентації. Всі шаблони мають декілька вже оформлених слайдів. Ваша задача - наповнити шаблони інформацією. Оригінальна і стильна презентація створена!
Формат: ppt, pot
Розмір: 21,2 Мб
Зібрано в Інтернеті
Джерело: http://turbobit.net/juu8kqepxxs8/shablons_ppt.rar.html
Збірка шаблонів на шкільну тематику
Шаблон презентації на освітню тематику
Збірка шаблонів для презентацій
вівторок, 15 грудня 2015 р.
ЗИМОВИЙ МІЖНАРОДНИЙ БЛІЦ-КОНКУРС З ВЕБ-ДИЗАЙНУ ТА КОМП'ЮТЕРНОЇ ГРАФІКИ СЕРЕД СТУДЕНТІВ ТА УЧНІВ
ЗИМОВИЙ МІЖНАРОДНИЙ БЛІЦ-КОНКУРС З ВЕБ-ДИЗАЙНУ ТА КОМП'ЮТЕРНОЇ ГРАФІКИ СЕРЕД СТУДЕНТІВ ТА УЧНІВ
Запрошуємо Вас взяти участь у дистанційному бліц-конкурсі з веб-дизайну та комп'ютерної графіки, який пройде з 28 грудня по 18 січня 2016 року.
Професійне журі конкурсу, до складу якого входять провідні фахівці з веб-дизайну та комп'ютерної графіки, визначить переможців у кількох номінаціях.
Номінації конкурсу з веб-дизайну:
• "Краща графічна реалізація",
• "Краща програмна реалізація".
• "Краще інформаційне наповнення".
Номінації конкурсу комп'ютерної графіки:
• "Краща 2D растрова графіка",
• "Найкраща 2D векторна графіка",
• "Найкраща 3D-графіка".
Номінації конкурсу з комп'ютерної анімації:
• "Краща GIF-анімація",
• "Краща Flash-анімація",
• "Краща 3D-анімація".
• "Краща графічна реалізація",
• "Краща програмна реалізація".
• "Краще інформаційне наповнення".
Номінації конкурсу комп'ютерної графіки:
• "Краща 2D растрова графіка",
• "Найкраща 2D векторна графіка",
• "Найкраща 3D-графіка".
Номінації конкурсу з комп'ютерної анімації:
• "Краща GIF-анімація",
• "Краща Flash-анімація",
• "Краща 3D-анімація".
Тему завдання буде розміщено на сайті конкурсу 28 грудня.
Учасникам конкурсу необхідно виконати роботу на задану тему (з 28 грудня по 18 січня 2016) і відправити її до оргкомітету конкурсу.
Учасникам конкурсу необхідно виконати роботу на задану тему (з 28 грудня по 18 січня 2016) і відправити її до оргкомітету конкурсу.
середа, 2 грудня 2015 р.
Година коду
Конкурс Google Code-in триває від 7 грудня до 25 січня https://developers.google.com/open-source/gci/ Завдання 5 категорій: Coding Documentation & Training Outreach & Research Quality Assurance User Interface
Розбір задач з програмування районного етапу Львівської області
Умови задач
Задача 1
Python
|
Алгоритм
|
C++
|
Pascal
|
import math
n=int(input())
s=0
for i in range(n):
x1,y1,x2,y2 = map (int, input().split())
k= int(math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)))
s=s+k
print(s)
|
Зчитуємо кількість пар точок у змінну n
N разів зчитуємо по 4 числа, для яких використовуємо формулу обчислення відстані між двома точками, фіксуючи результат у змінній k
Отримані значенняk накопичуємо у змінній s
Результат – змінна s
|
#include <iostream>
#include <cmath>
#include <math.h>
using namespace std;
int main()
{
int n;
scanf ("%i",&n);
int s=0;
int x1,y1,x2,y2;
float k;
for (int i=0; i<n; i++)
{
scanf ("%i",&x1);
scanf ("%i",&y1);
scanf ("%i",&x2);
scanf ("%i",&y2);
k=hypot(x1-x2, y1-y2);
s=s+(int)(k);
}
cout << s << endl;
return 0;
}
|
program p1;
var a,x1,x2,y1,y2:integer;
n,s,i,k:longint;
begin
readln(n);
s:=0;
for i:=1 to n do
begin
read(x1,y1,x2,y2);
k:= trunc(sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2))) ;
s:=s+k;
end;
write(s);
end.
|
Задача 2
Python
|
Алгоритм
|
C++
|
Pascal
|
n, m ,k = map (int, input().split())
a=[]
ryadok=[]
ryadok=input().split()
for i in range(m):
a.append(int(ryadok[i]))
x=0
s=0
for i in range(m):
if s+a[i]<=k:
s=s+a[i]
else:
x=x+1
s=a[i]
if s!=0:
x=x+1
if n-x>=0:
print(n-x)
else:
print('-1')
|
Зчитуємо числа n, m ,k
Зчитуємо m елементів масиву a
х – кількість задіяних членів комісії
s – кількість бюлетенів, оброблених членом комісії
Для кожної з m скриньок (елементів масиву а)
Якщо додавання елементу до s не перевищує значення k, то додаємо цей елемент,
Інакше збільшуємо кількість задіяних членів комісії на 1 та вказуємо, що ці бюлетені оброблятиме вже він (s=a[i])
Якщо після обробки останньої урни у змінній s є значення, потрібно передати ці бюлетені на обробку наступному члену комісії (x=x+1)
Якщо членів комісії достатньо, то друкуємо кількість вільних членів комісії, інакше друкуємо -1
|
#include <iostream>
#include <cmath>
#include <math.h>
using namespace std;
int main()
{
int n,m,i,k,s,x,y,z;
int a[100000];
scanf_s ("%i",&n);
scanf_s ("%i",&m);
scanf_s ("%i",&k);
for (int i=0; i<m; i++)
{
scanf ("%i",&a[i]);
}
s=0;
x=0;
for (int i=0; i<m; i++)
{
if (s+a[i]<=k)
{s=s+a[i];}
else
{
x=x+1;
s=a[i];
}
}
if (s!=0) {x=x+1;}
if (n-x>=0)
{cout << n-x << endl;}
else
{cout << "-1" << endl;}
return 0;
}
|
program p2;
var n,m,i:longint;
s,k,x,y,z:int64;
a:array[1..100000]of longint;
begin
read(n, m ,k);
for i:=1 to m do read(a[i]);
x:=0; s:=0;
for i:=1 to m do
begin
if s+a[i]<=k
then s:=s+a[i]
else begin x:=x+1; s:=a[i]; end;
end;
if s<>0 then x:=x+1;
if n-x>=0 then write(n-x) else write('-1');
end.
|
Задача 3
Python
|
Алгоритм
|
C++
|
Pascal
|
n=int(input())
a=[]
for i in range(86400):
a.append(1)
for i in range(n):
h1,g1,s1,h2,g2,s2 = map (int, input().split())
x=h1*60*60+g1*60+s1
y=h2*60*60+g2*60+s2
for z in range(x, y):
a[z]=0
s=0
for i in range(28800, 72000):
s=s+a[i]
print(s)
|
Зчитуємо кількість часових проміжків n
Позначаємо всі секунди доби (можна в проміжку між 8 та 20 годинами, тобто між 28801 та 72000 секундами) одиницями – припускаючи, що дільниця була порожньою у цей час
Для кожного проміжку
Зчитуємо 6 чисел
Визначаємо номер секунди доби, що відповідає часу входу x та виходу y виборця:
Година*60*60 + хвилина*60+секунда
Усі секунди в проміжку між входом та виходом виборця позначаємо нулями
Обчислюємо суму одиниць, котрі не були замінені нулями
|
#include <iostream>
#include <cmath>
#include <math.h>
using namespace std;
int main()
{
int n,s,x,y,h1,g1,s1,h2,g2,s2;
int a[72000];
for (int i=28801; i<72000; i++) {a[i]=1;}
scanf_s ("%i",&n);
for (int i=0; i<n; i++)
{
scanf ("%d",&h1);
scanf ("%d",&g1);
scanf ("%d",&s1);
scanf ("%d",&h2);
scanf ("%d",&g2);
scanf ("%d",&s2);
x=h1*60*60+g1*60+s1;
y=h2*60*60+g2*60+s2;
for (int z=x+1; z<=y;z++)
{
a[z]=0;
}
}
s=0;
for (int i=28801; i<=72000; i++)
{s=s+a[i];}
printf("%d",s);
return 0;
}
|
program p3;
var a:array[1..86400] of integer;
line:string;
i,k,m,n,s,x,y,h1,g1,s1,h2,g2,s2,z:longint;
begin
read(n);
for i:=1 to 86400 do a[i]:=1;
for i:=1 to n do
begin
read(h1,g1,s1,h2,g2,s2);
x:=h1*60*60+g1*60+s1;
y:=h2*60*60+g2*60+s2;
for z:=x+1 to y do
a[z]:=0;
end;
s:=0;
for i:=28801 to 72000 do s:=s+a[i];
write(s);
end.
|
середа, 28 жовтня 2015 р.
Як створити привабливу презентацію? Чому мені мій сайт або блог здаються непривабливими?
Справа не в смаках та особистих відчуттях. Не потрібно згадувати "На вкус и цвет...". Всі секрети в ЗНАННЯХ правил дизайну. Навіть, якщо ще 5-10 цих правил та хитрощів дизайнерів пізнаєте, повірте, ваші презентації зміняться докорінно.
На цьому ж сайті є цінні статті і для тих, хто створює анімаційні завдання та відео для дітей.
Золоті, на мою думку, 12 діснеєвських принципів якісної анімаціїhttps://goo.gl/M3CA1L, не знаючи яких, навіть не варто братись за відеокамеру (щоб потім власний шедевр комусь демонструвати). Посилання на статтю - http://goo.gl/NGl84Z, що побудована на основі цих принципів і для читання більш приємніша, ніж Вікіпедія.
На додаток ще посилання на збірку сервісів для створення інфографіки. Можливо, хоча б один із них захочеться комусь опанувати.
1. http://goo.gl/M4V3qU 2. https://goo.gl/C6Sdv9
На цьому ж сайті є цінні статті і для тих, хто створює анімаційні завдання та відео для дітей.
Золоті, на мою думку, 12 діснеєвських принципів якісної анімаціїhttps://goo.gl/M3CA1L, не знаючи яких, навіть не варто братись за відеокамеру (щоб потім власний шедевр комусь демонструвати). Посилання на статтю - http://goo.gl/NGl84Z, що побудована на основі цих принципів і для читання більш приємніша, ніж Вікіпедія.
На додаток ще посилання на збірку сервісів для створення інфографіки. Можливо, хоча б один із них захочеться комусь опанувати.
1. http://goo.gl/M4V3qU 2. https://goo.gl/C6Sdv9
Якщо ви задалися питанням «як навчитися створювати інфографіку», то ось список найбільш якісних книг, рекомендованих усім, хто працює з візуалізацією даних.
вівторок, 20 жовтня 2015 р.
Побудова комп'ютерних моделей
Існують різні комп’ютерні програми для створення, опрацювання та дослідження інформаційних моделей. Одну й ту саму задачу можна розв’язати, скориставшись різними програмами. Обране програмне середовище дає змогу за певним алгоритмом створювати інформаційну модель. Добір потрібних програм для створення інформаційної моделі
залежить від мети її створення, знань й умінь дослідника, призначення обраного комп’ютерного середовища.
Для побудови інформаційних моделей за допомогою комп'ютера авторський колектив підручника використовував два прийоми:
1) побудова моделей у програмних середовищах, які діти вивчали у попередніх класах;
2) застосування різноманітних програм, які діти можуть легко використати для побудови та дослідження інформаційних моделей.
Пропонуємо для ознайомлення дві з них:
1) Програма Гран.
Програма GRAN-2D призначена для графічного аналізу систем геометричних об’єктів на площині, звідки і походить її назва (GRaphic Analysis 2-Dimension).
Програма функціонує під управлінням операційної системи Windows. Для встановлення програми слід запустити на виконання файл SETUP.EXE з диску дистрибутива (обсягом близько 1.44Мb) та відповісти на всі стандартні запити інсталяторів (вказати шлях встановлення тощо). Після успішного встановлення у вибраній папці буде створено файл GRAN2D.EXE – основна програма, та у додатковій субдиректорії HELP буде створено допоміжні файли допомоги. Надалі при натисненні кнопки Пуск назва програми GRAN-2D з’являтиметься як пункт меню Програми, при зверненні до якого відбуватиметься запуск ППЗ GRAN-2D.
Завантажити програму можна за посиланням http://www.ktoi.npu.edu.ua/index.php/uk/gran-2d
2) Онлайн середовище https://www.buildwithchrome.com/ пропонує будівельний майданчик, за яким можна змоделювати з елементів Lego будівлю, об'єкт чи ціле містечко, які будуть прив'язані до географічного роташування
Цікаві інструкції у Академії build with chrome зрозумілі для дітей та дозволяють швидко перейти у режим власного будівництва.
залежить від мети її створення, знань й умінь дослідника, призначення обраного комп’ютерного середовища.
Для побудови інформаційних моделей за допомогою комп'ютера авторський колектив підручника використовував два прийоми:
1) побудова моделей у програмних середовищах, які діти вивчали у попередніх класах;
2) застосування різноманітних програм, які діти можуть легко використати для побудови та дослідження інформаційних моделей.
Пропонуємо для ознайомлення дві з них:
1) Програма Гран.
Програма GRAN-2D призначена для графічного аналізу систем геометричних об’єктів на площині, звідки і походить її назва (GRaphic Analysis 2-Dimension).
Програма функціонує під управлінням операційної системи Windows. Для встановлення програми слід запустити на виконання файл SETUP.EXE з диску дистрибутива (обсягом близько 1.44Мb) та відповісти на всі стандартні запити інсталяторів (вказати шлях встановлення тощо). Після успішного встановлення у вибраній папці буде створено файл GRAN2D.EXE – основна програма, та у додатковій субдиректорії HELP буде створено допоміжні файли допомоги. Надалі при натисненні кнопки Пуск назва програми GRAN-2D з’являтиметься як пункт меню Програми, при зверненні до якого відбуватиметься запуск ППЗ GRAN-2D.
Завантажити програму можна за посиланням http://www.ktoi.npu.edu.ua/index.php/uk/gran-2d
2) Онлайн середовище https://www.buildwithchrome.com/ пропонує будівельний майданчик, за яким можна змоделювати з елементів Lego будівлю, об'єкт чи ціле містечко, які будуть прив'язані до географічного роташування
Цікаві інструкції у Академії build with chrome зрозумілі для дітей та дозволяють швидко перейти у режим власного будівництва.
середа, 14 жовтня 2015 р.
Бавимось з тривимірним Скретчем
Бавимось з тривимірним Скретчем на http://beetleblocks.com/ pic.twitter.com/fxuVHUKeq8
Большой список образовательных ресурсов. Программирование, дизайн, веб-индустрия, общие знания
"К счастью, образование теперь доступно не только меньшинству — теперь достаточно иметь доступ к Интернету, чтобы получить возможность учиться и применять полученные знания и навыки на практике."
понеділок, 12 жовтня 2015 р.
неділя, 27 вересня 2015 р.
Программирование — это просто!
Программирование — это просто! Монитор, на котором вы читаете этот текст; интернет, через который вы загрузили этот сайт, ваша одежда, книги и холодильник — всем этим мы обязаны автоматизации и программированию. Вы узнаете самые азы программирования (никакого шаманства здесь нет) и напишете свою первую программу.
вівторок, 22 вересня 2015 р.
Вчимося зберігати відеофайли із різних ресурсів
Часто буває, коли треба знайти якесь відео і скачати, а воно лише в онлайні. З youtube все зрозуміло - використовуємо savefrom.netи качаємо. Але цей ресурс підтримує закачування далеко не з усіх ресурсів. Тому прийшлося похом’ячити і нарити ось таке:
По-перше - потрібен Google Chrome. Слідуючи за скріншотами все зрозуміло, але поясню.
1. Відкриваємо сторінку з онлайн відео. (Скріншот 1).
2. Обираємо пункт "Налаштування Хрому" (правий верхній куток екрану) - Дополнительные инструменты - Инструменты разработчика (Скріншот 2).
3. В правій частині (іноді внизу) з’являється нова панелька, в якій слід обрати вкладку "Networks", на якій буде поступово з’являтись назва і тип купи об’єктів, що лежать на даній сторінці (Скріншот 3).
4. Шукаєте серед них тип медіафайлів (Media, video або щось подібне) - дуже часто типом буде mp4 (Скріншот 4).
5. Відкриваєте цей файл у новій вкладці через контекстне меню (Скріншот 5-6).
6. Зберігаєте відео звичайним способом (Скріншот 7-8).
Скріншоти
По-перше - потрібен Google Chrome. Слідуючи за скріншотами все зрозуміло, але поясню.
1. Відкриваємо сторінку з онлайн відео. (Скріншот 1).
2. Обираємо пункт "Налаштування Хрому" (правий верхній куток екрану) - Дополнительные инструменты - Инструменты разработчика (Скріншот 2).
3. В правій частині (іноді внизу) з’являється нова панелька, в якій слід обрати вкладку "Networks", на якій буде поступово з’являтись назва і тип купи об’єктів, що лежать на даній сторінці (Скріншот 3).
4. Шукаєте серед них тип медіафайлів (Media, video або щось подібне) - дуже часто типом буде mp4 (Скріншот 4).
5. Відкриваєте цей файл у новій вкладці через контекстне меню (Скріншот 5-6).
6. Зберігаєте відео звичайним способом (Скріншот 7-8).
Скріншоти
пʼятниця, 18 вересня 2015 р.
четвер, 10 вересня 2015 р.
Сервіс для вивчення математики
вівторок, 8 вересня 2015 р.
Intel-Техно УкраїнаIntel-Техно Україна - Just another IPT web Sites site
До участі у Конкурсі запрошуються учні 9-11 класів загальноосвітніх, професійно-технічних та позашкільних навчальних закладів до 20 років. Представлені на Конкурс наукові проекти повинні бути виконані учнями індивідуально або в складі команди (2-3 дослідники, які працювали над спільною темою проекту). Кожен учасник має право брати участь тільки в одному національному конкурсі або «Intel-Техно Україна», або «Intel-Еко Україна». Учасники, які зареєструються для участі в обох конкурсах, будуть дискваліфіковані. Участь у Конкурсі можуть брати переможці Всеукраїнських науково-дослідницьких конкурсів та обласних етапів МАН за умови відповідності їх проектів вимогам конкурсу Intel ISEF.
неділя, 6 вересня 2015 р.
четвер, 3 вересня 2015 р.
понеділок, 31 серпня 2015 р.
субота, 22 серпня 2015 р.
понеділок, 13 липня 2015 р.
четвер, 9 липня 2015 р.
Комп’ютерні тести з курсу за вибором "Основи веб-дизайну"
Завантажити
Анотація: Тести призначені для проведення підсумкових робіт з кожної із 7 тем курсу за вибором "Основи веб-дизайну". В тестах по 12 запитань. Учневі потрібно серед п’яти відповідей після кожного питання вибрати одну правильну. Після проходження тесту програма автоматично виставляє відповідний бал
Тип ресурсу: Тестові завдання
Автор(и): Кондратюк Сергій Юрійович
Галузь освіти: Загальна середня освіта → Інформатика
Аудиторія: Учителі, учні
Рік видання ресурсу: 2012
Джерело: Будищенська загальноосвітня школа І-ІІІ ступенів Черкаської районної ради Черкаської області
Мова ресурсу: українська
Цінність ресурсу: 5
CodeCombat
CodeCombat - это онлайн игра, которая обучает программированию. Ученики пишут код на реальных языках программирования.
Опыт не обязателен!
четвер, 2 липня 2015 р.
Мир MS Excel
Сайт предназначен для тех, кто хочет научиться эффективно и плодотворно работать с электронными таблицами MS Excel, а так же для тех, кто это уже умеет, но хочет расширить свой кругозор, узнать о неизвестных хитростях, трюках и приемах при работе с MS Excel и для программистов VBA. Все материалы сайта и консультации на форуме абсолютно бесплатны, однако если Вы хотите использовать материалы сайта и форума на других интернет-ресурсах, то необходимо давать активную (кликабельную) гиперссылку на источник материалов
середа, 1 липня 2015 р.
Вивчаємо Flash
Даний сайт містить мультимедійні додатки до розділів 8-14 спецкурсу "Основи створення комп'ютерних презентацій", наведених у підручнику:
вівторок, 30 червня 2015 р.
Хмара слів-це модно?
Сервис ImageChef позволяет создать мозаику из слов, анимированные открытки, мэшапы. Работа с сервисом возможна без регистрации, в этом случае можнo быстро создать работу и сохранить её на компьютерe. Если вы зарегистрируетесь, то у вас появится возможность управлять созданными работами. Полученный продукт можно использовать в дальнейшем локально в виде изображения или получить специальный код для отображения созданной мозаики в своем блоге. Все на русском языке. Сервис рассчитан на подростковую аудиторию.
Літерні величини задачі з сайту e-olimp
1. Кількість слів
Є деяке речення на невідомій мові. Порахувати кількість слів у ньому. Літерами алфавіту у невідомій мові є літери латинського алфавіту та арабські цифри. Гарантується, що інших символів, крім пропусків та розділових знаків у реченні нема.Вхідні дані
У єдиному рядку дано речення на невідомій мові.
Вихідні дані
Єдине число - кількість слів у ньому.
Код програми
program kilkist_sliv;var s:string; i,j:integer;
begin
readln(s);
s:=s+' '; j:=0;
for i:=2 to length(s) do
if (s[i]=' ') and (s[i-1]<>' ') then j:=j+1;
writeln(j) ;
readln;
end.
2. Слово чемпіон
Дано деяке речення на невідомій мові. Назвемо слово у ньому чемпіоном, якщо воно є паліндромом і кількість літер у ньому максимальна. Літерами алфавіту у невідомій мові є літери латинського алфавіту та арабські цифри. Гарантується, що інші символи, крім пропусків та розділових знаків, у реченні відсутні.Вхідні дані
Речення на невідомій мові.
Вихідні дані
Номер слова чемпіона.
Код програми
program z3;Var s,p:string;
i,max,x,y:integer;
Begin
Readln(s);
For i:=1 to length(s) do
If not(s[i]=' ') and not(i=length(s)) then p:=p+s[i] else
Begin If i=length(s) then p:=p+s[i];
If length(p)>max then
Begin
max:=length(p); x:=Pos(p,s);
End;
p:='';
End;
Writeln(x);
Readln;
End.
3. Голосні
До голосних літер в латинському алфавіті відносяться літери A, E, I, O, U і Y. Інші літери вважаються приголосними. Напишіть програму, яка підраховує кількість голосних літер в тексті.Вхідні дані
У вхідному файлі міститься один рядок тексту, який складається лише із заглавних латинських літер та проміжків. Довжина рядка не перевищує 100 символів.
Вихідні дані
У вихідний файл вивести одне ціле число – кількість голосних у вхідному тексті.
Код програми
program golosni;const glas=['A','O','U','I','E','Y'];
var s:string; i,k:byte;
begin readln(s);
k:=0; for i:=1 to length (s) do
if s[i] in glas then k:=k+1;
writeln(k);
readln;
end.
4. Кількість операцій
Визначити загальну кількість операцій додавання (+), віднімання (-) та множення (*) у заданому арифметичному виразі.Вхідні дані
У єдиному рядку задано арифметичний вираз без дужок та пропусків. Кількість символів у виразі не перевищує 250.
Вихідні дані
Єдине число - кількість вказаних операцій.
Єдине число - кількість вказаних операцій.
Код програми
Program vpr;
var a: string;
n,m,k,i,s: integer;
begin
readln(a);
s:=0;
n:=0; m:=0; k:=0;
for i:=1 to length(a) do
if a[i]='+' then begin n:=n+1; end;
if a[i]='-' then begin m:=m+1; end;
if a[i]='*' then begin k:=k+1; end;
s:=n+m+k;
writeln(s);
readln;
Визначити кількість речень у заданому фрагменті тексту.Вхідні дані
У єдиному рядку задано фрагмент тексту на англійській мові, кількість символів у якому не перевищує 250. Гарантується, що у тексті відсутні тире, дефіси, цифри і числа.
Вихідні дані
Єдине число - кількість речень у фрагменті.
Код програми
program rechennya;
var s:string;
i,k: byte;
begin
readln(s);
k:=0;
for i:=1 to length(s) do
if s[i] in ['.','?','!']
then k:=k+1;
writeln(k);
readln;
end.
четвер, 25 червня 2015 р.
вівторок, 23 червня 2015 р.
Тема: Символьні та рядкові типи даних.
Рядок –це
послідовність символів кодової таблиці ЕОМ.
При
використанні у виразах рядок охоплюється з двох сторін апострофами. Кількість
символів в рядку може змінюватися від 0 до 255.
Для опису
рядкових величин використовують ідентифікатор string, після якого в квадратних дужках записується максимальне
значення довжини рядка для даної величини.
Формат:
Var
< ідентифікатор >: string[максимальна довжина рядка];
Приклад.
Var r1: string[10];
r2:
string[4];
Якщо
довжина рядка не вказана, то вона автоматично приймає значення 255 байт.
Рядкові
величини можна використовувати в
програмі у вигляді констант.
Приклад.
Const
Name=’інформатика’;
1. Основні вказівки і функції опрацювання
рядкових величин .
1. Char –символьний тип (займає 1 байт пам’яті)
Опис даних символьного типу:
Const name1= ‘v’; — опис
символьної константи,
Var name2: CHAR; — опис символьної змінної.
Допустимі всі операції порівняння:
<, <=, =, >, >=, <>.
Функції для роботи з символами.
CHR(N) — символ з кодом N.
Наприклад: chr(65)
ORD(S) — код символу S. Наприклад: ord(‘A’)
SUCC(S) — наступний символ. Наприклад: succ(‘K’)
PRED(S) — попередній символ. Наприклад: pred(‘K’)
UPCASE(S) — переводить літери у верхній регістр. Наприклад:
upcase(‘m’)
2. Рядок — впорядкована послідовність символів кодової
таблиці ASCII.
Опис даних рядкового типу:
Const <ім’я>=‘ліцей’
Var <ім’я>:array[1..50]
of char;
Var
<ім’я>:string[максимальна довжина рядка];
Приклад. Const
R1=‘computer’;
Var R2: STRING;
R3: STRING [20];
R3:array[1..20]
of char;
Кількість символів в рядку називається його довжиною. Довжина рядка може
бути від 0 до 255. Рядкові величини можуть бути константами і змінними. Рядкова
константа – це послідовність символів між апострофами.
Над рядковими величинами допустимі операція склейки (конкатенації) (+)
та операції відношення
(=,<,>,<=,>=,<>).
Для рядкових величин визначені такі функції та процедури:
1.Функція Concat. Функція Concat здійснює
об’єднання рядків Rl; R2, R3 в один рядок в такому порядку, в якому вони
записані.
Формат Concat(Rl,R2,R3); або R1+R2+R3
(string)
Приклад.
Program Fconcat;
Const Rl='Moвa '; R2='програмування '; R3=’Turbo Pascal';
Var R:string[35];
begin
R:=concat(Rl,R2,R3);
writeln(R); end.
2. Функція Length. Функція Length видає
фактичну довжину рядка, який міститься в даній змінній.
При підрахуванні довжини рядка враховуються всі символи, в тому числі і проміжки!!!
Формат: Length(R); (integer)
Приклад. Program Flength;
Const R=’Turbo Pascal’;
Var N: integer;
begin
N:=length(R);
writeln('n=',N); end.
3. Функція Copy. Функція
Copy копіює фрагмент довжиною N рядка R, починаючи з позиції Poz.
Формат
Copy(R, Poz, N); (string)
Приклад. Program
Fcopy;
const R='Turbo Pascal';
var R1: string[6];
begin
R1:=Copy(R, 7, 6);
writeln(R1); end.
4. Функція Pos. Функція Pos знаходить номер
позиції Р, з якої починається перше входження слова C в рядку R. Якщо слово C в рядку R
не знайдено, то буде надруковано число 0.
Формат Pos(C,R); (integer)
Приклад. Program Fpos;
Const R=‘інформатика'; C=‘форма';
Var P: integer;
begin
P:=Pos(C, R);
writeln('P=',P); end.
5. Процедура Insert. Процедура
Insert вставляє слово R1 в рядок R, починаючи з позиції Poz.
Формат Insert(R1, R, Poz); (string)
Приклад. Program
PInsert;
Var Poz: integer;
R, R1: string[35];
begin
R:='Moвa Pascal';
R1:=’Turbo ‘;
insert(R1, R, 6);
writeln(R); end.
6. Процедура Delete.
Процедура Delete знищує слово, яке
починається з вказаної позиції Poz і має задану довжину N в рядку R.
Формат Delete(R, Poz, N); (string)
Приклад. Program PDelete;
Var R:string[35];
begin
R:='Moвa Turbo Pascal';
delete(R, 6, 6);
writeln(R); end.
Зверніть увагу!!! Стала нульової довжини –
‘’
•
Рядок символів вводиться і виводиться як одна змінна.
•
Значення типу
string вводяться за допомогою тільки процедури readln і
за один раз може бути введений лише один рядок.
Завдання. Ввести довільний текст.
Перевірити, чи в ньому кількість відкритих дужок дорівнює кількості закритих
дужок. Вивести повідомлення “так” або
“ні”.
Учням пропонується розмістити в
правильному порядку елементи блок-схеми з використанням інтерактивної дошки.
Текст програми.
Program
Sumvol;
uses crt;
var
R:string[100];
i,k1,k2,l:integer;
begin
clrscr;
writeln('Vvestu text:');
readln(r);
k1:=0;
k2:=0;
l:=length(R);
for i:=1 to
l do
begin
if
copy(R,i,1)='(' then k1:=k1+1;
if
copy(R,i,1)=')' then k2:=k2+1;
end;
if k1=k2
then write('yes') else write('no');
readln; end.
I. Завдання
1. Скласти програму обчислення кількості букви «А»
в реченні.
Приклад розв’язування задачі та складання програми.
Program z1;
Var S: string;
N, i,k:integer;
Bеgin
Writeln(‘->s’);
readln(s);
N:= length(s);
K:=0; For i:=1 to n do
If s[i]=’a’ then k:=k+1;
Writeln(‘k=’,k); End.
Типовые задачи на строковые переменные
Дана строка, содержащая 20 символов. Подсчитать сколько раз буква F встречается в данной строке.
program zadacha (input, output);
{подсчет количества повторений буквы F в слове)
var
s : string[20];
i, k: integer;
begin
writeln ( ' введите слово. Количество символов в нем не должно превышать 20 ') ;
read (s) ;
k:=0;
for i:=1 to 20 do
if s[i] ='f' then k:=k+1; writeln (' буква F встречается', k, ' раз(а)')
end.
{подсчет количества повторений буквы F в слове)
var
s : string[20];
i, k: integer;
begin
writeln ( ' введите слово. Количество символов в нем не должно превышать 20 ') ;
read (s) ;
k:=0;
for i:=1 to 20 do
if s[i] ='f' then k:=k+1; writeln (' буква F встречается', k, ' раз(а)')
end.
Дана строка, содержащая 20 символов. Подсчитать количество цифр, входящих в данную строку.
program zadacha (input, output); {подсчет количества цифр в слове)
var
s: string[20];
n: string[10];
k, i, j: integer;
begin
writeln (' Введите строку символов');
read (s) ;
n:='0123456789';
for i:=1 to 20 do
for j:=1 to 10 do
if s[i] = n[j] then k:=k+l; write(' в строке ', s, ' ', k, ' -цифр')
end.
var
s: string[20];
n: string[10];
k, i, j: integer;
begin
writeln (' Введите строку символов');
read (s) ;
n:='0123456789';
for i:=1 to 20 do
for j:=1 to 10 do
if s[i] = n[j] then k:=k+l; write(' в строке ', s, ' ', k, ' -цифр')
end.
Проверить является ли слово палиндромом
Дано произвольное слово. Проверить является ли оно палиндромом. (Пример: слова палиндромы - казак, шалаш, мадам, фраза «a роза упала на лапу азоpа » и т. д.)
Дано произвольное слово. Проверить является ли оно палиндромом. (Пример: слова палиндромы - казак, шалаш, мадам, фраза «a роза упала на лапу азоpа » и т. д.)
program zadacha (input, output) ;
{проверить, является ли слово палиндромом}
var
s : string;
l, i, m, k: integer;
begin
writeln ('Введите слово');
read (s) ;
k:=0;
l : = length (s) ;
m: = trunc(l/2) ;
for i:=1 to m do
if s[i] <> s[l+1-i] then k:=1;
if k=1 then writeln (' слово', s, ' не палиндром')
else writeln (' слово', s, ' -палиндром ')
end.
{проверить, является ли слово палиндромом}
var
s : string;
l, i, m, k: integer;
begin
writeln ('Введите слово');
read (s) ;
k:=0;
l : = length (s) ;
m: = trunc(l/2) ;
for i:=1 to m do
if s[i] <> s[l+1-i] then k:=1;
if k=1 then writeln (' слово', s, ' не палиндром')
else writeln (' слово', s, ' -палиндром ')
end.
Сжатие строки
Дана строка символов. Получить новую строку из первоначальной строки, без точек.
Дана строка символов. Получить новую строку из первоначальной строки, без точек.
program zadacha (input, output) ; {сжатие строки}
var
s, h: string;
i, k: integer;
begin
writeln (' Введите строку символов');
read (s) ;
for i:=1 to length(s) do if s[i] <> '.' then
begin
k:=k+1;
h[k]:= s[i]
end;
for i:=1 to length(s) do write ( h[i] )
end.
var
s, h: string;
i, k: integer;
begin
writeln (' Введите строку символов');
read (s) ;
for i:=1 to length(s) do if s[i] <> '.' then
begin
k:=k+1;
h[k]:= s[i]
end;
for i:=1 to length(s) do write ( h[i] )
end.
Формирование новой строки
И заданной строки получить новую строку, удалив все "*" и повторив каждый символ, отличный от звездочки дважды. Распечатать полученную строку.
И заданной строки получить новую строку, удалив все "*" и повторив каждый символ, отличный от звездочки дважды. Распечатать полученную строку.
program zadacha (input, output); {формирование новой строки}
var
s, h : string;
i, k, l, j: integer;
begin
writeln (' Введите строку символов');
read (s) ;
k:=l;
l:=length(s);
j:=l;
for i:=1 to l do
if s[i] <> '*' then begin h[j]:=s[i]; h[j+1]:=s[i]; j:=j+2
end;
for i:=1 to 2*1 do write ( h[i] )
end.
var
s, h : string;
i, k, l, j: integer;
begin
writeln (' Введите строку символов');
read (s) ;
k:=l;
l:=length(s);
j:=l;
for i:=1 to l do
if s[i] <> '*' then begin h[j]:=s[i]; h[j+1]:=s[i]; j:=j+2
end;
for i:=1 to 2*1 do write ( h[i] )
end.
Определение наименьшего слова в строке
Определить наименьшую длину слова в строке. Считать, что все слова отделены пробелами.
Определить наименьшую длину слова в строке. Считать, что все слова отделены пробелами.
program zadacha (input, output); {определение наименьшего слова в строке}
var
s: string;
i, l, min, lw: integer;
begin
writeln (' Введите строку символов');
read (s) ;
lw:=0; {длина текущего слова}
l:= length(s);
min: = l;
for i:=1 to l do
if s[i] <> ' ' then lw:= lw+1
else if (min>lw) and (lw>0) then
begin
min = lw;
lw:=0
end;
writeln (' min= ', min)
end.
var
s: string;
i, l, min, lw: integer;
begin
writeln (' Введите строку символов');
read (s) ;
lw:=0; {длина текущего слова}
l:= length(s);
min: = l;
for i:=1 to l do
if s[i] <> ' ' then lw:= lw+1
else if (min>lw) and (lw>0) then
begin
min = lw;
lw:=0
end;
writeln (' min= ', min)
end.
Підписатися на:
Дописи (Atom)