Vòng Lặp Trong C

Khi tiến hành lập trình có thể bạn sẽ gặp phải tình huống đó là một khối mã cần được thực thi nhiều lần, khi đó các câu lệnh được thực thi tuần tự: Câu lệnh đầu tiên trong một hàm được thực hiện trước tiên, tiếp theo là câu lệnh thứ hai và tiếp tục như vậy. Vòng lặp trong C nhằm cung cấp các loại vòng lặp sau đây để xử lý các yêu cầu lặp:

vòng lặp trong c
vòng lặp trong c
  • Vòng lập while trong C
  • Vòng lặp for
  • Vòng lặp do…while
  • Vòng lặp nested

Một câu lệnh vòng lặp cho phép chúng ta thực hiện một câu lệnh hoặc một nhóm các câu lệnh nhiều lần. Dưới đây là hình thức chung của một vòng lặp trong hầu hết các ngôn ngữ lập trình:

vòng lặp trong c (2)
vòng lặp trong c (2)

1. Vòng Lặp While Trong C

Vòng lặp while thường được sử dụng để lặp đi lặp lại một khối lệnh không biết trước số lần lặp. Dưới đây là cú pháp của vòng lặp while:

while(condition) {

statement(s);

}

Ở đây, (các) câu lệnh có thể là một câu lệnh đơn hoặc một khối câu lệnh. Điều kiện có thể là bất kỳ biểu thức nào và là bất kỳ giá trị nào khác. Vòng lặp lại khi điều kiện là đúng. Khi điều kiện sai, chương trình sẽ thoát khỏi vòng lặp và chuyển đến dòng ngay sau vòng lặp.

Bài tập thực hành:

In ra các số lẻ <= 10

Lời Giải:

#include <stdio.h>
 
int main(){
    /*
        In ra các số lẻ <= 10.
     */
 
    int number = 1;
    while (number <= 10){
        if(number % 2 == 1){
            printf("%d\t", number);
        }
        number++;
    }
}

Kết Quả:

PS G:\c_cources\day_19> g++ .\WhileLoop.cpp -o .\WhileLoop
PS G:\c_cources\day_19> .\WhileLoop.exe
1       3       5       7       9

 

2. Vòng Lặp For Trong C

Vòng lặp For là một cấu trúc điều khiển lặp lại cho phép bạn viết một cách hiệu quả một vòng lặp mà cần phải thực hiện một số cụ thể.

Cú pháp của vòng lặp for trong ngôn ngữ lập trình C là:

for ( init; condition; increment ) {

statement(s);

}
  • Bước init được thực thi đầu tiên, và chỉ một lần. Bước này cho phép bạn khai báo và khởi tạo bất kỳ biến điều khiển vòng lặp nào.
  • Tiếp theo, điều kiện được đánh giá. Nếu nó là đúng, phần thân của vòng lặp được thực thi. Nếu nó sai, phần thân của vòng lặp không thực thi và luồng điều khiển nhảy đến câu lệnh kế tiếp ngay sau vòng lặp for.
  • Sau khi vòng lặp for thực hiện, luồng điều khiển nhảy ngược lại câu lệnh tăng dần. Câu lệnh này cho phép bạn cập nhật bất kỳ biến điều khiển vòng lặp nào. Câu lệnh này có thể để trống, miễn là dấu chấm phẩy xuất hiện sau điều kiện.
  • Điều kiện hiện được đánh giá lại. Nếu nó là true, vòng lặp thực hiện và quá trình lặp lại chính nó và nếu điều kiện sai, vòng lặp for chấm dứt.

Vòng lặp For là thường được sử dụng trong khóa học lập trình C

Bài Tập:

In ra 3 dòng chữ “Hoc C ba dao tai Lap trinh khong kho!”

Lời Giải:

/*
    In ra 3 dòng chữ "Hoc C ba dao tai Lap trinh khong kho!"
 */
 
 
#include <stdio.h>
 
int main(){
    for(int i = 0; i < 3; i++){
        printf("Hoc C ba dao tai Lap trinh khong kho!\n");
    }
    // Continue ...
    printf("Ket thuc vong lap!\n");
}
 
/*
    Giải thích:
    B1. Gán biến lặp i = 0
    B2. Kiểm tra điều kiện (i = 0) < 3 => Đúng
    B3. Do kiểm tra điều kiện đúng => Thực hiện thân vòng lặp for
    B4. Gọi tới (i++) => tăng i lên 1 đơn vị => i = 1
    B5. Kiểm tra điều kiện (i = 1) < 3 => Đúng
    B6. Do kiểm tra điều kiện đúng => Thực hiện thân vòng lặp for
    B7. Gọi tới (i++) => tăng i lên 1 đơn vị => i = 2
    B8. Kiểm tra điều kiện (i = 2) < 3 => Đúng
    B9. Do kiểm tra điều kiện đúng => Thực hiện thân vòng lặp for
    B10. Gọi tới (i++) => tăng i lên 1 đơn vị => i = 3
    B11. Kiểm tra điều kiện (i = 3) < 3 => Sai => Kết thúc vòng lặp
 */

Kết Quả:

Hoc C ba dao tai Lap trinh khong kho!
Hoc C ba dao tai Lap trinh khong kho!
Hoc C ba dao tai Lap trinh khong kho!
Ket thuc vong lap!

3. Vòng Lặp Do While

Không giống như vòng lặp for và while tiến hành kiểm tra điều kiện lặp ở đầu vòng lặp, do … while trong lập trình C kiểm tra điều kiện ở dưới cùng của vòng lặp.

Vòng lặp do … while tương tự như một vòng lặp while, tuy nhiên do … while luôn được thực hiện ít nhất một lần.

Cú pháp của vòng lặp do … while trong ngôn ngữ lập trình C là:

do {

statement(s);

} while( condition );

 

Lưu ý rằng biểu thức điều kiện xuất hiện ở cuối vòng lặp, do đó (các) câu lệnh trong vòng lặp thực hiện một lần trước khi điều kiện được kiểm tra.

Nếu điều kiện là đúng, luồng điều khiển nhảy trở lại để làm, và (các) câu lệnh trong vòng lặp thực hiện lại. Quá trình này lặp lại cho đến khi điều kiện đã cho trở thành sai.

Ví Dụ:

#include <stdio.h>
  
int main () {
    int a = 10;
 
    do {
        printf("Gia tri cua a: %d\n", a);
        a++;
    } while( a < 20 );
  
    return 0;
}

Kết Quả:

Gia tri cua a: 10
Gia tri cua a: 11
Gia tri cua a: 12
Gia tri cua a: 13
Gia tri cua a: 14
Gia tri cua a: 15
Gia tri cua a: 16
Gia tri cua a: 17
Gia tri cua a: 18
Gia tri cua a: 19

 

4. Vòng lặp nested

Lập trình C cho phép sử dụng vòng lặp nested (vòng lặp bên trong vòng lặp khác). Phần sau đây cho thấy một vài ví dụ để minh họa:

  • Cú pháp cho câu lệnh vòng lặp nested với vòng lặp for trong C như sau:

f

or ( init; condition; increment ) {

for ( init; condition; increment ) {

statement(s);

}

statement(s);

}

 

  • Cú pháp cho câu lệnh vòng lặp nested với vòng lặp while trong ngôn ngữ lập trình C như sau:
while(condition) {

while(condition) {

statement(s);

}

statement(s);

}

 

  • Cú pháp cho câu lệnh lồng nhau do … while trong ngôn ngữ lập trình C như sau:
do {

statement(s);

do {

statement(s);

}while( condition );

}while( condition );

 

Lưu ý cuối cùng về việc lồng vòng lặp là bạn có thể đặt bất kỳ loại vòng lặp nào bên trong loại vòng lặp khác.

5. Câu lệnh điều khiển vòng lặp

C hỗ trợ các câu lệnh điều khiển sau:

  • Chấm dứt vòng lặp hoặc switch tuyên bố và chuyển thực hiện để báo cáo kết quả ngay sau khi vòng lặp hoặc switch.
  • Làm cho vòng lặp bỏ qua phần còn lại của chương trình và ngay lập tức kiểm tra lại tình trạng của nó trước khi lặp lại.
  • Chuyển quyền kiểm soát vào câu lệnh được dán nhãn.

6. Vòng lặp vô hạn

Một vòng lặp trở thành một vòng lặp vô hạn nếu một điều kiện không bao giờ trở thành sai. Các vòng lặp theo truyền thống được sử dụng cho mục đích này, vì không có biểu thức nào trong số ba biểu thức tạo thành vòng lặp for là bắt buộc, bạn có thể tạo vòng lặp vô tận bằng cách để trống biểu thức điều kiện.

#include

int main () {

for( ; ; ) {

printf("This loop will run forever.\n");

}

return 0;

}

Khi biểu thức điều kiện để trống, nó được giả định là đúng. Bạn có thể có một biểu thức khởi tạo và gia tăng, nhưng các lập trình viên C thường sử dụng cấu trúc for (;;) để biểu thị một vòng lặp vô hạn. Bạn có thể chấm dứt vòng lặp vô hạn bằng cách nhấn các phím Ctrl + C.

7. Một số bài tập về vòng lặp trong C

Bài 1:

Viết chương trình nhập số nguyên dương n. Tính S(n)= 1 + (1+2)/2! + (1+2+3)/3! + … + (1+2+3+…+n)/n! (n>0)

Lời giải:

// Tính S(n)= 1 + (1+2)/2! + (1+2+3)/3! + ... + (1+2+3+..+n)/n! (n>0)

===========================================================================


#include <iostream>
using namespace std;

int Nhap()
{
   int x;
   do
   {
      cin >> x;
      if (x < 0)
         cout << "Nhap sai, yeu cau nhap lai!";
   } while (x < 0);
   return x;
}

double Tinh(int n)
{
   float s = 0, t = 0;
   long p = 1;
   for (int i = 1; i <= n; i++)
   {
      t = t + i;
      p = p * i;
      s = s + (double)t / p;
   }
   return s;
}

int main()
{
   int n; 

   cout << "Nhap so nguyen n: ";
   n = Nhap();
   cout << "Ket qua la: "<< Tinh(n) << endl;

   return 0;
}

Bài 2:

Viết chương trình nhập số nguyên dương n. Tính S(n) = 1-2+3-4+5+…+((-1)^(n+1))*n (n>0)

Ví dụ:

Input: 5

Output: 3

Lời Giải:

// Tinh P(n) = 1-2+3-4+5+...+((-1)^(n+1))*n (n>0)

===========================================================================


#include <iostream>
using namespace std;

int Nhap()
{
   int x;
   do
   {
      cin >> x;
      if (x < 0)
         cout << "Nhap sai, yeu cau nhap lai!";
   } while (x < 0);
   return x;
}

long Tinh(int n)
{
   long p = 0;
long tmp = 1;
   for (int i = 1; i <= n; i++)
{
      p += tmp*i;
      tmp *= -1;
}
   return p;
}

int main()
{
   int n; 

   cout << "Nhap so nguyen n: ";
   n = Nhap();
   cout << "Ket qua la: "<< Tinh(n) << endl;

   return 0;
}

 

The post Vòng Lặp Trong C first appeared on Techacademy.

source https://techacademy.edu.vn/vong-lap-trong-c/

Mảng Trong PHP

Mảng là một cấu trúc dữ liệu lưu trữ một hoặc nhiều loại giá trị tương tự trong một giá trị duy nhất. Ví dụ: nếu bạn muốn lưu trữ 100 số thì thay vì xác định 100 biến dễ dàng để xác định một mảng có độ dài 100. Tìm hiểu về Mảng (Array) trong PHP được sử dụng để tạo một mảng. Mảng là một trong những nội dung cơ bản rất quan trọng trong khóa học lập trình PHP, vì thế học viên nên nắm bắt thật chắc về mảng.

mảng php
mảng php

Trong PHP, có ba loại mảng:

  • Mảng được lập chỉ mục – Mảng có chỉ mục số
  • Mảng kết hợp – Mảng với các phím được đặt tên
  • Mảng đa chiều – Mảng chứa một hoặc nhiều mảng

1. Mảng được lập chỉ mục – Mảng có chỉ mục số

Các mảng này có thể lưu trữ số, chuỗi và bất kỳ đối tượng nào nhưng chỉ mục của chúng sẽ được biểu diễn bằng số. Theo chỉ mục mảng mặc định bắt đầu từ số không.

Thí dụ

Sau đây là ví dụ cho thấy cách tạo và truy cập mảng số.

Ở đây chúng ta đã sử dụng hàm array () để tạo mảng. Hàm này được giải thích trong tham chiếu hàm.

 

/* First method to create array. */

$numbers = array( 1, 2, 3, 4, 5);

foreach( $numbers as $value ) {

echo "Value is $value
";

}

/* Second method to create array. */

$numbers[0] = "one";

$numbers[1] = "two";

$numbers[2] = "three";

$numbers[3] = "four";

$numbers[4] = "five";

foreach( $numbers as $value ) {

echo "Value is $value
";

}

?>

 

Điều này sẽ tạo ra kết quả sau:

Mảng được lập chỉ mục - Mảng có chỉ mục số
Mảng được lập chỉ mục – Mảng có chỉ mục số

2. Mảng kết hợp – Mảng với các khóa được đặt tên

Các mảng kết hợp rất giống với mảng số về mặt chức năng nhưng chúng khác nhau về chỉ mục của chúng. Mảng kết hợp sẽ có chỉ mục của chúng dưới dạng chuỗi để bạn có thể thiết lập mối liên kết chặt chẽ giữa khóa và giá trị.

Để lưu trữ tiền lương của nhân viên trong một mảng, một mảng được lập chỉ mục bằng số sẽ không phải là lựa chọn tốt nhất. Thay vào đó, chúng tôi có thể sử dụng tên nhân viên làm khóa trong mảng kết hợp của chúng tôi và giá trị sẽ là mức lương tương ứng của họ.

LƯU Ý – Không giữ mảng kết hợp bên trong báo giá kép trong khi in nếu không nó sẽ không trả về bất kỳ giá trị nào.

Thí dụ:

 

/* First method to associate create array. */

$salaries = array("mohammad" => 2000, "qadir" => 1000, "zara" => 500);

echo "Salary of mohammad is ". $salaries['mohammad'] . "
";

echo "Salary of qadir is ". $salaries['qadir']. "
";

echo "Salary of zara is ". $salaries['zara']. "
";

/* Second method to create array. */

$salaries['mohammad'] = "high";

$salaries['qadir'] = "medium";

$salaries['zara'] = "low";

echo "Salary of mohammad is ". $salaries['mohammad'] . "
";

echo "Salary of qadir is ". $salaries['qadir']. "
";

echo "Salary of zara is ". $salaries['zara']. "
";

?>

 

Điều này sẽ tạo ra kết quả sau:

Mảng kết hợp - Mảng với các phím được đặt tên
Mảng kết hợp – Mảng với các phím được đặt tên

3. Mảng đa chiều – Mảng chứa một hoặc nhiều mảng

Mảng đa chiều - Mảng chứa một hoặc nhiều mảng
Mảng đa chiều – Mảng chứa một hoặc nhiều mảng

Mảng đa chiều mỗi phần tử trong mảng chính cũng có thể là một mảng. Và mỗi phần tử trong mảng phụ có thể là một mảng, v.v. Giá trị trong mảng đa chiều được truy cập bằng nhiều chỉ mục.

Thí dụ:

Trong ví dụ này, chúng ta tạo một mảng hai chiều để lưu trữ các dấu hiệu của ba học sinh trong ba môn học.

Ví dụ này là một mảng kết hợp, bạn có thể tạo mảng số theo cùng một kiểu.

 

$marks = array(

"mohammad" => array (

"physics" => 35,

"maths" => 30,

"chemistry" => 39

),

"qadir" => array (

"physics" => 30,

"maths" => 32,

"chemistry" => 29

),

"zara" => array (

"physics" => 31,

"maths" => 22,

"chemistry" => 39

)

);

/* Accessing multi-dimensional array values */

echo "Marks for mohammad in physics : " ;

echo $marks['mohammad']['physics'] . "
";

echo "Marks for qadir in maths : ";

echo $marks['qadir']['maths'] . "
";

echo "Marks for zara in chemistry : " ;

echo $marks['zara']['chemistry'] . "
";

?>

 

Điều này sẽ tạo ra kết quả sau:

Mảng đa chiều - Mảng chứa một hoặc nhiều mảng (2)
Mảng đa chiều – Mảng chứa một hoặc nhiều mảng (2)

4. Danh sách hàm dùng để xử lý Mảng (Array) trong PHP

Cột PHP chỉ phiên bản PHP sớm nhất mà hỗ trợ hàm đó.

Hàm Miêu tả PHP
Hàm array() Tạo một mảng 3
Hàm array_change_key_case() Trả về một mảng với tất cả key trong dạng chữ hoa hoặc chữ thường 4
Hàm array_chunk() Chia một mảng thành một mảng các mảng 4
Hàm array_combine() Tạo một mảng bởi sử dụng một mảng cho key và mảng khác cho value 5
Hàm array_count_values() Trả về một mảng với số lần xuất hiện mỗi value 4
Hàm array_diff() So sánh các value của mảng, và trả về các sự khác nhau 4
Hàm array_diff_assoc() So sánh key và value của mảng, và trả về sự khác nhau 4
Hàm array_diff_key() So sánh các key của mảng, và trả về các sự khác nhau 5
Hàm array_diff_uassoc() So sánh key và value của mảng, với một hàm kiểm tra bổ sung do người dùng tạo, và trả về các sự khác nhau 5
Hàm array_diff_ukey() So sánh key của mảng, với một hàm kiểm tra bổ sung do người dùng tạo, và trả về các sự khác nhau 5
Hàm array_fill() Điền value vào một mảng 4
Hàm array_fill_keys() Điền value vào một mảng, chỉ rõ các key 5
Hàm array_filter() Lọc các phần tử của một mảng bởi sử dụng một hàm do người dùng tạo 4
Hàm array_flip() Trao đổi tất cả key với value được liên hợp với chúng trong một mảng 4
Hàm array_intersect() So sánh các value trong mảng và trả về các so khớp 4
Hàm array_intersect_assoc() So sánh các key và value trong mảng và trả về các so khớp 4
Hàm array_intersect_key() So sánh các key trong mảng và trả về các so khớp 5
Hàm array_intersect_uassoc() So sánh các key và value trong mảng, với một hàm kiểm tra bổ sung do người dùng tạo và trả về các so khớp 5
Hàm array_intersect_ukey() So sánh các key trong mảng, với một hàm kiểm tra bổ sung do người dùng tạo và trả về các so khớp 5
Hàm array_key_exists() Kiểm tra xem key đã cho có tồn tại trong mảng không 4
Hàm array_keys() Trả về tất cả key của một mảng 4
Hàm array_map() Gửi mỗi value của một mảng tới một hàm do người dùng tạo, mà trả về các value mới 4
Hàm array_merge() Sáp nhập một hoặc nhiều mảng thành một mảng 4
Hàm array_merge_recursive() Sáp nhập một hoặc nhiều mảng thành một mảng 4
Hàm array_multisort() Sắp xếp các mảng đa chiều 4
Hàm array_pad() Chèn số lượng item đã xác định với một value đã xác định vào một mảng 4
Hàm array_pop() Xóa phần tử cuối cùng của một mảng 4
Hàm array_product() Tính toán tích các value trong một mảng 5
Hàm array_push() Chèn một hoặc nhiều phần tử vào phần cuối của một mảng 4
Hàm array_rand() Trả về một hoặc nhiều key ngẫu nhiên từ một mảng 4
Hàm array_reduce() Trả về một mảng ở dạng string, sử dụng hàm do người dùng tạo 4
Hàm array_reverse() Trả về một mảng với thứ tự bị đảo ngược 4
Hàm array_search() Tìm kiếm một mảng cho một value đã cho và trả về key 4
Hàm array_shift() Gỡ bỏ phần tử đầu tiên từ một mảng, và trả về value của phần tử bị gỡ bỏ 4
Hàm array_slice() Trả về các phần đã chọn của một mảng 4
Hàm array_splice() Gỡ bỏ và thay thế các phần tử đã xác định của một mảng 4
Hàm array_sum() Trả về tổng các value trong một mảng 4
Hàm array_udiff() So sánh các value của mảng trong một hàm do người dùng tạo và trả về một mảng 5
Hàm array_udiff_assoc() So sánh các key của mảng, và so sánh các value của mảng trong một hàm do người dùng tạo, và trả về một mảng 5
Hàm array_udiff_uassoc() So sánh các key và value của mảng trong một hàm do người dùng tạo, và trả về một mảng 5
Hàm array_uintersect() So sánh các value của mảng trong một hàm do người dùng tạo, và trả về một mảng 5
Hàm array_uintersect_assoc() So sánh các key của mảng, và so sánh các value của mảng trong một hàm do người dùng tạo, và trả về một mảng 5
Hàm array_uintersect_uassoc() So sánh các value của mảng trong một hàm do người dùng tạo, và trả về một mảng 5
Hàm array_unique() Gỡ bỏ bản sao các value từ một mảng 4
Hàm array_unshift() Thêm một hoặc nhiều phần tử tới phần đầu của mảng 4
Hàm array_values() Trả về tất cả value của một mảng 4
Hàm array_walk() Áp dụng một hàm do người dùng tạo tới mỗi thành viên của một mảng 3
Hàm array_walk_recursive() Áp dụng một hàm một cách đệ qui do người dùng tạo tới mỗi thành viên của một mảng 5
Hàm arsort() Sắp xếp một mảng với thứ tự đảo ngược và duy trì liên kết chỉ mục 3
Hàm asort() Sắp xếp một mảng và duy trì liên kết chỉ mục 3
Hàm compact() Tạo một mảng chứa các biến và các value của chúng 4
Hàm count() Đếm các phần tử trong một mảng, hoặc các thuộc tính trong một đối tượng 3
Hàm current() Trả về phần tử hiện tại trong một mảng 3
Hàm each() Trả về cặp key và value hiện tại từ một mảng 3
Hàm end() Thiết lập con trỏ nội bộ của một mảng tới phần tử cuối cùng của nó 3
Hàm extract() Nhập các biến vào trong bảng biểu tượng hiện tại từ một mảng 3
Hàm in_array() Kiểm tra nếu một value đã xác định là tồn tại trong một mảng 4
Hàm key() Lấy một key từ một mảng 3
Hàm krsort() Sắp xếp một mảng bằng các key theo thứ tự đảo ngược 3
Hàm ksort() Sắp xếp một mảng bằng các key 3
Hàm list() Gán các biến như nếu chúng là một mảng 3
Hàm natcasesort() Sắp xếp một mảng bởi sử dụng một thuật toán “natural order” không phân biệt kiểu chữ 4
Hàm natsort() Sắp xếp một mảng bởi sử dụng một thuật toán “natural order” 4
Hàm next() Tăng con trỏ mảng nội bộ hay trỏ tới phần tử kế tiếp của một mảng 3
Hàm pos() Alias của hàm current() 3
Hàm prev() Giảm con trỏ mảng nội bộ hay trỏ tới phần tử ở trước của một mảng 3
Hàm range() Tạo một mảng chứa một phạm vi phần tử 3
Hàm reset() Thiết lập con trỏ nội bộ của mảng về phần tử đầu tiên của nó 3
Hàm rsort() Sắp xếp một mảng theo thứ tự đảo ngược 3
Hàm shuffle() Xáo trộn một mảng 3
Hàm sizeof() Alias của hàm count() 3
Hàm sort() Sắp xếp một mảng 3
Hàm uasort() Sắp xếp một mảng với một hàm do người dùng tạo và duy trì liên kết chỉ mục 3
Hàm uksort() Sắp xếp một mảng bằng các key bởi sử dụng một hàm do người dùng tạo 3
Hàm usort() Sắp xếp một mảng bằng các value bởi sử dụng một hàm do người dùng tạo 3

5. Thêm Phần Tử Vào Mảng

Thêm phần tử vào cuối mảng

<?php
$list_odd = array(1,3,5,7);
// Thêm phần tử giá trị 9 vào mảng có chỉ số key là số nguyên cao nhất.
$list_odd[] = 9;
?>

Khi thực hiện cấu trúc dấu ngoặc vuông rỗng [] để thêm phần từ thì phần tử được thêm vào mảng có chỉ số lớn nhất cộng thêm một giá trị.

Thêm phần tử bởi một key(chỉ mục) xác định trước

<?php
$student = array(
    '08T1016' => "Phan Văn Cương",
    '08T1013' => "Nguyễn Văn Hoàng",
    '08T1015' => "Bùi Việt Đức",
);
// Thêm phần tử có key xác định vào mảng $student
$student['08T1019']= "Trần Thị Hằng";
?>

6. Cập Nhật Giá Trị Phần Tử Của Mảng

Để cập nhật giá trị của mảng chúng ta cần xác định key của phần tử cần cập nhật và thực hiện thao tác gán lại giá trị.

<?php
$list_color = array('Green', 'Red', 'Blue');
// Cập nhật giá trị Green bằng Back
$list_color[0] = Black;
?>

7. Xóa Một Phần Tử Trong Mảng

Để xóa phần tử của mảng ta sử dụng hàm unset()

<?php
$student = array(
    '08T1016' => "Phan Văn Cương",
    '08T1013' => "Nguyễn Văn Hoàng",
    '08T1015' => "Bùi Việt Đức",
);
// Xóa Bùi Việt Đức ra khỏi mảng $student
unset($student['08T1015']);
print_r($student);
?>

Xóa tất cả các phần tử của mảng

<?php
unset($student);
?>

 

The post Mảng Trong PHP first appeared on Techacademy.

source https://techacademy.edu.vn/mang-trong-php/

Typedef Trong C

Ngôn ngữ lập trình C cung cấp một từ khóa được gọi là typedef, bạn có thể sử dụng để cung cấp kiểu cho một loại tên mới.

Typedef trong c
Typedef trong c

Dưới đây là ví dụ để xác định BYTE cho kiểu dữ liệu unsigned char

typedef unsigned char BYTE;

Sau định nghĩa này, định danh BYTE có thể được sử dụng như một từ viết tắt cho loại unsigned char, ví dụ:

BYTE b1, b2;

Theo quy ước, chữ hoa được sử dụng cho các định nghĩa để nhắc nhở người dùng rằng tên thực sự là một từ viết tắt tượng trưng, ​​nhưng bạn có thể sử dụng chữ thường, như sau:

typedef unsigned char byte;

Bạn có thể sử dụng typedef để đặt tên cho kiểu dữ liệu do người dùng xác định.

Ví dụ, bạn có thể sử dụng typedef với cấu trúc để định nghĩa một kiểu dữ liệu mới và sau đó sử dụng kiểu dữ liệu đó để định nghĩa các biến cấu trúc trực tiếp như sau:

#include

#include

typedef struct Books {

char title[50];

char author[50];

char subject[100];

int book_id;

} Book;

int main( ) {

Book book;

strcpy( book.title, "C Programming");

strcpy( book.author, "Nuha Ali");

strcpy( book.subject, "C Programming Tutorial");

book.book_id = 6495407;

printf( "Book title : %s\n", book.title);

printf( "Book author : %s\n", book.author);

printf( "Book subject : %s\n", book.subject);

printf( "Book book_id : %d\n", book.book_id);

return 0;

}

Khi mã trên được biên dịch và thực hiện, nó tạo ra kết quả sau:

Book title : C Programming

Book author : Nuha Ali

Book subject : C Programming Tutorial

Book book_id : 6495407

1. Typedef và  #define trong C

#define là chỉ thị C cũng được sử dụng để xác định bí danh cho các loại dữ liệu khác nhau tương tự typedef nhưng với những khác biệt sau đây:

typedef được giới hạn chỉ cung cấp các tên viết tắt cho các kiểu, trong khi đó #define có thể được sử dụng để định nghĩa tên hiệu cho cả các giá trị, như bạn có thể định nghĩa 1 là ONE, ….

Typedef được thực hiện bởi trình biên dịch trong khi các câu lệnh #define được xử lý bởi bộ xử lý trước.

Ví dụ sau cho thấy cách sử dụng #define trong một chương trình:

#include

#define TRUE 1

#define FALSE 0

int main( ) {

printf( "Value of TRUE : %d\n", TRUE);

printf( "Value of FALSE : %d\n", FALSE);

return 0;

}

Khi mã trên được biên dịch và thực hiện, nó tạo ra kết quả sau:

Value of TRUE : 1

Value of FALSE : 0

The post Typedef Trong C first appeared on Techacademy.

source https://techacademy.edu.vn/typedef-trong-c/

Kiểm Tra Số Nguyên Tố Trong C

Trong chương trình sau, chúng tôi đang kiểm tra xem số nguyên đầu vào là dương hay âm nó được gọi là kiểm tra số nguyên tố trong C. Nếu số đầu vào lớn hơn không thì số dương của nó sẽ là số âm. Nếu con số bằng không thì nó không phải là số dương hay âm. Cùng một logic chúng ta xét trong chương trình C dưới đây.

1.Chương trình C để tìm kiểm tra số đã nhập có phải là số nguyên tố

#include <iostream>
using namespace std;

int main() {
    int i, n;
    bool isPrime = true;

    cout << "Enter a positive integer: ";
    cin >> n;

    // 0 and 1 are not prime numbers
    if (n == 0 || n == 1) {
        isPrime = false;
    }
    else {
        for (i = 2; i <= n / 2; ++i) {
            if (n % i == 0) {
                isPrime = false;
                break;
            }
        }
    }
    if (isPrime)
        cout << n << " is a prime number";
    else
        cout << n << " is not a prime number";

    return 0;
}

Biên dịch và chạy chương trình C trên sẽ cho kết quả:

Enter a positive integer: 29
29 is a prime number.

2. Chương Trình Đếm Số Chữ Số Trong Một Số Nguyên

#include

int main()

{

long long n;

int count = 0;

printf("Enter an integer: ");

scanf("%lld", &n);

while(n != 0)

{

// n = n/10

n /= 10;

++count;

}

printf("Number of digits: %d", count);

}

 

Đầu ra

Nhập số nguyên: 3452

Số chữ số: 4

Số nguyên được nhập bởi người dùng được lưu trữ trong biến n . Sau đó vòng lặp while được lặp lại cho đến khi biểu thức kiểm tra n != 0được đánh giá là 0 (false).

Sau lần lặp đầu tiên, giá trị của n sẽ là 345 và số đếm được tăng lên 1.

Sau lần lặp thứ hai, giá trị của n sẽ là 34 và số đếm được tăng lên 2.

Sau lần lặp thứ ba, giá trị của n sẽ là 3 và số đếm được tăng lên 3.

Sau lần lặp thứ tư, giá trị của n sẽ là 0 và số đếm được tăng lên đến 4.

Sau đó, biểu thức kiểm tra được đánh giá là false và vòng lặp kết thúc.

3. Chương Trình C Kiểm Tra Số Nguyên Dương Hay Âm

Trong chương trình sau, chúng tôi đang kiểm tra xem số nguyên đầu vào là dương hay âm. Nếu số đầu vào lớn hơn 0 thì số dương của nó sẽ là số âm. Nếu con số bằng không thì nó không phải là số dương hay âm.

* / #include

void main () { int num ;

printf ( "Nhập số: \ n" );

scanf ( "% d" , & num ); if ( num > 0 )

printf ( "% d là số dương \ n" , num ); else if ( num < 0 )

printf ( "% d là số âm \ n" , num ); else

printf ( "0 không dương và âm" ); }

Đầu ra 1:

Nhập một số : 0 là không âm và dương

Đầu ra 2:

Nhập một số : – 3 là số âm

Đầu ra 3:

Nhập một số : 100 là số dương

The post Kiểm Tra Số Nguyên Tố Trong C first appeared on Techacademy.

source https://techacademy.edu.vn/kiem-tra-so-nguyen-to-trong-c/

Tính giai thừa trong c

Làm thế nào để bạn thực hiện cách tính giai thừa trong C? Trong lập trinh C ta có thể thực hiên tính giai thừa trong c theo hai cách chính sau: sử dụng vòng lặp và sử dụng hàm đệ qui và tạo hàm. Hãy cùng tìm hiểu nội dung của từng cách được đề cập đến trong bài viết dưới đây nhé!

tính giai thừa trong c (1)
tính giai thừa trong c (1)

1. Giai thừa là gì?

Chương trình giai thừa trong ngôn ngữ lập trình C: Ba phương pháp để tìm giai thừa, sử dụng vòng lặp for, sử dụng đệ quy và bằng cách tạo hàm. Như các bạn đã biết, trong toán học giai thừa được biểu diễn bằng cách sử dụng kí hiệu: ‘!’. Ví dụ vậy năm giai thừa sẽ được viết là (5!), N giai thừa là (n!). Ngoài ra, n! = n * (n-1) * (n-2) * (n-3) … 3.2.1 và giai thừa 0 được định nghĩa là một ví dụ, 0! = 1.

Giai thừa của một số ‘n’ là sản phẩm của tất cả các số từ 1 đến số ‘n’

nó được ký hiệu bằng n !. Ví dụ n = 5 thì giai thừa 5 sẽ là 1 * 2 * 3 * 4 * 5 = 120. 5! = 120

2. Các cách tính giai thừa trong lập trình C

Bài tập: Viết một chương trình C để tính giai thừa của một số bất kỳ được nhập từ người dùng

Để tính giai thừa trong C có một trong 3 phương pháp sau:

2.1 Tính giai thừa trong C sử dụng vòng lặp for

Ví dụ:

#include

int main()

{

   int c, n, fact = 1;

   printf("nhap so de tinh giai thua\n");

   scanf("%d", &n);

   for (c = 1; c <= n; c++) fact = fact * c;      

   printf("giai thua cua %d = %d\n", n, fact);

   return 0;
}

Kết quả hiển thị:

Nhap so de tinh giai thua 6

Giai thua cua 6 = 720

2.2 Viết hàm tính giai thừa sử dụng hàm đệ quy

Các bước thực hiện:

Khai báo nguyên mẫu cho hàm có tên rec () được sử dụng để tính toán giá trị giai thừa.

Khai báo hai số nguyên a và thực tế.

Nhắc thông báo để nhập bất kỳ số nào để tính giai thừa.

Cho phép người dùng nhập số bằng scanf ().

Sử dụng hàm rec () để tính giá trị giai thừa bằng phương thức đệ quy và trả về giá trị đó.

In giá trị trả về cho màn hình bằng lệnh printf ().

Ví dụ:

#include

long tinhGiaithua(int n) {

   if (n > 0) {

      return n * tinhGiaithua(n - 1);

   }
   else {

      return 1;

   }

}

/**

* Ham main

*/

int main() {

   int a = 5;

   int b = 0;

   int c = 10;

   printf("Giai thua cua %d la: %d \n", a, tinhGiaithua(a));

   printf("Giai thua cua %d la: %d \n", b, tinhGiaithua(b));

   printf("Giai thua cua %d la: %d", c, tinhGiaithua(c));

}

Kết quả hiển thị:

tính giai thừa trong c (2)
tính giai thừa trong c (2)

Phép đệ quy là một kỹ thuật trong đó một hàm gọi chính nó, ví dụ, trong hàm giai thừa trên mã đang gọi chính nó. Để giải quyết vấn đề bằng cách sử dụng đệ quy, trước tiên bạn phải thể hiện giải pháp của nó ở dạng đệ quy.

2.3 Viết hàm tính giai thừa không sử dụng đệ quy

Các bước thực hiện:

Khai báo nguyên mẫu cho hàm có tên factorial () được sử dụng để tính toán giá trị giai thừa.

Khai báo hai số nguyên a và thực tế.

Nhắc thông báo để nhập bất kỳ số nào để tính giai thừa.

Cho phép người dùng nhập số bằng scanf ().

Sử dụng hàm factorial () để tính giá trị giai thừa và trả về giá trị đó.

In giá trị trả về cho màn hình bằng lệnh printf ().

Ví dụ: chương trình tính giai thừa trong C không sử dụng phương pháp đệ quy:

#include

long tinhGiaithua(int n) {

   int i;

   long giai_thua = 1;

   if (n == 0 || n == 1) {

      return giai_thua;

   }
   else {

      for (i = 2; i <= n; i++) {

         giai_thua *= i;

      }

      return giai_thua;

   }

}

/**

* Ham main

*/

int main() {

   int a = 5;

   int b = 0;

   int c = 10;

   printf("Giai thua cua %d la: %d \n", a, tinhGiaithua(a));

   printf("Giai thua cua %d la: %d \n", b, tinhGiaithua(b));

   printf("Giai thua cua %d la: %d", c, tinhGiaithua(c));

}

 

Kết quả:

tính giai thừa trong c (3)
tính giai thừa trong c (3)

The post Tính giai thừa trong c first appeared on Techacademy.

source https://techacademy.edu.vn/tinh-giai-thua-trong-c/

Hàm Explode Trong PHP

Explode là một hàm dựng sẵn trong PHP được sử dụng để tách một chuỗi sang một mảng. Hàm explode tách một chuỗi dựa trên một chuỗi phân cách, tức là nó tách chuỗi ở bất cứ nơi nào ký tự delimeter xảy ra. Hàm này trả về một mảng chứa các chuỗi được tạo thành bằng cách tách chuỗi gốc. Bài viết dưới đây sẽ hướng dẫn sử dụng hàm Explode trong PHP.

hàm explode trong php 1
hàm explode trong php 1

1. Giới thiệu về hàm explode trong PHP

Hàm explode trong PHP cho phép bạn chuyển một chuỗi sang một mảng dựa trên các ký tự phân cách. Trong thực tế, xử lý chuỗi là rất cần thiết và sử dụng khá thường xuyên, ví dụ khi bạn muốn tách họ và tên của một người dùng, tách từng từ khóa trong một danh sách từ khóa có phân cách bằng một ký tự nào đó…

Cú pháp của hàm explode:

explode(separator,string,limit)

Trong đó:

separator: là chuỗi ranh giới bao gồm ký tự hoặc chuỗi ký tự phân cách sử dụng để phân biệt các phần tử trong chuỗi.

string: Chuỗi đầu vào, chuỗi cần tách thành mảng.

limit: xác định số phần tử của mảng đầu ra.

Giá trị trả về: Mảng kí tự

Nếu limit là số dương, mảng sẽ trả về tối đa limit phần tử

Nếu limit tham số là số âm, mảng trả về tất cả các thành phần ngoại trừ tham số cuối cùng.

Nếu limit tham số bằng không, mảng trả về 1 phần tử

Chú ý: Hàm explode được giới thiệu từ phiên bản PHP 4, tham số limit được thêm vào từ PHP 4.1 và hỗ trợ giá trị âm từ PHP 5.1.0.

2. Các ví dụ thực tế sử dụng hàm explode

Dưới đây là một số ví dụ sử dụng hàm explode

Ví dụ 1:

Sử dụng tham số giới hạn để trả về một số phần tử mảng:

$str = 'one,two,three,four';

// zero limit

print_r(explode(',',$str,0));

print "
";

// positive limit

print_r(explode(',',$str,2));

print "
";

// negative limit

print_r(explode(',',$str,-1));

?>

 

Kết quả:

ham-explode-trong-php-2
ham-explode-trong-php-2

Ví dụ 2:

/*

A string that doesn’t contain the delimiter will simply

return a one-length array of the original string.

*/

$input1 = "hello";

$input2 = "hello,there";

$input3 = ',';

var_dump( explode( ',', $input1 ) );

var_dump( explode( ',', $input2 ) );

var_dump( explode( ',', $input3 ) );

?>

 

Kết quả:

ham-explode-trong-php-3
ham-explode-trong-php-3

Ví dụ 3:

// original string

$OriginalString = "Hello, How can we help you?";

// Without optional parameter NoOfElements

print_r(explode(" ",$OriginalString));

// with positive NoOfElements

print_r(explode(" ",$OriginalString,3));

// with negative NoOfElements

print_r(explode(" ",$OriginalString,-1));

?>

 

Kết quả:

ham-explode-trong-php-4
ham-explode-trong-php-4

Qua bài viết hướng dẫn sử dụng hàm Explode trong PHP bạn đã nắm được cách áp dụng explode một cách thành thục khi lập trình PHP. Sử dụng explode giúp giảm thời gian viết code, các xử lý chuỗi cũng đơn giản hơn khi kết hợp với các vòng lặp trong PHP.

The post Hàm Explode Trong PHP first appeared on Techacademy.

source https://techacademy.edu.vn/ham-explode-trong-php/

Nhân 2 Ma Trận C++, Viết Chương Trình Như Thế Nào ?

Phép nhân ma trận trong C++:

Viết một chương trình C để nhập hai ma trận và tính tích của hai ma trận đó được người dùng nhập vào. Người dùng sẽ nhập thứ tự của một ma trận và sau đó là các phần tử của nó và tương tự nhập vào ma trận thứ hai. Nếu các thứ tự của ma trận được thực hiện đúng như vậy mà chúng không thể được nhân với nhau, thì sau đó một thông báo lỗi được hiển thị.

nhân 2 ma trận c++
nhân 2 ma trận c++

1. Nhân ma trận trong C++ là gì?

Một trong những chương trình rất phổ biến trong lập trình C là phép nhân ma trận. Phương pháp thủ công của phép nhân ma trận trong C liên quan đến một số lượng lớn các phép tính đặc biệt khi nói đến bậc cao hơn của ma trận, trong khi một chương trình trong C có thể thực hiện các phép toán với các mã ngắn, đơn giản và dễ hiểu.

Phép nhân ma trận trong C có thể được thực hiện theo hai cách: không sử dụng hàm và bằng cách truyền ma trận vào các hàm. Trong bài này, chúng ta sẽ thảo luận về mã nguồn cho cả hai phương thức này với các kết quả đầu ra mẫu cho mỗi phương thức.

Các mã nguồn của hai chương trình này cho phép nhân ma trận trong lập trình C sẽ được biên dịch trong Code :: Blocks . Chạy chúng trên Turbo C và các nền tảng khác có thể yêu cầu một vài sửa đổi đối với mã.

Nhân 2 ma trận là một trong những nội dung căn bản trong khóa học lập trình C/C++ mà học viên cần nắm kiến thức thật vững.

2. Giới thiệu về nhân 2 ma trận c++

Dưới đây tôi đã trình bày ba hình ảnh cho thấy cách nhân ma trận diễn ra. Ý tưởng tương tự như thể hiện trong những hình ảnh này đã được theo sau theo thứ tự trong mã nguồn chương trình cho phép nhân ma trận trong C.

Xem xét hai ma trận A và B của đơn hàng 3 × 3 như hình dưới đây. Hãy biểu thị các phần tử của ma trận A bằng aij và các phần tử của ma trận B bằng bij như hình dưới đây. Các aij và bij này được yêu cầu làm đầu vào dưới dạng mảng trong chương trình C cho phép nhân Ma trận.

Giới thiệu về phép nhân ma trận (1)
Giới thiệu về phép nhân ma trận (1)

Phép nhân ma trận trong C – hai ma trận A & B

Hãy để ma trận kết quả khi nhân của A và B là X với các phần tử biểu thị bằng x ij như được hiển thị.

Giới thiệu về phép nhân ma trận (2)
Giới thiệu về phép nhân ma trận (2)

Phép nhân ma trận trong ma trận kết quả C X

Phép nhân ma trận diễn ra như hình dưới đây, và thủ tục tương tự này được sử dụng cho phép nhân các ma trận sử dụng C.

Giới thiệu về phép nhân ma trận (3)
Giới thiệu về phép nhân ma trận (3)

Phép nhân ma trận trong phép nhân C – AxB

Giải quyết thủ tục sẽ yêu cầu chín phép tính riêng biệt để thu được từng phần tử của ma trận cuối cùng X. Chín phép tính riêng biệt này đã được thực hiện bằng cách sử dụng rất ít dòng mã liên quan đến vòng lặp và chức năng trong chương trình C này cho phép nhân ma trận.

3. Lập trình nhân 2 ma trận trong C++

Đề nhân 2 ma trận trong C++ có thể thực hiện bằng 2 cách: không sử dụng và truyền các mảng tới hàm. Dưới đây là 2 cách lập trình nhân 2 ma trận trong C++

Cách 1: Nhân 2 ma trận C++ mà không sử dụng hàm

#include<stdio.h>
 
int main()
{
    int a[10][10],b[10][10],result[10][10],m,n,p,q,i,j,k;
    
    //get the nuumber of rows/columns of first matrix
    printf("Enter rows and columns of first matrix:");
    scanf("%d%d",&m,&n);
    
    //get the nuumber of rows/columns of second matrix
    printf("Enter rows and columns of second matrix:");
    scanf("%d%d",&p,&q);
    
    //check if rows of A qual to columns of B
    if(n==p)
    {
        printf("\nEnter first matrix:\n");
        
        //fetch the first matrix data from user and save in array a[10][10] declared above
        for(i=0;i<m;++i)
        {
            for(j=0;j<n;++j)
            {
                scanf("%d",&a[i][j]);
            }
        }
        
        printf("\nEnter second matrix:\n");
        
        //fetch the second matrix data from user and save in array b[10][10] 
        for(i=0;i<p;++i)
        {
            for(j=0;j<q;++j)
            {
                scanf("%d",&b[i][j]);
                
            }
        }
        
        printf("\nThe multiplied matrix result is:\n");
        
        //multiply the matrix and save it in result[][] array & print it
        for(i=0;i<m;++i)
        {
            for(j=0;j<q;++j)
            {
                 result[i][j]=0;
                for(k=0;k<n;++k)
                    result[i][j]=result[i][j]+(a[i][k]*b[k][j]);
                        printf("%d ",result[i][j]);
                       
            }
            
            printf("\n");
        }
    }
    else
    {
        printf("\n Matrix multiplication can't be done for these rows/columns");
    }
 
    return 0;
}

Chạy chương trình C++ trên sẽ cho kết quả như hình sau:

Enter rows and columns of first matrix:3                                                                                      
3                                                                                                                             
Enter rows and columns of second matrix:3                                                                                     
3                                                                                                                             
                                                                                                                              
Enter first matrix:                                                                                                           
11                                                                                                                            
22  
33                                                                                                                            
44                                                                                                                            
55                                                                                                                            
66                                                                                                                            
77                                                                                                                            
88                                                                                                                            
99                                                                                                                            
                                                                                                                              
Enter second matrix:                                                                                                          
11                                                                                                                            
22                                                                                                                            
33                                                                                                                            
44                                                                                                                            
55                                                                                                                            
66                                                                                                                            
77                                                                                                                            
88                                                                                                                            
99                                                                                                                            
                                                                                                                              
The multiplied matrix result is:                                                                                              
3630 4356 5082                                                                                                                
7986 9801 11616                                                                                                               
12342 15246 18150

 

Cách 2: Nhân 2 ma trận C++ bằng cách dùng con trỏ và hàm

#include<stdio.h>

#define ROW 3
#define COL 3

int main()
{
    int First[3][3],Second[3][3],Result[3][3];
    
    int m1,n1,m2,n2,i,j;
   

    printf("Enter no of row and column for 1st matrix\n");
    scanf("%d%d",&m1,&n1);

    printf("Enter no of row and column for 2nd matrix\n");
    scanf("%d%d",&m2,&n2);
     
     //check if multiplication is possible, 1st matrix rows must be equal to 
     //Second matrix columns
    if(n1==m2)
    {
        printf("Enter First matrix\n");
        matrixInput(First);
       
        printf("\nEnter Second matrix\n");
        matrixInput(Second);

         
        matrixMultiply(First,Second,Result);

        printf("Product of entered matrices :-\n");

        //print the resultant matrices
        for(i=0;i<m1;i++)
        {
            for(j=0;j<n2;j++)
                printf("%d\t",*(*(Result + i) + j));
            printf("\n");
        }


    }
    else
    {
       printf("Sorry ! Multiplication is not possible");
    }
    return 0;
}

//Get matrix data 
void matrixInput(int mat[][COL])
{
    int row, col;

    for (row = 0; row < ROW; row++)
    {
        for (col = 0; col < COL; col++)
        {
            scanf("%d", (*(mat + row) + col));
        }
    }
}


//Function to multiply Matrices mat1 * mat2 = res
void matrixMultiply(int mat1[][COL], int mat2[][COL], int res[][COL])
{
    int row, col, i;
    int sum;


    for (row = 0; row < ROW; row++)
    {
        for (col = 0; col < COL; col++)
        {
            sum = 0;
            // find the sum of product of each elements of row for first matirx 
            // and columsn of second
            for (i = 0; i < COL; i++)
            {
                sum += (*(*(mat1 + row) + i)) * (*(*(mat2 + i) + col));
            }


           //save sum in resultant matrix 
            *(*(res + row) + col) = sum;
        }
    }
}

Chạy chương trình C++ trên sẽ cho kết quả như hình sau:

Enter no of row and column for 1st matrix  
3 3                                                
Enter no of row and column for 2nd matrix                    
3 3                                                 
Enter First matrix                                                                                                
10 20 30                                                                     
40 50 60                                                      
70 80 90                                                                    
                                                                                        
Enter Second matrix                                                  
10 20 30                                                                                   
40 50 60                                                                    
70 80 90                                                                                         
Product of entered matrices :                                                                              
3000    3600    4200                                
6600    8100    9600                                           
10200   12600   15000

Các hoạt động liên quan đến vòng lặp và tính toán trong chương trình này là tương tự như cách nhân 2 ma trận không sử dụng hàm. Sự khác biệt duy nhất là chương trình phép nhân ma trận này trong C sử dụng các hàm để truyền các mảng ma trận. Có ba hàm do người dùng định nghĩa riêng biệt trong chương trình này để đọc dữ liệu, thao tác nhân ma trận phôi và hiển thị ma trận kết quả.

Cả hai mã nguồn này đều không có lỗi và đã được thử nghiệm trên Code :: Blocks với các đầu vào như được hiển thị trong màn hình đầu ra. Các bạn nên lập trình nhân 2 ma trận sử dụng các hàm và con trỏ.

The post Nhân 2 Ma Trận C++, Viết Chương Trình Như Thế Nào ? first appeared on Techacademy.

source https://techacademy.edu.vn/nhan-2-ma-tran-c/

Phím Tắt Eclipse Thông Dụng Và Tiện Lợi Nhất ! Đọc Ngay Nếu Bạn Vẫn Đang Dùng Chuột

Việc sử dụng các thao tác click chuột nhiều lần trong Eclipse khiến các coder nhàm chán và tốn thời gian, hãy cải tạo nó bằng các phím tắt trong Eclipse. Dưới đây là danh sách một số những phím tắt thông dụng bạn nên biết.

phím tắt eclipse (1)
phím tắt eclipse (1)

Đầu tiên hãy sử dụng phím tắt Ctrl + Shift + L để hiển thị danh sách các phím tắt trong Eclipse.

phím tắt eclipse (2)
phím tắt eclipse (2)

Danh sách tất cả những phím tắt trong Eclipse bạn có thể áp dụng, được chia thành 12 mục khác nhau tùy thuộc vào tác dụng của phím tắt:

1. Quản lý tập tin và dự án

Ctrl + N

Tạo dự án mới bằng Wizard

Ctrl + Alt + N

Tạo dự án , tập tin, lớp, vv

Alt + F

Mở dự án, tệp, v.v.

Ctrl + Shift + R

Mở Resource (tệp, thư mục hoặc dự án)

Alt + Enter

Hiển thị và truy cập các thuộc tính tệp

Ctrl + S

Save tập tin hiện tại

Ctrl + Shift + S

Save tất cả các tập tin

Ctrl + W

Đóng tệp hiện tại

Ctrl + Shift + W

Đóng tất cả các tệp

F5

Làm mới nội dung của phần tử đã chọn bằng hệ thống tệp cục bộ

2. Cửa sổ trình chỉnh sửa

F12

Chuyển đến cửa sổ trình chỉnh sửa

Ctrl + Trang Down / Ctrl + Page Up

Chuyển sang trình chỉnh sửa tiếp theo / chuyển sang trình chỉnh sửa trước

Ctrl + M

Phóng đại hoặc bỏ tối đa hóa cửa sổ soạn thảo hiện tại (cũng hoạt động cho các cửa sổ khác)

Ctrl + E

Hiển thị danh sách các biên tập viên mở. Sử dụng các phím mũi tên và nhập để chuyển đổi

Ctrl + F6 / Ctrl + Shift + F6

Hiển thị danh sách các biên tập viên mở. Tương tự như ctrl + e nhưng chuyển ngay sau khi phát hành ctrl

Alt + Mũi tên Trái / Alt + Mũi tên Phải

Chuyển đến trang trước / chuyển đến cửa sổ Trình chỉnh sửa tiếp theo

Alt + –

Mở menu Tùy chọn cửa sổ trình soạn thảo

Ctrl + F10

Hiển thị menu xem (các tính năng có sẵn trên thanh dọc bên trái: điểm ngắt, dấu trang, số dòng,…)

Ctrl + F10, rồi nhấn n

Hiển thị hoặc ẩn dòng numbers

Ctrl + Shift + Q

Hiển thị hoặc ẩn cột khác ở bên trái (cho biết thay đổi kể từ lần lưu cuối cùng)

Ctrl + Shift + + / –

Phóng to / thu nhỏ văn bản

3. Điều hướng trong trình chỉnh sửa

Trang chủ / Kết thúc

Chuyển đến bắt đầu / nhảy đến cuối indention. Bấm home hai lần để nhảy đến đầu dòng

Ctrl + Trang chủ / Kết thúc

Chuyển đến đầu / nhảy đến cuối nguồn

Ctrl + Mũi tên Phải / Mũi tên Trái

Chuyển một từ sang trái / một từ ở bên phải

Ctrl + Shift + Mũi tên xuống / mũi tên lên

Chuyển đến trước / nhảy tới phương thức tiếp theo

Ctrl + L

Chuyển đến số Line. Để ẩn / hiển thị số dòng, nhấn ctrl + F10 và chọn ‘Hiển thị số dòng’

Ctrl + Q

Chuyển đến vị trí cuối cùng đã chỉnh sửa

Ctrl + . / Ctrl +

Chuyển đến / nhảy tới cảnh báo hoặc lỗi cú pháp trình biên dịch trước đó

Ctrl + Shift + P

Với một khung được chọn: chuyển đến giá đóng hoặc mở phù hợp

Ctrl + [ + ] / Ctrl + –

Thu gọn / Mở rộng phương thức hoặc lớp hiện tại

Ctrl + [ / ] / Ctrl + *

Thu gọn / Mở rộng tất cả các phương thức hoặc lớp học.

Ctrl + Mũi tên xuống / Ctrl + mũi tên lên

Trình chỉnh sửa cuộn mà không thay đổi vị trí con trỏ.

Alt + Page Up / Alt + Trang Down

Tab phụ tiếp theo / Tab phụ trước

4. Chọn văn bản

Shift + Mũi tên phải / mũi tên trái

Mở rộng lựa chọn bằng một ký tự sang trái / phải

Ctrl + Shift + Mũi tên Phải / Mũi tên Trái

Mở rộng lựa chọn sang từ tiếp theo / trước

Shift + Mũi tên xuống / mũi tên lên

Mở rộng lựa chọn bằng một dòng xuống / một dòng

Shift + Kết thúc / Trang chủ

Mở rộng lựa chọn để kết thúc / đến đầu dòng

Ctrl + A

Chọn một

Alt + Shift + Mũi tên lên

Mở rộng lựa chọn thành phần tử hiện tại (ví dụ: biểu thức một dòng hiện tại hoặc nội dung trong dấu ngoặc vuông)

Alt + Shift + Mũi tên Trái / Mũi tên Phải

Mở rộng lựa chọn thành phần tử kế tiếp / trước

Alt + Shift + Mũi tên xuống

Giảm lựa chọn được mở rộng trước đó bằng một bước

5. Chỉnh sửa văn bản

Ctrl + C / Ctrl + X / Ctrl + V

Cắt, sao chép và dán

Ctrl + Z

Hoàn tác hành động cuối cùng

Ctrl + Y

Làm lại tác vụ cuối cùng (hoàn tác)

Ctrl + D

Xóa Line

Alt + Mũi tên lên / mũi tên xuống

Di chuyển dòng hiện tại hoặc lựa chọn lên hoặc xuống

Ctrl + Alt + Mũi tên Lên / Ctrl + Alt + Mũi tên Xuống /

Nhân đôi dòng hiện tại hoặc chọn lên hoặc xuống

Ctrl + Delete

Xóa từ tiếp theo

Ctrl + Backspace

Xóa từ trước

Shift + Enter

Nhập dòng bên dưới dòng hiện tại

Shift + Ctrl + Enter

Nhập dòng phía trên dòng hiện tại

Chèn

Chuyển đổi giữa chế độ chèn và ghi đè

Shift + Ctrl + Y

Thay đổi lựa chọn thành tất cả các chữ thường

Shift + Ctrl + X

Thay đổi lựa chọn thành tất cả chữ hoa

6. Tìm kiếm và thay thế

Ctrl + F

Mở tìm kiếm và thay thế hộp thoại

Ctrl + K / Ctrl + Shift + K

Tìm trước / tìm lần xuất hiện tiếp theo của cụm từ tìm kiếm (tìm cửa sổ gần trước)

Ctrl + H

Tìm kiếm vùng làm việc (Tìm kiếm Java, Tìm kiếm tác vụ và Tìm kiếm tệp)

Ctrl + J / Ctrl + Shift + J

Tìm kiếm gia tăng / tua lại. Nhập cụm từ tìm kiếm sau khi nhấn ctrl + j , hiện giờ có cửa sổ tìm kiếm

Ctrl + Shift + O

Mở hộp thoại tìm kiếm tài nguyên để tìm bất kỳ lớp nào

7. Góp ý ​​và nhận xét

Tab / Shift + Tab

Tăng / giảm thụt lề của văn bản đã chọn

Ctrl + I

Đúng sắp xếp của văn bản được lựa chọn hoặc dòng hiện tại

Ctrl + Shift + F

Tự động định dạng tất cả mã trong trình chỉnh sửa bằng cách sử dụng trình định dạng mã

Ctrl + /

Nhận xét / bỏ ghi chú dòng hoặc lựa chọn (thêm ‘//’)

Ctrl + Shift + /

Thêm Chặn nhận xét xung quanh lựa chọn (thêm ‘/ … * /’)

Ctrl + Shift + \

Xóa nhận xét chặn

Alt + Shift + J

Thêm nhận xét phần tử (thêm ‘/ ** … * /’)

8. Chỉnh sửa mã nguồn

Ctrl + Dấu cách

Mở hỗ trợ nội dung (ví dụ: hiển thị các phương thức có sẵn hoặc tên trường)

Ctrl + 1

Mở Quick Fix và Quick Assist

Alt + /

Đề xuất hoàn thành từ (sau khi nhập ít nhất một chữ cái). Lặp đi lặp lại nhấn alt + / cho đến khi đạt được tên chính xác

Ctrl + Shift + Chèn

Tắt hoặc kích hoạt Chế độ chèn thông minh (chỉ định tự động, dấu ngoặc tự động, v.v.)

9. Thông tin mã

Ctrl + O

Hiển thị mã outline / structure

F2

Mở lớp, phương thức hoặc thông tin biến (văn bản chú giải công cụ)

F3

Khai báo mở: Chuyển đến khai báo lớp, phương thức hoặc tham số đã chọn

F4

Cửa sổ phân cấp loại mở cho mục đã chọn

Ctrl + T

Hiển thị / mở Phân cấp nhanh Type cho mục đã chọn

Ctrl + Shift + T

Mở mẫu trong hệ thống

Ctrl + Alt + H

Mở hệ thống

Ctrl + Shift + U

Tìm OCC trong tập tin hiện tại

Ctrl + move over method

Khai báo hoặc triển khai

10 .Tái cấu trúc

Alt + Shift + R

Đổi tên phần tử đã chọn và tất cả các tham chiếu

Alt + Shift + V

Di chuyển các yếu tố để lớp hoặc tập tin khác (Với phương pháp hoàn chỉnh hoặc lớp chọn)

Alt + Shift + C

phương pháp Hange chữ ký (với tên phương pháp được lựa chọn)

Alt + Shift + M

Trích xuất lựa chọn thành phương pháp

Alt + Shift + L

Giải nén biến local: Tạo và gán một biến từ một biểu thức đã chọn

Alt + Shift + I

Được lựa chọn biến địa phương, phương pháp, hoặc hằng số nếu có thể (thay thế biến với tuyên bố / phân công của nó và đặt nó trực tiếp vào báo cáo)

11. Chạy và gỡ lỗi

Ctrl + F11

Lưu và khởi chạy ứng dụng (chạy)

F11

Gỡ lỗi

F5

Bước vào chức năng

F6

Bước tiếp theo (từng dòng)

F7

Bước ra khỏi

F8

Chuyển đến Breakpoint tiếp theo

12. Các chức năng khác

Ctrl + F7 / Ctrl + Shift + F7

Chuyển tiếp / lùi giữa các giao diện (bảng). Hữu ích cho việc chuyển đổi qua lại giữa Package Explorer và Editor.

Ctrl + F8 / Ctrl + Shift + F8

Chuyển tiếp / lùi lại giữa các phối cảnh

Ctrl + P

In

F1

Mở trợ giúp Eclipse

Shift + F10

Hiển thị Menu ngữ cảnh nhấp chuột phải

Trên đây là tổng hợp các phím tắt trong Eclipse mà bạn cần nắm được để tiết kiệm thời gian và giúp các thao tác trở nên đơn giản hơn.

The post Phím Tắt Eclipse Thông Dụng Và Tiện Lợi Nhất ! Đọc Ngay Nếu Bạn Vẫn Đang Dùng Chuột first appeared on Techacademy.

source https://techacademy.edu.vn/phim-tat-eclipse/

Test Plan Là Gì ? Test Plan Gồm Những Gì ?

Test là một công việc quan trọng đòi hỏi người thực hiện rất nhiều kỹ thuật kinh nghiệm và cần phải thực hiện theo đúng quy trình đã được định trước. Vậy Test Plan là gì ? Tại sao Test Plan lại quan trọng. Hãy cùng Techacademy.edu.vn tìm hiểu về vấn đề này nhé !

I. Test Plan là gì ?

TEST PLAN là một tài liệu chi tiết mô tả chiến lược kiểm thử, mục tiêu, lịch trình, ước tính và khả năng cung cấp và các nguồn lực cần thiết để kiểm thử. Test plan giúp tester xác định nỗ lực cần thiết để xác nhận chất lượng của ứng dụng đang được kiểm thử phần mềm.

Test plan đóng vai trò như một kế hoạch chi tiết để tiến hành các hoạt động kiểm thử phần mềm như một quy trình xác định, được giám sát và kiểm soát từng bước bởi người quản lý kiểm thử.

II. Tầm quan trọng của test plan

Lập test plan có nhiều lợi ích

  • Giúp những người ngoài nhóm kiểm thử như nhà phát triển, quản lý doanh nghiệp, khách hàng hiểu chi tiết về kiểm thử.
  • Test plan hướng dẫn suy nghĩ của chúng ta. Nó giống như một cuốn sách quy tắc, cần phải được tuân theo.
  • Các khía cạnh quan trọng như ước tính kiểm thử, phạm vi kiểm thử, chiến lược kiểm thử được ghi lại trong test plan. Do đó, nhóm quản lý có thể xem xét và sử dụng lại cho các dự án khác.

III. Test plan gồm những gì ?

Bạn đã biết rằng lập test plan là nhiệm vụ quan trọng nhất của quy trình quản lý kiểm thử. Thực hiện theo bảy bước dưới đây để tạo một test plan theo IEEE 829

  • Phân tích sản phẩm
  • Thiết kế chiến lược kiểm thử
  • Xác định mục tiêu kiểm thử
  • Xác định tiêu chí kiểm thử
  • Hoạch định nguồn lực
  • Lên kế hoạch môi trường kiểm thử (Test Environment)
  • Lịch trình & Dự toán
  • Xác định sản phẩm kiểm thử

Bước 1. Phân tích sản phẩm

Làm thế nào bạn có thể kiểm thử một sản phẩm mà không có bất kỳ thông tin về nó? Câu trả lời là không thể. Bạn phải tìm hiểu một sản phẩm kỹ lưỡng trước khi kiểm thử nó.

Ví dụ: Sản phẩm đang được kiểm thử là trang web ngân hàng Guru99. Bạn nên nghiên cứu khách hàng và người dùng cuối để biết nhu cầu và mong đợi của họ từ ứng dụng

  • Ai sẽ sử dụng trang web?
  • Cái này được dùng để làm gì?
  • Nó sẽ làm việc như thế nào?
  • Phần mềm / phần cứng sản phẩm sử dụng là gì?

Bạn có thể sử dụng phương pháp sau để phân tích trang web

  • Phỏng vấn khách hàng, designer, lập trình viên
  • Review lại tài liệu của sản phẩm và dự án
  • Thực hiện theo hướng dẫn phần mềm
  • Quay trở lại làm tương tự bước đầu

Bây giờ hãy Áp dụng kiến ​​thức trên cho một sản phẩm thực tế: Phân tích trang web ngân hàng https://ift.tt/3fu4Wvx

Bạn nên xem qua trang web này và xem xét tài liệu sản phẩm (product documentation). Đánh giá product documentation giúp bạn hiểu tất cả các tính năng của trang web cũng như cách sử dụng nó. Nếu bạn không rõ ràng về bất kỳ mục nào, bạn có thể phỏng vấn khách hàng, lập trình viên, designer để có thêm thông tin.

Bước 2. Xây dựng chiến lược kiểm thử (test strategy)

Chiến lược kiểm thử là một bước quan trọng trong việc lập một test plan. Tài liệu chiến lược kiểm thử, là tài liệu cấp cao, thường được phát triển bởi Test Manager. Tài liệu này định nghĩa:

  • Mục tiêu kiểm thử của dự án và các phương tiện để đạt được chúng
  • Xác định nỗ lực và chi phí kiểm thử

Quay lại dự án của bạn, bạn cần phát triển chiến lược kiểm thử để kiểm thử trang web ngân hàng đó. Bạn nên làm theo các bước dưới đây

– Xác định phạm vi kiểm thử

– Xác định loại kiểm thử

– Tài liệu (document) về rủi ro và vấn đề

– Tạo test logistics

1, Xác định phạm vi kiểm thử

Trước khi bắt đầu bất kỳ hoạt động kiểm thử nào, phạm vi của kiểm thử phải được biết. Bạn phải suy nghĩ kỹ về nó.

  • Các thành phần của hệ thống sẽ được kiểm thử (phần cứng, phần mềm, phần mềm trung gian, v.v.) được định nghĩa là “trong phạm vi”
  • Các thành phần của hệ thống sẽ không được kiểm thử cũng cần được xác định rõ ràng là “nằm ngoài phạm vi”.

Xác định phạm vi của dự án kiểm thử của bạn là rất quan trọng đối với tất cả các bên liên quan. Một phạm vi chính xác giúp bạn:

  • Cung cấp cho mọi người một sự tự tin và thông tin chính xác về kiểm thử bạn đang làm
  • Tất cả các thành viên dự án sẽ có một sự hiểu biết rõ ràng về những gì được kiểm thử và những gì không

Làm thế nào để bạn xác định phạm vi dự án của bạn?

Để xác định phạm vi, bạn phải –

  • Yêu cầu khách hàng chính xác
  • Xác định ngân sách dự án
  • Đặc điểm kỹ thuật sản phẩm
  • Kỹ năng & tài năng của nhóm kiểm thử của bạn

Bây giờ nên xác định rõ ràng “trong phạm vi” và “ngoài phạm vi” của kiểm thử.

  • Theo thông số kỹ thuật yêu cầu phần mềm, dự án Ngân hàng Guru99 chỉ tập trung vào kiểm thử tất cả các chức năng (functions testing) và giao diện bên ngoài của trang web Ngân hàng Guru99 (trong kiểm thử phạm vi)
  • Kiểm thử không chức năng như stress testing, performance testing hoặc logical database testing hiện sẽ không được kiểm thử. (ra khỏi phạm vi)

Kịch bản vấn đề (Problem Scenario)

Khách hàng muốn bạn kiểm thử API của anh ấy. Nhưng ngân sách dự án không cho phép làm như vậy. Trong trường hợp như vậy bạn sẽ làm gì?

Chà, trong trường hợp như vậy, bạn cần thuyết phục khách hàng rằng Api tests là công việc làm thêm và sẽ tiêu tốn tài nguyên đáng kể. Cung cấp cho anh ta dữ liệu hỗ trợ để nói rằng điều bạn vừa nêu là sự thật. Nói với anh ta nếu Api Testing được bao gồm trong phạm vi thì ngân sách sẽ tăng thêm số tiền XYZ.

Khách hàng đồng ý và theo đó các phạm vi mới với các mục là

  • Các mục trong phạm vi: Kiểm thử chức năng (Functional Testing), Kiểm thử Api (Api Testing)
  • Các mục ngoài phạm vi: Kiểm thử cơ sở dữ liệu (Database Testing), phần cứng và bất kỳ giao diện bên ngoài nào khác

2, Xác định loại kiểm thử

Loại kiểm thử là một quy trình kiểm thử tiêu chuẩn mang lại kết quả kiểm thử dự kiến.

Mỗi loại kiểm thử được xây dựng để xác định một loại lỗi sản phẩm cụ thể. Nhưng, tất cả các Loại Kiểm thử đều nhằm đạt được một mục tiêu chung. Phát hiện sớm tất cả các lỗi trước khi phát hành sản phẩm cho khách hàng.

Các loại kiểm thử thường được sử dụng được mô tả như hình dưới đây

Bước 2.2. Xác định loại kiểm thử
Bước 2.2. Xác định loại kiểm thử

Các loại kiểm thử thường được sử dụng

Có hàng tấn các loại kiểm thử để kiểm thử sản phẩm phần mềm. Nhóm của bạn không thể có đủ nỗ lực để xử lý tất cả các loại kiểm thử. Là người quản lý kiểm thử, bạn phải đặt mức độ ưu tiên của các loại kiểm thử

  • Những loại kiểm thử nào nên được tập trung để kiểm thử ứng dụng web?
  • Những loại kiểm thử nên được bỏ qua để tiết kiệm chi phí?

3, Tài liệu về rủi ro & vấn đề

Rủi ro là sự kiện không chắc chắn trong tương lai với xác suất xảy ra và khả năng thua lỗ. Khi rủi ro thực sự xảy ra, nó sẽ trở thành vấn đề.

Trong Test plan QA, bạn sẽ ghi lại những rủi ro đó

Rủi ro Cách phòng tránh
Thành viên trong nhóm thiếu các kỹ năng cần thiết để kiểm thử trang web Lập kế hoạch đào tạo để nâng cao trình độ thành viên của nhóm bạn
Lịch trình dự án quá chặt chẽ; thật khó để hoàn thành dự án này đúng thời gian Đặt ưu tiên kiểm thử cho từng hoạt động kiểm thử
Quản lý kiểm thử có kỹ năng quản lý kém Kế hoạch đào tạo lãnh đạo cho người quản lý
Sự thiếu hợp tác ảnh hưởng tiêu cực đến năng suất của nhân viên của bạn Khuyến khích mỗi thành viên trong nhóm thực hiện nhiệm vụ của mình và truyền cảm hứng cho họ để nỗ lực nhiều hơn
Dự toán ngân sách sai và vượt chi phí Thiết lập phạm vi trước khi bắt đầu công việc, chú ý nhiều đến việc lập kế hoạch dự án và liên tục theo dõi và đo lường tiến độ

4, Tạo Test Logistics

Trong Test Logistics, Trình quản lý kiểm thử cần trả lời các câu hỏi sau:

  • Ai sẽ kiểm thử?
  • Khi nào kiểm thử sẽ xảy ra?

Ai sẽ kiểm thử?

Bạn có thể không biết tên chính xác của tester sẽ kiểm thử, nhưng loại tester có thể được xác định.

Để chọn đúng thành viên cho nhiệm vụ được chỉ định, bạn phải xem xét liệu kỹ năng của anh ta có đủ điều kiện cho nhiệm vụ đó hay không, cũng ước tính ngân sách dự án. Chọn sai thành viên cho nhiệm vụ có thể khiến dự án thất bại hoặc bị delay.

Người có các kỹ năng sau là lý tưởng nhất để thực hiện kiểm thử phần mềm:

  • Khả năng hiểu quan điểm của khách hàng
  • Mong muốn chất lượng tốt
  • Sự chú ý đến chi tiết
  • Hợp tác tốt

Trong dự án của bạn, thành viên sẽ chịu trách nhiệm thực hiện kiểm thử là tester. Dựa trên ngân sách dự án, bạn có thể chọn thành viên trong nhóm hoặc thuê outsource tester.

Khi nào kiểm thử sẽ xảy ra?

Các hoạt động kiểm thử phải được kết hợp với các hoạt động phát triển liên quan.

Bạn sẽ bắt đầu kiểm thử khi bạn có tất cả các mục yêu cầu được tập hợp ba yếu tố

Tài liệu kiểm thử + Nhân lực + Môi trường kiểm thử = Test đã sẵn sàng

Bước 3. Xác định mục tiêu kiểm thử

Mục tiêu kiểm thử là mục tiêu tổng thể và thành tích của việc thực hiện kiểm thử. Mục tiêu của kiểm thử là tìm ra càng nhiều lỗi phần mềm càng tốt; đảm bảo rằng phần mềm được kiểm thử không có lỗi trước khi phát hành.

Để xác định mục tiêu kiểm thử, bạn nên thực hiện 2 bước sau

  1. Liệt kê tất cả các tính năng phần mềm (chức năng, hiệu suất, GUI) có thể cần kiểm thử.
  2. Xác định mục tiêu hoặc mục tiêu của kiểm thử dựa trên các tính năng trên

Hãy áp dụng các bước này để tìm mục tiêu kiểm thử của dự án kiểm thử Ngân hàng Guru99 của bạn

Bạn có thể chọn phương thức ‘TOP-DOWN’, để tìm các tính năng của trang web có thể cần kiểm thử. Trong phương pháp này, bạn chia nhỏ ứng dụng đang kiểm thử thành phần (component) và thành phần phụ (sub-component).

Trong chủ đề trước, bạn đã phân tích các thông số kỹ thuật yêu cầu và duyệt qua trang web, do đó bạn có thể tạo bản đồ tư duy để tìm các tính năng của trang web như sau

Bước 3. Xác định mục tiêu kiểm thử
Bước 3. Xác định mục tiêu kiểm thử

Hình này hiển thị tất cả các tính năng mà trang web của Guru99 có thể có.

Dựa trên các tính năng trên, bạn có thể xác định mục tiêu kiểm thử (Test Objective) của dự án Guru99 như sau

  • Kiểm thử xem liệu chức năng của trang web Gur99 (Tài khoản, Tiền gửi) có hoạt động như mong đợi mà không có bất kỳ lỗi hoặc lỗi nào trong môi trường kinh doanh thực không
  • Kiểm thử xem giao diện bên ngoài của trang web như UI có hoạt động như mong đợi không và & đáp ứng nhu cầu của khách hàng
  • Xác minh khả năng sử dụng của trang web. Những chức năng đó có thuận tiện cho người dùng hay không?

Bước 4. Xác định tiêu chí kiểm thử (Test Criteria)

Tiêu chí kiểm thử là một tiêu chuẩn hoặc quy tắc mà theo đó một quy trình kiểm thử hoặc đánh giá kiểm thử có thể được dựa trên. Có 2 loại tiêu chí kiểm thử như sau

Suspension Criteria

Chỉ định các tiêu chí đình chỉ quan trọng cho một bài kiểm thử. Nếu các tiêu chí đình chỉ được đáp ứng trong quá trình kiểm thử, chu kỳ kiểm thử hoạt động sẽ bị đình chỉ cho đến khi các tiêu chí được giải quyết.

Ví dụ: Nếu các thành viên trong nhóm của bạn báo cáo rằng có 40% trường hợp kiểm thử thất bại, bạn nên tạm dừng kiểm thử cho đến khi nhóm phát triển sửa tất cả các trường hợp thất bại.

Exit Criteria

Nó chỉ định các tiêu chí biểu thị sự hoàn thành thành công của giai đoạn kiểm thử. Các tiêu chí thoát là kết quả được nhắm mục tiêu của kiểm thử và là cần thiết trước khi tiến hành giai đoạn phát triển tiếp theo. Ví dụ: 95% tất cả các trường hợp kiểm thử quan trọng phải vượt qua.

Một số phương pháp xác định tiêu chí thoát là bằng cách chỉ định tốc độ chạy và tốc độ vượt qua được nhắm mục tiêu.

  • Tốc độ chạy (Run rate) là tỷ lệ giữa các trường hợp kiểm thử số được thực hiện / tổng số trường hợp kiểm thử của đặc tả kiểm thử. Ví dụ: đặc tả kỹ thuật kiểm thử có tổng số 120 TC, nhưng tester chỉ thực hiện 100 TC, vì vậy tốc độ chạy là 100/120 = 0,83 (83%)
  • Tỷ lệ vượt qua (Pass rate) là tỷ lệ giữa các số trường hợp kiểm thử thông qua / trường hợp kiểm thử được thực hiện. Ví dụ: trong hơn 100 TC được thực thi, có 80 TC đã vượt qua, do đó tỷ lệ vượt qua là 80/100 = 0,8 (80%)

Dữ liệu này có thể được lấy trong các tài liệu Kiểm thử số liệu.

  • Run rate bắt buộc là 100% trừ khi có lý do rõ ràng.
  • Pass rate phụ thuộc vào phạm vi dự án, nhưng đạt được tỷ lệ vượt qua cao là mục tiêu đề ra

Ví dụ: Nhóm của bạn đã thực hiện các kiểm thử. Họ báo cáo kết quả kiểm thử cho bạn và họ muốn bạn xác nhận Exit Criteria. Với Run rate là 90%

Trong trường hợp trên, tỷ lệ Run rate là bắt buộc là 100%, nhưng nhóm kiểm thử chỉ hoàn thành 90% các trường hợp kiểm thử. Điều đó có nghĩa là Run rate không được thỏa mãn, vì vậy KHÔNG xác nhận Exit Criteria

The post Test Plan Là Gì ? Test Plan Gồm Những Gì ? first appeared on Techacademy.

source https://techacademy.edu.vn/test-plan-la-gi/

C++ Dùng Để Làm Gì ?

Dùng C++ để làm gì? Tại sao ở Việt Nam, lập trình viên C++ vẫn có mức lương trung bình cao top đầu trong số các ngôn ngữ lập trình?

C++ là gì?

C++ là một ngôn ngữ lập trình, có các tính năng bắt buộc và hướng đối tượng. Nó cũng được gọi là ngôn ngữ lập trình trung cấp. Nó được phát triển bởi Bjarne Stroustrup tại phòng thí nghiệm Bell từ năm 1979. Nó xuất hiện lần đầu tiên vào năm 1985. Nó được biên soạn, mục đích chung, gõ tĩnh, phân biệt chữ hoa chữ thường và ngôn ngữ lập trình dạng tự do. Ngôn ngữ lập trình này hỗ trợ lập trình thủ tục, hướng đối tượng và chung chung. Nó đang có một thư viện tiêu chuẩn phong phú với một tập hợp các hàm phong phú thao tác các tệp và phương thức thao tác các cấu trúc dữ liệu, v.v.

C++ được sử dụng rộng rãi trong số các lập trình viên hoặc nhà phát triển chủ yếu trong một miền ứng dụng. Nó chứa các phần quan trọng bao gồm ngôn ngữ cốt lõi cung cấp tất cả các khối xây dựng cần thiết bao gồm biến, kiểu dữ liệu, nghĩa đen, v.v. Nó hỗ trợ lập trình hướng đối tượng bao gồm các tính năng của nó như Kế thừa, Đa hình, Đóng gói và Trừu tượng. Những khái niệm này làm cho ngôn ngữ C ++ khác biệt và chủ yếu được sử dụng để phát triển các ứng dụng một cách dễ dàng và được khái niệm hóa.

C++ là gì
C++ là gì

C++ dùng để làm gì?

Có một số lợi ích của việc sử dụng C ++ để phát triển ứng dụng và nhiều ứng dụng dựa trên sản phẩm được phát triển bằng ngôn ngữ này chỉ vì các tính năng và bảo mật của nó. Vui lòng tìm các phần dưới đây, nơi sử dụng C ++ đã được sử dụng rộng rãi và hiệu quả. Dưới đây là danh sách 10 công dụng hàng đầu của C ++.

  • Ứng dụng: Nó được sử dụng để phát triển các ứng dụng mới của C ++. Các ứng dụng dựa trên giao diện người dùng đồ họa, là các ứng dụng được sử dụng nhiều như adobe photoshop và các ứng dụng khác. Nhiều ứng dụng của hệ thống Adobe được phát triển trong C ++ như Illustrator, adobe ra mắt và sẵn sàng hình ảnh và các nhà phát triển Adobe được coi là hoạt động trong cộng đồng C ++.
  • Trò chơi: Ngôn ngữ này cũng được sử dụng để phát triển trò chơi. Nó ghi đè lên sự phức tạp của các trò chơi 3D. Nó giúp tối ưu hóa các nguồn lực. Ngôn ngữ lập trình hỗ trợ tùy chọn nhiều người chơi với Internet. Việc sử dụng C ++ cho phép lập trình thủ tục cho các chức năng chuyên sâu của CPU và để cung cấp quyền kiểm soát phần cứng và ngôn ngữ này rất nhanh do được sử dụng rộng rãi trong việc phát triển các trò chơi khác nhau hoặc trong các công cụ chơi game. C ++ chủ yếu được sử dụng trong việc phát triển các bộ công cụ trò chơi.
  • Hoạt hình: Có phần mềm hoạt hình, được phát triển với sự trợ giúp của ngôn ngữ C ++. Phần mềm hoạt hình 3D, mô hình hóa, mô phỏng, kết xuất được gọi là bộ công cụ mạnh mẽ. Nó được sử dụng rộng rãi trong việc xây dựng thời gian thực, xử lý hình ảnh, ứng dụng cảm biến di động và hiệu ứng hình ảnh, hoạt hình chủ yếu được mã hóa trong C ++. Phần mềm được phát triển này được sử dụng cho hoạt hình, môi trường, đồ họa chuyển động, thực tế ảo và tạo nhân vật. Các thiết bị thực ảo là phổ biến nhất trong thế giới giải trí ngày nay.
  • Trình duyệt web: Ngôn ngữ này cũng được sử dụng để phát triển trình duyệt. C ++ được sử dụng để tạo Google Chrome và trình duyệt Mozilla Firefox. Một số ứng dụng được viết bằng C ++, từ đó trình duyệt Chrome là một trong số đó và các ứng dụng khác giống như một hệ thống tệp, bản đồ giảm xử lý dữ liệu cụm lớn. Mozilla có một ứng dụng khác cũng được viết bằng C ++, đó là ứng dụng email khách Mozilla Thunderbird. C ++ cũng là một công cụ kết xuất cho các dự án nguồn mở của Google và Mozilla.
  • Truy cập cơ sở dữ liệu: Ngôn ngữ này cũng được sử dụng để phát triển phần mềm cơ sở dữ liệu hoặc phần mềm cơ sở dữ liệu nguồn mở. Ví dụ cho điều này là MySQL, đây là một trong những phần mềm quản lý cơ sở dữ liệu phổ biến nhất và được sử dụng rộng rãi trong các tổ chức hoặc trong số các nhà phát triển. Nó giúp tiết kiệm thời gian, tiền bạc, hệ thống kinh doanh và phần mềm đóng gói. Có các ứng dụng dựa trên phần mềm cơ sở dữ liệu khác được sử dụng là Wikipedia, Yahoo, youtube, v.v. Ví dụ khác là Bloomberg RDBMS, giúp cung cấp thông tin tài chính theo thời gian thực cho các nhà đầu tư. Nó chủ yếu được viết bằng C ++, giúp truy cập cơ sở dữ liệu nhanh và nhanh hoặc chính xác để cung cấp thông tin liên quan đến kinh doanh và tài chính, tin tức trên toàn thế giới.
  • Truy cập phương tiện: C ++ cũng được sử dụng để tạo trình phát phương tiện, quản lý tệp video và tệp âm thanh. Ví dụ là trình phát Winamp Media, được phát triển bằng ngôn ngữ C ++, cho phép chúng ta thưởng thức âm nhạc, truy cập và chia sẻ video và tệp nhạc. Nó cũng có các tính năng như hỗ trợ nghệ thuật, truyền phát âm thanh và video. Nó cũng cung cấp quyền truy cập vào các đài phát thanh Internet.
  • Trình biên dịch: Hầu hết các trình biên dịch chủ yếu chỉ được viết bằng ngôn ngữ C ++. Các trình biên dịch được sử dụng để biên dịch các ngôn ngữ khác như C #, Java, v.v. chủ yếu chỉ được viết bằng C ++. Nó cũng được sử dụng để phát triển các ngôn ngữ này cũng như C ++ là nền tảng độc lập và có thể tạo ra nhiều phần mềm.
  • Hệ điều hành: Nó cũng được sử dụng để phát triển hầu hết các hệ điều hành cho Microsoft và một số bộ phận của hệ điều hành Apple. Microsoft Windows 95, 98, 2000, XP, office, Internet Explorer và visual studio, hệ điều hành di động Symbian chủ yếu chỉ được viết bằng ngôn ngữ C ++.
  • Quét: Các ứng dụng như máy quét phim hoặc máy quét camera cũng được phát triển bằng ngôn ngữ C ++. Nó đã được sử dụng để phát triển công nghệ PDF cho tài liệu in, trao đổi tài liệu, lưu trữ tài liệu và xuất bản các tài liệu.
  • Sử dụng khác: ngôn ngữ C ++ được sử dụng cho các ứng dụng y tế và kỹ thuật, hệ thống thiết kế hỗ trợ máy tính. Các ứng dụng này giống như máy quét MRI, hệ thống CAM chủ yếu được sử dụng trong bệnh viện, chính quyền địa phương, tiểu bang và quốc gia và các bộ phận khác để xây dựng và khai thác, vv các ứng dụng của C ++ được coi là ngôn ngữ được ưu tiên sử dụng đầu tiên trong số các nhà phát triển khi thực hiện được xem xét cho bất kỳ ứng dụng đang phát triển.

C ++ là ngôn ngữ được sử dụng ở mọi nơi nhưng chủ yếu trong lập trình hệ thống và hệ thống nhúng. Ở đây lập trình hệ thống có nghĩa là để phát triển các hệ điều hành hoặc trình điều khiển có giao diện với Phần cứng. Hệ thống nhúng có nghĩa là những thứ là ô tô, robot và thiết bị. C ++ đang ngày càng có một cộng đồng và nhà phát triển cao hơn hoặc giàu hơn, điều này giúp dễ dàng tuyển dụng các nhà phát triển và giải pháp trực tuyến một cách dễ dàng.

Công dụng của C ++ được gọi là ngôn ngữ an toàn nhất vì tính bảo mật và tính năng của nó. Đây là ngôn ngữ đầu tiên cho bất kỳ nhà phát triển nào bắt đầu, những người quan tâm đến việc làm việc trong các ngôn ngữ lập trình. Nó rất dễ học, vì nó là ngôn ngữ dựa trên khái niệm thuần túy.

Cú pháp của nó rất đơn giản, giúp bạn dễ dàng viết hoặc phát triển và các lỗi có thể dễ dàng lặp lại. Trước khi sử dụng bất kỳ ngôn ngữ nào khác, các lập trình viên ưu tiên học C ++ trước và sau đó họ sử dụng các ngôn ngữ khác. Nhưng hầu hết các nhà phát triển cố gắng gắn bó với C ++ chỉ vì mức độ sử dụng rộng rãi và khả năng tương thích với nhiều nền tảng và phần mềm.

Công Ty Lớn Có Sử Dụng C++ Không ?

Để giúp các bạn thấy được sức ảnh hưởng của ngôn ngữ lập trình C++. Chúng ta hãy xem các công ty lớn về công nghệ nào đang sử dụng C++ nhé.

Các website sử dụng ngôn ngữ lập trình C++Các website sử dụng ngôn ngữ lập trình C++
Hình ảnh trên được lấy từ trang Wikipedia thống kê các ngôn ngữ lập trình được sử dụng trên các website lớn của thế giới.

Như bạn thấy, C++ được rất nhiều website lớn sử dụng ở phía server. Bởi vì C++ là một ngôn ngữ lập trình có hiệu năng cực kỳ tốt. C++ cho tốc độ xử lý nhanh hơn rất nhiều các ngôn ngữ lập trình bậc cao.

Học lập trình C ++ ở đâu?

Một địa chỉ học lập trình thích sẽ giúp bạn chọn lựa hợp lý hướng đi sự nghiệp lập trình mà bạn có thể theo đuổi. Công nghệ thông tin đang ngày càng phát triển, chất lượng chương trình học cũng như giảng viên cũng là điều bạn cần phải xem xét khi lựa chọn một khóa học lập trình.

Bên cạnh đó, hãy xem xét đến những ưu đãi và hỗ trợ trong khi học lập trình và sau khi học khóa học đó. Khóa học lập trình C / C++ cơ bản là lựa chọn tin cậy để bắt đầu sự nghiệp lập trình của bạn. Sau khi hoàn thành xong các khóa học, Techacademy Việt Nam sẽ giới thiệu người học đến các doanh nghiệp đối tác phù hợp

 

Học lập trình C ++ ở đâu
Học lập trình C ++ ở đâu

 

Học lập trình C ++ ở đâu
Học lập trình C ++ ở đâu

Trải qua gần 5 năm thành lập với gần 4000 học viên, Techacademy Việt Nam tự hào là nơi chắp cánh cho sự nghiệp cho các học viên của mình. Chương trình học cập nhật với đội ngũ giảng viên hơn chục năm kinh nghiệm tại các doanh nghiệp. Bên cạnh đó, Techacademy Việt Nam có đội ngũ IT chất lượng, cam kết hỗ trợ học viên của mình 24/7 ngay cả khi hoàn thành khóa học. Với phương châm ‘Không chỉ đem đến cho người học một công việc, mà còn đem đến cả một sự nghiệp’, Techacademy Việt Nam luôn cam kết hỗ trợ 100% học viên hoàn thành xong khóa học được giới thiệu đến phỏng vấn ở doanh nghiệp đối tác.

The post C++ Dùng Để Làm Gì ? first appeared on Techacademy.

source https://techacademy.edu.vn/c-dung-de-lam-gi/